Kasper, pemindai perangkat untuk kode spekulatif di kernel Linux

Sekelompok peneliti dari Free University of Amsterdam mengungkapkan melalui posting blog alat yang disebut "kasper" yang menyoroti itu dirancang untuk mengidentifikasi cuplikan kode di kernel Linux yang dapat digunakan untuk mengeksploitasi Kerentanan kelas momok disebabkan oleh eksekusi kode spekulatif oleh prosesor.

Bagi mereka yang tidak menyadari jenis serangan ini, mereka harus tahu bahwa kerentanan kelas seperti Spectre v1 memungkinkan untuk menentukan isi memori, skrip (gadget) tertentu diperlukan dalam kode istimewa, yang mengarah ke eksekusi instruksi yang spekulatif.

Untuk mengoptimalkan, prosesor mulai menjalankan perangkat tersebut dalam mode spekulatifatau, kemudian menentukan bahwa prediksi cabang belum dibenarkan dan memutar kembali operasi ke keadaan semula, tetapi data yang diproses selama eksekusi spekulatif berada di cache dan buffer mikroarsitektur dan tersedia untuk ekstraksi menggunakan berbagai metode penentuan data residual melalui ketiga- saluran partai.

Alat Pemindai Gadget berdasarkan pola sebelumnya tersedia untuk kerentanan Spectre menunjukkan tingkat positif palsu yang sangat tinggi, sementara banyak gadget asli hilang (eksperimen menunjukkan bahwa 99% gadget yang terdeteksi oleh alat tersebut tidak dapat digunakan untuk serangan, dan 33% dari gadget yang berfungsi bukanlah perangkat yang diamati yang mampu menyebabkan serangan).

Memperkenalkan Kasper, pemindai perangkat eksekusi sementara (atau spekulatif). Ini menggunakan kebijakan analisis korupsi untuk memodelkan penyerang yang mampu mengeksploitasi kerentanan perangkat lunak/perangkat keras yang berubah-ubah dalam jalur sementara. 

Tentang Casper

Untuk meningkatkan kualitas identifikasi perangkat bermasalah, Kasper memodelkan kerentanan yang dapat digunakan penyerang pada setiap langkah serangan kelas Spectre: masalah dimodelkan untuk memungkinkan kontrol data (misalnya, substitusi data penyerang ke dalam struktur mikroarsitektur untuk memengaruhi eksekusi spekulatif berikutnya) menggunakan serangan kelas LVI, mendapatkan akses ke informasi sensitif (misalnya, ketika buffer di luar batas atau memori digunakan setelah dibebaskan), dan membocorkan informasi sensitif (misalnya, dengan menguraikan status cache prosesor atau menggunakan metode MDS ).

Model penyerang yang mampu mengendalikan data (misalnya, melalui pijat memori atau injeksi nilai LVI), mengakses rahasia (misalnya, melalui akses di luar batas atau menggunakan setelah gratis ) dan membocorkan rahasia ini (misalnya, melalui cache-based, MDS- berbasis, atau saluran rahasia berbasis pertikaian port). 

Saat melakukan tes, perpustakaan runtime kontak kernel oleh Kasper dan memverifikasi bahwa mereka bekerja di tingkat LLVM. Selama verifikasi, eksekusi kode spekulatif ditiru oleh mekanisme pemulihan pos pemeriksaan, yang secara khusus mengeksekusi garpu kode yang diprediksi salah, setelah itu kembali ke keadaan semula sebelum garpu dimulai.

Kasper juga mencoba memodelkan berbagai kerentanan perangkat lunak dan perangkat keras, menganalisis pengaruh efek arsitektural dan mikroarsitektural dan melakukan uji fuzzing terhadap kemungkinan tindakan penyerang. Untuk analisis alur eksekusi, port DataFlowSanitizer untuk kernel Linux digunakan, dan untuk pengujian fuzzing, versi paket syzkaller yang dimodifikasi.

Akibatnya, Kasper menemukan 1.379 perangkat yang sebelumnya tidak dikenal di kernel Linux yang sangat keras. Kami mengkonfirmasi temuan kami dengan mendemonstrasikan eksploitasi bukti konsep ujung ke ujung untuk salah satu perangkat yang ditemukan.

Saat memindai kernel Linux dengan Kasper, 1379 perangkat yang sebelumnya tidak dikenal diidentifikasi, yang dapat menyebabkan kebocoran data selama eksekusi instruksi yang spekulatif.

Perlu dicatat bahwa mungkin hanya beberapa dari mereka yang dapat menghadirkan masalah nyata, tetapi untuk menunjukkan bahwa ada bahaya nyata, dan bukan hanya bahaya teoretis, prototipe kerja eksploitasi dikembangkan untuk salah satu cuplikan kode bermasalah, yang mengarah ke kebocoran informasi memori kernel.

Akhirnya jika Anda tertarik untuk mengetahui lebih banyak tentangnya tentang Kasper, Anda harus tahu itu kode sumber Ini didistribusikan di bawah lisensi Apache 2.0.

sumber: https://www.vusec.net


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Bertanggung jawab atas data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.