Penyelidik dari Kumpulan NCC
Mari kita ingat bahawa teknologi ARM TrustZone membolehkan anda mencipta persekitaran terlindung terpencil perkakasan yang dipisahkan sepenuhnya daripada sistem utama dan dijalankan pada pemproses maya yang berasingan menggunakan sistem pengendalian khusus yang berasingan. Tujuan utama TrustZone adalah untuk menyediakan pelaksanaan terpencil pemproses untuk kunci penyulitan, pengesahan biometrik, data pembayaran dan maklumat sulit lain. Interaksi dengan OS utama dijalankan secara tidak langsung melalui antara muka penghantaran. Kunci penyulitan peribadi disimpan di dalam stor kunci terpencil perkakasan, yang, jika dilaksanakan dengan betul, boleh menghalang kebocoran jika sistem asas terjejas.
Kerentanan ini disebabkan oleh kecacatan dalam pelaksanaan algoritma pemprosesan lengkung eliptik, yang membawa kepada kebocoran maklumat tentang kemajuan pemprosesan data. Penyelidik telah membangunkan teknik serangan saluran sisi yang membolehkan penggunaan kebocoran tidak langsung sedia ada untuk memulihkan kandungan kunci peribadi yang terletak dalam perkakasan terpencil.
Punca utama masalah ialah perkongsian komponen perkakasan biasa dan cache untuk pengiraan dalam TrustZone dan dalam sistem utama - pengasingan dilakukan pada tahap pemisahan logik, tetapi menggunakan unit pengkomputeran biasa dan dengan jejak pengiraan dan maklumat tentang cawangan alamat yang disimpan dalam cache pemproses biasa. Menggunakan kaedah Prime+Probe, berdasarkan penilaian perubahan dalam masa capaian kepada maklumat cache, adalah mungkin, dengan menyemak kehadiran corak tertentu dalam cache, untuk memantau aliran data dan tanda pelaksanaan kod yang berkaitan dengan pengiraan tandatangan digital dalam TrustZone dengan ketepatan yang agak tinggi.
Kebanyakan masa untuk menjana tandatangan digital menggunakan kekunci ECDSA dalam cip Qualcomm dibelanjakan untuk melakukan operasi pendaraban dalam gelung menggunakan vektor permulaan yang tidak berubah untuk setiap tandatangan (
Dalam kes Qualcomm, dua tempat di mana maklumat tersebut dibocorkan telah dikenal pasti dalam algoritma pendaraban: semasa menjalankan operasi carian dalam jadual dan dalam kod pengambilan data bersyarat berdasarkan nilai bit terakhir dalam vektor "nonce". Walaupun fakta bahawa kod Qualcomm mengandungi langkah-langkah untuk mengatasi kebocoran maklumat melalui saluran pihak ketiga, kaedah serangan yang dibangunkan membolehkan anda memintas langkah-langkah ini dan menentukan beberapa bit nilai "nonce", yang cukup untuk memulihkan kunci ECDSA 256-bit.
Sumber: opennet.ru