LVI minangka kelas serangan anyar ing mekanisme eksekusi spekulatif ing CPU

Diterbitake informasi babagan kelas serangan anyar LVI (Injeksi Nilai Beban, CVE-2020-0551) ing mekanisme eksekusi spekulatif ing CPU Intel, sing bisa digunakake kanggo bocor kunci lan data rahasia saka enclaves Intel SGX lan proses liyane.

Serangan kelas anyar adhedhasar manipulasi struktur mikroarsitektur sing padha digunakake ing serangan MDS (Microarchitectural Data Sampling), Spectre lan Meltdown. Ing wektu sing padha, serangan anyar ora diblokir kanthi cara proteksi sing ana marang Meltdown, Spectre, MDS lan serangan sing padha. Perlindhungan LVI sing efektif mbutuhake owah-owahan hardware ing CPU. Nalika ngatur proteksi kanthi program, kanthi nambahake instruksi LFENCE dening compiler sawise saben operasi mbukak saka memori lan ngganti instruksi RET karo POP, LFENCE lan JMP, overhead kakehan direkam - miturut peneliti, pangayoman piranti lunak lengkap bakal nyebabake nyuda ing kinerja dening 2-19 kaping.

BagΓ©yan saka kesulitan kanggo mblokir masalah kasebut diimbangi kanthi kasunyatan manawa serangan kasebut saiki luwih teoretis tinimbang praktis (serangan kasebut bisa ditindakake kanthi teoritis, nanging angel banget kanggo dileksanakake lan mung bisa direproduksi ing tes sintetik).
Intel dicocogake masalah wis tingkat Moderate bebaya (5.6 saka 10) lan dirilis nganyari perangkat kukuh lan SDK kanggo lingkungan SGX, kang nyoba kanggo mblokir serangan nggunakake workaround. Cara serangan sing diusulake saiki mung ditrapake kanggo prosesor Intel, nanging kamungkinan adaptasi LVI kanggo prosesor liyane sing bisa ditrapake serangan kelas Meltdown ora bisa ditolak.

Masalah kasebut diidentifikasi April kepungkur dening peneliti Jo Van Bulck saka Universitas Leuven, sawise iku, kanthi partisipasi 9 peneliti saka universitas liyane, limang metode serangan dhasar dikembangake, sing saben-saben ngidini anane luwih spesifik. opsi. Kanthi mandiri, ing wulan Februari taun iki, peneliti saka Bitdefender uga ditemokake salah siji saka varian serangan LVI lan kacarita kanggo Intel. Varian serangan dibedakake kanthi nggunakake struktur mikroarsitektur sing beda, kayata buffer panyimpenan (SB, Buffer Store), buffer isi (LFB, Line Fill Buffer), buffer switch konteks FPU lan cache tingkat pertama (L1D), sing sadurunge digunakake. ing serangan kayata ZombieLoad, RIDL, jembarΓ©, LazyFP, Foreshadow ΠΈ Meltdown.

LVI minangka kelas serangan anyar ing mekanisme eksekusi spekulatif ing CPU

Sing utama pakurmatan LVI nglawan serangan MDS yaiku MDS manipulasi penentuan isi struktur mikroarsitektur sing isih ana ing cache sawise penanganan kesalahan spekulatif utawa mbukak lan operasi nyimpen, nalika
Serangan LVI ngidini data panyerang dilebokake ing struktur mikroarsitektur kanggo pengaruhe eksekusi spekulatif sakteruse saka kode korban. Nggunakake manipulasi kasebut, panyerang bisa ngekstrak isi struktur data pribadi ing proses liyane nalika nglakokake kode tartamtu ing inti CPU target.

LVI minangka kelas serangan anyar ing mekanisme eksekusi spekulatif ing CPU

