Kasper, pengimbas peranti untuk kod spekulatif dalam kernel Linux

Sekumpulan penyelidik dari Universiti Percuma Amsterdam mendedahkan melalui catatan blog alat yang dipanggil "casper" yang menyerlahkan bahawa ia adalah direka untuk mengenal pasti coretan kod dalam kernel Linux yang boleh digunakan untuk mengeksploitasi Kelemahan kelas momok disebabkan oleh pelaksanaan kod spekulatif oleh pemproses.

Bagi mereka yang tidak mengetahui jenis serangan ini, mereka harus tahu itu kelemahan kelas seperti Spectre v1 membolehkan untuk menentukan kandungan memori, skrip tertentu (alat) diperlukan dalam kod istimewa, yang membawa kepada pelaksanaan spekulatif arahan.

Untuk mengoptimumkan, pemproses mula menjalankan peranti sedemikian dalam mod spekulatifatau, kemudian menentukan bahawa ramalan cawangan tidak dibenarkan dan melancarkan semula operasi kepada keadaan asalnya, tetapi data yang diproses semasa pelaksanaan spekulatif berada dalam cache dan penimbal mikroarkitektur dan tersedia untuk pengekstrakan menggunakan pelbagai kaedah penentuan data baki melalui ketiga- saluran parti.

Alat Imbasan Alat berdasarkan corak tersedia sebelum ini untuk kelemahan Spectre menunjukkan kadar positif palsu yang sangat tinggi, manakala banyak alat sebenar telah hilang (eksperimen menunjukkan bahawa 99% daripada alat yang dikesan oleh alat tersebut tidak boleh digunakan untuk serangan, dan 33% daripada alat yang berfungsi tidak diperhatikan peranti yang mampu membawa kepada serangan).

Memperkenalkan Kasper, pengimbas peranti pelaksanaan sementara (atau spekulatif). Ia menggunakan dasar analisis rasuah untuk memodelkan penyerang yang mampu mengeksploitasi kelemahan perisian/perkakasan sewenang-wenangnya dalam laluan sementara. 

Mengenai Casper

Untuk meningkatkan kualiti mengenal pasti peranti bermasalah, Kasper memodelkan kelemahan yang boleh digunakan oleh penyerang pada setiap langkah serangan kelas Spectre: masalah dimodelkan untuk membenarkan kawalan data (contohnya, penggantian data penyerang ke dalam struktur mikroarkitektur untuk mempengaruhi pelaksanaan spekulatif berikutnya) menggunakan serangan kelas LVI , mendapatkan akses kepada maklumat sensitif (contohnya, apabila penimbal di luar had atau memori digunakan selepas ia dibebaskan), dan membocorkan maklumat sensitif (contohnya, dengan menghuraikan keadaan cache pemproses atau menggunakan kaedah MDS ).

Model penyerang yang mampu mengawal data (cth, melalui urutan memori atau suntikan nilai LVI), mengakses rahsia (cth, melalui akses luar sempadan atau penggunaan selepas percuma ) dan membocorkan rahsia ini (cth, melalui berasaskan cache, MDS- berasaskan, atau saluran rahsia berasaskan perbalahan pelabuhan). 

Semasa menjalankan ujian, kernel menghubungi perpustakaan runtime oleh Kasper dan sahkan bahawa mereka berfungsi di peringkat LLVM. Semasa pengesahan, pelaksanaan kod spekulatif dicontohi oleh mekanisme pemulihan pusat pemeriksaan, yang secara khusus melaksanakan garpu kod yang diramalkan dengan salah, selepas itu ia kembali kepada keadaan asalnya sebelum garpu bermula.

Kasper juga cuba memodelkan pelbagai kelemahan perisian dan perkakasan, menganalisis pengaruh kesan seni bina dan mikro seni bina dan melakukan ujian kabur tentang kemungkinan tindakan penyerang. Untuk analisis aliran pelaksanaan, port DataFlowSanitizer untuk kernel Linux digunakan, dan untuk ujian fuzzing, versi diubah suai pakej syzkaller.

Akibatnya, Kasper menemui 1.379 peranti yang tidak diketahui sebelum ini dalam kernel Linux yang sangat keras. Kami mengesahkan penemuan kami dengan menunjukkan eksploitasi bukti konsep hujung ke hujung untuk salah satu peranti yang ditemui.

Semasa mengimbas kernel Linux dengan Kasper, 1379 peranti yang tidak diketahui sebelum ini telah dikenal pasti, yang boleh menyebabkan kebocoran data semasa pelaksanaan arahan spekulatif.

Adalah diperhatikan bahawa mungkin hanya sebahagian daripada mereka yang boleh menimbulkan masalah sebenar, tetapi untuk menunjukkan bahawa terdapat bahaya sebenar, dan bukan hanya satu teori, prototaip kerja eksploitasi telah dibangunkan untuk salah satu coretan kod yang bermasalah, yang membawa kepada kebocoran maklumat memori kernel.

Akhirnya sekiranya anda berminat untuk mengetahui lebih lanjut mengenainya tentang Kasper, anda sepatutnya tahu itu kod sumber Ia diedarkan di bawah lesen Apache 2.0.

Fuente: https://www.vusec.net


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.