- Bit flip Rowhammer terjadi bahkan pada sistem AMD Zen 2 dan Zen 3 DDR4 yang menerapkan mitigasi TRR, sehingga platform AMD juga dapat menjadi permukaan serangan yang nyata
- Tim peneliti merekayasa balik fungsi alamat DRAM rahasia dengan teknik DRAMA yang disesuaikan untuk AMD, dan memastikan bahwa pemrosesan offset alamat fisik diperlukan karena remapping alamat sistem
- Fuzzer ZenHammer memicu bit flip pada 7 dari 10 perangkat DDR4 di Zen 2, dan 6 di Zen 3, termasuk Samsung, Micron, dan SK Hynix; perangkat Zen 3 menunjukkan hasil yang lebih rentan dibanding Intel Coffee Lake
- Serangan yang ada terhadap page table, kerusakan kunci publik RSA-2048, dan
sudoers.somasing-masing dapat dikonfigurasi pada 7/6/4 perangkat, dengan waktu rata-rata untuk menemukan bit flip yang dapat dieksploitasi sebesar 164/267/209 detik - Dalam evaluasi DDR5 pada Zen 4, sekitar 42.000 bit flip terjadi pada 1 dari 10 perangkat, tetapi gagal pada 9 perangkat lainnya, sehingga DDR5 memerlukan riset pola tambahan
Bit flip Rowhammer yang terjadi juga pada AMD Zen
- ZenHammer memicu bit flip Rowhammer pada sistem AMD Zen 2 dan Zen 3 di perangkat DDR4 yang menerapkan mitigasi TRR
- Telah dikonfirmasi bahwa sistem AMD, seperti halnya sistem Intel, dapat memiliki kerentanan Rowhammer
- Mengingat pangsa pasar CPU desktop x86 AMD sekitar 36%, permukaan serangannya tidak kecil
- Perangkat DRAM sulit diperbaiki dengan mudah setelah terlanjur dikerahkan, dan riset sebelumnya menunjukkan bahwa serangan Rowhammer dapat praktis di berbagai lingkungan
Rekayasa balik fungsi alamat DRAM AMD dan optimasi hammering
- Dengan menerapkan teknik DRAMA yang disesuaikan untuk sistem AMD, tim merekayasa balik fungsi alamat DRAM rahasia
- Rutinitas timing diubah untuk mendapatkan hasil yang lebih stabil
- Karena remapping alamat sistem, offset alamat fisik harus diterapkan sebelum memulihkan fungsi alamat DRAM, dan melalui itu fungsi alamat berhasil dipulihkan sepenuhnya
- Metode yang hanya menggunakan fungsi alamat yang dipulihkan menghasilkan jumlah bit flip yang terbatas
- Pada Zen 2, bit flip hanya terkonfirmasi pada 5 dari 10 perangkat
- Pada Zen 3, bit flip terkonfirmasi pada 0 dari 10 perangkat
Sinkronisasi refresh dan urutan instruksi
- Seperti riset sebelumnya, SMASH dan Blacksmith, sinkronisasi refresh merupakan faktor penting untuk memicu bit flip
- Pada AMD, melakukan pengukuran timing beruntun terhadap baris yang tidak berulang efektif untuk sinkronisasi refresh yang presisi dan andal
- Pada sistem AMD Zen+/3, tingkat aktivasi pola Rowhammer non-uniform jauh lebih rendah dibanding Intel Coffee Lake
- Urutan instruksi hammering optimal menggunakan load biasa
MOVdanCLFLUSHOPTuntuk mem-flush aggressor dari cache, dengan gaya “scatter” yang melakukan flush segera setelah akses aggressor - Berbeda dari Zen 2, pada Zen 3 tidak diperlukan fence eksplisit setelah flush
- Jenis fence dan kebijakan penjadwalan fence juga memengaruhi hasil, dan tim peneliti mengusulkan 6 kebijakan pengenalan pola dan penghindaran cache lalu mengujinya masing-masing selama 6 jam per perangkat
- Pada sebagian besar perangkat Zen 2,
SP_noneadalah yang optimal - Pada sebagian besar kasus Zen 3,
SP_pairlebih cocok
- Pada sebagian besar perangkat Zen 2,
Hasil evaluasi DDR4 dan kemungkinan eksploitasi
- Evaluasi dilakukan terhadap 10 perangkat DDR4 DRAM, termasuk Samsung, Micron, dan SK Hynix
- Fuzzer ZenHammer dijalankan masing-masing selama 3 jam untuk setiap kombinasi jenis fence
mfence,sfencedan kebijakan penjadwalan fence - Setelah tiap eksekusi, minisweep dilakukan pada rentang 4MiB dengan semua pola yang ditemukan untuk menentukan pola optimal, lalu pola optimal dari kebijakan optimal di-sweep pada area memori kontinu 256MB
- Hasilnya, bit flip terjadi pada 7 dari 10 perangkat DDR4 DRAM di Zen 2, dan 6 di Zen 3
- Kemungkinan eksploitasi bit flip dievaluasi dengan tiga serangan dari riset sebelumnya
- Serangan yang menarget page frame number pada entri page table untuk melakukan pivot ke halaman page table yang dikendalikan penyerang
- Serangan terhadap kunci publik RSA-2048 yang memungkinkan pemulihan private key terkait yang digunakan untuk autentikasi host SSH
- Serangan terhadap logika verifikasi kata sandi pada library
sudoers.soyang memungkinkan perolehan hak root
- Serangan yang ada dapat dikonfigurasi masing-masing pada 7/6/4 perangkat, dan waktu rata-rata untuk menemukan bit flip yang dapat dieksploitasi adalah 164/267/209 detik
Evaluasi DDR5, kode publik, dan jadwal presentasi
- Pada AMD Zen 4, fungsi DDR5 DRAM juga direkayasa balik dan 10 perangkat DDR5 dievaluasi
- ZenHammer memicu sekitar 42.000 bit flip pada 1 dari 10 perangkat DDR5
- Ini adalah laporan publik pertama tentang bit flip DDR5 pada sistem komersial umum
- Pada 9 perangkat DDR5 lainnya, bit flip tidak terjadi, sehingga riset tambahan diperlukan untuk menemukan pola yang lebih efektif bagi perangkat DDR5
- Rincian lengkapnya dimuat dalam makalah yang akan dipresentasikan di USENIX Security 2024 pada Agustus 2024
- Kode fuzzer ZenHammer tersedia di GitHub, dan dapat digunakan untuk mengevaluasi apakah bit flip terjadi pada perangkat DRAM di CPU AMD Zen 2/3/4
- Rowhammer dianggap sebagai masalah yang dikenal di seluruh industri sehingga prosedur disclosure umum dinilai tidak diperlukan, tetapi AMD diberi tahu pada 26 Februari 2024 dan, atas permintaan AMD, informasi tidak dipublikasikan hingga 25 Maret 2024
- Halaman ini sempat dipublikasikan online secara tidak sengaja pada 21 Maret 2024
Batasan praktis dari FAQ
- Alasan sistem AMD sebelumnya kurang banyak dibahas adalah karena dalam riset Rowhammer awal, jumlah bit flip pada sistem Intel jauh lebih banyak, riset lanjutan juga terutama berfokus pada Intel, dan informasi mikroarsitektur CPU Intel lebih banyak diketahui dibanding AMD
- Dari 10 perangkat DDR4, bit flip tidak terjadi pada 3 perangkat di Zen 2 dan 4 perangkat di Zen 3, tetapi karena jumlah bit flip pada perangkat-perangkat ini juga sedikit di Intel Coffee Lake, diperkirakan bit flip dapat muncul jika fuzzer disetel lebih lanjut
- Alasan perangkat evaluasi dibatasi menjadi 10 adalah karena jumlah peralatan AMD Zen 2/3 di laboratorium terbatas dan sebagian eksperimen memakan waktu lama; subset acak tersebut mencakup perangkat dari ketiga pemasok DRAM
- Mengenai alasan JEDEC belum memperbaiki masalah ini, dijelaskan bahwa penyelesaian Rowhammer memang sulit tetapi bukan mustahil, seperti ditunjukkan dalam riset sebelumnya ProTRR dan REGA
- Riset sebelumnya tentang DDR3 menunjukkan bahwa ECC tidak mampu mencegah Rowhammer, dan karena jumlah bit flip pada perangkat DDR4 saat ini lebih banyak, ECC dinilai bukan perlindungan penuh melainkan hanya membuat eksploitasi menjadi lebih sulit
- Metode menggandakan refresh rate memiliki overhead performa dan peningkatan konsumsi daya, dan dalam riset sebelumnya seperti Mutlu et al. dan Frigo et al., metode ini terbukti sebagai solusi lemah yang tidak memberikan perlindungan penuh
1 komentar
Pendapat di Hacker News
Saya adalah salah satu penulis asli eksploit Rowhammer. ECC masih sangat efektif untuk mengubah masalah ini, secara umum, dari isu keamanan menjadi isu keandalan
Jika Anda pemilik server pribadi, selama server memiliki ECC dan Anda berharap bisa menyadari mesin berhenti karena error ECC yang tidak dapat dikoreksi, dampak keamanannya tidak besar
Namun jika Anda penyedia cloud yang menawarkan VM di host multi-tenant, model ancamannya bisa berbeda
Bagaimanapun, mesin tanpa ECC harus dihindari. TRR sudah merupakan pertahanan yang gagal bahkan ketika Rowhammer baru diketahui, dan selama keekonomian manufaktur DRAM tidak berubah, bit flip DRAM tidak akan hilang
Yang didukung Ryzen hanyalah ECC unbuffered, yang lebih lambat atau lebih mahal daripada memori non-ECC berkapasitas sama, atau keduanya
Lini Threadripper terbaru mendukung Registered ECC, tetapi bagi pengguna rumahan seperti saya, biaya, jumlah thread, dan lane PCIe semuanya berlebihan
Risiko keamanannya terlalu besar dan semuanya terlalu terintegrasi, sehingga sulit menunda perubahan ini. Bahkan gamer yang memakai komputer murni untuk bermain gim pun kemungkinan menyimpan informasi penting di mesin itu; saya tidak paham mengapa perubahan ini belum terjadi sampai sekarang
Saya juga penasaran apakah yang benar-benar kebal hanya SRAM
Hanya Pro dan Threadripper yang dijamin, sementara sebagian Ryzen desktop hanya bisa di sebagian motherboard
Seberapa agresif mesin patrol read harus memindai DRAM agar bisa mendahului bit flip yang dipicu Rowhammer dengan aman?
Jika ada word ECC yang lebih besar daripada 64+8 tradisional dan koreksi error multi-bit, apakah itu mengubah keadaan hingga memungkinkan sistem yang lebih andal dibuat bahkan dengan DRAM yang memiliki kerentanan pola?
Ungkapan seperti “ECC tidak bisa mencegah Rowhammer” sangat menyesatkan. Makalah yang dikutip pun mengatakan, “bahkan ketika deteksi ECC digunakan dengan benar, 0,65%–7,42% dari seluruh bit flip menyebabkan korupsi senyap… pada konfigurasi AMD-1, error yang tidak dapat dikoreksi membuat sistem crash”
Agar penyerang mendapatkan satu bit flip yang dapat dieksploitasi, ia harus menyebabkan puluhan kali mesin berhenti. Puluhan kali mesin berhenti bukanlah sesuatu yang bisa luput dari perhatian
Bagus bahwa mereka menyoroti betapa buruknya respons JEDEC terhadap Rowhammer, tetapi sebagai solusi jangka pendek, ECC tidak boleh diremehkan
Platformnya Zen2 TR, dan saat melihat kalimat itu saya sempat terkejut. Ungkapannya cukup menyesatkan
Saya penasaran apakah isu keamanan hardware seperti Rowhammer, Spectre, dan Meltdown benar-benar berisiko bagi orang biasa
Saya memahami Spectre dan Meltdown bermasalah untuk serangan seperti keluar dari VM, tetapi itu tampak seperti hal yang perlu dipikirkan insinyur AWS, bukan pengguna pribadi
Lalu karena sudah terputus dari masyarakat modern, pergilah ke pondok di hutan dan hidup mandiri
Secara pribadi saya suka NoScript. Di Chrome saya tidak terlalu yakin harus memilih apa
Selain itu… bukankah kita tidak sering menjalankan program sembarang dari internet?
Bug semacam ini masih baru menggores permukaan. Hardware modern terlalu kompleks sehingga sulit percaya kita bisa menemukan semuanya
Jadi semua orang bisa terdampak
Saya sebelumnya hanya memahami serangan bit flip DDR secara sangat samar, tetapi setelah melihat makalah Hammertime yang asli, ternyata benar-benar mudah dibaca
Saya belum membacanya sampai selesai, tetapi penjelasannya bagus dan mudah dipahami. Saya sudah berkali-kali mendengar istilah bit flip, tetapi belum pernah benar-benar memahaminya; setelah melihat ini, saya mulai menangkap idenya
https://comsec.ethz.ch/wp-content/files/hammertime_raid18.pd...
Rasanya seperti mengikuti satu kelas pengantar elektro. Saya sama sekali tidak tahu bahwa ini terkait dengan cacat manufaktur perangkat keras yang nyata
Nama Rowhammer juga baru terasa masuk akal setelah itu. Mungkin saya yang terlalu ketinggalan dan ini sudah diketahui semua orang
“Karena kepadatan ekstrem pada array DRAM modern, cacat manufaktur kecil dapat menciptakan kopling listrik yang lemah di antara sel-sel yang berdekatan. Jika digabungkan dengan kapasitansi yang sangat kecil pada sel-sel ini, setiap kali sebuah baris DRAM dibaca dari bank, sel memori pada baris yang berdekatan kehilangan sedikit muatan. Jika ini terjadi cukup sering di antara dua siklus refresh, sel yang terdampak dapat kehilangan muatan cukup banyak hingga nilai bit yang tersimpan terbalik; ini disebut ‘disturbance error’, atau belakangan ini Rowhammer”
Ini karena produsen DRAM mendorong batasnya sampai ekstrem. Ini soal mengejar laba
Tidak berbeda dengan Ford yang menilai biaya penyelesaian gugatan terkait cedera dan kematian pada Pinto lebih rendah daripada biaya memperbaiki desain kendaraan
Saya penasaran apakah Secure Memory Encryption membantu dalam hal ini
https://www.amd.com/en/developer/sev.html
Satu bit flip saja bisa menjadi kesalahan fatal
Saya sangat kurang paham soal keamanan perangkat keras, jadi saya penasaran apakah ini salah satu dari banyak kerentanan tak terelakkan yang muncul dari optimisasi CPU dan dalam praktiknya termasuk yang kecil kemungkinan untuk dieksploitasi
Ini terjadi pada level yang jauh lebih rendah daripada kasus tepi fitur yang membocorkan informasi lewat side channel
Data disimpan sebagai muatan kecil di dalam kisi, dan jika Anda membalik banyak titik kisi di dekatnya, Anda bisa membuat sebagian muatan bocor ke arah muatan target
Semakin kecil muatannya dan semakin dekat jaraknya, semakin mudah serangan Rowhammer dilakukan. Pada saat yang sama, semakin kecil dan dekat muatan tersebut, RAM menjadi semakin cepat, murah, padat, dan efisien
Ada mitigasinya, tetapi batasnya sudah didorong sejauh mungkin
Saya penasaran apakah ini tetap bekerja meskipun enkripsi memori penuh, poisoning, dan address XOR diaktifkan
Jadi menggunakan enkripsi memori membuatnya lebih aman
Jika “ZenHammer tidak berhasil memicu flip pada 9 dari 10 perangkat… diperlukan penelitian tambahan untuk menemukan pola yang lebih efektif pada perangkat DDR5”, sepertinya DDR5 masih punya sedikit waktu
Saya penasaran apakah ada yang tahu apakah ini juga memengaruhi LPDDR5x
Jadi apakah itu DDR5, LPDDR5(x), GDDR6(x), atau HBM3(e) bukanlah pertanyaan utamanya
Yang penting adalah detail implementasi yang bergantung pada kebijakan produsen, seperti on-die ECC
Zen 2 dan 3 disebutkan, tetapi saya penasaran apakah ada informasi tentang Zen 1
Apakah ini berlaku sama saja?