The post Hardening de binarios (VII) – Format Strings appeared first on S3lab.
]]>El peligro de los format string viene dado cuando no se verifica correctamente una entrada (de red, de un usuario etc) y esta se pasa a funciones inseguras de la familia de printf, que no comprueban los límites de la entrada a formatear, permiten format strings peligrosos, o el programador se olvida de poner un format string. En este último caso, si la entrada maliciosa tuviera un %s, podríamos ver el contenido de una dirección de memoria, con un %x podríamos ver el contenido de la pila y con %n podríamos escribir un valor en memoria.
En el año 2001 ya se presentaban las primeras defensas, como FormatGuard , para prevenir exploits causados por esta clase de errores, hoy en día todos los compiladores modernos nos pueden avisar del uso indebido de format strings o de funciones peligrosas (otra cosa es que nos olvidemos de compilar con estos warnings). En GCC podemos utilizar las opciones -Wformat -Wformat-security -Werror=format-security para que nuestros programas no sean susceptibles a esta clase de errores.
The post Hardening de binarios (VII) – Format Strings appeared first on S3lab.
]]>