Zola Bridges Google'ist LLVM kompilaatorite komplekti jaoks pakutud patĆĄ SESES (Spekulatiivse TĂ€ideviimise KĂŒljefekti Kahandamine) rakendusega, mis aitab blokeerida rĂŒnnakuid Intel CPU spekulatiivse tĂ€ideviimise mehhanismi vastu, sarnased . Kaitsemeetod on rakendatud kompilaatori tasemel, tuginedes kompilaatori poolt genereeritud masinkoodile antud kĂ€skudele , mis paigutatakse enne igat mĂ€lu lugemist vĂ”i mĂ€lu kirjutamist ning samuti enne esimest harukĂ€sku instruktsioonide grupis, mis lĂ”petab ploki.
LFENCE kĂ€sk ootab, kuni kĂ”ik eelnevad mĂ€lu lugemistoimingud on fikseeritud ja keelab jĂ€rgneva LFENCE jĂ€rel asuvate kĂ€skude spekulatiivse tĂ€ideviimise, kuni fikseerimine on lĂ”petatud. LFENCE'i kasutamine toob kaasa mĂ€rkimisvÀÀrse jĂ”udluse languse, seega soovitatakse kaitset rakendada ÀÀrmuslikel juhtudel ÀÀrmiselt kriitilise koodi jaoks. Peale tĂ€ieliku kaitse pakub patĆĄ kolme lippu, mis vĂ”imaldavad kindlaksmÀÀratult vĂ€lja lĂŒlitada teatud kaitsetasemeid, et vĂ€hendada sooritusvĂ”ime negatiivset mĂ”ju.
Viidatud testide kohaselt viis SESES'i kaitse BoringSSL paketi puhul salvestatud teekide tööde arvu vĂ€henemiseni 14 korda â kaitstud raamatukogu kogutud versiooni keskmine jĂ”udlus oli vaid 7.1% kaitseta versiooni nĂ€itajatest (sĂ”ltuvalt testist varieerus see 4% kuni 23%).
VĂ”rdluseks, varem GNU Assembler'i puhul nĂ€itas mehhanism, mis paigutas LFENCE'i iga mĂ€lu laadimise operatsiooni jĂ€rel ja enne mĂ”ningaid harukĂ€sklusi, jĂ”udlust umbes 5 korda (22% kaitseta koodist). Kaitsemeetod on samuti ja Intel'i inseneride vĂ€lja töötatud, kuid selle jĂ”udlustestide tulemused pole veel avaldatud. Alguses prognoosisid LVI rĂŒnnaku avastanud teadlased, et tĂ€ieliku kaitse rakendamine toob kaasa jĂ”udluse vĂ€henemise 2-19 korda.
Allikas: opennet.ru
