Googleov softver za zaštitu LVI pokazao je 14x bolju izvedbu

Zola Bridges iz Googlea ponudio za skup prevoditelja LLVM, zakrpa s implementacijom zaštite SESES (Spekulativno izvršavanje nuspojava suzbijanja), koja pomaže blokirati napade na mehanizam spekulativnog izvršenja u Intel CPU-ima, kao što je LVI. Metoda zaštite implementirana je na razini prevoditelja i temelji se na dodavanju instrukcija od strane prevoditelja prilikom generiranja strojnog koda OGRADA, koji se umeću prije svake instrukcije čitanja ili pisanja memorije, kao i prije prve instrukcije grananja u skupini instrukcija koja završava blok.

Instrukcija LFENCE čeka sva prethodna čitanja memorije za predaju i onemogućuje preuzimanje sljedećih instrukcija nakon LFENCE dok se predaja ne završi. Korištenje LFENCE-a dovodi do značajnog smanjenja performansi, pa se zaštita predlaže koristiti u ekstremnim slučajevima za posebno kritičan kod. Osim potpune zaštite, zakrpa nudi tri zastavice koje vam omogućuju da selektivno onemogućite određene razine zaštite kako biste smanjili negativan utjecaj na performanse.

U provedenim testovima korištenje SESES zaštite za BoringSSL paket dovelo je do smanjenja broja operacija u sekundi koje knjižnica izvodi za 14 puta - performanse zaštićene verzije knjižnice bile su u prosjeku samo 7.1% od nezaštićena verzija (varijacije ovisno o testu od 4% do 23%).

Za usporedbu, zaprosio Prethodno, za GNU Assembler, mehanizam koji izvodi LFENCE zamjenu nakon svake operacije učitavanja memorije i prije nekih instrukcija grananja pokazao je pad performansi od oko 5 puta (22% koda bez zaštite). Način zaštite je također zaprosio и implementiran Intelovi inženjeri, ali rezultati testiranja performansi za njega još nisu objavljeni. U početku su istraživači koji su identificirali LVI napad predvidjeli smanjenje performansi od 2 do 19 puta pri primjeni pune zaštite.

Izvor: opennet.ru

Dodajte komentar