Uygulama dayanıklılığı incelemesi: karartma, bütünlük ve doğrulama
Tersine mühendisliğe ve kurcalamaya karşı alınan önlemleri değerlendirmeyi öğrenirsin: karartmanın kalitesini ölçer, bütünlük ve ortam denetimlerini inceler, sunucu tarafı uygulama doğrulamasını kurar, tehdit modeline göre yeterli olup olmadığına karar verirsin.
Seviye 401 · 21 ders · 18 pratik lab
Dersler
Dayanıklılığın yeri
- Dayanıklılık tehdit modeli: kim, neden, ne kadar çabayla
- MASVS dayanıklılık gereksinimleri ve ne zaman gerekir
- Katmanlı savunma: gizliliğe dayanan güvenlik neden yetmez
- Çabayı ölçmek: bir önlem saldırgana ne kadar zaman kaybettirir
- Kısa görev: bir bankacılık ve bir haber uygulaması için gereken dayanıklılık düzeyini belirle
Karartma kalitesi
- R8 yapılandırmasını incelemek: fazla geniş keep kuralları
- Karartma kapsamını ölçmek: açık kalan sınıf ve yöntem adları
- Geride kalan hata ayıklama bilgisi: kaynak dosya adları, günlük dizgileri
- Yerel kütüphanelerde simgeler ve stripping
- Eşleme dosyasının saklanması ve sızmasının sonucu
- Kısa görev: karartmayı boşa çıkaran keep kuralını bul ve daralt
Bütünlük ve ortam denetimleri
- İmza öz denetimini incelemek: nerede, kaç kez, nasıl tepki veriyor
- Root algılama denetimlerini değerlendirmek: tek noktadan denetimin zayıflığı
- Hata ayıklayıcı ve kanca algılama denetimlerini değerlendirmek
- Tepki tasarımı: kapatmak mı, sunucuya bildirmek mi
- Kısa görev: korumalı bir derlemedeki ortam denetimlerinin dökümünü ve zayıf noktalarını çıkar
Sunucu tarafı doğrulama
- Play Integrity kararını okumak: cihaz, uygulama ve lisans alanları
- Kararı sunucuda doğrulamak: nonce, imza ve tekrar oynatma koruması
- Uygulamalar için anahtar doğrulaması
- Kısa görev: bütünlük kararını doğrulamayan arka ucu düzelt ve tekrar oynatmayı engelle
Bitirme
- Bitirme görevi: bir cüzdan uygulamasının dayanıklılık değerlendirme raporunu ve iyileştirme planını yaz
Pratik lablar
- İki uygulama için dayanıklılık düzeyini belirle: Bir bankacılık ve bir haber uygulaması için gerekli düzeyi gerekçesiyle yaz.
- Dayanıklılık gereksinimlerini tehdit modeline bağla: Yelkovan Bankası uygulaması için beş tehdidi MASVS dayanıklılık maddeleriyle eşleştir.
- Gizliliğe dayanan tasarımı sunucu denetimine çevir: İstemcide saklanan iş kuralına güvenen tasarımı incele ve hangi denetimlerin sunucuya taşınacağını tasarım notu olarak yaz.
- Korumalı ve korumasız derlemede sınıf adlarını karşılaştır: İki APK'nın jadx çıktısında okunabilir sınıf adı sayısını karşılaştır.
- Karartmayı boşa çıkaran keep kuralını daralt: R8 yapılandırmasında bütün paketi koruyan kuralı bul, daralt ve kapsamdaki artışı ölç.
- Geride kalan hata ayıklama bilgisini ölç ve temizle: Kaynak dosya adları, günlük dizgileri ve yerel simgeleri say, yapılandırmayı düzelt ve önce-sonra tablosu hazırla.
- Korumalı derlemedeki ortam denetimlerini listele: Kodda kök erişimi ve hata ayıklayıcı denetimi yapan sınıfları bul.
- Tek noktadan yapılan denetimin zayıflığını belgeleyerek yaz: Tek bir boolean dönen denetimin neden yetersiz olduğunu kod kanıtıyla açıkla ve çok noktalı tasarım öner.
- Denetim dökümü ve tepki tasarımı öner: Bütün ortam ve bütünlük denetimlerini, nerede çağrıldıklarını ve tepkilerini tabloya dök; sunucuya bildirim içeren tepki tasarımı yaz.
- Örnek bir bütünlük kararının alanlarını oku: Çözülmüş karardaki cihaz, uygulama ve lisans alanlarını yorumla.
- Kararı doğrulamayan arka ucu düzelt: Lab arka ucunda imza ve paket adı doğrulamasını ekle ve sahte kararın reddedildiğini göster.
- Nonce ile tekrar oynatmayı engelle: Sunucu tarafında tek kullanımlık nonce üret, kararla eşleştir ve aynı kararın ikinci kez reddedildiğini testle kanıtla.
- Eşleme dosyasının nerede saklandığını denetle: Yayın arşivinde ve APK içinde eşleme dosyasının bulunup bulunmadığını doğrula.
- Dayanıklılık bulgularını çabaya göre derecelendir: Altı bulguyu bir saldırgana kazandırdığı zamana göre sırala ve düzeltme maliyetiyle karşılaştır.
- Cüzdan uygulamasının dayanıklılık raporunu yaz: Karartma, denetimler ve sunucu doğrulaması bulgularını raporla ve üç aşamalı iyileştirme planı ekle.
- İmza öz denetiminin nerede çağrıldığını bul: Korumalı derlemenin kodunda uygulamanın kendi imzasını okuyan yöntemi ve çağrıldığı yerleri listele.
- Öz denetimin beklenen özeti nasıl sakladığını değerlendir: Beklenen sertifika özetinin kodda düz dizgi olarak durduğunu göster ve daha dayanıklı bir tasarım öner.
- İstemci öz denetimini sunucu doğrulamasıyla tamamlayan tasarım yaz: Öz denetimin sıklığını, tepkisini ve sunucuya bildirimini inceleyip eksiklerini raporla ve sunucu tarafı doğrulamayı içeren tasarım notu teslim et.
Kurs hakkında
Tersine mühendisliğe ve kurcalamaya karşı alınan önlemleri değerlendirmeyi öğrenirsin: karartmanın kalitesini ölçer, bütünlük ve ortam denetimlerini inceler, sunucu tarafı uygulama doğrulamasını kurar, tehdit modeline göre yeterli olup olmadığına karar verirsin.
Ne öğreneceksin
- Dayanıklılığın yeri
- Karartma kalitesi
- Bütünlük ve ortam denetimleri
- Sunucu tarafı doğrulama
- Bitirme
Ön koşullar
Aynı yolun 301 düzeyine kadar olan konularını uygulamış olmalısın.
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 401 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.