Google's LVI-beskermingssoftware liet in 14x prestaasjeshit sjen

Zola Bridges fan Google suggerearre foar de LLVM-kompilerset, in patch mei de ymplemintaasje fan SESES (Speculative Execution Side Effect Suppression) beskerming, dy't helpt blokkearje oanfallen op it spekulative útfieringsmeganisme yn Intel CPU's, lykas LVI. De beskermingsmetoade wurdt ymplementearre op it kompilatornivo en is basearre op de tafoeging troch de kompilator by it generearjen fan masinekoade fan ynstruksjes LFENCE, dy't wurde ferfongen foar elke ynstruksje om te lêzen út it ûnthâld of te skriuwen nei it ûnthâld, en ek foar de earste branch ynstruksje yn 'e groep ynstruksjes dy't it blok einiget.

De LFENCE-ynstruksje wachtet op alle foarige ûnthâldlêzingen om te begean en foarkomt preemptive útfiering fan folgjende ynstruksjes nei LFENCE foardat de commit foltôge is. It gebrûk fan LFENCE liedt ta in signifikante fermindering fan prestaasjes, dus wurdt foarsteld om beskerming yn ekstreme gefallen te brûken foar benammen krityske koade. Neist folsleine beskerming biedt de patch trije flaggen wêrmei jo selektyf bepaalde nivo's fan beskerming kinne útskeakelje om de negative ynfloed op prestaasjes te ferminderjen.

Yn 'e útfierde testen late it gebrûk fan SESES-beskerming foar it BoringSSL-pakket ta in fermindering fan it oantal operaasjes útfierd troch de bibleteek per sekonde mei 14 kear - de prestaasjes fan' e bibleteekferzje kompilearre mei beskerming die bliken mar 7.1% te wêzen op gemiddelde fan 'e yndikatoaren fan' e ûnbeskerme ferzje (it berik ôfhinklik fan 'e test is fan 4% oant 23%).

Foar fergeliking, foarsteld earder foar GNU Assembler, it meganisme dat fiert LFENCE substitúsje nei eltse ûnthâld load operaasje en foardat guon branch ynstruksjes toande in prestaasjes fermindering fan likernôch 5 kear (22% fan koade sûnder beskerming). beskerming metoade ek foarsteld и útfierd troch Intel-yngenieurs, mar resultaten fan prestaasjestests foar it binne noch net publisearre. Yn it earstoan foarsei de ûndersikers dy't de LVI-oanfal identifisearre in 2- oant 19-fâldige fermindering fan prestaasjes by it tapassen fan folsleine beskerming.

Boarne: opennet.ru

Add a comment