Protección de ejecutables: PIE

Publicado en Hardening y Seguridad

PIE o 'Position Independent Executables' son programas ejecutables binarios hechos enteramente de código independiente de posición. Esta protección de los ejecutables viene a complementar la que vimos en un post anterior sobre ASLR (Address Space Layout Randomization) que como vimos es una característica del kernel que una vez activada aleatorizaba las zonas de memoria correspondientes a las bibliotecas compartidas, stack, VDSO y head.

Leer más ...

Protección de ejecutables: ASLR

Publicado en Hardening y Seguridad

ASLR o Address Space Layout Randomization es una técnica utilizada para mitigar los ataques contra los desbordamientos de buffer, haciendo que los segmentos de memoria no tengan una posición fija en memoria sino que esta varíe de forma aleatoria en cada ejecución. Esta técnica fue incluida en el kernel linux en su versión 2.6.12 (de junio de 2005) aunque se podía instalar anteriormente en forma de parche. 

Leer más ...

Protección de ejecutables: NX

Publicado en Hardening y Seguridad

Una de las funcionalidades que se han ido añadiendo para la creación de ejecutables más seguros, con el fin de mitigar la explotación de vulnerabilidades inyectando shellcodes en los mismos, es NX. NX es la abreviación de no ejecutar, o segmento no ejecutable. Lo que hace es que cuando se carga la aplicación en la memoria no permite que en determinados segmentos se pueda ejecutar código, es decir, marca estos segmentos como no ejecutables y si se intenta ejecutar código desde ahí se produce una excepción.

Leer más ...

Manejo de strings en C

Publicado en Creando Código

Una cadena o string en C no es más que una secuencia de cero o más caracteres (tipo char para los byte string o tipo wchar_t para los wide string) acabada en un carácter nulo '\0'. La longitud del string se considera el número de caracteres sin incluir el carácter nulo.

Leer más ...
Suscribirse a este canal RSS