![]() |
| |||||||
| Registrarse | Preguntas Frecuentes | Lista de Foreros | Calendario | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
| | LinkBack | Herramientas | Desplegado |
| |||
| Cuarta Protección: Ocultación de Información Con las tecnologías vistas hasta el momento se ha pretendido, en primer lugar que no se produzcan los fallos en el código que originan los desbordamientos de buffer, que no se puedan sustituir las funciones de tratamiento de errores y que no se puedan meter códigos en la zona de memoria destinada a datos para evitar la inyección de programas no deseados dentro del sistema. Sin embargo un atacante no necesita inyectarte un troyano si puede abrir una conexión desde dentro del sistema que le conecte contra un socket en su equipo, es decir, si puede configurar una conexión reversa. Y para eso no necesita inyectar ningún código, le basta con invocar una función del sistema operativo para abrir un socket. Imagen: Invocación de una función conocida del sistema ------------------------------------------------------------- Pointer ofuscation ------------------------------------------------------------- La primera tecnología de protección para evitar que se invoquen funciones conocidas se añadió en Windows XP SP2 y Windows Server 2003 SP1. Por supuesto esta tecnología también funciona en Windows Vista. La idea es evitar que se vea la dirección de la función, por ello, se utilizan las funciones: EconcePointer / DecodePointer y EncodeSystemPointer / DecodeSystemPointer para ofuscar la información en el código. Las funciones generan una dirección ofuscada que se produce después de hacer un XOR entre la dirección real y un número. El uso de estas tecnologías no previene solo contra los ataques de desbordamiento de buffer sino contra todos aquellos que, no pudiendo modificar la dirección de retorno de la llamada buscan coger el control mediante la modificación de cualquier llamada a función que vaya a recibir el control del sistema. ------------------------------------------------------------- ASLR (Address Space Layout Randomization) ------------------------------------------------------------- Para evitar que el atacante sepa la dirección de memoria dónde se encuentra la función que desea invocar, la tecnología ASLR intenta cambiar en cada ejecución la posición exacta de la función. Para ello se utiliza una función que se denomina de entropía (máximo desorden) que le asigna en cada ejecución de una aplicación una dirección diferente dentro de un rango de 256 posibles. Es decir, se ejecuta el programa A y se carga en la dirección FF000FFF, se cierra el programa y se vuelve a cargar en memoria pero esta vez ASLR le asigna la dirección FF000ABB, por ejemplo. Con esto se intenta que no se pueda predecir la dirección donde se pueden encontrar los programas que tiene en ejecución un determinado sistema. Imagen: ASLR le asigna una dirección diferente en cada ejecución Conclusión Garantizar que un sistema no va a tener fallos de desbordamiento de buffer en alguna de los millones de líneas que conforman el sistema operativo es mucho decir, pero el uso de el SDL (Secure Development Lifecycle), la compilación con /FxCod y /SafeSEH, la aplicación de DEP (Data Execution Prevention) con el bit NX (Non Execute) por Hardware y por Software para la protección de integridad en el tratamiento de errores, la ofuscación de los punteros a funciones y la ejecución aleatoria con ASLR ayudan a que el sistema se encuentre mucho más fortificado contra los fallos de Buffer Overflow. Referencias Externas - ASLR en Wikipedia - Blog Michael Howard: Address Space Layout Randomization in Windows Vista - Blog Michael Howard: Protecting Against Pointer Subterfuge - La protección contra Desbordamientos de Buffer en Windows Vista (I de IV) - La protección contra Desbordamientos de Buffer en Windows Vista (II de IV) - La protección contra Desbordamientos de Buffer en Windows Vista (III de IV) Publicado Tuesday, February 13, 2007 7:18 PM por Chema Alonso http://geeks.ms/blogs/vista-tecnica/...-iv-de-iv.aspx -- El dia que Pablo Lleó Gárcia deje de hacer el imbecil en los foros tecnicos de MS y de falsificar a la gente, yo dejaré de cantaros las 40 aquí. Hasta el momento soy comedido: solo pongo los mismos mensajes, copiados, que Pablo ha puesto allí y segun los va poniendo. Por tanto, ya sabeis quien es el culpable. Y por cierto, los pongo por ahora aquí sin hacer el crossposting que él hace en MS. Y digo "por ahora". |
| | ||||
| ||||
| |
![]() |
| Herramientas | |
| Desplegado | |
| |
Temas Similares | ||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| ZERT: Parche no oficial contra vulnerabilidad Stack buffer overflowin ANI Handling under Microsoft Windows 0Day | c.b. | Newsgroup es.comp.virus | 18 | 04-04-2007 17:36:25 |
| La protección contra Desbordamientos de Buffer en Windows Vista (II de IV) | TCdM | Newsgroup es.charla.economia.bolsa | 0 | 14-02-2007 13:23:48 |
| INFO. Sobre autor "La protección contra Desbordamientos de Buffer en Windows Vista" | TCdM | Newsgroup es.charla.economia.bolsa | 0 | 14-02-2007 13:22:34 |
| La protección contra Desbordamientos de Buffer en Windows Vista (I de IV) | TCdM | Newsgroup es.charla.economia.bolsa | 0 | 14-02-2007 13:22:15 |
| La protección contra Desbordamientos de Buffer en Windows Vista (III de IV) | TCdM | Newsgroup es.charla.economia.bolsa | 0 | 14-02-2007 13:21:37 |