Kasper, scanner kanggo masalah eksekusi kode spekulatif ing kernel Linux, saiki kasedhiya

Tim peneliti saka Universitas Gratis Amsterdam wis nerbitake toolkit Kasper sing dirancang kanggo ngenali potongan kode ing kernel Linux sing bisa digunakake kanggo ngeksploitasi kerentanan kelas Spectre sing disebabake dening eksekusi kode spekulatif ing prosesor. Kode sumber kanggo toolkit disebarake miturut lisensi Apache 2.0.

Elinga yen kanggo nindakake serangan kayata Spectre v1, sing ngidini kanggo nemtokake isi memori, ana ing kode hak istimewa saka urutan printah tartamtu (gadget) dibutuhake, anjog kanggo eksekusi spekulatif instruksi. . Kanggo tujuan optimasi, prosesor wiwit nglakokake gadget kasebut ing mode spekulatif, banjur nemtokake manawa prediksi cabang kasebut ora dibenerake lan nggulung maneh operasi kasebut menyang negara asline, nanging data sing diproses sajrone eksekusi spekulatif rampung ing cache lan buffer microarchitectural lan kasedhiya kanggo njupuk saka wong-wong mau nggunakake macem-macem cara kanggo nemtokake data ampas liwat saluran pihak katelu.

Piranti sing kasedhiya sadurunge kanggo mindhai gadget kanggo kerentanan Spectre, adhedhasar nggoleki pola khas, nuduhake tingkat positif palsu sing dhuwur banget, nalika ilang akeh gadget nyata (eksperimen nuduhake yen 99% gadget sing diidentifikasi dening alat kasebut ora bisa digunakake kanggo serangan. , lan 33% gadget sing bisa digunakake sing bisa nyebabake serangan ora diweruhi).

Kanggo nambah kualitas ngenali gadget sing bermasalah, Kasper model kerentanan sing bisa dimanfaatake panyerang ing saben langkah nindakake serangan kelas Spectre - masalah sing ngidini kontrol data dimodelake (contone, ngganti data penyerang menyang struktur mikroarsitektur kanggo pengaruhe eksekusi spekulatif sakteruse nggunakake Serangan kelas LVI), entuk akses menyang informasi rahasia (contone, nalika ngluwihi wates buffer utawa nggunakake memori sawise dibebasake) lan bocor informasi rahasia (contone, kanthi nganalisa kahanan cache prosesor utawa nggunakake metode MDS).

Kasper, scanner kanggo masalah eksekusi kode spekulatif ing kernel Linux, saiki kasedhiya

Nalika nyoba, kernel disambung karo perpustakaan runtime Kasper lan mriksa mlaku ing tingkat LLVM. Proses mriksa emulates eksekusi kode spekulatif, dileksanakake nggunakake mekanisme checkpoint-mulihake, kang khusus nglakokakΓ© cabang kode salah prΓ©dhiksi, banjur muter bali menyang negara asli sadurunge cabang wiwit. Kasper uga nyoba nyinkronake macem-macem kerentanan piranti lunak lan hardware, nganalisa pengaruh efek arsitektur lan mikroarsitektur, lan nganakake tes fuzz babagan kemungkinan tumindak penyerang. Kanggo njelasno aliran eksekusi, port DataFlowSanitizer kanggo kernel Linux digunakake, lan kanggo testing fuzzing, versi modifikasi saka paket syzkaller digunakake.

Kasper, scanner kanggo masalah eksekusi kode spekulatif ing kernel Linux, saiki kasedhiya

Pindai kernel Linux nggunakake Kasper nemtokake 1379 gadget sing sadurunge ora dingerteni sing bisa nyebabake kebocoran data sajrone eksekusi instruksi spekulatif. Wigati dicathet menawa mung sawetara sing bisa nyebabake masalah nyata, nanging kanggo nduduhake yen ana bebaya nyata, lan ora mung teoritis, prototipe eksploitasi sing bisa digunakake kanggo salah sawijining pecahan kode masalah, sing ndadΓ©kakΓ© informasi. bocor saka memori kernel.

Source: opennet.ru

Add a comment