Ochranný software LVI od Googlu vykázal 14násobný výkon

Zola Bridges od společnosti Google navrhl pro sadu kompilátorů LLVM patch s implementací ochrany SESES (Speculative Execution Side Effect Suppression), která pomáhá blokovat útoky na mechanismus spekulativního provádění v CPU Intel, jako např. HVAC. Metoda ochrany je implementována na úrovni kompilátoru a je založena na přidávání instrukcí kompilátorem při generování strojového kódu LFENCE, které se vkládají před každou instrukci čtení nebo zápisu do paměti a také před první instrukci větvení ve skupině instrukcí, která blok ukončuje.

Instrukce LFENCE čeká na odevzdání všech předchozích čtení paměti a zakáže preempci následných instrukcí po LFENCE, dokud nebude odevzdání dokončeno. Použití LFENCE vede k výraznému snížení výkonu, proto se navrhuje použití ochrany v extrémních případech pro zvláště kritický kód. Kromě plné ochrany oprava nabízí tři příznaky, které umožňují selektivně zakázat určité úrovně ochrany, aby se snížil negativní dopad na výkon.

V provedených testech vedlo použití ochrany SESES pro balíček BoringSSL ke 14násobnému snížení počtu operací prováděných knihovnou za sekundu - výkon chráněné verze knihovny byl v průměru pouze 7.1 % nechráněná verze (odchylka v závislosti na testu od 4 % do 23 % ).

Pro srovnání, navrženo Dříve pro GNU Assembler mechanismus, který provádí substituci LFENCE po každé operaci načtení paměti a před některými instrukcemi větvení, vykazoval snížení výkonu asi 5krát (22 % kódu bez ochrany). Způsob ochrany také navržený и implementováno od inženýrů Intelu, ale výsledky testů výkonu pro něj ještě nebyly zveřejněny. Zpočátku výzkumníci, kteří identifikovali útok LVI, předpovídali 2- až 19násobné snížení výkonu při použití plné ochrany.

Zdroj: opennet.ru

Přidat komentář