lunes, 15 de julio de 2013

¿Son seguros los certificados digitales?

¿Alguna vez te has preguntado qué sería de Internet sin la Criptografía? Ya no sólo se trata de mantener tu intimidad cuando consultas tu correo electrónico. Gracias a la Criptografía es posible hacer usos de Internet como el comercio electrónico o transacciones bancarias de una forma segura. Con el uso de certificados digitales es posible realizar transacciones con entidades públicas y hasta el DNI incorpora una de estas firmas electrónicas.
Cabe preguntarse si realmente son seguras. Obviamente existen diferentes ataques del tipo man in the middle que son muy efectivos, pero ¿se puede atacar directamente el problema de romper el cifrado de una comunicación digital?
Vamos a hacer un experimento para tratar de sacar algunas conclusiones.

domingo, 14 de julio de 2013

Explotando vulnerabilidades: buffer overflow y shellcode

El anterior post lo dediqué a hablaros del funcionamiento de la pila en las llamadas a funciones con la intención de seguir profundizando hoy en los posibles problemas que pueden surgir de una programación poco cuidadosa. La mayoría de los problemas de seguridad que surgen a diario tienen su raíz en una vulnerabilidad del código ejecutable de un programa. Hoy voy a hablar de desbordamiento de buffers o buffer overflow y shellcodes.

La pila y las llamadas a funciones

Me sorprende la frecuencia con la que cada día aparecen nuevas vulnerabilidades en software hecho por buenos programadores. Conste que nos puede pasar a cualquiera (el que esté libre de pecado que tire la primera piedra), así que me gustaría dedicar un par -o tres, ya veremos- de artículos a tratar de concienciar (y concienciarme) sobre la programación de código seguro. Antes de entrar en harina voy a dedicar este artículo a aclarar cómo funciona la llamada a una función y el papel que juega la pila en todo esto. El ejemplo que voy a mostrar están desarrollados sobre arquitectura x86 y GNU/Linux.