Eksploitasi Menargetkan Mode EDL Qualcomm, Mempengaruhi Beberapa Xiaomi, OnePlus, Nokia, dan Perangkat lainnya

Perangkat Qualcomm memiliki mode EDL, yang ternyata dapat dieksploitasi jika Anda memiliki alat yang tepat yang dirilis oleh OEM.

Perangkat dengan chipset Qualcomm memiliki a Primary Bootakuoader (PBL) yang biasanya mem-boot sistem Android, tetapi juga menampung mode boot alternatif yang dikenal sebagai mode EDL. Mode EDL adalah milik Qualcomm Emerger Dbeban sendiri Mode dan mengizinkan HAIasli Eperlengkapan Mprodusen (OEM) untuk memaksa perangkat lunak flash pada perangkat. Ini tidak dapat diubah (mode hanya baca) dan memiliki kontrol penuh atas penyimpanan perangkat. Banyak OEM termasuk OnePlus dan Xiaomi telah merilis alat (dikenal sebagai pemrogram) yang memanfaatkan mode EDL dan sebuah protokol yang dikenal sebagai Firehose untuk membatalkan pemasangan perangkat, sementara alat lain dari perusahaan seperti Nokia telah bocor. Firehose dapat memanfaatkan sejumlah perintah untuk mem-flash perangkat, bersama dengan kemampuan untuk memeriksa data dalam memori perangkat. Peneliti keamanan

Roee Hay (@roeehay) Dan Noam Hadad dari Penelitian Aleph telah menemukan kerentanan perangkat kritis menggunakan mode ini, yang secara efektif memberikan serangan kepada penyerang akses perangkat penuh.

Penting untuk dicatat bahwa eksploitasi ini memerlukan akses fisik ke perangkat, namun masih sangat berbahaya dan kemungkinan besar tidak dapat ditambal. Para penyerang memanfaatkan tingkat akses yang diberikan ke mode EDL untuk melewati boot aman pada Nokia 6, sehingga mengalahkan rantai kepercayaan dan mendapatkan eksekusi kode lengkap di setiap bagian urutan booting termasuk OS Android diri. Ini berteori bekerja dengan cara yang sama pada perangkat lain, dan para peneliti juga berhasil membuka kunci dan melakukan root pada beberapa perangkat Xiaomi tanpa kehilangan data.

Perangkat apa saja yang terkena dampak eksploitasi ini?

Pertama, perangkat yang terkena dampaknya.

Daftar perangkat yang terpengaruh.

  • LG G4
  • Nokia 6 (d1c)
  • Nokia 5
  • Nexus 6 (samu)
  • Nexus 6P (pemancing)
  • Moto G4 Ditambah
  • OnePlus 5 (burger keju)
  • OnePlus 3T
  • OnePlus 3
  • OnePlus 2
  • OnePlus X
  • Satu tambah satu
  • ZTE Akson 7
  • ZUK Z1
  • ZUK Z2
  • Xiaomi Catatan 5A (ugglite)
  • Xiaomi Note 5 Prime (ugg)
  • Xiaomi Catatan 4 (tengah)
  • Xiaomi Catatan 3 (jason)
  • Xiaomi Note 2 (kalajengking)
  • Campuran Xiaomi (litium)
  • Xiaomi Campuran 2 (chiron)
  • Xiaomi Mi 6 (sagitarius)
  • Xiaomi Mi 5s (Capricornus)
  • Xiaomi Mi 5s Plus (natrium)
  • Xiaomi Mi 5x (tiffany)
  • Xiaomi Mi 5 (gemini)
  • Xiaomi Mi 3 (kankro)
  • Xiaomi Mi A1 (tissot)
  • Xiaomi Mi Max2 (oksigen)
  • Xiaomi Redmi Catatan 3 (kenzo)
  • Xiaomi Redmi 5A (riva)
  • Xiaomi Redmi 4A (merah)

Baca selengkapnya

