Google компаниясының LVI қорғаныс бағдарламалық құралы өнімділігі 14 есе жоғары болды

Google ұсынған Зола көпірлері ұсынды LLVM компиляторлар жинағы үшін Intel процессорларындағы алыпсатарлық орындау механизміне шабуылдарды блоктауға көмектесетін SESES (Speculative Execution Side Effect Supression) қорғанысын жүзеге асыратын патч, мысалы LVI. Қорғау әдісі компилятор деңгейінде жүзеге асырылады және машина кодын жасау кезінде компилятордың нұсқауларын қосуға негізделген. LFENCE, олар жадтың әрбір оқу немесе жазу нұсқауының алдында, сондай-ақ блокты аяқтайтын нұсқаулар тобындағы бірінші тармақталған нұсқаудың алдында енгізіледі.

LFENCE нұсқауы орындау үшін барлық алдыңғы жад оқуларын күтеді және тапсырма аяқталғанша LFENCE кейін келесі нұсқауларды алдын ала алуды өшіреді. LFENCE пайдалану өнімділіктің айтарлықтай төмендеуіне әкеледі, сондықтан ерекше маңызды код үшін төтенше жағдайларда қорғауды пайдалану ұсынылады. Толық қорғаудан басқа, патч өнімділікке теріс әсерді азайту үшін белгілі бір қорғаныс деңгейлерін таңдап өшіруге мүмкіндік беретін үш жалаушаны ұсынады.

Өткізілген сынақтарда BoringSSL пакеті үшін SESES қорғанысын қолдану кітапхананың секундына орындайтын операцияларының санын 14 есеге қысқартуға әкелді - кітапхананың қорғалған нұсқасының өнімділігі орта есеппен 7.1% құрады. қорғалмаған нұсқа (сынаққа байланысты 4% -дан 23% -ға дейінгі вариация).

Салыстыру үшін, ұсынылды Бұрын GNU Assembler үшін жадты жүктеудің әрбір операциясынан кейін және кейбір филиалдық нұсқауларға дейін LFENCE ауыстыруды орындайтын механизм өнімділіктің шамамен 5 есе төмендеуін көрсетті (қорғаусыз кодтың 22%). Қорғаныс әдісі де ұсынылған и жүзеге асырылды Intel инженерлері шығарған, бірақ оның өнімділігін тексеру нәтижелері әлі жарияланған жоқ. Бастапқыда LVI шабуылын анықтаған зерттеушілер толық қорғанысты қолданған кезде өнімділіктің 2-19 есе төмендеуін болжады.

Ақпарат көзі: opennet.ru

пікір қалдыру