En OpenBSD se ha implementado una técnica de protección contra la explotación de vulnerabilidades que se basa en la reconfiguración aleatoria del archivo ejecutable sshd en cada arranque del sistema. Anteriormente, se aplicó una técnica similar de reconfiguración al núcleo y las bibliotecas libc.so, libcrypto.so y ld.so, y ahora se aplicará también a algunos archivos ejecutables. En un futuro cercano, se planea implementar este método para ntpd y otras aplicaciones del servidor. El cambio ya está incluido en la rama CURRENT y se ofrecerá en el lanzamiento de OpenBSD 7.3.
La reconfiguración permite que los desplazamientos de funciones en las bibliotecas sean menos predecibles, lo que dificulta la creación de exploits que utilizan técnicas de programación orientada a retorno (ROP - Return-Oriented Programming). Al usar la técnica ROP, el atacante no intenta colocar su propio código en la memoria, sino que opera con fragmentos de instrucciones de máquina que ya están presentes en las bibliotecas cargadas, finalizando con una instrucción de retorno de control (por lo general, son los finales de las funciones de biblioteca). El trabajo del exploit se reduce a construir una cadena de llamadas de dichos bloques ("gadgets") para obtener la funcionalidad deseada.
Fuente: opennet.ru
