Googles LVI-beskyttelsesprogramvare viste et 14x ytelsestreff

Zola Bridges fra Google предложил for LLVM-kompilatorsettet, en oppdatering med implementering av SESES-beskyttelse (Speculative Execution Side Effect Suppression), som hjelper til med å blokkere angrep på den spekulative utførelsesmekanismen i Intel CPUer, som f.eks. HVAC. Beskyttelsesmetoden er implementert på kompilatornivå og er basert på å legge til instruksjoner fra kompilatoren ved generering av maskinkode LFENCE, som settes inn før hver minnelese- eller skriveinstruksjon, samt før den første greninstruksjonen i gruppen av instruksjoner som avslutter blokken.

LFENCE-instruksjonen venter på at alle tidligere minnelesinger foretas, og deaktiverer forebygging av påfølgende instruksjoner etter LFENCE til innføringen er fullført. Bruken av LFENCE fører til en betydelig reduksjon i ytelsen, så beskyttelse foreslås brukt i ekstreme tilfeller for spesielt kritisk kode. I tillegg til full beskyttelse tilbyr oppdateringen tre flagg som lar deg selektivt deaktivere visse beskyttelsesnivåer for å redusere den negative effekten på ytelsen.

I testene som ble utført førte bruken av SESES-beskyttelse for BoringSSL-pakken til en reduksjon i antall operasjoner per sekund utført av biblioteket med 14 ganger - ytelsen til den beskyttede versjonen av biblioteket var i gjennomsnitt bare 7.1 % av ubeskyttet versjon (variasjon avhengig av testen fra 4 % til 23 %).

Til sammenligning, foreslått Tidligere, for GNU Assembler, viste en mekanisme som utfører LFENCE-substitusjon etter hver minneinnlastingsoperasjon og før noen greninstruksjoner en ytelsesreduksjon på omtrent 5 ganger (22 % av koden uten beskyttelse). Beskyttelsesmetoden er også foreslått и implementert av Intel-ingeniører, men resultater fra ytelsestesting for den har ennå ikke blitt publisert. Til å begynne med spådde forskerne som identifiserte LVI-angrepet en 2- til 19 ganger reduksjon i ytelse ved bruk av full beskyttelse.

Kilde: opennet.ru

Legg til en kommentar