O enxeñeiro de Google propuxo a protección de software dos procesadores contra ataques LVI

Hai tempo que se soubo dunha nova vulnerabilidade na arquitectura especulativa dos procesadores Intel, que se chamaba Inxección de valor de carga (LVI). Intel ten a súa propia opinión sobre os perigos de LVI e recomendacións para mitigalo. A túa propia versión de protección contra este tipo de ataques suxeriu enxeñeiro en Google. Pero terás que pagar pola seguridade reducindo o rendemento do procesador nunha media dun 7%.

O enxeñeiro de Google propuxo a protección de software dos procesadores contra ataques LVI

Observamos anteriormente que o perigo do LVI non reside no mecanismo específico descuberto polos investigadores, senón no propio principio do ataque de canle lateral LVI, que se mostrou por primeira vez. Así, abriuse unha nova dirección para ameazas que ninguén sospeitara previamente (polo menos, diso non se falou no espazo público). Polo tanto, o valor do desenvolvemento do especialista de Google Zola Bridges reside no feito de que o seu parche mitiga o perigo de novos ataques aínda descoñecidos baseados no principio LVI.

Anteriormente no GNU Project Assembler (Ensamblador de GNU) realizáronse cambios que reducen o risco da vulnerabilidade LVI. Estes cambios consistían en engadir instrucións de barreira LFENCE, que estableceu unha secuencia estrita entre os accesos á memoria antes e despois da barreira. A proba do parche nun dos procesadores Intel da xeración Kaby Lake mostrou unha diminución do rendemento de ata un 22%.

O desenvolvedor de Google propuxo o seu parche coa adición de instrucións LFENCE ao conxunto de compiladores LLVM e chamou a protección SESES (Speculative Execution Side Effect Suppression). A opción de protección que propuxo mitiga tanto as ameazas LVI como outras similares, por exemplo, Spectre V1/V4. A implementación de SESES permite ao compilador engadir instrucións LFENCE nos lugares apropiados durante a xeración do código máquina. Por exemplo, insírelas antes de cada instrución para ler de memoria ou escribir na memoria.

As instrucións de LFENCE evitan a preferencia de todas as instrucións posteriores ata que se completen as lecturas anteriores da memoria. Obviamente, isto afecta o rendemento dos procesadores. O investigador descubriu que, de media, a protección SESES reduciu a velocidade de completar tarefas usando a biblioteca protexida nun 7,1%. O rango de redución da produtividade neste caso oscilou entre o 4 e o 23%. A previsión inicial dos investigadores era máis pesimista, e pediu unha diminución do rendemento de ata 19 veces.



Fonte: 3dnews.ru

Engadir un comentario