Google'i LVI kaitsetarkvara näitas 14-kordset jõudlust

Zola Bridges Google'ilt ettepanek LLVM-i kompilaatorikomplekti jaoks SESES-i (Speculative Execution Side Effect Suppression) kaitset rakendav plaaster, mis aitab blokeerida rünnakuid Inteli protsessorite spekulatiivsele täitmismehhanismile, nagu näiteks LVI. Kaitsemeetod on rakendatud kompilaatori tasemel ja põhineb kompilaatori juhiste lisamisel masinkoodi genereerimisel TARA, mis sisestatakse enne iga mälu lugemis- või kirjutamiskäsku, samuti enne esimest harukäsku käskude rühmas, mis ploki lõpetab.

LFENCE-käsk ootab kõiki eelnevaid mälulugemisi, et kinnistada, ja keelab järgmiste käskude ennetamise pärast LFENCE-i, kuni kinnitamine on lõppenud. LFENCE-i kasutamine toob kaasa jõudluse olulise languse, seetõttu soovitatakse kaitset kasutada äärmuslikel juhtudel eriti kriitilise koodi puhul. Lisaks täielikule kaitsele pakub plaaster kolme lippu, mis võimaldavad valikuliselt keelata teatud kaitsetasemed, et vähendada negatiivset mõju jõudlusele.

Läbiviidud testides vähendas SESES-kaitse kasutamine BoringSSL-i paketi puhul raamatukogus tehtavate toimingute arvu sekundis 14 korda - teegi kaitstud versiooni jõudlus oli keskmiselt vaid 7.1% kaitsmata versioon (variatsioon sõltuvalt testist 4% kuni 23%).

Võrdluseks, pakutud Varem näitas GNU Assembleri puhul mehhanism, mis teostab LFENCE asendamise pärast iga mälu laadimistoimingut ja enne mõningaid harukäske, jõudluse vähenemist umbes 5 korda (22% koodist ilma kaitseta). Samuti kaitsemeetod pakutud и rakendatud Inteli inseneride poolt, kuid selle jõudlustestimise tulemusi pole veel avaldatud. Esialgu ennustasid LVI rünnaku tuvastanud teadlased täieliku kaitse rakendamisel jõudluse vähenemist 2–19 korda.

Allikas: opennet.ru

Lisa kommentaar