Memanfaatkan Ponsel Android

Urutan Booting Ponsel Qualcomm Android Khas

Penting untuk terlebih dahulu memahami urutan boot perangkat Android pada umumnya sebelum menjelaskan cara mengeksploitasinya. Itu Sperangkat lunak Bootakuoader (SBL) adalah bootloader yang ditandatangani secara digital yang diperiksa keasliannya sebelum dimuat ke imem. imem adalah memori fast-on-chip yang digunakan untuk debugging dan DMA (Dlangsung Memosi Aakses) transaksi dan merupakan hak milik chipset Qualcomm.

Beberapa perangkat memiliki eXdapat ditarik Bootakuoader (XBL) bukan SBL, tetapi proses bootingnya hampir sama. SBL atau XBL kemudian meluncurkan ABOOT, yang mengimplementasikan fastboot. Setelah ini, TrustZone (keamanan berbasis perangkat keras) juga dimuat. TrustZone memeriksa keaslian ABOOT melalui sertifikat root berbasis perangkat keras. SBL (atau XBL, dalam beberapa kasus) dirancang untuk menolak ABOOT yang salah ditandatangani (atau tidak ditandatangani).

Setelah diautentikasi, ABOOT kemudian memeriksa keaslian /boot dan /recovery sebelum meluncurkan kernel Linux. Beberapa persiapan sistem telah selesai, dan kemudian eksekusi kode ditransfer ke kernel. ABOOT umumnya dikenal sebagai "Android Bootloader", dan saat kami membuka kunci bootloader suatu perangkat, kami menonaktifkan pemeriksaan keaslian ini di ABOOT.

Urutan boot perangkat Android standar divisualisasikan. // Sumber: Penelitian Aleph

Mengakses Mode EDL

Meskipun beberapa perangkat memiliki kombinasi perangkat keras yang sederhana (atau lebih buruk lagi, perintah fastboot berpemilik sederhana ada di banyak perangkat Perangkat Xiaomi), perangkat lainnya, seperti perangkat Nokia, memerlukan pin pendek yang dikenal sebagai "titik uji" yang ada di utama perangkat papan. Dulu, sebelum patch keamanan bulan Desember 2017, ada kemungkinan untuk menjalankan "adb reboot edl" di banyak perangkat (termasuk Nexus 6 dan 6P) dan masuk ke mode EDL. Hal ini telah diperbaiki.

Titik pengujian ditampilkan dalam kotak kuning bergambar di bagian bawah mainboard perangkat. // Sumber: Penelitian Aleph

Perangkat lain juga dapat menggunakan apa yang dikenal sebagai kabel "deep flash", yaitu kabel khusus dengan pin tertentu yang disingkat untuk memberi tahu sistem agar melakukan booting ke mode EDL. Perangkat Xiaomi lama dapat menggunakan metode ini, bersama dengan Nokia 5 dan Nokia 6. Perangkat lain juga akan melakukan booting ke mode EDL ketika gagal memverifikasi SBL.

Kabel flash yang dalam

Memanfaatkan Mode EDL untuk Mendapatkan Akses Penuh di OnePlus 3/3T

Mode EDL dapat digunakan dalam beberapa cara pada suatu perangkat, sebagian besar untuk melepaskan perangkat dengan mem-flash-nya secara paksa. Seperti dijelaskan di atas, secara teoritis seharusnya aman bagi siapa pun untuk mengakses mode ini, karena skenario terburuknya adalah ABOOT akan menolak perangkat lunak yang tidak ditandatangani secara resmi oleh produsennya. Meskipun hal ini benar, sebenarnya dimungkinkan untuk mendapatkan kendali penuh atas OnePlus 3 atau 3T dan file-filenya dalam bukti eksploitasi konsep yang ditunjukkan oleh para peneliti.

