LVI mangrupikeun kelas serangan anyar dina mékanisme palaksanaan spekulatif dina CPU

Diterbitkeun inpormasi ngeunaan kelas serangan anyar LVI (Suntikan Nilai Beban, CVE-2020-0551) dina mékanisme palaksanaan spekulatif dina CPUs Intel, nu bisa dipaké pikeun bocor konci na data rusiah tina enclaves Intel SGX jeung prosés lianna.

Kelas serangan anyar dumasar kana manipulasi struktur mikroarsitektur anu sami anu dianggo dina serangan MDS (Microarchitectural Data Sampling), Spectre jeung Meltdown. Dina waktos anu sami, serangan anyar henteu diblokir ku metode panyalindungan anu aya ngalawan Meltdown, Spectre, MDS sareng serangan anu sami. perlindungan LVI éféktif merlukeun parobahan hardware kana CPU. Nalika ngatur panyalindungan programmatically, ku nambahkeun instruksi LFENCE ku compiler sanggeus unggal operasi beban tina memori tur ngaganti instruksi RET kalawan POP, LFENCE na JMP, teuing overhead kacatet - nurutkeun peneliti, panyalindungan software lengkep bakal ngakibatkeun panurunan dina. kinerja ku 2-19 kali.

Bagian tina kasusah dina blocking masalah ieu offset ku kanyataan yén serangan ayeuna leuwih téoritis ti praktis (serangan téh téoritis mungkin, tapi hésé pisan pikeun nerapkeun sarta ngan reproducible dina tés sintétik).
Intel disayogikeun masalah ngabogaan tingkat bahaya sedeng (5.6 ti 10) jeung dileupaskeun ngamutahirkeun firmware sareng SDK pikeun lingkungan SGX, dimana éta nyobian meungpeuk serangan nganggo jalanna. Metodeu serangan anu diusulkeun ayeuna ngan ukur lumaku pikeun prosesor Intel, tapi kamungkinan adaptasi LVI pikeun prosesor anu sanés pikeun serangan kelas Meltdown henteu tiasa dileungitkeun.

Masalahna diidentipikasi April kamari ku panalungtik Jo Van Bulck ti Universitas Leuven, saatos éta, kalayan partisipasi 9 peneliti ti paguron séjén, lima metode serangan dasar dikembangkeun, masing-masing ngamungkinkeun ayana langkung spésifik. pilihan. Sacara mandiri, dina bulan Pebruari taun ieu, peneliti ti Bitdefender ogé kapendak salah sahiji varian serangan LVI sarta dilaporkeun ka Intel. Varian serangan dibédakeun ku ngagunakeun struktur microarchitectural anu béda, sapertos panyangga panyimpen (SB, Store Buffer), panyangga eusian (LFB, Line Fill Buffer), panyangga switch konteks FPU sareng cache tingkat kahiji (L1D), anu sateuacana dianggo. dina serangan saperti ZombieLoad, RIDL, Murag, LazyFP, Foreshadow и Meltdown.

LVI mangrupikeun kelas serangan anyar dina mékanisme palaksanaan spekulatif dina CPU

Utama ngahargaan LVI ngalawan serangan MDS nyaeta MDS ngamanipulasi tekad eusi struktur microarchitectural sésana dina cache sanggeus penanganan sesar spekulatif atawa beban sarta operasi toko, bari
Serangan LVI ngawenangkeun data panyerang diselapkeun kana struktur mikroarsitektur pikeun mangaruhan palaksanaan spekulatif saterusna kode korban. Nganggo manipulasi ieu, panyerang tiasa nimba eusi struktur data pribadi dina prosés anu sanés nalika ngalaksanakeun kodeu tangtu dina inti CPU target.

LVI mangrupikeun kelas serangan anyar dina mékanisme palaksanaan spekulatif dina CPU

