jueves, octubre 08, 2009

Navegadores y Nivel de Integridad

En Windows Vista se introdujo el concepto de "Nivel de Integridad" en los sistemas operativos de Spectra. Este concepto, como es de suponer se sigue manteniendo en Windows 7. La idea, en dos palabras, es evitar que un objeto de un nivel de integridad menos privilegiado acceda a un objeto de un nivel de integridad más privilegiado.

Así, todo el sistema operativo está dividido en niveles de integridad. Cada proceso, cada fichero, para componente tiene su nivel de integridad. Esto permite que un proceso con nivel de integridad bajo, si es vulnerado, no pueda acceder a partes del sistema operativo con nivel de integridad medio, alto u obligatorio del sistema.

Si quieres conocer más información sobre este concepto puedes ir directamente a la Wikipedia [Mandatory Integrity Control] o verte las charlas del maestro Russinovich.

Lo que me llama la atención es que, después de años, Firefox no esté haciendo uso de esta característica. Mientras que Internet Explorer y Google Chrome si le sacan provecho para fortificar la ejecución del sistema, Firefox sigue utilizando en su última versión una estructura de proceso único que corre con el nivel más privilegiado que necesita.

La siguiente captura muestra los tres navegadores abierto a la vez sobre un Windows 7. En ella se puede ver como Internet Explorer y Google Chrome utilizan una arquitectura similar con un proceso controlador y un proceso por cada página cargada.


IE 8 y Chrome corren con arquitectura similar. Firefox No

Como se puede apreciar en Firefox el proceso es único y no hay uno nuevo por cada pestaña. Esto hace que todos los componentes cargados en una página web en Firefox corran con el nivel de Integridad Medio, mientras que en Internet Explorer y Google Chrome corren con nivel de integridad bajo. Teniendo en cuenta que la mayor parte del sistema de ficheros exige nivel de integridad medio, esta es una medida de fortificación más que recomendable. ¿Por qué no se implementa en Firefox?

Además, gracias a esta arquitectura, si una página se queda bloqueada, siempre se puede matar el proceso independientemente y el navegador, con el proceso controlador se recuperará del fallo. Es curioso también como, aunque haya abiertos varios navegadores con múltiples pestañas, sólo es necesario abir un proceso controlador.


Es posbile matar una página web independientemente

Por último, si que me gustaría resaltar como, por fin, los tres navegadores más utilizados vienen con DEP y ASLR activos por defecto.

Saludos Malignos!

ACTUALIZACIÓN: Resulta que en Firefox se tiene muy claro esto, y hay hasta un proceso muy sencillito para conseguir más o menos un efecto similar. Muy divertido.

20 comentarios:

  1. Pues seguramente habras modificado el nivel de integridad de internet Explorer, porque yo sin haber hecho nada iexplore.exe me aparece igual que el firefox, ejecutandose en nivel obligatorio ALTO.
    Internet Explorer 8 con la version test de Windows 7.
    Un saludo.

    ResponderEliminar
  2. @Anonimo, ni de coña!. Lo tienes modificado tú. El IE 7 y el IE8 en Vista van igual que este IE8 que os he puesto sobre mi nuevo portatil con IE8. No he hecho nada.

    Revisa lo tuyo.

    Salduos!

    ResponderEliminar
  3. Pues no he hecho nada :( Tan solo he desactivado el control de cuentas en Windows 7. No creo que sea por eso, pero los dos procesos (firefox.exe y iexplore.exe) con el process explorer pone nivel obligatorio alto.

    ResponderEliminar
  4. Básicamente, desactivar UAC en Windows es una locura.

    ¿Tu entras en root en linux? Pues lo mismo, y si el UAC de windows te da por culo, es porque tienes las cosas mal configuradas.

    ResponderEliminar
  5. Para hacer pruebas con un SO, pues claro que entro como root en linux y desactivo uac en windows :P

    ResponderEliminar
  6. @anónimo, has desactivado el modo protegido de tu navegador casi seguro....

    ResponderEliminar
  7. Maligno: Tienes razon. Siempre lo hago jejejejje. Teniendo el kaspersky pues la verdad es ke la navegacion se hace menos pesada sin ese modo. Osea que si no se activa ese modo en Internet Explorer, este se ejecuta con privilegios demasiado elevados.... Ok, muchas gracias por la aclaración.

    ResponderEliminar
  8. Seré curioso; ¿Qué portatil has comprado?
    Gracias!

    ResponderEliminar
  9. Hombre, yo espero que habrá sabido escoger tendrá un Toshiba con Windows 7.
    De todas formas, Maligno, hay una cosa que me ha gustado de Windows 7 con Internet Explorer 8 al desactivar el modo protegido, y es que no sale la mierda de barra siempre que visitas una web ( Como sale en Vista ) rezando:
    La configuración de seguridad actual pone en peligro su equipo. Eso, a parte de molesto, a los usuarios los confunde, porque si tienen un buen antivirus con firewall (vease Kaspersky o ESET) no tienen de que preocuparse si la licencia de este es legal.

    ResponderEliminar
  10. ya sé que no es lugar adecuado, pero tengo entendido que el autor del blog puede dar charlas en los colegios sobre los peligros de la red. Me gustaría saber como podría contactar con él para ver si puede venir a dar una charla en mi centro escolar.
    Un saludo y gracias

    ResponderEliminar
  11. @Reyes, busca mi mail en internet... ;)

    ResponderEliminar
  12. [Malena Gracia] - Loca por un beso tuyo

    Podría entrar en detalles de diseño de software, pero dado el análisis tan demagogo que has hecho creo que no lo entenderías.
    Te adjunto este análisis [1] que supongo que te será más masticable.
    Igual deberías de repasar un librito de SO, para entender algunas cosas.

    1 - http://www.webdevout.net/browser-security

    ResponderEliminar
  13. @Malena Gracia Anónima del final,
    sacado de lo que tu mism@ posteas:
    "...The vulnerability information was last updated February 10, 2009...", es decir, de anteayer.

    "...Until Secunia updates the old advisories with an indication of the status in IE 7, this page will assume they still exist..."

    Esto es cojonudo, si Secunia echa el cierre, el explorer será un colador por los siglos de los siglos, aunque vaya por la versión 5000...

    Gracias por esta información tan actualizada, no podía vivir sin ella.

    Por cierto, has probado IE8 y el Chrome? pues el pavo del sitio ese si.

    Anda maj@, leete su post (http://www.webdevout.net/tidings/) y luego me lo cuentas, pero vamos, la conclusión dice algo así "...The Internet Explorer development team earned a lot of credit with me on the standards support quality of IE 8..."

    Ale, a ser feliz.
    Un sALudo.
    Manolo.

    ResponderEliminar
  14. Hola, siento mucho comentar exclusivamente por este tipo de pequeños despistes pero se ha colado una x en la palabra 'extructura' allá por el final del 4º párrafo.

    Un saludo :-D

    ResponderEliminar
  15. @Malena, que cojones tiene que ver todo lo que está en ese post para que no tengan adaptado el navegador a una arquiectura más robusta?. Por cierto... yo te doy el beso cuando quieras!

    ResponderEliminar
  16. Sí, ya te gustaría que Malena fuera nombre de tango, pero te apuesto una birra a que tiene bigote

    ResponderEliminar
  17. Maligno, y de Safari y Opera?

    probaste?

    es que no uso Spectra...

    ResponderEliminar
  18. Que raro a mi esto no me sucede...
    Oh Wait! es que para Windows...

    ResponderEliminar