El año pasado con Intel”Tiger Lake”fue la introducción de la tecnología Control-Flow Enforcement Technology (CET) para ayudar a defenderse de los ataques orientados al retorno/salto y, como parte de CET, se encuentra el soporte de seguimiento indirecto de sucursales (IBT) por hardware. Ha habido una serie de parches trabajando para implementar el soporte IBT de CET, pero después de haber pasado por 30 rondas de revisión y no haberse fusionado, hoy se envió una nueva versión.

Durante meses se ha trabajado en la compatibilidad con la función de seguimiento indirecto de ramas de la tecnología Intel Control-Flow Enforcement Technology en el kernel de Linux. La revisión más reciente de la que tengo conocimiento es los parches v30 enviado el pasado mes de agosto. Pero esos parches nunca se fusionaron ni siquiera ninguna lista de correo del kernel de Linux comenta esa revisión.

Con ese trabajo actual de Intel CET/IBT que parece haberse estancado sin ser mainline, Peter Zijlstra de Intel ha publicado una nueva y diferente serie de parches IBT. Sin embargo, esta nueva serie se encuentra en una fase de”solicitud de comentarios”y aún no se ha probado en procesadores más nuevos con hardware IBT.
El código está incompleto en esta nueva toma, pero agrega la opción de compilación X86_IBT, habilita el soporte”-fcf-protection=branch”para el compilador, y tiene los cambios de objtool y otros trabajos para agregar la instrucción ENDBR para posibles objetivos de rama indirecta. Los puntos de entrada del kernel tienen agregada la instrucción ENDBR”end branch”.

Esta nueva serie de parches IBT del kernel de Linux se puede encontrar en la lista de correo del kernel . Esta vez veremos si se convierte en algo que finalmente se transmitirá.

Categories: IT Info