Serangan anyar dina struktur microarchitectural prosesor Intel sareng AMD

Sakelompok peneliti ti Universitas Virginia sareng Universitas California nampilkeun jinis serangan anyar dina struktur microarchitectural prosesor Intel sareng AMD, anu diidentifikasi nalika rékayasa sabalikna tina kamampuan CPU anu teu didokumentasikeun. Metodeu serangan anu diusulkeun ngalibatkeun panggunaan cache mikro-op perantara dina prosesor, anu tiasa dianggo pikeun nyandak inpormasi anu akumulasi salami palaksanaan spekulatif paréntah.

Pikeun tujuan optimasi, prosésor mimiti ngajalankeun sababaraha parentah dina modeu spekulatif, tanpa ngantosan itungan saméméhna réngsé, sarta lamun lajeng nangtukeun yén prediksi teu diyakinkeun, éta gulung deui operasi ka kaayaan aslina, tapi data diolah salila palaksanaan spekulatif disimpen dina cache a, eusi nu bisa ditangtukeun.

Ieu dicatet yén métode anyar nyata outperforms serangan Spectre v1, ngajadikeun serangan nu hese dideteksi na teu diblokir ku métode panyalindungan aya ngalawan serangan sisi-channel dirancang pikeun meungpeuk vulnerabilities disababkeun ku palaksanaan spekulatif parentah (contona, pamakéan). blok instruksi LFENCE bocor dina tahap ahir palaksanaan spekulatif, tapi henteu ngajaga tina bocor ngaliwatan struktur mikroarsitektur).

Métode mangaruhan modél prosesor Intel sareng AMD anu dileupaskeun saprak 2011, kalebet séri Intel Skylake sareng AMD Zen. CPUs modern megatkeun parentah prosésor kompléks jadi RISC-kawas mikro-operasi basajan, nu sindangan dina cache misah. cache Ieu fundamentally béda ti caches-tingkat luhur, teu langsung diaksés jeung tindakan salaku panyangga stream pikeun aksés gancang kana hasil decoding parentah CISC kana RISC microinstructions. Sanajan kitu, peneliti geus kapanggih cara pikeun nyieun kaayaan anu timbul nalika bentrok aksés cache sarta ngidinan hiji nangtoskeun eusi cache mikro-operasi ku analisa béda dina waktu palaksanaan lampah nu tangtu.

Serangan anyar dina struktur microarchitectural prosesor Intel sareng AMD

Cache operasi mikro dina prosesor Intel dibagi dina hubungan sareng benang CPU (Hyper-Threading), sedengkeun prosesor AMD Zen nganggo cache anu dibagi, anu nyiptakeun kaayaan pikeun bocor data henteu ngan ukur dina hiji utas palaksanaan, tapi ogé antara benang anu béda dina SMT. (kamungkinan leakage data antara kode ngajalankeun on cores CPU logis béda).

Panaliti ngusulkeun metode dasar pikeun ngadeteksi parobahan dina cache operasi mikro sareng sababaraha skenario serangan anu ngamungkinkeun nyiptakeun saluran transmisi data disumputkeun sareng nganggo kode anu rentan pikeun bocor data rahasia, duanana dina prosés tunggal (contona, pikeun ngabocorkeun data prosés nalika ngalaksanakeun. kode pihak katilu dina mesin kalawan JIT sarta dina mesin virtual), sarta antara kernel jeung prosés dina spasi pamaké.

Nalika ngatur varian serangan Specter nganggo cache operasi mikro, panalungtik tiasa ngahontal kinerja 965.59 Kbps kalayan tingkat kasalahan 0.22% sareng 785.56 Kbps nalika nganggo koreksi kasalahan, dina kasus pangatur bocor dina alamat anu sami spasi jeung tingkat hak husus. Kalayan kabocoran anu ngalangkungan tingkat hak husus anu béda (antara kernel sareng ruang pangguna), kinerja 85.2 Kbps kalayan koreksi kasalahan ditambah sareng 110.96 Kbps kalayan tingkat kasalahan 4%. Nalika nyerang prosesor AMD Zen, nyiptakeun bocor antara inti CPU logis anu béda, pagelaran éta 250 Kbps kalayan tingkat kasalahan 5.59% sareng 168.58 Kbps kalayan koreksi kasalahan. Dibandingkeun sareng metodeu Spectre v1 klasik, serangan énggal 2.6 kali langkung gancang.

Diperkirakeun yén ngajagaan tina serangan cache mikro-op bakal meryogikeun parobihan anu bakal ngirangan kinerja langkung seueur tibatan upami anjeun ngaktipkeun panyalindungan serangan Specter. Salaku kompromi optimal, diusulkeun pikeun meungpeuk serangan sapertos henteu ku nganonaktipkeun cache, tapi dina tingkat ngawaskeun anomali sareng ngaidentipikasi kaayaan cache anu khas pikeun serangan.

Saperti dina serangan Spectre, pangatur bocor tina kernel atawa prosés séjén merlukeun palaksanaan runtuyan tangtu paréntah (gadget) di sisi prosés korban, ngarah kana palaksanaan spekulatif instruksi. Ngeunaan 100 gadget sarupa geus kapanggih dina kernel Linux Ubuntu, nu bakal dihapus, tapi workarounds pikeun generasi maranéhanana périodik kapanggih, contona, nu patali jeung ngajalankeun program BPF dirancang husus dina kernel.

sumber: opennet.ru

Tambahkeun komentar