Google-ov softver za LVI zaštitu pokazao je 14 puta bolji učinak

Zola Bridges iz Google-a predložio za LLVM kompajlerski set, zakrpa sa implementacijom SESES (Speculative Execution Side Effect Suppression) zaštite, koja pomaže u blokiranju napada na mehanizam spekulativnog izvršenja u Intelovim procesorima, kao što je LVI. Metoda zaštite implementirana je na nivou prevodioca i zasniva se na dodavanju od strane prevodioca prilikom generisanja mašinskog koda instrukcija LFENCE, koje se zamjenjuju prije svake instrukcije za čitanje iz memorije ili pisanje u memoriju, kao i prije prve instrukcije grananja u grupi instrukcija koja završava blok.

LFENCE instrukcija čeka da se potvrde sva prethodna čitanja memorije i sprječava preventivno izvršavanje sljedećih instrukcija nakon LFENCE prije nego što se urezivanje završi. Upotreba LFENCE-a dovodi do značajnog smanjenja performansi, pa se predlaže korištenje zaštite u ekstremnim slučajevima za posebno kritičan kod. Pored potpune zaštite, zakrpa nudi tri oznake koje vam omogućavaju da selektivno onemogućite određene razine zaštite kako biste smanjili negativan utjecaj na performanse.

U obavljenim testovima, upotreba SESES zaštite za paket BoringSSL dovela je do smanjenja broja operacija koje biblioteka izvodi u sekundi za 14 puta - ispostavilo se da je performanse verzije biblioteke kompajlirane sa zaštitom samo 7.1% na prosjek od pokazatelja nezaštićene verzije (raspon ovisno o testu je od 4% do 23%).

Za poređenje, predloženo ranije za GNU Assembler, mehanizam koji izvodi LFENCE supstituciju nakon svake operacije učitavanja memorije i prije nekih instrukcija grananja pokazao je smanjenje performansi od oko 5 puta (22% koda bez zaštite). takođe način zaštite predložio и implementirano 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 2 do 19 puta smanjenje performansi pri primjeni pune zaštite.

izvor: opennet.ru

Dodajte komentar