Aunque las vulnerabilidades causadas por el uso indebido de format strings nos pueden parecer un tema del siglo pasado, una pequeña búsqueda en la base de datos de CVEs nos muestra que estos errores siguen pasando. El peligro de los…
Irene DíezInvestigadora de DT
Expertise: Operating systems, program analysis
Aunque las vulnerabilidades causadas por el uso indebido de format strings nos pueden parecer un tema del siglo pasado, una pequeña búsqueda en la base de datos de CVEs nos muestra que estos errores siguen pasando. El peligro de los…
En esta entrega vamos a hablar de dos opciones que podemos pasarle al linker para hacer más seguras ciertas secciones de nuestro ejecutable: -Wl,-z,relro,-z,now. Cuando un programa llama a una función no definida en el programa, que está en una…
El comportamiento indefinido en C/C++ es causado cuando no existen restricciones en el comportamiento del programa; es decir, cuando el estándar no especifica qué debe hacer la implementación, esta es libre de hacer lo que le parezca. En los tiempos…
En el post anterior de esta serie hablamos de cómo Google había incluido ASan en GCC para detectar errores de corrupción de memoria. Virtual-Table Verification (VTV) es otra opción de GCC (>4.9) desarrollada por Google para tratar de prevenir ataques…
En entregas anteriores hemos hablado de opciones de GCC que hacen nuestros ejecutables más seguros, en esta entrega en cambio, presentamos opciones de compilación que generan informes, avisando de errores en el código. AddressSanitizer (ASan) es una opción para Clang…
Siguiendo con las opciones clásicas de compilación de GCC para tratar de tener binarios más robustos, en esta entrega vamos a hablar de las opciones -fpie y -fPIE, que permiten compilar ejecutables como “Position Independent Executables” y permiten que sus…