Zola Bridges fra Google til LLVM compiler-sættet, et patch med implementering af SESES (Speculative Execution Side Effect Suppression), der hjælper med at blokere angreb på mekanismen for spekulativ udførelse i Intel CPU'er, ligesom . Beskyttelsesmetoden er implementeret på kompilatorniveau og er baseret på, at kompilatoren ved generering af maskinkode tilføjer instruktioner , som indsættes før hver instruktion, der læser fra hukommelsen eller skriver til hukommelsen, samt før den første grene-instruktion i en gruppe instruktioner, der afslutter en blok.
LFENCE-instruktionen venter på, at alle tidligere hukommelseslæsninger er færdige og forhindrer forudtagning af udførelsen af de efterfølgende instruktioner efter LFENCE, indtil ventingen er afsluttet. Brugen af LFENCE medfører en betydelig reduktion i ydeevnen, så beskyttelsen foreslås kun at anvendes i særligt kritisk kode. Udover den fulde beskyttelse tilbyder patchen tre flag, der gør det muligt at deaktivere specifikke niveauer af beskyttelse for at reducere den negative indvirkning på ydeevnen.
I de gennemførte tests førte anvendelsen af SESES-beskyttelse til BoringSSL-pakken til et fald i antallet af udførte biblioteksoperationer pr. sekund med 14 gange — ydeevnen for den beskyttede version af biblioteket var i gennemsnit kun 7.1% af de ubeskyttede værdier (spredning afhængig af test fra 4% til 23%).
Til sammenligning, tidligere viste mekanismen til GNU Assembler, der indsatte LFENCE efter hver hukommelseslæsning og før nogle grene-instruktioner, en ydeevnedrop på cirka 5 gange (22% af koden uden beskyttelse). Beskyttelsesmetoden blev også og udviklet af ingeniører fra Intel, men resultaterne af ydeevnetestene for den er endnu ikke offentliggjort. Oprindeligt forudså forskerne, der opdagede LVI-angrebet, en ydeevnedrop ved anvendelse af fuld beskyttelse på 2-19 gange.
Kilde: opennet.ru
