Zola Bridges nga Google për paketat e kompilerëve LLVM, një patch me implementimin e mbrojtjes SESES (Speculative Execution Side Effect Suppression), që ndihmon në bllokimin e sulmeve ndaj mekanizmit të ekzekutimit spekullativ në CPU-në Intel, të ngjashme me . Metoda e mbrojtjes është implementuar në nivelin e kompilerit dhe bazohet në shtimin e instruksioneve nga kompileri gjatë gjenerimit të kodit makinerik , të cilat vendosen para çdo instrukcioni për të lexuar nga memoria ose për të shkruar në memorie, si dhe para instrukcionit të parë të degëzimit në grupin e instrukcioneve që përfundon bllokun.
Instruksioni LFENCE pret që të gjitha operacionet e mëparshme të leximit nga memoria të jenë të fiksuara dhe ndalon ekzekutimin e parashikueshëm të instrukcioneve pas LFENCE, derisa të përfundojë fiksa. Përdorimi i LFENCE çon në një rënie të ndjeshme të performancës, prandaj mbrojtja rekomandohet të aplikohet në raste ekstreme për kodin ekstremisht kritik. Përveç mbrojtjes së plotë, patch-i ofron tre flag-e që lejojnë çaktivizimin selektiv të niveleve të caktuara të mbrojtjes për të ulur ndikimin negativ në performancë.
NĂ« testet e kryera, pĂ«rdorimi i mbrojtjes SESES pĂ«r paketĂ«n BoringSSL çoi nĂ« njĂ« reduktim tĂ« numrit tĂ« operacioneve tĂ« kryera nga biblioteka nĂ« sekondĂ« nga 14 herĂ« â performanca e versionit tĂ« mbrojtur tĂ« biblioteks ishte mesatarisht vetĂ«m 7.1% e treguesve tĂ« versionit tĂ« pa mbrojtur (variacioni nĂ« varĂ«si tĂ« testit nga 4% deri nĂ« 23%).
Për krahasim, më parë për GNU Assembler, mekanizmi që realizon zëvendësimin e LFENCE pas çdo operacioni ngarkimi nga memoria dhe para disa instruksioneve të ndarjes, tregoi një reduktim të performancës prej rreth 5 herë (22% e kodit pa mbrojtje). Metoda e mbrojtjes gjithashtu dhe nga inxhinierët e Intel, por rezultatet e testimit të performancës për të nuk janë publikuar ende. Fillimisht, kërkuesit që identifikuan sulmin LVI parashikuan një reduktim të performancës me përdorimin e mbrojtjes së plotë nga 2-19 herë.
Burimi: opennet.ru
