Peneliti MIT Menemukan Kelemahan Baru di CPU Apple M1 yang Tidak Dapat Ditambal

Apple M1 CPUs

Serangan perangkat keras baru dijuluki PACMAN telah didemonstrasikan terhadap chipset prosesor M1 Apple, yang berpotensi mempersenjatai aktor jahat dengan kemampuan untuk mendapatkan eksekusi kode arbitrer pada sistem macOS.

Ini memanfaatkan “serangan eksekusi spekulatif untuk melewati mekanisme perlindungan memori yang penting, ARM Pointer Authentication, fitur keamanan yang digunakan untuk menegakkan integritas pointer,” kata peneliti MIT Joseph Ravichandran, Weon Taek Na, Jay Lang, dan Mengjia Yan dalam sebuah makalah baru. .

Yang lebih memprihatinkan adalah bahwa “sementara mekanisme perangkat keras yang digunakan oleh PACMAN tidak dapat ditambal dengan fitur perangkat lunak, bug kerusakan memori dapat terjadi,” tambah para peneliti.

Kerentanan berakar pada kode otentikasi pointer (PAC), garis pertahanan yang diperkenalkan dalam arsitektur arm64e yang bertujuan untuk mendeteksi dan mengamankan terhadap perubahan tak terduga pada pointer — objek yang menyimpan alamat memori — dalam memori.

Keamanan cyber

PAC bertujuan untuk memecahkan masalah umum dalam keamanan perangkat lunak, seperti kerentanan korupsi memori, yang sering dieksploitasi dengan menimpa data kontrol dalam memori (yaitu, pointer) untuk mengarahkan ulang eksekusi kode ke lokasi arbitrer yang dikendalikan oleh penyerang.

Sementara strategi seperti Address Space Layout Randomization (ASLR) telah dirancang untuk meningkatkan kesulitan melakukan serangan buffer overflow, tujuan PAC adalah untuk memastikan “validitas pointer dengan ukuran minimal dan dampak kinerja,” secara efektif mencegah musuh membuat valid pointer untuk digunakan dalam exploit.

Related Post :   Perbaikan Masalah Microsoft untuk Kerentanan 'Follina' yang Dieksploitasi Secara Aktif

Ini dicapai dengan melindungi pointer dengan hash kriptografi — disebut Pointer Authentication Code (PAC) — untuk memastikan integritasnya. Apple menjelaskan PAC sebagai berikut –

Otentikasi pointer bekerja dengan menawarkan instruksi CPU khusus untuk menambahkan tanda tangan kriptografi — atau PAC — ke bit pointer tingkat tinggi yang tidak digunakan sebelum menyimpan pointer. Instruksi lain menghapus dan mengotentikasi tanda tangan setelah membaca pointer kembali dari memori. Setiap perubahan pada nilai yang disimpan antara penulisan dan pembacaan akan membatalkan tanda tangan. CPU menafsirkan kegagalan otentikasi sebagai kerusakan memori dan menetapkan bit orde tinggi pada penunjuk, membuat penunjuk tidak valid dan menyebabkan aplikasi mogok.

CPU Apple M1

Tapi PACMAN “menghilangkan penghalang utama untuk melakukan serangan pembajakan aliran kontrol pada platform yang dilindungi menggunakan otentikasi pointer.” Ini menggabungkan korupsi memori dan eksekusi spekulatif untuk menghindari fitur keamanan, membocorkan “hasil verifikasi PAC melalui saluran samping mikroarsitektur tanpa menyebabkan crash apapun.”

Metode serangan, singkatnya, memungkinkan untuk membedakan antara PAC yang benar dan hash yang salah, memungkinkan aktor yang buruk untuk “memaksa nilai PAC yang benar sambil menekan crash dan membangun serangan pembajakan aliran kontrol pada PA-enabled. program atau sistem operasi korban.”

Keamanan cyber

Pencegahan crash, pada bagiannya, berhasil karena setiap nilai PAC ditebak secara spekulatif dengan mengeksploitasi saluran samping berbasis waktu melalui terjemahan look-aside buffer (TLB) menggunakan serangan Prime+Probe.

Related Post :   3 Cara Cek Kapasitas RAM pada Laptop, Supaya Tidak Lemot

Kerentanan eksekusi spekulatif, seperti yang diamati dalam kasus Spectre dan Meltdown, mempersenjatai eksekusi out-of-order, teknik yang digunakan untuk menghasilkan peningkatan kinerja dalam mikroprosesor modern dengan memprediksi jalur yang paling mungkin dari alur eksekusi program.

Namun, perlu dicatat bahwa model ancaman menganggap bahwa sudah ada kerentanan korupsi memori yang dapat dieksploitasi dalam program korban (kernel), yang, pada gilirannya, memungkinkan penyerang yang tidak memiliki hak (aplikasi jahat) untuk menyuntikkan kode jahat ke lokasi memori tertentu di proses korban.

“Serangan ini memiliki implikasi penting bagi desainer yang ingin mengimplementasikan prosesor masa depan yang menampilkan otentikasi pointer, dan memiliki implikasi luas untuk keamanan primitif integritas aliran kontrol di masa depan,” para peneliti menyimpulkan.


Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.