Menú principal

domingo, 20 de marzo de 2011

Hackers contra Apple: Charlie Miller y Dino Dai Zovi (1 de 4)

=======================================================================

La revista Mac & I (Mac y yo) recientemente ha entrevistado a Charlie Miller y Dino Dai Zovi, los cuales son coautores del libro “Mac Hacker’s Handbook”  - El manual del hacker de Mac - que trata de la seguridad en sistemas operativos Apple y como comprometerla y ha sido publicada en original - inglés - en el medio The H Online, bajo el título de Hackers Contra Apple.

Ambos son muy conocidos por sus exploits contra software de entornos Apple Mac. Charlie Miller es un investigador que actualmente trabaja para la consultora de seguridad “Independent Security Evaluators”. Previamente había trabajado para la NSA (National Security Agency) y ha ganado premios por sus exploits en los concursos Pwn2Own.

Dai Zovi también es un habitual de Pwn2Own, siendo el primero en hackear un MacBook Pro mediante una vulnerabilidad de QuickTime en CanSecWest 2007. Le han clasificado en la revista eWeek como una de las 15 personas más influyentes en materia de seguridad. Actualmente trabaja como consultor independiente, autor de libros y conferenciante.

La entrevista es de una calidad altísima y en ella ambos desgranan los pormenores de la seguridad en los principales productos de Apple Vamos a publicarla en cuatro partes, segmentando los principales puntos de ella.

Mac & I: Si hubiera algo como el “hacker estrella de Mac”, el titulo probablemente sería tuyo. ¿Por qué estas todavía hackeando sistemas?

Charlie Miller: Hay un par de razones. Una es, como has mencionado antes, utilizo una variedad de productos Apple y estoy muy interesado en verlos lo más seguros posible. La otra razón es hacer que los usuarios de Mac conozcan los verdaderos riesgos. Si solo escuchas a Apple (o fans de Mac), creerás que los Macs son imposibles de hackear, y no es el caso. Si le cuento a la gente los riesgos de una forma real y directa, espero que tomen decisiones informadas acerca de cómo utilizan sus dispositivos Apple.

Dino Dai Zovi: Comencé a utilizar Macs por la misma razón que comencé a hackearlos, pienso que son una tecnología muy interesante. Me gusta coger una pieza de software y ver cómo funciona y/o falla, así que desde que tengo un Mac conmigo paso habitualmente mi tiempo libre leyendo código fuente de Mac OS X o binarios para ver cómo está implementado algo. También me gusta conocer de primera mano el nivel de seguridad que ofrece un software que yo utilizo y a menudo intento pasar algún tiempo “tirando del hilo”.

Mac & I: En la página de seguridad de OS X, Apple mantiene que “OS X nos tiene protegidos”. Cuando comparas eso a Windows 7, ¿qué tan seguro es OS X con Snow Leopard? ¿Cuáles son las principales diferencias de seguridad entre ambos Sistemas Operativos?

Dino Dai Zovi: Comparar el nivel de seguridad de ambos sistemas es difícil y solo es una parte de la foto. Se necesita conocer de quien te estas defendiendo, y cuáles son los vectores de ataque. Para la mayoría de los lectores de esta revista, su principal preocupación debería ser defenderse del malware mientras navegan por Internet. Actualmente, un Mac con Snow Leopard es la opción más segura, principalmente debido a que su mercado es mucho menor que el de Windows 7. Desde un punto de vista de ataque focalizado, sin embargo, mi experiencia es que encontrar y explotar vulnerabilidades en Mac OS X es significativamente más fácil que en sistemas operativos modernos (Vista y Windows 7). De todas formas, los complementos de terceros instalados en la mayoría de los navegadores de los usuarios hacen que los ataques incluso a las últimas versiones de Windows sean significativamente más fáciles. Yo recomiendo que los usuarios naveguen con Google Chrome, deshabiliten complementos innecesarios y utilicen la seguridad basada en sitios para los complementos que si necesitan.

Charlie Miller Pwn2own 2009
Charlie Miller: Hay dos problemas fundamentales con la “seguridad”. Una es cuantas vulnerabilidades tiene una plataforma. La otra es que tan difícil es que esas vulnerabilidades se conviertan en exploits. Es difícil medir cuantos errores tienen el sistema operativo y sus aplicaciones predeterminadas. Sin embargo, la experiencia me muestra que OS X probablemente tiene más errores que un navegador de Windows. Cada vulnerabilidad de QuickTime es accesible mediante el navegador, ¡y hay muchas!

Desde el punto de vista de la dificultad de explotación, Mac OS X también es más débil que Windows 7. El estándar de industria para parar los exploits es ASLR (Address Space Layout Randomization) y DEP (Data Execution Prevention). Aunque son términos altamente técnicos, el hecho es que Windows, desde Vista hace un uso completo de ASRL y DEP, mientras que OS X solo hace aleatorias algunas porciones de la memoria, por lo tanto no tiene un soporte completo de ASLR y su implementación DEP está limitado solo a procesos de 64 bits como Safari, pero no afecta a procesos de 32 bits como Flash.

Snow Leopard, ASLR y DEP

