Googleov programer predložio je zaštitu od LVI napada

Prije nekoliko dana ovdje na blogu razgovarali smo o LVI, koja je klasificirana kao nova serija napada koji utječu samo na Intelove procesore i karakterizira ga slijed napada koji se temelji na manipulacijama s istim mikroarhitekturnim strukturama kao u MDS, Spectre i Meltdown napadima.

Glavna razlika između Napadam ihs LVI i MDS je da MDS manipulira određivanjem sadržaja mikroarhitekturnih struktura koje ostaju u predmemoriji nakon spekulativnih postupaka s pogreškama ili operacija učitavanja i spremanja, dok Napadi LVI omogućuju zamjenu napadača u mikroarhitekturnim strukturama utjecati na naknadno spekulativno izvršavanje žrtvinog koda.

Iako Intel napominje da radi na rješenju Na to spominju kako ovaj neuspjeh ima velike poteškoće u uspješnom provođenju postupka, zbog čega smatraju da mora biti ispunjeno nekoliko zahtjeva da bi se u njemu uspjelo, a to je ono što je neuspjeh katalogizirano s velikim poteškoćama .

Povezani članak:
LVI: nova klasa špekulativnih napada na Intel CPU

Nadalje, Zola mostovi (Googleov programer) radio na tom pitanju i nedavno ponudio zakrpu za kompajler LLVM sa zaštitom SESES (Speculative Execution Side Effects Suppression) koja pomaže u blokiranju napada na određene mehanizme spekulativnog izvršavanja koji utječu na Intelove procesore poput LVI-a.

Predloženi način zaštite implementiran je na razini kompajlera i zasnovan je na dodavanju LFENCE izraza od strane sastavljača prilikom generiranja strojnog koda, koji se ubacuje prije svake upute za čitanje ili pisanje u memoriju, kao i prije prve naredbe grane u grupi uputa koja se dovršava u bloku.

Ublažavanje se sastoji od koraka kompajlera koji umetne LFENCE prije
svaka uputa za čitanje iz memorije, upute za upis u memoriju i prva
izjava o grani na grupi terminatora na kraju a
osnovni blok. 

Uputa LFENCE očekuje potvrdu svih prethodnih očitavanja iz memorije i ne dopušta proaktivno izvršavanje uputa koje slijede LFENCE prije završetka potvrde.

Upotreba LFENCE dovodi do značajnog smanjenja performansi, Tako, predlaže se korištenje zaštite u ekstremnim slučajevima za posebno kritične kodove. Uz potpunu zaštitu, zakrpa nudi tri zastavice koje selektivno onemogućuju određene razine zaštite kako bi se smanjio negativan utjecaj na performanse.

U našim testovima upotreba SESES zaštite za paket BoringSSL dovela je do 14 puta smanjenog broja operacija koje knjižnica izvodi u sekundi: pokazalo se da je izvedba verzije knjižnice sastavljene sa zaštitom u prosjeku samo izvedba nezaštićene verzije od 7.1% (proširena ovisno o testu s 4% na 23%)

Uz punu verziju ublažavanja, ova zakrpa implementira tri zastavice za onemogućavanje dijela ublažavanja.

Te su zastavice onemogućene prema zadanim postavkama. Zastave nisu namijenjene rezultiranju sigurnom varijantom ublažavanja. Pokazatelje su namijenjeni korisnicima koji žele eksperimentirati kako bi poboljšali performanse sustava
smanjenje.

Za usporedbu, mehanizam koji je prethodno predložen za GNU Assembler, koji izvodi zamjenu LFENCE nakon svake operacije učitavanja iz memorije i prije nekih uputa grananja, pokazao je smanjenje performansi otprilike 5 puta (22% koda bez zaštite).

Način zaštite također su predložili i implementirali Intelovi inženjeri, ali rezultati ispitivanja performansi još nisu objavljeni. U početku su istraživači koji su otkrili napad LVI predviđali smanjenje performansi od 2 do 19 puta prilikom primjene pune zaštite.

Napokon, ako želite znati više o tome, možete provjeriti detalje U sljedećem linku. 


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.