
Saya tidak ingin menulis tentang Specter, tetapi saya harus: minggu lalu ini adalah berita yang paling penting. Opsi kerentanan Spectre baru, serta yang asli, diperlihatkan oleh perwakilan komunitas akademik. Seorang peneliti di Institut Teknologi Massachusetts Vladimir Kiryansky dan pakar independen Karl Waldspurger menunjukkan dua modifikasi baru untuk Specter, yang disebut Specter 1.1 dan Specter 1.2, tanpa logo atau logo (
berita ,
karya ilmiah asli).
Perbedaan penting dari kerentanan Spectre asli dalam kedua kasus adalah penggunaan mekanisme perekaman spekulatif. Dalam kasus Specter 1.1, serangan secara teoritis memungkinkan Anda untuk menyebabkan buffer overflow (juga spekulatif) dan membaca bagian "terlarang" dari memori. Specter 1.2 menyediakan kemampuan untuk menimpa informasi hanya-baca dan secara teoritis memungkinkan serangan melarikan diri sanbox untuk mem-bypass sistem perlindungan perangkat keras. Untuk penemuan kerentanan, para peneliti menerima seratus ribu dolar sebagai bagian dari program bug bugount dari Intel, dan hari ini ini adalah salah satu pembayaran terbesar. Kerentanan dipengaruhi oleh Intel, prosesor ARM dan, mungkin, prosesor AMD.
Menurut penulis, salah satu temuan kunci dari penelitian ini justru konsep baru "spekulatif buffer overflow". Overflow menyebabkan operasi penulisan - dilakukan pada waktu yang tepat dan di tempat yang tepat, itu pasti akan dibuang sebagai salah, tetapi bahkan sebelum itu membuka kemungkinan membaca area memori di mana proses serangan seharusnya tidak memiliki akses.
Ilustrasi utama gagasan: bounds check tidak menggunakan operasi baca, seperti pada Spectre asli, tetapi dengan operasi tulis.Daftar kondisi di mana salah satu kerentanan baru dapat diimplementasikan dalam praktiknya membutuhkan ruang yang hampir lebih banyak daripada deskripsi mekanisme serangan. Ini adalah kompleksitas dari kerentanan perangkat keras dari kelas ini: terlalu banyak harus bertepatan agar serangan itu berhasil. Tetapi ketika serangan terjadi, dalam kasus terburuk, itu memungkinkan Anda untuk mencuri informasi yang berharga, seringkali tanpa kemungkinan bahkan post factum memahami apa yang sebenarnya terjadi. Paling penting: Kondisi Spectre 1.x dapat dibuat bahkan ketika serangan Specter 1.0 tidak dimungkinkan.
Para peneliti berpendapat bahwa tidak ada cara untuk mendeteksi kerentanan seperti Specter 1.1 melalui analisis kode atau alat kompilasi. Selain itu, kerentanan ini dapat ditutup pada level besi. Juga dicatat bahwa tanggung jawab untuk mengurangi risiko serangan Spectre yang sukses sering kali menjadi tanggung jawab pengembang perangkat lunak. Mempertimbangkan bahwa selama 30 tahun yang telah berlalu sejak demonstrasi publik pertama dari serangan dengan buffer overflow, kerentanan dalam perangkat lunak telah menjadi jauh lebih sedikit, penulis memprediksi serangan pada mekanisme pelaksanaan kode spekulatif dari "dekade" relevansi.
Sekalipun demikian, penulis percaya bahwa kombinasi antara perangkat lunak dan perangkat keras yang aman dengan manfaat perlindungan terhadap mekanisme eksekusi spekulatif secara teori dimungkinkan. Tetap menerapkan hal ini dalam praktiknya, bahwa dalam kasus kelas kerentanan yang memengaruhi perangkat keras, diperlukan waktu bertahun-tahun atau puluhan tahun. Saya ingin tahu apakah kisah Specter / Meltdown dan turunannya tidak akan menjadi langkah menuju beberapa perubahan serius dalam praktik pengembangan perangkat lunak dan perangkat keras?
Penafian: Pendapat yang diungkapkan dalam intisari ini mungkin tidak selalu bertepatan dengan posisi resmi Kaspersky Lab. Para editor yang terhormat umumnya merekomendasikan untuk memperlakukan setiap pendapat dengan skeptis yang sehat.