Android platformunun içi: Binder, Zygote, ART ve donanım destekli güvenlik
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.
Seviye 301 · 22 ders · 18 pratik lab
Dersler
Süreçler ve iletişim
- Açılış sırası: init, Zygote ve system_server
- Binder: süreçler arası iletişim
- Sistem servisleri ve dumpsys çıktısını okumak
- ART, dex ve önceden derleme
- Kısa görev: dumpsys çıktısından bir uygulamanın izin ve bileşen durumunu çıkar
Paket yönetimi
- Paket yöneticisi: packages.xml ve kurulum akışı
- Bölünmüş APK'lar ve uygulama paketleri (AAB)
- Paylaşılan UID ve imza izinleri
- Sistem uygulamaları, priv-app ve ön yüklü yazılım
- Kısa görev: simüle cihazdaki ön yüklü uygulamaları ayrıcalıklarına göre sınıflandır
Donanım destekli güvenlik
- TEE, StrongBox ve anahtar doğrulama
- Gatekeeper, biyometri sınıfları ve kimlik doğrulamaya bağlı anahtarlar
- Cihaz ve uygulama bütünlüğü doğrulaması: kavramlar
- OTA güncellemeleri: A/B bölümler ve Mainline modülleri
- Kısa görev: bir anahtar doğrulama sertifika zincirini oku ve cihaz durumunu yorumla
Günlükler ve tanılama
- logcat: arabellekler, etiketler ve öncelikler
- bugreport dosyasının yapısı
- Günlüklerde SELinux retlerini okumak
- AppOps kayıtları ve izin kullanım geçmişi
- Bölümler ve Treble: system, vendor, product
- Kısa görev: bir bugreport'tan çöken hizmeti ve nedenini bul
Bitirme
- Bitirme görevi: bir güvenlik özelliğini donanımdan uygulamaya kadar izleyen teknik not yaz
Pratik lablar
- dumpsys çıktısından bir uygulamanın izinlerini çıkar: dumpsys package çıktısında bir uygulamanın istenen ve verilen izinlerini ayır.
- Çalışan servisleri ve sahiplerini listele: dumpsys activity services çıktısından ön planda çalışan servisleri ve paketlerini çıkar.
- Sistem servisleri üzerinden cihaz durum özeti üret: Paket, pil, cihaz ilkesi ve bildirim servislerinin çıktılarından güvenlik açısından önemli on satırı seçip özet yaz.
- packages.xml içinde bir paketin kaydını bul: Verilen packages.xml dökümünde bir uygulamanın kod yolunu, UID'sini ve imza kaydını bul.
- Bölünmüş APK'ları bir araya getirip incele: Bir uygulamanın temel ve bölünmüş APK'larını listele, hangi bölümün yerel kütüphaneleri taşıdığını bul.
- Paket kayıtlarından kurulum zaman çizelgesi çıkar: Paket kayıtlarındaki ilk kurulum ve son güncelleme zamanlarından son otuz günün zaman çizelgesini üret.
- Ön kurulu uygulamaları say ve ayır: Simüle cihazda sistem bölümünden gelen paketleri listele ve sayısını yaz.
- Ayrıcalıklı uygulamaları sınıflandır: Ön kurulu uygulamaları ayrıcalıklı ve sıradan sistem uygulaması olarak ayır, üretici eklemelerini işaretle.
- Ayrıcalıklı uygulamanın imza izinlerini denetle: Üreticinin ön kurduğu bir uygulamanın sahip olduğu ayrıcalıklı izinleri çıkar ve işleviyle orantısız olanı raporla.
- Doğrulama sertifikasındaki cihaz durumunu oku: Örnek bir anahtar doğrulama sertifikasında önyükleme durumu ve yama düzeyi alanlarını bul.
- Sertifika zincirini köke kadar doğrula: openssl ile doğrulama zincirini sırala, köke kadar doğrula ve güvenlik düzeyi alanını yorumla.
- İki doğrulama kaydından güvenilmez cihazı ayır: İki zinciri karşılaştır; yazılım düzeyinde üretilmiş anahtarı ve kilidi açık cihazı kanıtıyla göster.
- logcat dökümünde bir uygulamanın satırlarını süz: Verilen logcat dökümünde tek bir paketin hata düzeyindeki satırlarını ayır.
- bugreport'ta çöken servisi ve nedenini bul: Bir bugreport arşivini aç, tekrar tekrar çöken servisi ve yığın izindeki nedeni bul.
- Günlüklerden izin kullanım öyküsü çıkar: AppOps kayıtları ve logcat satırlarını birleştirerek bir uygulamanın bir günde kameraya ne zaman eriştiğini zaman sırasıyla yaz.
- Etkin yuvayı ve bölüm bilgisini oku: Simüle cihazın etkin A/B yuvasını ve sistem bölümünün salt okunur olup olmadığını bul.
- Mainline modül sürümlerini listele: Cihazdaki güncellenebilir sistem modüllerini ve sürümlerini listele, en eski kalanı işaretle.
- Bir güvenlik özelliğini donanımdan uygulamaya izle: Kimlik doğrulamaya bağlı anahtarın yolunu donanım, sistem servisi ve uygulama katmanlarında cihaz çıktılarıyla belgeleyen teknik not yaz.
Kurs hakkında
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.
Ne öğreneceksin
- Süreçler ve iletişim
- Paket yönetimi
- Donanım destekli güvenlik
- Günlükler ve tanılama
- Bitirme
Ön koşullar
Aynı yolun 101 ve 201 düzeyindeki konularına hâkim 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 301 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.