Limited Entropy Dot Com Not so random thoughts on security featured by Eloi Sanfèlix

5Dec/072

Microkernels, hypervisors y seguridad por Hendrik Tews

Después de estar jodido el fin de semana con un trabajo para HW & OS Security, en el que me tuve que encargar de mi parte del código y gran parte del resto, además de hacer todo el testing, el lunes fui a la clase de dicha asignatura habiendo dormido algo así como 3 horas. Además, el sábado tuvimos en casa cena de despedida de Javi que ya se nos ha ido a España (ya le tocaba, llevaba aquí desde septiembre de 2006), y luego evidentemente salimos por ahí... Total, que al final había dormido desde el viernes bastantes horas menos de las que tocaba, pero creo que valió la pena porque la clase estuvo bastante interesante.

Vino Hendrik Tews, que trabaja en la universidad de Dresden en el tema del que nos estuvo hablando: microkernels e hypervisors. Como la mayoría de la gente que ha leído un poquito sobre sistemas operativos sabe, se suele hablar de dos grandes tendencias en el diseño de sistemas operativos: los nucleos monolíticos y los microkernels o micronúcleos.

Los primeros son una gran pieza de software que provee toda la funcionalidad necesaria en el sistema operativo, funcionando en modo privilegiado. Por el contrario, los microkernels tratan de minimizar el código que funciona en modo privilegiado, proporcionando las tareas necesarias y una interfaz para acceder a ellas desde espacio de usuario.

Esta minimización de las aplicaciones en espacio de kernel permite que un fallo en un cierto driver no influya en todo el sistema operativo y se venga abajo. Por ejemplo, una simple imagen de un sistema de ficheros en linux puede hacer que se venga abajo el sistema (de ello se habló en meneame via eyeideas que enlazaba aquí, pero a parte de esa cosa tan tonta que muchos consideran una feature, esta imagen echaba abajo cualquier kernel anterior a 2.6.22 según las pruebas que hice la semana pasada).

En el caso de un sistema basado en microkernel, el driver del sistema de ficheros se vendría abajo, el usuario (o el propio SO) se daría cuenta y lo volvería a iniciar. Nada de una caída de la maquina completa.

Además de microkernels, como he dicho, también hablo de hypervisors , qué son, cómo implementarlos sobre IA32 y algunas cosillas interesantes más. También nos ofreció una demo con el TuDOS CD Demo en la que pudimos ver cómo el típico xeyes no era capaz de seguir el ratón cuando éste estaba fuera sobre una de las aplicaciones aisladas por el servidor gráfico seguro que incorpora. Es fácil imaginar que si no puede obtener la posición del ratón, tampoco será capaz de obtener las teclas pulsadas por ejemplo.

A quien le interese minimamente el tema le recomiendo descargar las transparencias de la lecture. De momento he puesto el link desde la página de mi profesor, pero si por alguna razón dejara de funcionar y alguien lo quiere que me avise y lo subiré aquí.

Posted by Eloi Sanfèlix

Filed under: Seguridad Leave a comment
Comments (2) Trackbacks (0)
  1. necesito saber sobre sistema operativo basado en microkernels gracias

  2. Echale un ojo a las transparencias enlazadas, busca en google y/o mirate alguno de los libros de SO típicos…

    Otra opción es echar un ojo a la correspondiente página de wikipedia… ya sabes, buscarse la vida un poco 😉

    Esto es un blog no un servicio de apuntes/libros personalizados 🙄


Leave a comment

No trackbacks yet.