keur masalah eksploitasi dina kode prosés korban kudu papanggih sekuen husus kode (gadget) nu hiji nilai dikawasa narajang dimuat, sarta loading nilai ieu ngabalukarkeun iwal (lepat, abort atawa mantuan) dialungkeun, discarding hasilna tur ulang executing instruksi. Nalika pengecualian diolah, jandela spekulatif muncul nalika data anu diolah dina gadget bocor. Khususna, prosésor mimiti ngaéksekusi sapotong kode (gadget) dina modeu spekulatif, teras nangtoskeun yén prediksi éta henteu leres sareng ngagulung deui operasi ka kaayaan aslina, tapi data anu diolah nalika palaksanaan spekulatif disimpen dina cache L1D. sarta buffers microarchitectural sarta sadia pikeun dimeunangkeun ti aranjeunna kalayan ngagunakeun métode dipikawanoh pikeun nangtukeun data residual ngaliwatan saluran pihak katilu.

Pangecualian "pitulung", teu sapertos pengecualian "lepat", diurus sacara internal ku prosesor tanpa nelepon panangan parangkat lunak. Pitulung bisa lumangsung, contona, nalika bit A (Diaksés) atawa D (Kotor) dina tabel kaca memori perlu diropéa. Kasusah utama dina ngalaksanakeun serangan kana prosés séjén nyaéta kumaha ngamimitian lumangsungna pitulung ku manipulasi prosés korban. Ayeuna teu aya cara anu tiasa dipercaya pikeun ngalakukeun ieu, tapi kamungkinan yén éta bakal dipendakan di hareup. Kamungkinan ngalaksanakeun serangan dugi ka ayeuna dikonfirmasi ngan ukur pikeun enclaves Intel SGX, skenario sanésna téoritis atanapi tiasa diulang dina kaayaan sintétik (merlukeun nambihan gadget anu tangtu kana kodeu)

LVI mangrupikeun kelas serangan anyar dina mékanisme palaksanaan spekulatif dina CPU

LVI mangrupikeun kelas serangan anyar dina mékanisme palaksanaan spekulatif dina CPU

Véktor serangan anu mungkin:

  • Leakage data tina struktur kernel kana prosés tingkat pamaké. Perlindungan kernel Linux ngalawan serangan Spectre 1, ogé mékanisme panyalindungan SMAP (Supervisor Mode Access Prevention), sacara signifikan ngirangan kamungkinan serangan LVI. Nambahkeun panyalindungan tambahan kana kernel bisa jadi diperlukeun lamun métode serangan LVI basajan dicirikeun dina mangsa nu bakal datang.
  • Leakage data antara prosés béda. Serangan merlukeun ayana potongan tangtu kode dina aplikasi jeung harti métode pikeun ngalungkeun iwal dina prosés target.
  • Leakage data ti lingkungan host kana sistem tamu. Serangan ieu digolongkeun salaku kompleks teuing, meryogikeun rupa-rupa léngkah anu hese dilaksanakeun sareng prediksi kagiatan dina sistem.
  • Leakage data antara prosés dina sistem tamu béda. Vektor serangan deukeut jeung ngatur leakage data antara prosés béda, tapi Sajaba merlukeun manipulasi kompléks pikeun bypass isolasi antara sistem tamu.

Diterbitkeun ku panalungtik sababaraha prototipe kalayan demonstrasi prinsip-prinsip ngalaksanakeun serangan, tapi aranjeunna henteu acan cocog pikeun ngalakukeun serangan nyata. Conto kahiji ngidinan Anjeun pikeun alihan palaksanaan kode spekulatif dina prosés korban, sarupa jeung programming balik-berorientasi (ROP, Pemrograman Berorientasi Balik). Dina conto ieu, korban mangrupikeun prosés anu disiapkeun khusus anu ngandung gadget anu diperyogikeun (ngalarapkeun serangan kana prosés pihak katilu anu sesah). Conto kadua ngamungkinkeun urang pikeun ngaganjel diri kana itungan nalika énkripsi AES di jero enclave Intel SGX sareng ngatur bocor data nalika palaksanaan spekulatif paréntah pikeun mulangkeun nilai konci anu dianggo pikeun énkripsi.


sumber: opennet.ru

Tambahkeun komentar