Kerentanan dalam chip Qualcomm yang memungkinkan kunci pribadi diekstraksi dari penyimpanan TrustZone

Peneliti dari NCC Group terbongkar rinciannya kerentanan (CVE-2018-11976) dalam chip Qualcomm, yang memungkinkan Anda menentukan konten kunci enkripsi pribadi yang terletak di kantong terisolasi Qualcomm QSEE (Qualcomm Secure Execution Environment), berdasarkan teknologi ARM TrustZone. Masalahnya terwujud dalam kebanyakan SoC Snapdragon yang banyak digunakan di smartphone berbasis platform Android. Perbaikan yang memperbaiki masalah sudah ada termasuk dalam pembaruan Android bulan April dan rilis firmware baru untuk chip Qualcomm. Qualcomm membutuhkan waktu lebih dari satu tahun untuk mempersiapkan perbaikan; informasi tentang kerentanan awalnya dikirim ke Qualcomm pada 19 Maret 2018.

Ingatlah bahwa teknologi ARM TrustZone memungkinkan Anda membuat lingkungan terlindungi yang terisolasi perangkat keras yang benar-benar terpisah dari sistem utama dan dijalankan pada prosesor virtual terpisah menggunakan sistem operasi khusus yang terpisah. Tujuan utama TrustZone adalah menyediakan eksekusi prosesor yang terisolasi untuk kunci enkripsi, otentikasi biometrik, data pembayaran, dan informasi rahasia lainnya. Interaksi dengan OS utama dilakukan secara tidak langsung melalui antarmuka pengiriman. Kunci enkripsi pribadi disimpan di dalam penyimpanan kunci yang diisolasi dengan perangkat keras, yang jika diterapkan dengan benar, dapat mencegah kebocoran jika sistem yang mendasarinya disusupi.

Kerentanan tersebut disebabkan oleh adanya kelemahan dalam implementasi algoritma pemrosesan kurva elips, yang menyebabkan kebocoran informasi tentang kemajuan pemrosesan data. Para peneliti telah mengembangkan teknik serangan saluran samping yang memungkinkan penggunaan kebocoran tidak langsung yang ada untuk memulihkan konten kunci pribadi yang terletak di perangkat yang terisolasi. Toko Kunci Android. Kebocoran ditentukan berdasarkan analisis aktivitas blok prediksi cabang dan perubahan waktu akses data di memori. Dalam percobaan tersebut, para peneliti berhasil mendemonstrasikan pemulihan kunci ECDSA 224 dan 256-bit dari penyimpanan kunci yang diisolasi perangkat keras yang digunakan pada ponsel pintar Nexus 5X. Memulihkan kunci memerlukan pembuatan sekitar 12 ribu tanda tangan digital, yang memakan waktu lebih dari 14 jam. Alat yang digunakan untuk melakukan penyerangan Ambil cache.

Penyebab utama masalah ini adalah pembagian komponen perangkat keras umum dan cache untuk perhitungan di TrustZone dan sistem utama - isolasi dilakukan pada tingkat pemisahan logis, tetapi menggunakan unit komputasi umum dan dengan jejak perhitungan dan informasi tentang cabang alamat yang disimpan dalam cache prosesor umum. Dengan menggunakan metode Prime+Probe, berdasarkan penilaian perubahan waktu akses terhadap informasi yang disimpan dalam cache, dimungkinkan, dengan memeriksa keberadaan pola tertentu dalam cache, untuk memantau aliran data dan tanda-tanda eksekusi kode yang terkait dengan penghitungan tanda tangan digital di TrustZone dengan akurasi yang cukup tinggi.

Sebagian besar waktu untuk menghasilkan tanda tangan digital menggunakan kunci ECDSA di chip Qualcomm dihabiskan untuk melakukan operasi perkalian dalam satu lingkaran menggunakan vektor inisialisasi yang tidak berubah untuk setiap tanda tangan (duta paus). Jika penyerang dapat memulihkan setidaknya beberapa bit informasi tentang vektor ini, serangan dapat dilakukan untuk memulihkan seluruh kunci pribadi secara berurutan.

Dalam kasus Qualcomm, dua tempat di mana informasi tersebut bocor diidentifikasi dalam algoritma perkalian: saat melakukan operasi pencarian dalam tabel dan dalam kode pengambilan data bersyarat berdasarkan nilai bit terakhir dalam vektor β€œnonce”. Meskipun kode Qualcomm berisi langkah-langkah untuk melawan kebocoran informasi melalui saluran pihak ketiga, metode serangan yang dikembangkan memungkinkan Anda untuk melewati langkah-langkah ini dan menentukan beberapa bit nilai "nonce", yang cukup untuk memulihkan kunci ECDSA 256-bit.

Sumber: opennet.ru

Tambah komentar