Serangan NetSpectre Baru Tidak Memerlukan Mangsa Mengunduh atau Menjalankan Kod Berbahaya

Keselamatan / Serangan NetSpectre Baru Tidak Memerlukan Mangsa Mengunduh atau Menjalankan Kod Berbahaya

Pelabuhan Mesin BombS NetSpectre untuk Mendapatkan Kemasukan

4 minit membaca

Serangan CPU kelas Spectre baru telah mendapat perhatian dari saintis akademik ketika mereka baru-baru ini mengeluarkan sebuah makalah penelitian berjudul 'NetSpectre: Read Arbitrary Memory over Network', yang membahas secara terperinci mengenai bagaimana serangan serangan CPU ini berfungsi.



Apa yang membuat serangan Specter CPU baru agak menakutkan adalah ia tidak memerlukan penyerang untuk memperbodohkan mangsa mereka untuk memuat turun dan menjalankan skrip berbahaya di mesin mereka, atau bahkan mengakses laman web yang menjalankan JavaScript berbahaya di penyemak imbas pengguna.

NetSpectre hanya akan mengebom port rangkaian mesin sehingga ia menemui jalan untuk mencapai tujuannya.



'Serangan spectre mendorong seorang korban untuk melakukan operasi secara spekulatif yang tidak akan terjadi semasa pemrosesan arahan program secara bersiri secara ketat, dan yang membocorkan maklumat sulit mangsa melalui saluran rahsia kepada penyerang'



NetSpectre tidak datang tanpa kelemahannya sendiri. Ini memiliki kecepatan pengelupasan yang sangat lambat, sekitar 15 bit per jam untuk serangan dilakukan melalui sambungan jaringan, dan menargetkan data yang disimpan di cache CPU.



Dalam makalah penyelidikan, para akademik mampu mencapai hingga 60 bit / jam dengan variasi khusus NetSpectre yang menyasarkan data yang diproses melalui modul AVX2 CPU, yang khusus untuk CPU Intel.

Dalam kedua-dua kes, NetSpectre pada masa ini dianggap terlalu lambat untuk menjadi berharga bagi penyerang, yang bermaksud NetSpectre hanya teori ancaman, bukan sesuatu yang harus dilindungi oleh syarikat sebentar tadi . Namun, seiring kemajuan teknologi, kelajuan penyingkiran pasti akan meningkat dan kemudian kita mempunyai kelas baru yang boleh dilakukan dan sangat mudah dilakukan untuk melakukan serangan CPU.

Serangan NetSpectre baru berkaitan dengan kerentanan Specter V1 (CVE-2017-5753) yang dinyatakan oleh penyelidik Google pada awal tahun ini (2018). Ini berarti semua CPU yang dapat dipengaruhi oleh Specter V1 juga diyakini sebagai NetSpectre, jika digunakan dengan firmware OS dan CPU yang tepat.



Saat ini ada dua varian serangan untuk NetSpectre: Mengekstrak data dari sistem sasaran, dan memecahkan ASLR (Alamat Ruang Layak Rawak) pada sistem sasaran dari jauh.

Rangkaian peristiwa untuk jenis serangan pertama seperti ini:

  1. Salahkan peramal cawangan.
  2. Tetapkan semula keadaan elemen seni bina mikro.
  3. Bocorkan sedikit elemen mikroarkibina.
  4. Mendedahkan keadaan elemen seni bina mikro ke rangkaian.
  • Pada langkah 1, penyerang salah mengatur peramal cabang mangsa untuk menjalankan serangan Spectre. Untuk salah mengatur peramal cabang, penyerang memanfaatkan alat kebocoran dengan indeks yang sah. Indeks yang sah memastikan bahawa peramal cabang belajar untuk selalu mengambil cawangan, iaitu, peramal cabang berspekulasi bahawa keadaan itu benar. Perhatikan bahawa langkah ini hanya bergantung pada alat yang bocor. Tidak ada maklum balas kepada penyerang, dan dengan demikian keadaan mikroarkibina tidak perlu diset semula atau dihantar.
  • Pada langkah 2, penyerang harus menetapkan semula keadaan seni bina mikro untuk membolehkan pengekodan bit yang bocor menggunakan elemen mikroarkibina. Langkah ini sangat bergantung pada elemen arsitektur mikro yang digunakan, misalnya, ketika memanfaatkan cache, penyerang memuat turun fail besar dari mangsa; jika AVX2 digunakan, penyerang hanya menunggu lebih dari 1 milisaat. Selepas langkah ini, semua syarat dipenuhi untuk membocorkan sedikit dari mangsa.
  • Pada langkah 3, penyerang mengeksploitasi kerentanan Spectre untuk membocorkan sedikit pun dari mangsa. Oleh kerana peramal cabang salah dalam langkah 1, memberikan indeks keluar-ke-batas ke alat kebocoran akan menjalankan jalan masuk dan mengubah elemen mikroarsitektur, iaitu bit dikodkan dalam elemen mikroarsitektur.
  • Pada langkah 4, penyerang harus menghantar maklumat yang dikodkan melalui rangkaian. Langkah ini sesuai dengan fasa kedua serangan Spectre yang asal. Penyerang menghantar paket rangkaian yang dikendalikan oleh alat pemancar dan mengukur masa dari menghantar paket sehingga respons tiba.

Kaedah Serangan # 2: Memecahkan ASLR dari jauh

  1. Salahkan peramal cawangan.
  2. Akses indeks luar batas untuk menyimpan lokasi memori (diketahui).
  3. Ukur masa pelaksanaan fungsi melalui rangkaian untuk membuat kesimpulan sama ada akses keluar dari cache sebahagian daripadanya.

Penanggulangan Spectre

Intel dan AMD mengesyorkan menggunakan arahan lfence sebagai penghalang spekulasi. Arahan ini harus dimasukkan setelah pemeriksaan batas keselamatan untuk menghentikan pelaksanaan spekulatif. Walau bagaimanapun, menambahkan ini pada setiap pemeriksaan had mempunyai prestasi yang signifikan.

Oleh kerana NetSpectre adalah serangan berbasis jaringan, hal itu tidak hanya dapat dicegah dengan mengurangi Spectre tetapi juga melalui tindakan balas pada lapisan jaringan. Serangan NetSpectre sepele dapat dengan mudah dikesan oleh perlindungan DDoS, kerana beberapa ribu paket yang sama dikirim dari sumber yang sama.

Walau bagaimanapun, penyerang dapat memilih pertukaran antara paket sesaat dan bit yang bocor sesaat. Oleh itu, kelajuan bit yang dibocorkan dapat dikurangkan di bawah ambang yang dapat dikesan oleh pemantauan DDoS. Ini berlaku untuk setiap pemantauan yang cuba mengesan serangan yang sedang berlangsung, mis., Sistem pengesanan pencerobohan.

Walaupun serangan itu secara teoritis tidak dapat dicegah, pada suatu saat serangan menjadi tidak dapat dilaksanakan, kerana waktu yang diperlukan untuk bocor sedikit meningkat secara drastik. Kaedah lain untuk mengurangkan NetSpectre adalah dengan menambahkan bunyi tiruan pada latensi rangkaian. Oleh kerana jumlah pengukuran bergantung pada varians dalam latensi rangkaian, kebisingan tambahan memerlukan penyerang untuk melakukan lebih banyak pengukuran. Oleh itu, jika varians dalam latensi rangkaian cukup tinggi, serangan NetSpectre menjadi tidak dapat dilaksanakan kerana banyaknya ukuran yang diperlukan.