Hiçbir Şey Telefonu (2a) Güvenli Önyüklemeden Yararlanma Riskiyle Karşı Karşıya


Yeni yayımlanan bir kavram kanıtlama (PoC) istismarı, her ikisi de MediaTek yonga setleri tarafından desteklenen Nothing Phone (2a) ve CMF Phone 1’i etkileyen ciddi bir kod yürütme güvenlik açığını ortaya çıkardı. “Fenrir” adı verilen bu açık, güvenli önyükleme sürecini tehlikeye atarak saldırganların ARM mimarisindeki en ayrıcalıklı düzey olan EL3’te rastgele kod çalıştırmasına olanak tanıyor.

Hiçbir Şey Telefonundaki Kusur (2a) ve CMF Telefon 1

Sorun, önyükleyicinin kilidi açıldığında MediaTek cihazlarının güvenli önyükleme doğrulamasını nasıl işlediğindeki bir mantık hatasından kaynaklanıyor. Özellikle Ön Yükleyici, bl2_ext eğer bölüm seccfg (güvenlik yapılandırması) durumu kilidi açık olarak ayarlandı. O zamandan beri bl2_ext Önyükleme zincirinin sonraki tüm aşamalarının doğrulanmasından sorumlu olan bu gözetim, bir saldırganın güvenilmeyen kodu tam ayrıcalıklarla yüklemesine olanak tanır.

PoC, işlevi yamalayarak çalışır sec_get_vfy_policy() içinde bl2_ext her zaman sıfıra dönecek şekilde ikili. Bu, cihazı doğrulama kontrollerini atlamaya ve kimlik doğrulama olmadan herhangi bir önyükleme görüntüsünü yüklemeye zorlar.

PoC’nin temel teknik özellikleri şunları içerir:

  • Python, C ve kabuk komut dosyalarıyla yazılmıştır.
  • Yama uygulama ve yanıp sönme işlemlerini otomatikleştirir.
  • Bütünlük kontrollerini kandırarak cihazın kilit durumunu taklit eder.
  • Özel fastboot komutlarını kaydeder ve önyükleyici işlevlerini dinamik olarak çağırabilir.

Yapım süreci:

  • Orijinal önyükleyici görüntüsünü şuraya yerleştirin: çöp kutusu/[device].bin.
  • Koşmak ./build.sh pacman (veya özel bir yol sağlayın).
  • Komut dosyası yamalı bir görüntü oluşturur: lk.yamalı.

Yanıp sönme işlemi:

  • Kullanmak ./flash.sh yamalı görüntüyü fastboot aracılığıyla flaşlamak için.
  • Fastboot kullanılamıyorsa alternatif flaşlama araçları gerekebilir.

Onaylanmış Cihazlar ve Daha Geniş Etkiler

Bu istismar, Nothing Phone (2a) (kod adı: pacman) üzerinde başarıyla test edildi ve CMF Phone 1 (tetris) üzerinde çalıştığı biliniyor, ancak ikincisi için tam destek hala geliştirilme aşamasında. MediaTek destekli diğer cihazlar muhtemelen risk altındadır.

Dikkate değer bir örnek, yazara göre doğrulama yapmayan Vivo X80 Pro’dur. bl2_ext kilitli bir önyükleyiciyle bile güvenlik riskini kötüleştirir.

Bir kez istismar edildiğinde cihazın tüm güven zinciri tehlikeye girer. Potansiyel sonuçlar şunları içerir:

  • Yetkisiz işletim sistemlerinin kurulumu.
  • Algılama olmadan bellenim manipülasyonu.
  • Önyükleme zamanı bütünlüğüne dayanan güvenlik özelliklerinin atlanması.

Yazarın Uyarıları ve Yasal Uyarıları

PoC yazarı güçlü uyarılarda bulunuyor:

“TUĞLALI CİHAZLARDAN SORUMLU DEĞİLİM. Bu istismar, bir şeyler ters giderse telefonunuzu kalıcı olarak yok edebilir.”

Proje, değiştirilen yazılımın halka açık veya ağ bağlantılı kullanımı için kaynak kodunun açıklanmasını gerektiren GNU Affero Genel Kamu Lisansı v3.0 (AGPL-3.0) kapsamında lisanslanmıştır.

Kullanıcılar ve Satıcılar için Öneriler

Resmi yamalar yayınlanana kadar:

  • Kullanıcılar önyükleyicilerin kilidini açmaktan kaçınmalıdır.
  • Cihaz üreticileri ve MediaTek, kilidin açık olduğu durumlarda bile bl2_ext doğrulamasını zorunlu kılmalıdır.
  • Güvenlik ekipleri, diğer cihazların etkilenip etkilenmediğini kontrol ederek araştırmalıdır. img_auth_required işaretlemek expdb çöpler.

PoC aktif olarak sürdürülür ve bir yol haritası içerir:

  • Daha fazla cihaz için tam destek ekleyin.
  • Tekrarçalışma zamanı belleği değişikliği sırasında MMU hatalarını çözer.
  • Yük ekleme için kararlı bir yöntem geliştirin.

Şu anda yük bileşeni deneyseldir. Henüz çalışma zamanında belleği değiştiremese de, önyükleme modu kontrolünü, özel komutları ve önyükleyici içindeki dinamik işlev çağrılarını destekler.



Source link