deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak dev.to (home feed)

Android GhostMap açığı, uygulama açılmadan önce bozuk APK kaynakları üzerinden cihazları boot-loop'a sokabiliyor

Bitdefender, bozuk bir APK kaynağının system_server'ın tekrarlayan çökmelerini tetikleyerek cihazları — uygulama hiç başlatılmadan — kalıcı bir boot loop içine hapseden Android açığı GhostMap'i duyurdu. Kurtarma için fabrika ayarlarına dönüş gerekebilir.

Android GhostMap açığı, uygulama açılmadan önce bozuk APK kaynakları üzerinden cihazları boot-loop'a sokabiliyor

Bozuk APK metaverisi Android'in çekirdek süreçlerinden birini çökertebiliyor

Bitdefender Labs, GhostMap adını verdiği bir Android açığını duyurdu: hazırlanmış bir APK sorunsuz kuruluyor ve ardından uygulamayı hiç açmadan, kodunu çalıştımadan ya da herhangi bir izin verilmeden cihazı kalıcı bir yeniden başlatma döngüsüne sokuyor. Araştırmayı özetleyen dev.to yazısına göre (Bitdefender'ın özgün metnini 5 Kasım'a tarihliyor), Bitdefender sorunu ciddiyet açısından yüksek olarak değerlendiriyor ve Android 10 ve sonrasının etkilendiğini, testlerin Android 17'ye kadar uzandığını belirtiyor. Metinde bir CVE listelenmemiş.

Kök neden tek bir hata değil; libziparchive, libandroidfw ve system_server olmak üzere üç Android bileşeninin aynı APK girdisini nasıl okuyacakları konusundaki uyumsuzluk.

Üç bileşen, üç farklı yorum

Bir APK aslında bir ZIP arşividir ve içindeki her girdi bir sıkıştırma yöntemi ile sıkıştırılmamış boyut bildirir. GhostMap, yöntemi ne "stored" (yöntem 0) ne de "deflated" (yöntem 8) olan bir girdinin, gerçek veriden çok daha büyük bir sıkıştırılmamış uzunlukla birleşmesine dayanıyor.

dev.to üzerinden aktarılan Bitdefender bulgularına göre:

  • libziparchive, sıkıştırılmamış boyut sağlamalık denetimini yalnızca stored girdilere uyguluyor. Başka bir yöntem kullanan girdi, şişirilmiş bildirilen uzunluğuna rağmen denetimden sıyrılıyor.
  • libandroidfw, deflated olmayan her girdiyi stored olarak kabul ediyor ve bildirilen uzunluğu kullanarak belleğe eşliyor; böylece eşleme dosyanın gerçek sonunun çok ötesine uzanabiliyor.
  • Yüklü paketlerden kaynakları otomatik olarak okuyan system_server içindeki bir sistem servisi ise eşlenen baytlara dokunuyor. Dosyanın gerçek sonunun ötesini okumak SIGBUS üretiyor ve kritik süreci — birlikte Android runtime'ını — çökertiyor.

Bitdefender, aşırı büyük eşlemenin tek başına zararsız olduğuna dikkat çekiyor; çöküş yalnızca kod gerçekten dosyanın ötesindeki bölgeyi okuduğunda gerçekleşiyor.

Döngü nasıl kalıcılaşıyor

Gösterilen zincir temel olarak "kur ve bekle" şeklinde:

  1. Bir kullanıcı ya da uygulama yönetimi kanalı hazırlanmış APK'yı kuruyor. Uygulama hiçbir izin istemiyor ve hiç başlatılmıyor.
  2. system_server içindeki bir sistem servisi, normal paket işlemenin parçası olarak bozuk kaynağı okuyor.
  3. Sınır dışı okuma SIGBUS tetikliyor; system_server çöküyor ve cihaz yeniden başlıyor.
  4. Açılışta Android yüklü paketi yeniden ayrıştırıyor ve başarısızlığı tekrarlıyor.

Araştırmacıların kalıcı varyantında güvenli mod da bir çıkış sunmadı ve döngü yeniden başlatmalar boyunca sürdü; cihaz kullanılamaz kaldı, normal kaldırma denetimlerine ise erişilemedi.

Dikkat çekici bir ayrıntı: Soruşturma bir bankacılık dropper örneğiyle başladı — ancak özete göre bu örnek gerçekte kurulamadı ve boot loop, araştırmacıların ayrı olarak geliştirdiği bir gösterimdi. Dropper yazarının GhostMap'i kasıtlı olarak kullandığı kanıtlanmadı ve kalıcı varyant için gerçek dünyada bir dağıtım kampanyası raporlanmadı.

Kurtarma seçenekleri dar

Bulgular çok dar bir kurtarma penceresi çiziyor. USB hata ayıklama önceden etkinleştirilmişse paket ADB ile kaldırılabiliyor — ama yalnızca ilk tam çekirdek yeniden başlatmasından önce; ondan sonra bu yol kapanıyor. Geriye fabrika ayarlarına dönüş ve cihazı yeniden hazırlama kalıyor; yedeklenmemiş tüm veriler kayboluyor. Özete göre gelecekteki bir yama ve yayın sürümü henüz doğrulanmış değil.

İkincil bir kaygı daha var: Aynı etkilenen ayrıştırıcı üzerinden girdileri okuyan dosya yöneticileri ve tarayıcılar da bozuk APK üzerinde çökebiliyor; yani güvenlik ve analiz araçları da hizmet dışı kalabilir. Pratik savunmalar önleyici: güvenilmeyen APK kurulumunu engelleyen MDM politikaları ve savunmasız ayrıştırıcıyı hiç çalıştırmadan sıkıştırma yöntemleri ile boyut sınırlarının statik doğrulaması.

Gösterilen etki kalıcı bir hizmet dışı bırakma. Araştırma donanım hasarı, rastgele kod çalıştırma veya veri hırsızlığı kanıtlamıyor.

Neden önemli

GhostMap, bir container formatı açığının, kütüphaneler arasındaki tutarsız doğrulamayla birleşince kurulumun kendisini bir saldırıya dönüştürebildiğini gösteriyor: kod çalıştırma yok, izin yok, uygulamanın kurulması dışında kullanıcı etkileşimi yok. Android cihaz filoları açısından bu, güvenilmeyen sideload edilmiş APK'ların engellenmesini ve tarayıcıların APK yapısını korumak üzere var olan aynı ayrıştırıcılar yerine bağımsız olarak doğrulamasını savunuyor. Ayrıca kullanılabilirliğin de bir güvenlik özelliği olduğunu hatırlatıyor: boot loop'a yakalanan bir cihaz, silinmiş bir cihaz kadar ulaşılamazdır ve yedeklere bağlı olarak muhtemelen onun kadar maliyetlidir.

  • #android
  • #security
  • #vulnerability
  • #mobile
  • #denial-of-service

İlgili yazılar