Kanggo masalah eksploitasi ing kode proses korban kudu ketemu urutan khusus saka kode (gadget) kang Nilai diserang-kontrol dimuat, lan loading Nilai iki nimbulakΓ© pangecualian (fault, abort utawa bantuan) kanggo di buwang, discarding asil lan re-eksekusi instruksi. Nalika pangecualian diproses, jendhela spekulatif katon nalika data sing diproses ing gadget bocor. Utamane, prosesor wiwit nglakokake potongan kode (gadget) ing mode spekulatif, banjur nemtokake manawa prediksi kasebut ora dibenerake lan nggulung maneh operasi kasebut menyang negara asline, nanging data sing diproses sajrone eksekusi spekulatif disimpen ing cache L1D. lan buffer microarchitectural lan kasedhiya kanggo njupuk saka wong-wong mau karo nggunakake cara dikenal kanggo nemtokake data ampas liwat saluran pihak katelu.

Pangecualian "bantuan", ora kaya pangecualian "fault", ditangani sacara internal dening prosesor tanpa nelpon panangan piranti lunak. Bantuan bisa kedadeyan, contone, nalika bit A (Diakses) utawa D (Kotor) ing tabel kaca memori kudu dianyari. Kesulitan utama kanggo nindakake serangan ing proses liyane yaiku carane miwiti kedadeyan bantuan kanthi manipulasi proses korban. Saiki ora ana cara sing bisa dipercaya kanggo nindakake iki, nanging bisa uga bakal ditemokake ing mangsa ngarep. Kemungkinan nindakake serangan nganti saiki wis dikonfirmasi mung kanggo enclave Intel SGX, skenario liyane teoritis utawa bisa direproduksi ing kahanan sintetik (mbutuhake nambah gadget tartamtu menyang kode)

LVI minangka kelas serangan anyar ing mekanisme eksekusi spekulatif ing CPU

LVI minangka kelas serangan anyar ing mekanisme eksekusi spekulatif ing CPU

Vektor serangan sing bisa ditindakake:

  • Bocor data saka struktur kernel menyang proses tingkat pangguna. Perlindhungan kernel Linux marang serangan Spectre 1, uga mekanisme proteksi SMAP (Supervisor Mode Access Prevention), nyuda kemungkinan serangan LVI kanthi signifikan. Nambahake proteksi tambahan menyang kernel bisa uga dibutuhake yen cara serangan LVI sing luwih gampang diidentifikasi ing mangsa ngarep.
  • Bocor data antarane macem-macem proses. Serangan kasebut mbutuhake ananΓ© potongan kode tartamtu ing aplikasi lan definisi cara kanggo mbuwang pengecualian ing proses target.
  • Kebocoran data saka lingkungan host menyang sistem tamu. Serangan kasebut diklasifikasikake minangka kompleks banget, mbutuhake macem-macem langkah sing angel ditindakake lan prediksi kegiatan ing sistem kasebut.
  • Bocor data antarane pangolahan ing sistem tamu beda. Vektor serangan cedhak kanggo ngatur kebocoran data ing antarane proses sing beda-beda, nanging uga mbutuhake manipulasi rumit kanggo ngliwati pamisahan antarane sistem tamu.

Diterbitake dening peneliti sawetara purwarupa kanthi demonstrasi prinsip-prinsip nindakake serangan, nanging durung cocok kanggo nindakake serangan nyata. Conto pisanan ngidini sampeyan ngarahake eksekusi kode spekulatif ing proses korban, padha karo pemrograman berorientasi bali (ROP, Pemrograman Berorientasi Balik). Ing conto iki, korban minangka proses sing disiapake khusus ngemot gadget sing dibutuhake (nglamar serangan menyang proses pihak katelu sing nyata angel). Conto kapindho ngidini kita ngganggu petungan sajrone enkripsi AES ing jero enclave Intel SGX lan ngatur bocor data sajrone eksekusi spekulatif instruksi kanggo mulihake nilai kunci sing digunakake kanggo enkripsi.


Source: opennet.ru

Add a comment