Mac & I: …y teníamos muchas esperanzas en que la versión 10.6 mejorara en ASRL, pero de alguna forma parece que se han olvidado el enlazador dinámico (Dynamic Linker). En la versión 10.5 el bit de ejecución (Execute Disable Bit) para la pila, de la cual depende DEP en procesadores Intel, se podía incluso deshabilitar por un programador avispado con una llamada a mprotect. ¿Apple ha cambiado al menos esto en Snow Leopard? ¿Se pueden considerar el montículo y la pila seguros en este sentido?

Charlie Miller: El ASLR en la versión 10.5 es idéntico al de la versión 10.6, no se han hecho mejoras. Hay todavía muchas cosas que no se hacen de forma aleatoria, como la localización del enlazador dinámico (dynamic linker), la página de comunicación (comm page) y el ejecutable como tal, también la pila y el montículo. En Snow Leopard se ha añadido DEP para el montículo (para procesos de 64 bits), lo cual es una gran mejora. De todas formas, como los complementos de QuickTime y Flash para el navegador y los que son anteriores a 2007 no soportan procesos de 64 bits, entonces DEP no existe en ninguno de estos procesos. Compara esto con Windows donde tienen soporte completo de ASLR (todo es aleatorio) y DEP.

Dino Dai Zovi: En casi todos los sistemas con memoria no ejecutable, las llamadas del sistema para hacer páginas de memoria ejecutables (mprotect, vm_protect, VirtualProtect, etc), están todavía permitidas. Los parches grsec para Linux pueden deshabilitar este comportamiento mientras tanto en iOS se previene mediante la obligación de firma de código. La desventaja de ASLR es que hace más fácil que los atacantes puedan buscar bits de código que puedan reutilizar para efectuar llamadas al sistema que hagan que la memoria que contiene su shellcode sea ejecutable (si no lo es ya).

Mac & I: Hablando de soporte de 64 bits, Apple dice que, aparte de DEP, la tecnología de 64 Bits ofrece funciones más seguras en los métodos de paso de argumentos y “verificaciones fortificadas para los montículos del sistema”. ¿Son estas tecnologías de Apple, o sólo los beneficios extras de utilizar procesadores Intel actuales o versiones de compilador?

Charlie Miller: La arquitectura de 64 bits hace que ciertos tipos de ataques que hacen uso de la programación orientada a retorno (return oriented programming), que se salta DEP, sean más difíciles. Pero, por ejemplo, justo ayer di una charla en una conferencia en Corea que muestra exactamente cómo hacer programación orientada a retorno en procesos de 64 bits ya que se conoce la localización del enlazador dinámico (dynamic linker). En cuanto a las comprobaciones de suma del montículo, se ha mejorado mucho también, así que es bueno y añade otra barrera más, aunque pequeña, a los ataques.

Dino Dai Zovi: El hecho de que el código de 64 bits pase los argumentos en registros en vez de la pila, simplemente hace que la programación orientada a retorno (ROP) requiera más trabajo, como Charlie ha demostrado recientemente. El código de PowerPC también pasa los argumentos mediante registros y un ataque viable requiere técnicas ROP para resolver los problemas de coherencia de caché, pero esto no ha sido un impedimento para atacar sistemas Mac OS X antiguos. Las comprobaciones de suma de los montículos efectivamente mitigan el riesgo de ataque mediante bloques de metadatos corruptos, sin embargo los datos específicos de aplicación (como vtables de C++) son un objetivo mucho más popular estos días y las comprobaciones de suma no hacen nada para prevenir el ataque.

Mac & I: Ya veo. – Buenas repuestas, por cierto. Hablemos de otra técnica de mitigación. Apple ha dotado a Safari con protección de canary bits. ¿No sería interesante compilar todas las aplicaciones con protección de pila con canary bits? Vimos rápidamente que la aplicación iPhoto parece una de esas aplicaciones que todavía no utiliza esta característica de compilación.

Dino Dai Zovi: Hacer uso de las nuevas protecciones basadas en compilador a menudo requiere la migración de un proyecto de desarrollo completo a una nueva versión de compilador. Es común que grandes y antiguos proyectos continúen haciendo uso de compiladores antiguos, ya que migrar a una nueva versión puede requerir cambios significativos en el código fuente (por ejemplo, interfaces STL de C++). Mientras que la mayor parte de Snow Leopard está compilado haciendo uso de stack canaries, es muy probable que existan aplicaciones de terceros que estén compiladas con antiguos compiladores. Parece que iLife puede ser una de ellas.

Charlie Miller: Creo que las aplicaciones con riesgos de seguridad significativos se compilan de esta forma. No hay tanto riesgo en que iPhoto pueda analizar una imagen maliciosa como en que lo haga Safari o Mail.

=======================================================================

4 comentarios:

  1. Muy interesante y util (para los usuarios de mac) conocer la opinión de estos dos expertos en la seguridad de mac os x :) gracias!

    ResponderEliminar
  2. Para los que aún viven soñando el sueño de los justos estos dos expertos los bajan a la realidad pura.

    Conclusión: Corran a instalar un buen Antivirus.

    ResponderEliminar
    Respuestas
    1. Me genera risa tu comentario, la seguridad no solo se trata del antivirus, es algo mas profundo y mas hermoso que un simple virus.

      Eliminar

Artículos relacionados

Otras historias relacionadas

Entradas populares