Güvenli mobil geliştirme 1: depolama, kriptografi, kimlik doğrulama ve ağ
OWASP MASVS tarzı gereksinimlerin ilk dört alanını uygularsın: veriyi güvenli saklamak, doğru kripto kullanmak, oturumu ve biyometriyi doğru kurmak, ağ trafiğini korumak.
Seviye 201 · 22 ders · 18 pratik lab
Dersler
Gereksinimler
- Mobil uygulama güvenlik gereksinimleri: OWASP MASVS'e bakış
- Gereksinimden teste: doğrulanabilir güvenlik maddeleri yazmak
- Uygulamadaki veriyi sınıflandırmak
- Kısa görev: bir sipariş uygulaması için on güvenlik gereksinimi yaz
Depolama
- Güvenli depolama: iç alan, dış alan ve önbellek
- Şifreli tercihler ve şifreli veritabanı
- Keystore kullanımı: anahtar üretmek ve kullanıcı doğrulamasına bağlamak
- Yedekleme kuralları: allowBackup ve veri çıkarma kuralları
- Sızıntı yolları: günlük, pano, ekran görüntüsü, klavye önbelleği
- Kısa görev: belirteci düz metin saklayan kodu Keystore destekli depolamaya taşı
Kriptografi
- Doğru ilkelleri seçmek: AES-GCM, anahtar türetme, rastgelelik
- Sık yapılan hatalar: sabit anahtar, ECB kipi, sabit IV
- Kısa görev: sabit anahtarla şifreleme yapan kodu bul ve düzelt
Kimlik doğrulama ve oturum
- Giriş ve oturum: belirteç ömrü, yenileme ve çıkış
- Biyometrik doğrulama: anahtara bağlı ve bağlı olmayan kullanım
- Uygulama içi PIN ve yerel kilit
- Kısa görev: yalnızca "başarılı" yanıtına bakan biyometrik kontrolü bir anahtara bağla
Ağ
- TLS ve ağ güvenliği yapılandırması
- Açık metin trafik ve yalnızca debug'a özel istisnalar
- Sertifika sabitleme: ne zaman, nasıl ve yedek pin
- Kısa görev: açık metin trafiğe izin veren yapılandırmayı kapat ve doğrula
Bitirme
- Bitirme görevi: bir cüzdan uygulamasının dört alandaki açıklarını kapat ve testle kanıtla
Pratik lablar
- Sipariş uygulaması için beş gereksinim yaz: Depolama ve ağ için sınanabilir beş güvenlik gereksinimi yaz.
- Belirsiz gereksinimleri sınanabilir hâle getir: "Veri güvenli saklanır" gibi altı maddeyi ölçülebilir ve doğrulama yöntemi olan maddelere çevir.
- Uygulama verisini sınıflandır ve gereksinime bağla: Lavinya Klinikleri randevu uygulamasının veri alanlarını sınıflandır ve her sınıf için MASVS maddesine bağlı gereksinim yaz.
- Harici depolamaya yazılan dosyayı iç alana taşı: Faturayı paylaşılan klasöre yazan kodu uygulamaya özel alana taşı ve testini güncelle.
- Belirteci Keystore destekli depoya taşı: Belirteci düz metin tutan sınıfı şifreli tercih deposuna geçir ve eski değerin silindiğini test et.
- Yedekleme kurallarıyla hassas dosyaları dışarıda bırak: Veri çıkarma kurallarını yaz, oturum ve veritabanı dosyalarını hariç tut ve kural dosyasını statik denetimle doğrula.
- ECB kipini kullanan satırı bul: Projede güvensiz şifreleme kipini kullanan çağrıyı bul ve neden zayıf olduğunu yaz.
- Gömülü anahtarla şifreleyen kodu düzelt: Sabit anahtarı Keystore'da üretilen anahtarla değiştir ve şifreleme testlerini geçir.
- Sabit IV ve zayıf türetmeyi birlikte gider: AES-GCM'de her seferinde rastgele IV kullan, parola türetmeyi yinelemeli bir işleve taşı ve iki şifreli metnin farklı çıktığını testle göster.
- Çıkışta belirtecin silinmediğini göster: Çıkış işlevini incele, yerel belirtecin kaldığını testle kanıtla ve düzelt.
- Biyometrik denetimi anahtara bağla: Yalnızca başarı geri çağrısına bakan kodu, kimlik doğrulamaya bağlı anahtarla şifre çözen akışa çevir.
- Uygulama içi PIN'e deneme sınırı ekle: PIN'i düz saklayan ve sınırsız denemeye izin veren modülü, türetilmiş değer ve artan bekleme süresiyle düzelt ve test et.
- Düz metin trafiğe izin veren ayarı kapat: Manifestteki ve ağ yapılandırmasındaki düz metin iznini kaldır ve statik denetimle doğrula.
- Kullanıcı sertifikalarına güvenen yayını düzelt: Kullanıcı sertifikası güvenini yalnızca hata ayıklama derlemesine taşı ve iki derlemenin yapılandırmasını karşılaştır.
- Yedek pinli sabitleme yapılandırması yaz: Lab sunucusunun sertifikasından pin üret, yedek pin ve son tarih ekle, yapılandırmanın geçerli olduğunu betikle doğrula.
- Cüzdan uygulamasında dört alandan birer bulgu çıkar: Eğitim projesinde depolama, kripto, oturum ve ağ alanlarından birer zayıflık bul ve listele.
- Bulguları gereksinimlere eşle ve önceliklendir: Sekiz bulguyu MASVS maddelerine eşle ve düzeltme sırasını gerekçeleriyle yaz.
- İki zayıflığı kapat ve testle kanıtla: Cüzdan projesinde belirteç saklama ve sertifika güveni hatalarını düzelt, her biri için gerileme testi ekle.
Kurs hakkında
OWASP MASVS tarzı gereksinimlerin ilk dört alanını uygularsın: veriyi güvenli saklamak, doğru kripto kullanmak, oturumu ve biyometriyi doğru kurmak, ağ trafiğini korumak.
Ne öğreneceksin
- Gereksinimler
- Depolama
- Kriptografi
- Kimlik doğrulama ve oturum
- Ağ
- Bitirme
Ön koşullar
Aynı yolun 101 düzeyindeki kurslarını bitirmiş olmak ya da o konuları biliyor olmak yeterlidir.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 201 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.