Blacksmith - serangan baru pada memori DRAM dan chip DDR4

Sebuah tim peneliti dari ETH Zurich, Vrije Universiteit Amsterdam dan Qualcomm telah menerbitkan metode serangan RowHammer baru yang dapat mengubah isi bit individual dari memori akses acak dinamis (DRAM). Serangan itu diberi nama sandi Blacksmith dan diidentifikasi sebagai CVE-2021-42114. Banyak chip DDR4 yang dilengkapi dengan perlindungan terhadap metode kelas RowHammer yang diketahui sebelumnya rentan terhadap masalah ini. Alat untuk menguji kerentanan sistem Anda dipublikasikan di GitHub.

Ingatlah bahwa serangan kelas RowHammer memungkinkan Anda mendistorsi konten bit memori individual dengan membaca data secara siklis dari sel memori tetangga. Karena memori DRAM adalah susunan sel dua dimensi, masing-masing terdiri dari kapasitor dan transistor, melakukan pembacaan terus menerus pada wilayah memori yang sama akan menghasilkan fluktuasi tegangan dan anomali yang menyebabkan hilangnya sedikit muatan di sel tetangga. Jika intensitas pembacaannya tinggi, sel tetangga mungkin kehilangan muatan dalam jumlah yang cukup besar dan siklus regenerasi berikutnya tidak akan punya waktu untuk memulihkan keadaan semula, yang akan menyebabkan perubahan nilai data yang disimpan di sel. .

Untuk melindungi dari RowHammer, produsen chip mengusulkan mekanisme TRR (Target Row Refresh), yang melindungi sel-sel di baris yang berdekatan dari kerusakan, tetapi karena perlindungan didasarkan pada prinsip “keamanan karena ketidakjelasan”, hal ini tidak menyelesaikan masalah di root, tetapi hanya dilindungi dari kasus-kasus khusus yang diketahui, yang membuatnya mudah untuk menemukan cara untuk melewati perlindungan. Misalnya, pada bulan Mei, Google mengusulkan metode Half-Double, yang tidak terpengaruh oleh perlindungan TRR, karena serangan tersebut memengaruhi sel yang tidak berbatasan langsung dengan target.

Metode baru Blacksmith menawarkan cara berbeda untuk melewati perlindungan TRR, berdasarkan akses yang tidak seragam ke dua atau lebih string agresor pada frekuensi berbeda yang menyebabkan kebocoran muatan. Untuk menentukan pola akses memori yang menyebabkan kebocoran muatan, fuzzer khusus telah dikembangkan yang secara otomatis memilih parameter serangan untuk chip tertentu, memvariasikan urutan, intensitas, dan sistematisitas akses sel.

Pendekatan ini, yang tidak terkait dengan pengaruh pada sel yang sama, membuat metode perlindungan TRR saat ini tidak efektif, yang dalam satu atau lain bentuk bermuara pada menghitung jumlah panggilan berulang ke sel dan, ketika nilai tertentu tercapai, memulai pengisian ulang dari sel-sel tetangga. Di Blacksmith, pola akses tersebar di beberapa sel sekaligus dari berbagai sisi target, yang memungkinkan terjadinya kebocoran muatan tanpa mencapai nilai ambang batas.

Metode ini ternyata jauh lebih efektif daripada metode yang diusulkan sebelumnya untuk melewati TRR - para peneliti berhasil mencapai distorsi bit di semua 40 chip memori DDR4 berbeda yang baru-baru ini dibeli yang dibuat oleh Samsung, Micron, SK Hynix dan pabrikan yang tidak dikenal (produsennya adalah tidak ditentukan pada 4 chip). Sebagai perbandingan, metode TRRespass yang sebelumnya diusulkan oleh peneliti yang sama hanya efektif untuk 13 dari 42 chip yang diuji saat itu.

Secara umum, metode Blacksmith diperkirakan berlaku untuk 94% dari seluruh chip DRAM yang ada di pasaran, namun para peneliti mengatakan beberapa chip lebih rentan dan lebih mudah diserang dibandingkan yang lain. Penggunaan kode koreksi kesalahan (ECC) dalam chip dan penggandaan kecepatan refresh memori tidak memberikan perlindungan penuh, namun mempersulit pengoperasian. Patut dicatat bahwa masalah ini tidak dapat diblokir pada chip yang sudah dirilis dan memerlukan penerapan perlindungan baru pada tingkat perangkat keras, sehingga serangan tersebut akan tetap relevan selama bertahun-tahun.

Contoh praktisnya mencakup metode penggunaan Blacksmith untuk mengubah konten entri dalam tabel halaman memori (PTE, entri tabel halaman) untuk mendapatkan hak istimewa kernel, merusak kunci publik RSA-2048 yang disimpan dalam memori di OpenSSH (Anda dapat membawa kunci publik ke dalam mesin virtual orang lain untuk mencocokkan kunci pribadi penyerang untuk terhubung ke VM korban) dan melewati pemeriksaan kredensial dengan memodifikasi memori proses sudo untuk mendapatkan hak akses root. Tergantung pada chipnya, dibutuhkan waktu serangan antara 3 detik hingga beberapa jam untuk mengubah satu bit target.

Selain itu, kami dapat mencatat publikasi kerangka terbuka LiteX Row Hammer Tester untuk menguji metode perlindungan memori terhadap serangan kelas RowHammer, yang dikembangkan oleh Antmicro untuk Google. Kerangka kerja ini didasarkan pada penggunaan FPGA untuk sepenuhnya mengontrol perintah yang dikirimkan langsung ke chip DRAM untuk menghilangkan pengaruh pengontrol memori. Toolkit dengan Python ditawarkan untuk interaksi dengan FPGA. Gateway berbasis FPGA mencakup modul untuk transfer data paket (mendefinisikan pola akses memori), Payload Executor, pengontrol berbasis LiteDRAM (memproses semua logika yang diperlukan untuk DRAM, termasuk aktivasi baris dan pembaruan memori) dan CPU VexRiscv. Perkembangan proyek didistribusikan di bawah lisensi Apache 2.0. Berbagai platform FPGA didukung, termasuk Lattice ECP5, Xilinx Series 6, 7, UltraScale, dan UltraScale+.

Sumber: opennet.ru

Tambah komentar