Ini akan dilakukan melalui dua perintah yang sangat berbahaya yang dibiarkan dapat diakses oleh OnePlus di versi ABOOT yang lebih lama (Android bootloader), untuk membuka kunci bootloader perangkat (tanpa peringatan ditampilkan kepada pengguna saat boot) dan menonaktifkan dm_verity. dm_verity juga dikenal sebagai boot terverifikasi dan merupakan bagian dari urutan boot-up yang aman pada perangkat Android. Kedua perintah tersebut adalah sebagai berikut.

fastboot oem disable_dm_verity
fastboot oem 4F500301/2

Amati proses sederhana 4 langkah di bawah ini yang menggunakan protokol Firehose.

  1. Pertama, boot perangkat ke mode EDL. Ini dapat dilakukan melalui adb pada OxygenOS 5.0 atau lebih rendah atau dengan menggunakan kombinasi tombol perangkat keras sederhana.
  2. Unduh image sistem lama di bawah OxygenOS 4.0.2.
  3. Flash aboot.bin melalui firehose (ingat bahwa aboot.bin mengimplementasikan fastboot, seperti yang kami sebutkan sebelumnya)
  4. Anda sekarang dapat menonaktifkan boot aman dan membuka kunci bootloader tanpa menghapus perangkat cukup dengan menggunakan kedua perintah fastboot diatas.

Jika Anda ingat, OnePlus sebelumnya ditemukan meninggalkan dua perintah fastboot berbahaya hampir setahun yang lalu, satu untuk membuka kunci bootloader dan satu lagi untuk menonaktifkan boot aman. Meskipun benar bahwa seorang penyerang tidak dapat menginstal perangkat lunak berbahaya pada perangkat, mereka bisa menurunkan versi perangkat memiliki lebih tua, rentan terhadap serangan perangkat lunak. Cukup dengan menjalankan perintah fastboot di atas, penyerang dapat memilikinya akses penuh ke perangkat.

Selesai, bootloader tidak terkunci, boot aman dimatikan dan sama sekali tidak ada kehilangan data. Jika penyerang ingin mengambil langkah lebih jauh, mereka dapat mem-flash kernel khusus berbahaya yang memungkinkan akses root ke perangkat yang tidak akan pernah diketahui oleh pengguna.

Firehose bekerja melalui protokol Qualcomm Sahara, yang menerima programmer bertanda tangan OEM dan bagaimana serangan di atas akan dilakukan. Saat terhubung ke perangkat, ini bertindak sebagai SBL melalui USB. Kebanyakan programmer menggunakan selang pemadam kebakaran untuk berkomunikasi dengan telepon dalam mode EDL, yang dimanfaatkan para peneliti untuk mendapatkan kendali penuh atas perangkat. Para peneliti juga menggunakan ini untuk membuka kunci perangkat Xiaomi hanya dengan mem-flash gambar yang dimodifikasi yang membuka kunci bootloader. Mereka kemudian mem-flash kernel khusus yang memberikan akses root dan meluncurkan SELinux secara permisif dan juga mengekstrak gambar data pengguna terenkripsi dari perangkat.

Kesimpulan

Tidak diketahui mengapa OEM melepaskan programmer dari Qualcomm ini. Pemrogram Nokia, LG, Motorola, dan Google membocorkannya bukannya merilisnya, namun para peneliti berhasil melakukannya putuskan seluruh rantai kepercayaan pada Nokia 6 dan dapatkan akses penuh perangkat melalui metode serupa eksploitasi. Mereka yakin serangan itu dapat ditransfer ke perangkat apa pun yang mendukung pemrogram tersebut. Jika memungkinkan, OEM harus menggunakan qFuse perangkat keras yang mencegah kemunduran perangkat lunak, dengan meledak ketika perangkat keras perangkat dibatalkan dan dapat memperingatkan pengguna bahwa hal itu telah terjadi. Mereka yang tertarik dapat melihat makalah penelitian lengkap di bawah ini dan juga dapat membaca eksploitasi Nokia secara lengkap.


Sumber: Penelitian Aleph