Skip to content

Basebanheimer: Now I Am Become Death, The Destroyer Of Chains

Komaromy'nin hardwear.io 2023 araştırması, remote bir MediaTek baseband RCE'sini CP/AP interface üzerinden bir baseband-to-Android pivot ile zincirleyerek "zero click"i tam bir cihaz compromise'una dönüştürüyor.

Mechanism

Note

Modern telefonlar işi, Android çalıştıran bir Application Processor (AP) ile kendi RTOS'unu ve cellular protocol stack'ini çalıştıran bir Cellular Processor (CP) — yani baseband — arasında böler. İkisi memory'yi paylaşır ve kernel-managed bir interface üzerinden mesaj alışverişi yapar. MediaTek cihazlarda bu, Linux kernel'inin içindeki CCCI driver'ıdır (AP/CP interface). Dimensity nesli ile (2021 ve sonrası) MediaTek'in baseband'i nanoMIPS instruction set'ine geçti (daha eski Helio parçaları MIPS16e2 kullanıyordu); firmware'i analiz edebilmek için bile özel tooling — bir nanoMIPS decompiler, debugger ve emulator — gerekmesinin nedeni budur.

"Basebanheimer" iki trust boundary'yi açıkça ortaya koyar ve her ikisinin nasıl aşılacağını gösterir:

  1. Radio → baseband (RCE). Baseband, network'ün sağladığı signaling'i parse eder. Malformed bir mesaj, bir parser'daki heap buffer'ı taşırır ve CP üzerinde remote code execution verir — klasik baseband saldırılarıyla aynı over-trusted-parser sınıfı, ama güncel bir chipset üzerinde ve hatta VoLTE / IMS signaling (SIP) üzerinden bile ulaşılan.
  2. Baseband → Android (pivot). CP ve AP memory'yi paylaştığı ve CCCI driver üzerinden iletişim kurduğu için, o driver'daki bug'lar (AP tarafında out-of-bounds read/write) compromised bir baseband'in Android kernel'ini corrupt etmesine izin verir — modem sandbox'ından kaçar.

İkisini zincirlemek bir "zero click" radio compromise'unu "kullanıcı verisini çalmaya karşı sıfır bariyer"e çevirir: baseband üzerindeki kod, AP/CP-interface bug'ını kullanarak Android kernel'ine uzanır ve düşman bir modem'i kapsaması gereken isolation'ı yener.

Walkthrough

Çalışma hardwear.io Netherlands 2023'te sunuldu. Ekip; slide'lar, çalışan bir Samsung baseband exploit'inin videosunu ve MediaTek ile Samsung baseband'leri genelinde bulunan 17 vulnerability'nin 11'i için zafiyet detaylarını içeren TASZK advisory'lerini yayınladı.

Zincirden temsili MediaTek vulnerability'leri:

  • CVE-2022-21744 — MediaTek baseband'inde heap buffer overflow.
  • CVE-2022-21765 / CVE-2022-21769 — AP↔CP interface'ini implemente eden Linux kernel driver'ında (MediaTek'in CCCI driver'ı) out-of-bounds read / write. Bunlar baseband-to-Android pivot primitive'leridir.
  • CVE-2023-32888 — malformed bir VoLTE mesajı (örn. bir SIP INVITE veya MESSAGE request'i) tarafından tetiklenen, baseband'de heap overflow.

Tam zincir, kavramsal olarak:

  1. Baseband'de RCE elde et. Bir rogue cell (ya da IMS bug'ları için VoLTE üzerinden kötü niyetli bir SIP peer'ı), bir baseband parser'ındaki heap buffer'ı taşıran crafted bir signaling/VoLTE mesajı göndererek CP üzerinde code execution sağlar.
  2. Bir foothold kur. nanoMIPS baseband üzerinde çalışan attacker, ekibin özel emulator/debugger'ından türetilmiş layout bilgisini kullanarak CP memory'sinde stabil bir read/write ve execution primitive'i inşa eder.
  3. CP → AP pivot. Baseband'den attacker, paylaşılan CCCI/AP↔CP interface'ini sürerek kernel tarafındaki out-of-bounds read/write'ı (CVE-2022-21765 / CVE-2022-21769) tetikler ve Android kernel state'ini modem tarafından corrupt eder.
  4. Android'i ele geçir. Baseband'den ulaşılabilen bir kernel write ile, modem ile application OS arasındaki isolation çöker — "the destroyer of chains" — ve kullanıcı verisi erişilebilir hale gelir.
Custom tooling built for nanoMIPS

Dimensity baseband'leri nanoMIPS kullandığı için, hazır reverse-engineering araçları uygulanamıyordu. Ekip, closed-source firmware'i analiz edip exploit'leri geliştirmek için bir nanoMIPS decompiler, debugger ve emulator inşa etti.

Warning

Yalnızca yetkili araştırma. Yukarıdaki spesifik CVE'ler vendor-patched'dir; buradaki değer mimari derstir — paylaşımlı memory'li bir CP/AP interface bir pivot surface'idir, dolayısıyla bir baseband RCE contained kabul edilmemelidir.

Mitigation

MediaTek ve cihaz vendor'ları listelenen CVE'leri Android Security Bulletin'ler üzerinden patch'ledi. Yapısal savunmalar: baseband parser'larını hardening yapmak (signaling ve SIP/VoLTE üzerinde bounds-checked length handling), CCCI/AP↔CP interface'ini geçen tüm veriyi untrusted olarak validate etmek ve CP/AP isolation'ı güçlendirmek (IOMMU / kısıtlanmış shared-memory window'ları), ki compromised bir modem Android kernel memory'sine yazamasın.

References