Anda sebagai pengguna CPU atau laptop yang menggunakan prosesor Intel mungkin akan sedikit ketakutan setelah membaca artikel ini, karena terdapat bug yang sangat berbahaya.
Sebuah penelitian baru menghasilkan cara lain untuk mencuri data sensitif dengan mengeksploitasi saluran samping “on-chip, lintas-inti” pertama dalam prosesor Intel Coffee Lake dan Skylake.
Diterbitkan oleh sekelompok akademisi dari University of Illinois di Urbana-Champaign. Harapannya temuan tersebut dapat terpublikasi pada Simposium Keamanan USENIX pada Agustus nanti.
Sementara serangan kebocoran informasi yang menargetkan mikroarsitektur CPU sebelumnya telah didemonstrasikan untuk memecah isolasi antara aplikasi pengguna dan sistem operasi.
Sehingga memungkinkan program jahat untuk mengakses memori yang terpakai oleh program lain (misalnya, Meltdown dan Spectre). Serangan baru ini meningkatkan interkoneksi cincin.
Interkoneksi SoC Ring adalah bus on-die yang memiliki pengaturan dalam topologi ring yang memungkinkan komunikasi intra-proses antara komponen yang berbeda (alias agen) seperti inti.
termasuk cache level terakhir (LLC), unit grafis, dan agen sistem yang bertempat di dalam CPU.
Setiap agen dering berkomunikasi dengan ring melalui apa yang terkenal dengan ring stop.
Rekayasa yang dilakukan para peneliti
Untuk mencapai hal ini, para peneliti merekayasa balik protokol interkoneksi cincin untuk mengungkap kondisi untuk dua atau lebih proses yang menyebabkan pertengkaran cincin.
Pada gilirannya menggunakannya untuk membangun saluran rahasia dengan kapasitas 4,18 Mbps.
Yang menurut para peneliti adalah terbesar hingga saat ini untuk saluran lintas inti yang tidak mengandalkan memori bersama. Tidak seperti Flush + Flush atau Flush + Reload.
“Yang penting, tidak seperti serangan sebelumnya, serangan kami tidak bergantung pada berbagi memori. Juga set cache, serta sumber daya inti-pribadi atau struktur uncore tertentu,” kata Riccardo Paccagnella, salah satu penulis studi tersebut.
“Akibatnya, mereka sulit untuk dikurangi dengan menggunakan teknik ‘isolasi domain’ yang ada.”
Mengamati bahwa perhentian ring selalu memprioritaskan lalu lintas yang sudah ada di ring daripada lalu lintas baru yang masuk dari agennya. Para peneliti mengatakan perselisihan terjadi ketika lalu lintas ring menunda injeksi lalu lintas baru.
Malware dapat melakukan serangan side-channel melalui bug pada CPU Intel
Berbekal informasi ini, musuh dapat mengukur penundaan dalam akses memori yang terkait dengan proses berbahaya. Karena kejenuhan kapasitas bandwidth akibat akses terhadap memori proses korban.
Ini, bagaimanapun, mengharuskan bahwa proses mata-mata secara konsisten kehilangan cache pribadinya (L1-L2) dan melakukan pemuatan dari potongan LLC target.
Dengan demikian, latensi berulang dalam pemuatan memori dari LLC karena pertikaian ring dapat memungkinkan penyerang menggunakan pengukuran sebagai saluran samping untuk membocorkan bit kunci dari EdDSA yang rentan.
Dan implementasi RSA serta merekonstruksi sandi dengan mengekstrak waktu yang tepat pada penekanan tombol yang ketikannya adalah oleh pengguna korban.
Secara khusus, penyerang dengan pengetahuan tentang upaya rekayasa balik kami dapat mengatur dirinya sendiri sedemikian rupa. Sehingga muatannya terjamin untuk bersaing dengan pemuatan proses pertama.
Menyalahgunakan mitigasi untuk menjadwalkan serangan cache terlebih dahulu untuk menyebabkan korban muatan yang terlewat di cache.
Memantau pertentangan dering saat korban sedang menghitung, dan menggunakan pengklasifikasi pembelajaran mesin standar untuk menghilangkan jejak derau dan bit bocor.
Eksploitasi mikroarsitektur
Studi ini juga menandai pertama kalinya saluran mikroarsitektur berbasis pertentangan telah mengalami eksploitasi untuk serangan waktu penekanan tombol untuk menyimpulkan data sensitif hasil ketikan korban.
Menanggapi pengungkapan tersebut, Intel mengkategorikan serangan tersebut sebagai “saluran samping tradisional”.
Mengacu pada kelas serangan Oracle yang biasanya memanfaatkan perbedaan waktu eksekusi untuk menyimpulkan rahasia.
Panduan pembuat chip untuk melawan serangan waktu terhadap implementasi kriptografi merekomendasikan untuk mengikuti prinsip pemrograman waktu konstan dengan memastikan bahwa:
- Waktu proses tidak tergantung pada nilai rahasia
- Urutan eksekusi instruksi (alias pola akses kode) tidak tergantung pada nilai rahasia, dan
- Urutan yang mana operan memori termuat dan tersimpan (pola akses data) tidak tergantung pada nilai rahasia
Panduan tambahan tentang praktik pengembangan yang aman untuk mengurangi serangan saluran samping tradisional dapat Anda temukan di sini.
Kode sumber untuk mereproduksi pengaturan eksperimental yang lebih rinci dalam makalah dapat Anda akses di sini.