Mobil uygulama güvenliği: Android ve iOS
37 kurs, 821 ders. Tarayıcıda gerçek Kali Linux labı.
- Mobil uygulama güvenliğine giriş (Seviye 101, 30 ders): Telefondaki uygulamaların neden ayrı bir güvenlik konusu olduğunu öğrenir, bir APK ve IPA'nın içine bakar, sırları, depolamayı, ağı ve cihaz yönetimini ilk kez incelersin.
- Android temelleri: mimari, izinler ve güncellemeler (Seviye 101, 33 ders): Android'in katmanlarını, izinleri, uygulama yalıtımını ve depolamayı tanır; ekran kilidi, güncelleme, Play Protect ve iş profiliyle bir telefonu güvenli hâle getirirsin.
- Kotlin ve Java ile Android geliştirmeye giriş (Seviye 101, 31 ders): Bir Android projesinin yapısını tanır, Gradle komut satırıyla derler, Kotlin ve Java ile küçük ekranlar yazar, ilk birim testlerini koşar ve sürüm imzalarsın.
- iOS temelleri: mimari, izinler ve güvenli kullanım (Seviye 101, 30 ders): iPhone ve iPad'in nasıl çalıştığını baştan öğrenirsin: sürümler, uygulamaların yalıtımı, izinler, Apple hesabı, ekran kilidi, güncellemeler, yedekler ve yapılandırma profilleriyle bir cihazı güvenli hâle getirirsin.
- Android güvenlik modeli: korumalı alan, izinler, imza ve SELinux (Seviye 201, 22 ders): Uygulamaların birbirinden nasıl ayrıldığını, izinlerin koruma düzeylerini, özel erişimleri, APK imza şemalarını, doğrulanmış önyüklemeyi ve şifrelemeyi güvenlikçi gözüyle öğrenirsin.
- Uygulama bileşenleri ve intent'ler: activity, service, receiver, provider (Seviye 201, 22 ders): Bir Android uygulamasını oluşturan dört bileşeni, intent'leri, derin bağlantıları ve bu yüzeyin nasıl korunacağını öğrenirsin.
- Android'de test ve derleme: JUnit, Robolectric, Gradle ve CI (Seviye 201, 22 ders): Gradle betiklerini ve bağımlılıkları yönetir, Kotlin ve Java kodunu JUnit ve Robolectric ile emülatörsüz test eder, lint ve R8 ile kalite kapıları kurar, hepsini bir CI hattına bağlarsın.
- Güvenli mobil geliştirme 1: depolama, kriptografi, kimlik doğrulama ve ağ (Seviye 201, 22 ders): 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.
- Android statik analiz temelleri: apktool, jadx ve aapt2 (Seviye 201, 22 ders): Bir APK'yı çalıştırmadan incelemeyi öğrenirsin: paketi açar, manifesti ve kaynakları okur, jadx ile kodu gezer, gömülü sırları ve riskli ayarları bulup düzgün bir bulgu notuna çevirirsin.
- Android'de veri depolama incelemesi: tercihler, veritabanları ve yedekler (Seviye 201, 22 ders): Bir uygulamanın telefonda bıraktığı izleri hazır veri dışa aktarımları üzerinde incelersin: tercih dosyaları, SQLite veritabanları, önbellek, harici depolama ve yedeklerde hassas veri arar, düzeltmesini önerirsin.
- Mobil uygulama trafiği analizi: hazır yakalamalar, TLS ve sabitleme (Seviye 201, 22 ders): Bir mobil uygulamanın ağ davranışını hazır trafik yakalamaları üzerinden okursun: hangi sunuculara ne gönderdiğini, TLS ayarlarını, sertifika doğrulamasını ve sabitlemeyi değerlendirir, sızıntıları bulursun.
- iOS güvenlik modeli: güvenli önyükleme, kod imzalama, korumalı alan ve veri koruması (Seviye 201, 22 ders): iOS'un katmanlı korumasını güvenlikçi gözüyle öğrenirsin: güvenli önyükleme zinciri, Secure Enclave, kod imzalama ve yetkilendirmeler, korumalı alan, veri koruma sınıfları ve Anahtar Zinciri.
- IPA statik analizi: Info.plist, yetkilendirmeler ve gömülü dosyalar (Seviye 201, 22 ders): Bir iPhone uygulama paketini çalıştırmadan incelersin: Info.plist ayarlarını, yetkilendirmeleri, provizyon profilini, gömülü çerçeveleri ve dosyaları okur, sırları ve riskli ayarları bulup raporlarsın.
- Mobil cihaz yönetimi (MDM) temelleri (Seviye 201, 22 ders): Bir kurumun telefon ve tablet filosunu nasıl yönettiğini öğrenirsin: kayıt yöntemleri, sahiplik modelleri, ilkeler, uygulama dağıtımı, uyumluluk ve kayıp cihaz işlemleri; hepsini simüle bir yönetim konsolunda denersin.
- Android platformunun içi: Binder, Zygote, ART ve donanım destekli güvenlik (Seviye 301, 22 ders): Açılıştan uygulama sürecine kadar platformun nasıl çalıştığını, paket yöneticisini, ayrıcalıklı uygulamaları, TEE ve anahtar doğrulamayı öğrenirsin.
- Güvenli mobil geliştirme 2: platform, kod kalitesi, dayanıklılık ve gizlilik (Seviye 301, 23 ders): MASVS tarzı gereksinimlerin kalan dört alanını uygularsın: bileşenleri ve WebView'ı güvenli kurmak, girdi ve bağımlılıkları yönetmek, kendi uygulamanı kurcalamaya karşı güçlendirmek ve gizliliği tasarıma katmak.
- Smali ve yerel kod incelemesi: dex bayt kodu ve .so kütüphaneleri (Seviye 301, 22 ders): jadx'in çözemediği yerde smali okur, dex yapısını tanır, JNI köprüsünü izler ve yerel kütüphanelerde derleyici korumalarını, gömülü sırları ve riskli işlevleri statik olarak denetlersin.
- WebView, derin bağlantı ve IPC incelemesi (Seviye 301, 22 ders): Uygulamanın dışarıdan veri aldığı kapıları denetlersin: derin bağlantılar, uygulama bağlantıları, WebView ayarları, JavaScript köprüleri, içerik sağlayıcılar ve PendingIntent'lerdeki hataları bulup düzeltirsin.
- Mobil arka uç API güvenliği (Seviye 301, 22 ders): Uygulamanın konuştuğu API'yi kendi laboratuvarında denetlersin: uç noktaları APK'dan çıkarır, kimlik doğrulama, yetkilendirme, oturum, hız sınırı ve sürüm yönetimi hatalarını bulur, sunucu tarafında düzeltirsin.
- Otomatik mobil tarama: MobSF, semgrep ve bulgu ayıklama (Seviye 301, 22 ders): Otomatik araçlarla APK ve IPA taramayı, raporu okumayı, yanlış alarmları ayıklamayı, kendi kurallarını yazmayı ve taramayı ekibin iş akışına bağlamayı öğrenirsin.
- Şüpheli Android uygulaması ön incelemesi (Seviye 301, 22 ders): Savunma ekibinin gözünden şüpheli bir APK'yı çalıştırmadan değerlendirirsin: izinleri, bileşenleri, bilinen aileleri ele veren işaretleri, ağ göstergelerini çıkarır, karar ve müdahale notu yazarsın.
- iOS'ta güvenli geliştirme: Swift kod incelemesi ve düzeltme (Seviye 301, 22 ders): Swift ile yazılmış uygulamalardaki güvenlik hatalarını kaynak koddan bulup düzeltirsin: Anahtar Zinciri ve veri koruması, kripto, biyometri, ağ güveni, bağlantılar, web görünümleri ve gizlilik.
- iOS'ta veri depolama incelemesi: kaplar, yedekler ve Anahtar Zinciri (Seviye 301, 22 ders): Bir iOS uygulamasının bıraktığı veriyi hazır dışa aktarımlar üzerinde denetlersin: kap klasörleri, plist ve veritabanları, önbellek ve çerezler, yedek içeriği ve Anahtar Zinciri öğelerinin koruma düzeyleri.
- Android Enterprise yönetimi: iş profili, tam yönetim ve ilke dosyaları (Seviye 301, 22 ders): Android filosunu ilke dosyalarıyla yönetirsin: iş profili ve tam yönetilen cihaz kipleri, parola ve güncelleme ilkeleri, yönetilen uygulama yapılandırması, kiosk kipi ve uyumluluk; ilkeleri JSON olarak yazıp simüle cihazda doğrularsın.
- Apple cihaz yönetimi: yapılandırma profilleri ve bildirimsel yönetim (Seviye 301, 22 ders): iPhone ve iPad filosunu yönetmenin yapı taşlarını öğrenirsin: yapılandırma profilleri ve yükleri, denetimli kip, otomatik kayıt, yönetilen uygulamalar, bildirimsel yönetim ve profil imzalama; hepsini dosya ve simüle sunucu üzerinde denersin.
- Çapraz platform uygulama incelemesi: React Native, Flutter ve hibrit (Seviye 301, 22 ders): Tek kod tabanından çıkan uygulamaların pakette nasıl göründüğünü ve nerede hata yapıldığını öğrenirsin: JavaScript paketleri, Dart anlık görüntüleri, köprü eklentileri, güvenli depolama eklentileri ve canlı güncelleme mekanizmaları.
- MASVS ile mobil uygulama değerlendirmesi: yöntem, kanıt ve rapor (Seviye 301, 22 ders): Bir mobil uygulama değerlendirmesini baştan sona yürütmeyi öğrenirsin: kapsam ve yetki, MASVS kontrol grupları, test planı, kanıt toplama, önem derecelendirme, rapor yazma ve düzeltmenin yeniden sınanması.
- Mobil uygulamalarda gizlilik incelemesi: SDK'lar, izinler ve beyanlar (Seviye 301, 22 ders): Bir uygulamanın kişisel veriyle ne yaptığını kanıtla gösterirsin: veri envanteri, izin ve SDK dökümü, trafik doğrulaması, mağaza beyanlarıyla karşılaştırma, rıza akışları ve farklı ülkelerin kurallarına göre değerlendirme.
- Uygulama dayanıklılığı incelemesi: karartma, bütünlük ve doğrulama (Seviye 401, 21 ders): 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.
- Android cihaz ön incelemesi ve adli analiz (Seviye 401, 18 ders): Şüpheli bir şirket telefonunu hazır kanıt setleri üzerinden incelersin: kanıtı korur, bugreport, günlükler, paket ve kullanım kayıtlarından zaman çizelgesi kurar, ele geçirilme izlerini arar ve bulguları raporlarsın.
- iOS ikili analizi: Mach-O, Objective-C ve Swift (Seviye 401, 18 ders): Bir iOS uygulamasının ikilisini statik olarak okursun: Mach-O yapısını, yükleme komutlarını, Objective-C ve Swift üst verisini çözer, güvenlik denetimlerini ve gömülü sırları sözde koddan bulursun.
- iOS cihaz ön incelemesi ve adli analiz (Seviye 401, 18 ders): Şüpheli bir iPhone'u hazır kanıt setleri üzerinden incelersin: yedek ve sysdiagnose içeriğini okur, kurulu profilleri, uygulamaları ve çökme kayıtlarını değerlendirir, göstergelerle tarar ve zaman çizelgesi kurarsın.
- Filo uyumluluğu, koşullu erişim ve uygulama koruma ilkeleri (Seviye 401, 18 ders): Cihazın durumunu kurumsal veriye erişim kararına bağlarsın: uyumluluk kuralları, koşullu erişim, kayıtsız cihazlarda uygulama koruma ilkeleri, istisna yönetimi ve filo sağlığının ölçülmesi.
- Mobil tehdit modelleme ve güvenli mimari (Seviye 401, 18 ders): Bir mobil sistemi tasarım aşamasında değerlendirirsin: varlıklar ve güven sınırları, cihaz, uygulama, ağ ve arka uç tehditleri, çevrimdışı çalışma, ödeme ve kimlik akışları için mimari kararlar ve güvenlik gereksinimleri.
- Mobil DevSecOps: derleme hattı, imza anahtarları ve yayın güvenliği (Seviye 401, 18 ders): Mobil uygulamanın koddan mağazaya giden yolunu güvenceye alırsın: hatta güvenlik kapıları, bağımlılık ve SDK denetimi, imza anahtarlarının korunması, yayın öncesi doğrulama, kademeli yayın ve acil geri çekme.
- Mobil uygulama güvenliği programı kurmak ve yönetmek (Seviye 501, 18 ders): Tek uygulamadan kurumun bütün mobil portföyüne geçersin: envanter, risk sınıflandırma, standart ve gereksinimler, ekip eğitimi, ölçütler, dış kaynak yönetimi, zafiyet bildirimi ve olay hazırlığı.
- Vaka: Yelkovan Bankası mobil bankacılık değerlendirmesi (Seviye 501, 21 ders): Bütün yolu tek bir vakada birleştirirsin: Yelkovan Bankası'nın Android ve iOS uygulamalarını, arka ucunu ve çalışan filosunu değerlendirir, taklit uygulama olayına müdahale eder, düzeltmeleri yeniden sınar ve yönetime sunarsın.
Projeler
- Kurye uygulamasına ilk bakış: APK ve IPA'nın içinde ne var?: Kuzeyyıldızı Kargo'nun kurye uygulamasının APK ve IPA dosyalarını açar, paket bilgisini, izinleri, imzacıyı ve gömülü bir anahtarı bulup bir sayfalık ilk inceleme notu yazarsın.
- Okul tabletleri için cihaz sağlık kontrolü: Gelincik Okulları'nın öğretmen tabletlerinde sürümü, güvenlik yaması düzeyini, ekran kilidini ve uygulama izinlerini benzetilmiş adb cihazı ile hazır iOS dökümlerinden denetler, cihaz başına bir kontrol listesi doldurursun.
- Sadakat uygulamasında manifest ve bileşen denetimi: Turnalı Perakende'nin sadakat uygulamasını apktool ve jadx ile açar, dışa açık bileşenleri, izinleri ve imza şemasını denetler, her bulgu için manifest düzeltmesini öneren bir bulgu tablosu yazarsın.
- Randevu uygulamasının telefonda sakladıklarını denetle: Lavinya Klinikleri'nin randevu uygulamasına ait hazır veri dökümlerinde tercih dosyalarını, SQLite veritabanlarını, önbelleği ve yedek arşivini inceler, açıkta kalan hasta verisini ve belirteçleri gösteren bir depolama raporu yazarsın.
- Rezervasyon uygulamasının ağ trafiğini incele: Mercanköşk Otelcilik'in rezervasyon uygulamasından alınmış hazır yakalamalarda şifresiz istekleri, zayıf TLS ayarlarını ve sertifika sabitleme durumunu inceler, düzeltilmiş bir ağ güvenliği yapılandırması ile bulgu notu teslim edersin.
- Saha satış uygulamasında depolama ve şifreleme hatalarını düzelt: Ayçiçeği Gıda'nın saha satış uygulamasının kaynak kodunda düz metin saklanan oturum belirtecini, sabit şifreleme anahtarını ve zayıf parola denetimini düzeltir, güvenlik birim testlerinin tamamını geçirirsin.
- Belge uygulamasının IPA dosyasını statik incele: Sedirli Hukuk Bürosu'nun belge uygulamasının IPA dosyasında Info.plist'i, aktarım güvenliği istisnalarını, yetkilendirmeleri ve pakete gömülmüş dosyaları inceler, bulguları önem sırasıyla raporlarsın.
- Kişisel cihazlar için temel MDM ilkesi ve uyum kontrolü: Karaçam Mobilya'nın kişisel cihaz kullanan satış ekibi için benzetilmiş MDM konsolunda parola, şifreleme ve güncelleme kurallarını içeren temel ilkeyi yazar, cihaz envanterini bu ilkeye göre denetleyip uyum raporu çıkarırsın.
- WebView ve derin bağlantıları incele ve sıkılaştır: Göktaşı Yazılım'ın müşteri portalı uygulamasında WebView ayarlarını, derin bağlantı doğrulamasını ve assetlinks.json dosyasını inceler, kodu düzeltip düzeltmeleri birim testleriyle kanıtlarsın.
- Kargo takip API'sinde yetkilendirme denetimi ve onarımı: Kuzeyyıldızı Kargo'nun mobil uygulamasının konuştuğu laboratuvar API'sinde nesne düzeyinde yetkilendirmeyi, belirteç ömrünü ve hız sınırını kaydedilmiş isteklerle sınar, sunucu kodunu düzeltip yeniden sınama sonuçlarını raporlarsın.
- Otomatik tarama bulgularını ayıkla ve önceliklendir: Yakamoz Telekom'un abone uygulamasını MobSF ve semgrep ile tarar, yanlış pozitifleri gerekçesiyle eler, eksik kalan bir denetim için özel semgrep kuralı yazar ve geliştiricilere önceliklendirilmiş bir bulgu listesi verirsin.
- Sahte ödeme uygulaması şüphesi: statik ön inceleme: Selvikent Belediyesi'nin ödeme uygulamasına benzeyen şüpheli bir APK'yı çalıştırmadan inceler, gerçeğiyle imza ve izin farklarını çıkarır, göstergeleri listeler, bir YARA kuralı yazar ve vatandaşlara yönelik bir uyarı metni hazırlarsın.
- Saha ekibi için Android ve iOS yönetim ilkesi seti: Demirsu Enerji'nin saha ekibi için iş profili kuran bir Android Enterprise ilke dosyası ile kısıtlama, Wi-Fi ve sertifika içeren bir iOS yapılandırma profili yazar, ikisini de benzetilmiş yönetim sunucusunda doğrularsın.
- Sipariş uygulaması için MASVS değerlendirme raporu: Ilgıntepe Tekstil'in bayi sipariş uygulamasını hazır değerlendirme setiyle (APK, IPA, veri dökümleri, trafik yakalamaları) MASVS denetim listesine göre değerlendirir, her gereksinimi kanıtıyla işaretleyip müşteriye gidecek raporu yazarsın.
- Veli uygulamasında gizlilik ve SDK denetimi: Gelincik Okulları'nın veli uygulamasındaki üçüncü taraf SDK'ları, istenen izinleri ve hazır trafik yakalamalarını mağaza gizlilik beyanıyla karşılaştırır, tutarsızlıkları raporlayıp düzeltilmiş beyanı hazırlarsın.
- Kaptanın telefonu: Android cihaz ön incelemesi: Lodoskaya Denizcilik'te bir kaptanın telefonundan alınmış hata raporu, logcat dökümü ve yedek arşivini MVT ve ALEAPP ile inceler, şüpheli uygulamanın ne zaman kurulup ne yaptığını gösteren bir zaman çizelgesi ve karar notu yazarsın.
- Yönetici iPhone'u: yedek ve sysdiagnose ön incelemesi: Saklıvadi Üniversitesi'nde bir yöneticinin iPhone'undan alınmış eğitim yedeğini, sysdiagnose arşivini ve yüklü profil listesini MVT ve iLEAPP ile inceler, cihazın güvenilir olup olmadığını kanıtlarıyla bildiren bir ön inceleme raporu yazarsın.
- Sürücü uygulamasının derleme hattına güvenlik kapıları kur: Mavikaya Lojistik'in sürücü uygulamasının derleme hattına statik tarama, bağımlılık denetimi ve sır taraması adımlarını ekler, imzalama anahtarını depodan çıkarıp kasaya taşır ve kritik bulguda yayını durduran kapıyı kurarsın.
- Mağaza tabletleri için uyum kuralları ve koşullu erişim: Turnalı Perakende'nin mağaza tabletleri için uyum kurallarını, koşullu erişim ilkesini ve uygulama koruma ilkesini yazar, örnek oturum açma kayıtlarıyla ilkenin kimi engelleyip kime izin verdiğini sınayıp bir devreye alma planı hazırlarsın.
- On dört uygulamalık portföy için mobil güvenlik programı: Yakamoz Telekom'un on dört mobil uygulamasının envanter, tarama ve bulgu geçmişi verisinden risk katmanlarını çıkarır, katman başına güvenlik gereksinimlerini ve ölçütleri belirler, ölçütleri hesaplayan bir betikle birlikte bir yıllık program planını yazarsın.