Mostrando entradas con la etiqueta Bitlocker. Mostrar todas las entradas
Mostrando entradas con la etiqueta Bitlocker. Mostrar todas las entradas

martes, abril 09, 2024

GoFetch: Cómo extraer claves RSA con Data Memory-Dependent Prefetch en los Apple Serie-M

Reconozco que cuando leí que había un - Exploit que afecta a un bug de Hardware similar a Meltdown, Spectre, Spectre_v1 y el reciente GhostRace que no era parcheable, miré a mi nuevo y flamante Macbook Book Pro M3 y pensé en si me lo cambiaba o no. Pero la verdad es que al final los bugs y exploits de hardware son algo en lo que estamos aún en la punta del témpano de hielo, como dice mi amigo. A este exploit se le llama GoFetch, y el resultado y la idea es espectacular.
La idea se basa en explotar una funcionalidad que viene en los microprocesadores modernos llamada DMP (Data Memory-Dependent Prefetch), o lo que es lo mismo, cargar en la Cache del Microprocesador las direcciones de memoria que se van a acceder para acelerar la ejecución de los programas, haciendo que el dato esté disponible antes de que se utilice en el caché más rápida del equipo, la que se encuentra en el microprocesador.

Figura 2: Mi flamante MacBook Pro M3 Pro es vulnerable
a GoFetch, y aunque se ha publicado un workaround que ya he
instalado, el fallo es "Unpatchable"

Esta idea de prefecthing es algo que se utiliza en todas las disciplinas, y los vinisteis a la última charla de b, yo os conté como hicimos con Juan Antonio Calles un proyecto en el año 2008 de Prefetching Web Browsing, que visto esto, merece la pena que os cuente en un artículo a parte. En los microprocesadores también hay prefetching, y se llama DMP, pero no se sabe muy bien cómo funciona el algoritmo de predicción que tiene cada uno de los microprocesadores. 
En el mes de Mayo de 2022 se publicó el trabajo de "Augury: Using data memory-dependent prefetchers to leak data at rest", donde explicaba básicamente un ataque bastante sencillo de entender, más difícil de implementar. La idea es tan sencilla como que si existe un módulo llamado DMP que, basado en los datos que acceden los programas, entonces existen direcciones de memoria predictivas almacenadas en la Caché-L1 del microprocesador que no ha sido invocada por nadie.

Para ello, "sólo" hay que introducir un programa que lleve un patrón de accesos, que nos permita inferir qué va a cargar el DMP. Este imagen muestra que si nosotros accedemos a determinadas direcciones en memoria, entonces el DMP va a traer a la Caché-L1 del microprocesador los datos siguientes.
El patrón es bastante sencillo, así que ya sabemos que están en los registros de la Cache-L1 datos concretos, por lo que podríamos extraer esos datos explorando qué hay en la caché. Para eso se hace un ataque de Side-Channel a los registros con un Time-Based, esto es así porque si un dato ha sido guardado en la Caché-L1 su tiempo de respuesta es menor que el resto, así que si un dato está en la Caché-L1 se podría saber qué hay ahí por los tiempos de respuesta, independientemente de que tengamos una respuesta negativa que no nos permita acceder al dato por seguridad. 
Visto este trabajo de Augury, los investigadores han seguido esta misma línea, y han publicado el último artículo académico, llamado: "GoFetch: Breaking Constant-Time Cryptographic Implementations Using Data Memory-Dependent Prefetchers" donde han ido más lejos, y se han dedicado a hacer una implementación funcional de cómo sacar claves criptográficas del sistema operativo, accediendo a los datos mediante una manipulación del DPM de los M-Serie de Apple. Y es espectacular.
Si se rompe la criptografía de un sistema operativo, se acabó con todo. Ya es como que no existiera ninguna seguridad de la información, de los datos, de los procesos, de todo. Por eso las claves criptográficas que utiliza el sistema operativo - cualquiera - son las más protegidas del sistema, y con GoFetch acabamos de ver cómo pueden ser extraídas con este ataque.


En el artículo académico, los investigadores han seguido estudiando cómo funciona el DMP de los microprocesadores M-Serie de Apple, que lógicamente no tienen documentación publicada. El trabajo es un poco como el que vimos en la serie de Halt & Catch Fire, donde tenemos a gente jugando con el hardware a bajo nivel para sacar los datos. En este caso los investigadores han descubierto que el DMP se activa no solo con acceso mediante punteros a zonas de memoria, sino con otro montón de tipos de datos sintéticos que pueden ser inyectados artificialmente por un explotit.
A partir de ese momento, se trataba ver de si era posible hacer un exploit funcional que pudiera extraer una clave criptográfica de un equipo Apple con un M-Serie, y el resultado lo tenéis en el siguiente vídeo que han publicado en la web de GoFetch.Fail donde tienes toda la información del proyecto.
El exploit que han utilizado para hacer esta demo, inyectando un patrón que haga que el DMP cargue en los registros de la Caché-L1 del microprocesador las direcciones de la clave RSA lo tenéis en GitHub, para que veáis cómo hacen el patrón previo, y como exploran la caché con un ataque Time-Based
El ataque es una maravilla, y los bugs de hardware una pesadilla para la seguridad de los sistemas operativos, porque además muchos de estos componentes son autenticas black box para programadores de sistemas operativos (por ejemplo kernels de Linux), así que poco pueden hacer antes de conocer el bug.


Esto es una tendencia que vamos a seguir viendo, y no hace mucho os hablamos de cómo rompieron la seguridad del TPM con un ataque hardware en donde reside la seguridad del sistema BitLocker en Windows, y esto va a seguir. Mi recomendación es que conozcas y juegues mucho con el hardware, y si te mola, comienza jugando con Drones, Arduino o Raspberry Pi, que dan para mucho juego. Esto deseando ver cómo migran este ataque a iPhone e iOS. Clock is Ticking.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


sábado, febrero 24, 2024

Máxima Seguridad en Windows: Secretos Técnicos. 6ª Edición actualizada con nuevos contenidos

Hoy estamos de celebración, porque hemos sacado un nuevo libro de 0xWord, que cada día cuesta más mantener viva esta pequeña editorial, pero cada nuevo título es motivo de felicidad. En este caso es una nueva, la 6ª Edición, de "Máxima Seguridad en Windows: Secretos Técnicos"del gran Sergio de los Santos, del que se han vendido más de 5.000 ejemplares. Junto a "Hacking Web3: Challenge Accepted!", "Amazon Web Services (AWS): Hardening de Infraestructuras Cloud Computing", y uno más que nos queda por publicar la semana que viene, serán novedades en la RootedCON de este año.
Con la nueva actualización Sergio de los Santos ha querido meterle una revisión profunda desde la que realizó en el año 2020 y hacer una edición muy especial con motivo de alcanzar los 5.000 ejemplares vendidos de este título, que es un "superventas" de nuestra pequeña editorial 0xWord.

En el caso de "Máxima Seguridad en Windows: Secretos Técnicos. 6ª Edición" actualizada con nuevos contenidos, el índice ha cambiado bastante, ya que si bien las secciones han cambiado poco, los detalles han ido cambiando radicalmente en este texto actualizado a día de hoy. Aquí lo tienes.


Además, si quieres consultar cualquier pregunta sobre el libro de Máxima Seguridad en Windows al autor, Sergio de los Santos, lo puedes hacer a través de su buzón público en MyPublicInbox, con lo que la lectura y el aprendizaje será mucho más efectivo. 

Figura 4: Contactar con Sergio de los Santos

Para terminar, te recuerdo que tendrás también 100 Tempos de MyPublicInbox por la compra de este libro de "Máxima Seguridad en Windows: Secretos Técnicos. 6ª Edición" y que además, puedes pagar completa o parcialmente este libro con Tempos de MyPublicInbox. Aquí te explico cómo se hace.

Usar tus Tempos de MyPublicInbox 0xWord para adquirir este libro

La idea es muy sencilla, hemos creado un Buzón Público de 0xWord en MyPublicInbox y tenemos disponible el módulo de transferencias de Tempos entre cuentas siempre que el destinatario sea un Perfil Público de la plataforma. Para que se puedan hacer estas transferencias, primero debe estar el Perfil Público destinatario de la transferencia en la Agenda.

Figura 5: Perfil de 0xWord en MyPublicInbox. Opción de "Añadir a  la Agenda".
https://MyPublicInbox.com/0xWord

Para dar de alta un Perfil Público en tu agenda, solo debes iniciar sesión en MyPublicInbox, y con la sesión iniciada ir a la web del perfil. En este caso, a la URL del perfil público de 0xWord en MyPublicInbox, - https://MyPublicInbox.com/0xWord - donde te aparecerá la opción de "Añadir a la agenda". Cuando acabe este proceso, podrás ir a la opción Agenda de tu buzón de correo en MyPublicInbox y deberías tener el Perfil Público de 0xWord allí.

Figura 6: Cuando lo agregues estará en tu agenda

Una vez que lo tengas en la agenda, ya será tan fácil como irte a tu perfil - se accede haciendo clic en la imagen redonda con tu foto en la parte superior - y entrar en la Zona de Transferencias. Desde allí seleccionas el Buzón Público de 0xWord, el número de Tempos que quieres transferir, y en el concepto debes poner que es para recibir un código descuento para usar en la tienda de 0xWord.


No te preocupes por el texto concreto, porque los procesamos manualmente como los pedidos de se hacen en la tienda. 

Canjear 500 Tempos por un código descuento de 5 €

La última opción es bastante sencilla. Solo debes irte a la sección de Canjear Tempos -> Vales para Tiendas, y "Comprar" por 500 Tempos y código de 5 €. Es lo mismo que enviar la transferencia pero en un paquete de 500 Tempos y de forma totalmente automatizada, así que solo con que le des a comprar recibirás el código descuento y lo podrás utilizar en la tienda de 0xWord.com

Así que, si quieres conseguir nuestros libros de Seguridad Informática & Hacking aprovechando los Tempos de MyPublicInbox podrás hacerlo de forma muy sencilla y mucho, mucho, mucho más barato. Y así apoyas este proyecto tan bonito que es 0xWord.com.

Ser escritor de libros de 0xWord

Además, todos lo que queráis convertiros en escritores y hacer un proyecto de libro con nosotros. Podéis también enviarnos vuestra propuesta a través del buzón de 0xWord en MyPublicInbox, y si sois Perfiles Públicos de la plataforma, podéis entrar en la sección de Mi Perfil -> Servicios para ti y solicitar más información sobre el proceso de escribir un libro en 0xWord.
Nuestro equipo se pondrá en contacto contigo y evaluará tu proyecto de publicación de libro. Ya sabes que principalmente de Seguridad Informática & Hacking, y puede ser técnico, súper-técnico, o divulgación, y si es una novela... podemos estudiarlo también.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


domingo, febrero 11, 2024

Cómo romper el cifrado Bitlocker de Windows con un ataque de 15€: El bug en la comunicación entre TPM y CPU

Hace muy poco se ha publicado un vídeo titulado "Breaking Bitlocker: Bypassing Windows Disk Encryption" donde se ha conseguido romper el cifrado de Windows BitLocker usando una Raspberry Pi Pico que cuesta unos 15€. Una hazaña increíble teniendo en cuenta el tiempo que lleva BitLocker instalado en todos los ordenadores con Windows usando esta arquitectura.
El objetivo del ataque es extraer la clave de cifrado de Bitlocker interceptando la comunicación entre el Módulo de Plataforma de Confianza (TPM) y el procesador del sistema, y lo logra en menos de un minuto y como he comentado antes, con un coste inferior a 20€. A pesar de la Inteligencia Artificial, menos mal que aún queda hacking de ingeniería inversa al más puro “old style” ;)

Por cierto, te recomiendo este libro si estás interesado en aprender cómo utilizar la Rasbperry Pi como herramienta de hacking: “Raspberry Pi para Hackers & Makers: PoCs & Hacks Just for Fun!”, y el de "Máxima Seguridad en Windows: Secretos Técnicos" para que puedas aprender de BitLocker y todas las técnicas de cifrado y protección en sistemas Windows. Vamos a ver cómo funciona primero el sistema de cifrado Bitlocker.

Figura 3: Máxima Seguridad en Windows Gold Edition
de Sergio de los Santos en 0xWord.

Bitlocker es la solución de cifrado de disco completo que protege los datos en dispositivos Windows contra accesos no autorizados. Utiliza un TPM, un chip criptográfico en la placa base, para almacenar de forma segura las claves de cifrado. El TPM asegura que la clave de cifrado solo se comparta si la configuración del hardware no ha sido alterada desde el último arranque.

Figura 4: Chip TMP.

Explicado un poco más en detalle, el proceso de medición del TPM verifica la integridad del sistema al arrancar, utilizando los Registros de Configuración de Plataforma (PCR). Cada componente crítico del sistema (BIOS, bootloader, etcétera) se mide, es decir, se calcula un hash de su configuración y este hash se almacena en las PCR. Sólo si los valores de las PCR coinciden con los esperados, el TPM libera la clave de cifrado a Windows.

Vulnerabilidad en la Comunicación TPM-CPU

La vulnerabilidad que se ha conseguido explotar, reside en la comunicación no cifrada entre el TPM y el CPU. Cuando el sistema arranca y verifica la integridad del hardware, si todo está ok, el TPM envía la clave de cifrado a la CPU en texto plano. 

Figura 5: Breaking BitLocker. Bypassing Windows Disk Encryption

Y claro, aquí tenemos el problema. Por lo tanto, el problema radica en este diseño (más que en BitLocker como tal) permite que un atacante, con acceso físico al bus de comunicación entre el TPM y la CPU, intercepte dicha clave de cifrado, comprometiendo así la confidencialidad de la información sin necesidad de conocer la contraseña o PIN del usuario.


En la explotación se utiliza una Raspberry Pi Pico y pogo pins, contactos que permiten crear una conexión física temporal con los puntos de prueba o los pines de un circuito impreso. El objetivo es acceder físicamente al bus LPC (Low Pin Count), un bus de comunicación utilizado por el TPM para transmitir datos al CPU. Se seleccionó este bus por su simplicidad y la facilidad con la que se pueden interceptar los datos.

Figura 7: Conexión de la Raspberry Pi Pico al bus LPC

El primer paso es un proceso de ingeniería inversa y análisis detallado del protocolo LPC para entender cómo se transmiten los datos entre el TPM y el CPU. Una vez que se analizado, creamos un firmware personalizado para el Raspberry Pi Pico, que permita capturar y decodificar las señales transmitidas a través del bus LPC durante el proceso de arranque del sistema. Esta es quizás la parte más compleja de todo el ataque ya que requiere un alto conocimiento de electrónica para poder crear ese firmware.

Figura 8: Datos capturados directamente desde los pines del bus.
 
Una vez que el dispositivo está correctamente conectado al bus LPC mediante los pogo pins, actúa como un "sniffer" de bus, escuchando y registrando la comunicación entre el TPM y el CPU. Al interceptar esta comunicación, el firmware del Raspberry Pi Pico analiza los datos capturados para identificar y extraer la clave de cifrado de Bitlocker enviada en texto plano. Y ya lo tenemos, a partir de ahora con esta clave podemos descifrar la información del disco. Todo el material utilizado para este ataque puedes encontrarlo aquí.

Las implicaciones de este ataque

La capacidad de descifrar Bitlocker a través de este ataque tiene consecuencias realmente significativas y críticas en la seguridad de la información almacenada en dispositivos que confían en esta tecnología para la protección de datos (que son muchos, ya que es el que se usa habitualmente en Windows). 
Y quizás el punto más importante es que este ataque expone a riesgos críticos la confidencialidad de los datos, permitiendo a un atacante con acceso físico al dispositivo, obtener de manera relativamente sencilla (y con un costo mínimo), acceso completo a la información previamente considerada segura bajo el cifrado de Bitlocker. Esto incluye documentos personales, datos empresariales sensibles, información financiera, entre otros, poniendo en peligro la privacidad de individuos y la seguridad de organizaciones.


Moraleja: el hardware es importante en el pentesting los ataques físicos, aunque requieren acceso al hardware objetivo, pueden llevarnos a descubrir vulnerabilidades críticas que no serían tan evidentes mediante técnicas de software. El bajo costo y la disponibilidad de herramientas como el Raspberry Pi Pico (o el conocido Flipper Zero) hacen que tengamos acceso a técnicas de pentesting más avanzadas, permitiendo a los investigadores de ciberseguridad explorar nuevas vías de ataque y defensa.


El pentesting usando hardware es un aviso claro: la seguridad de los sistemas informáticos no solo depende del software y la configuración, sino también de la integridad física y la seguridad del hardware subyacente. En el contexto de la seguridad informática, es vital considerar y protegerse contra ataques físicos, implementando medidas como el cifrado de disco con autenticación previa al arranque y la protección de los componentes de hardware críticos.

Figura 12: Libro de Cifrado de las comunicaciones digitales:
de la cifra clásica a RSA 2ª Edición de 0xWord

Ya para terminar, lo que realmente llama la atención de este ataque es la ingeniosidad y la simplicidad del mismo contra Bitlocker, una técnica de cifrado que hasta hoy pensábamos que era segura y que realmente lo sigue siendo, porque como hemos podido comprobar, el problema está en la implementación no en el algoritmo como tal. La innovación en herramientas de pentesting, especialmente en el ámbito del hardware, juega un papel crucial en la identificación y mitigación de vulnerabilidades de seguridad que de otra forma sería imposible detectar, asegurando la protección efectiva de los datos en un panorama de amenazas en constante evolución.

Hoy más que nunca, Happy Hacking Hackers! ;)

Autor: Fran Ramírez, es investigador de seguridad y miembro del equipo de Ideas Locas en CDO en Telefónica, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps", también de "Machine Learning aplicado a la Ciberseguridad” además del blog CyberHades. Puedes contactar con Fran Ramirez en MyPublicInbox.

 Contactar con Fran Ramírez en MyPublicInbox

lunes, febrero 11, 2013

Evasi0n o Victoria: iOS & Android Full Disk Encryption

He de confesar que tengo más gadgets que un bazar, y entre ellos tengo una tablet Samsung Galaxy Note 10.1 con Android, una tablet con Windows 8 y varios iPhone & iPad con iOS. Son con ellos con los que enredo, juego y experimento cosas, procurando mirarme las opciones que traen de seguridad para saber mejor cómo funcionan. Una de ellas, por supuesto, el cifrado de datos del disco duro de la tablet, que es de lo que os quiero hablar hoy.

En el caso de mi tablet con Windows 8 no hay mucho que hablar, ya que se activa Bitlocker y la única forma de atacarlo a día de hoy es mediante alguna herramienta de fuerza bruta o instalado algún bootkit que haga un Cold Boot para engañar al usuario y robar la contraseña, poco más.

En el caso de Android, con la opción de cifrar el teléfono la cosa es similar a Bitlocker, ya que se cifra todo el disco y las claves de descifrado no se liberan hasta que no se ha introducido la clave maestra. Es decir, cuando se quiere encender el terminal es necesario que se conozca e introduzca esa clave o el terminal Android no arranca, lo que obliga de nuevo a pensar en ataques de fuerza bruta contra el algoritmo AES-128 que está utilizando actualmente.

Figura 1: Opción de cifrar todo el teléfono en Android

En el caso de los dispositivos iOS la cosa cambia, pues aunque el disco está cifrado completamente, nada más encender el terminal - ya sea iPhone, iPad o iPod Touchel disco del sistema es descifrado con la clave derivada del UDID, por lo que se abre la posibilidad de lanzar un exploit contra el sistema, hacer un jailbreak y copiar todos los datos.

Figura 2: Arquitectura de cifrado del sistema de ficheros en iOS

Esto, desde que esta semana se liberase Evasi0n para todos los terminales con iOS 6.x deja absolutamente al 100% de los terminales iOS en manos de las herramientas de análisis forenses, pudiéndose copiar todos los datos del disco en cualquier situación, como por ejemplo con las máquinas que tiene la policía en algunos países para clonar los terminales de los sospechosos.

Figura 3: Evasi0n 1.2. Herramienta de jailbreak para dispositivos iOS 6.0 a iOS 6.1

Esto quiere decir que, aunque algunos digan que la seguridad de iOS es irrompible - que no discuto que el algoritmo de cifrado sea bueno - la existencia de un jailbreak y la no posibilidad de poder poner una password maestra para evitar que se liberen las claves de cifrado del disco en arranque tal y como se hace con Bitlocker y en Android, lo hacen casi inservible.

Saludos Malignos!

domingo, septiembre 09, 2012

No Lusers 147: Crackear volúmenes cifrados


Con el reciente escándalo del vídeo erótico de la concejala de Los Yébenes se han levantado las alertas sobre la seguridad de los contenidos privados en las computadoras personales y los teléfonos móviles. Aunque en este caso parece que al final es más una filtración que un "hackeo de un equipo", he querido recoger algunos casos a tener en cuenta si posees vídeos amateurs de contenido que no desees ver en la red subido a portales de Internet.

Los vídeos porno amateur robados tienen un mercado y un valor, por eso muchos delincuentes no solo buscan grabarte con la cámara en tu intimidad, - algunos como el técnico de Mac por puro voyeurismo -sino que revisan los equipos infectados con malware en busca de estos vídeos, que puedan reportar un beneficio económico. Aquí te dejo algunas cosas a tener presentes sobre cómo almacanenarlos de manera cifrada y cómo pueden ser crackeados.

Cifrado completo del PC

Puede parecer la opción más segura, pero cifrar todo el PC solo sirve para resistir contra ataques en frío, cuando la computadora es perdida - como en mi caso de la Renfe - o robada. En esos casos, tanto si usas TrueCrypt en Mac OS X o TrueCrypt en Windows, BitLocker o FileVault 2 Full Disk Encryption, existen herramientas para atacar los sistemas. Algunas implementan ataques fuerza bruta o diccionario para todas ellas, como es el caso de TrueCrack, Passware Kit Enterprise o VFdecrypt, pero a lo largo de las implementaciones se han ido detectando algunas vulnerabilidades en ellas, por lo que si no tienes todos los sistemas actualizados, te puedes encontrar con la password en un fichero de hibernación si cifrar o el  parte de los datos sin cifrar, como ha pasado con Bitlocker o FileVault en Mac OS X Lion [y 2]. Muchas de ellas, con soluciones distribuidas usando GPUs, funcionado como en el ejemplo de crackear WPA/WPA2-PSK.

Por otro lado, el cifrado completo del disco solo tiene sentido si el equipo está apagado, si está arrancado y hay un malware en tu sistema, será capaz de pasearse y acceder a todos los ficheros, como el caso de los datos de usuario cifrados en Mac OS X. En esos casos hay que poner ACLs en las carpetas más seguras y exigirla siempre que se quiera acceder.

El último tipo de ataque que hay que tener presente contra el cifrado completo del disco es el Ataque de ColdBoot, es decir, usar un Bootkit que en el siguiente arranque simule la petición de las password de descifrado de los discos para robársela a los usuarios, sencillo, pero funcional.

Cifrado de contenedores de documentos

Una aproximación muy interesante es tener cifrados algunos contenedores de manera extra, haciendo uso de archivos comprimidos con passwords difíciles de crackear - usando RAR, ZIP, etc... -, usar EFS, o cifrados de disco como yo que guardo todo lo turbio en un Pendrive de Cálico Electrónico cifrado. Para ello se pueden cifrar volúmenes USB como DMG en Mac OS X, o aplicar Bitlocker to Go y FileVault 2 a los pendrives o carpetas especiales. Así, aunque el equipo esté en ejecución, un malware no podrá acceder a esos contenedores hasta que no sean descifrados. Por supuesto, para todos ellos existen también crackeadores de fuerza bruta, de los que ElcomSoft creo que tiene para todos.

Los vídeos y fotos del teléfono móvil

Muchos de los terminales no cifran la SDCard del terminal, así que pueden extraerse sin necesidad de conocer el passcode del terminal. Revisa tu Android, Windows Phone, iPhone o iPad, a ver si la configuración es vulnerable a las técnicas de Juice Jacking, que permiten robar todos los vídeos que en él tengas guardados. Activa las opciones de cifrado de cada terminal, si es posible. 

Además, ten presente que una de las formas más sencillas de robar los datos es aprovecharse de un backup realizado en un sitio inseguro, es decir, en la computadora del trabajo, donde alguien podría acceder, crackear el backup y llevarse todas las fotos y las passwords de tus servicios. Por supuesto, para crackear los backups de iPhone/iPad existen soluciones para el cifrado del backup de iTunes, como para el passcode de cifrado de un iPhone con ElcomSoft Phone Password Breaker, que ya gestiona hasta iCloud. Para el resto de dispositivos móviles existen soluciones análogas.

Y si con todas las herramientas de cracking que hay no ha salido la contraseña, siempre se puede aplicar el método que Logan está intentando aplicar con un Magnus sin poderes por la presencia de un inhibidor de sus poderes, que si no ya sabéis que podría hasta manejar los metales que corren por la sangre de nuestro amigo Wolverine.

Saludos Malignos!

jueves, enero 19, 2012

BootKits: Windows 8, UEFI Secure Boot y Stoned Bootkit

Mucho se ha hablado ya sobre UEFI y Secure Boot, pero sigue siendo una de las cosas que más llama la atención cuando se habla de las novedades de Windows 8, como ya sucediera en el pasado con la necesidad de contar con un certificado digital especial para poder meter un driver en Windows Vista. Todas ellas son tecnologías pensadas para luchar contra el malware, pero que evidentemente tienen sus efectos colaterales.

Firmado de drivers a partir de Windows Vista

En el caso de Windows Vista y el firmado de drivers con un certificado emitido por Microsoft el objetivo era acabar con todo el malware que se paseaba por ring0 en Windows XP. Rootkits y botnets hacían del modo kernel su particular palacete de verano para hacer la vida un poco más incómoda a los usuarios que los sufrían.

A partir de Windows Vista, cada driver que se va a meter en modo kernel necesita venir firmado por una entidad con un certificado especial emitido por Microsoft, lo que hizo que muchas universidades y/o investigadores particulares vieran como tenían que cambiar sus procesos para poder seguir haciendo drivers para Windows Vista.

Figura 1: Driver no firmado bloqueado en Windows

Esta medida, aunque sí dificultó y acabó con muchos de los canales de explotación tradicionales siendo una buena medida de fortificación, no fue una medida definitiva para siempre, ya aparecieron formas de saltarse esas protecciones. 

Entre las técnicas para saltarse la protección del kernel para meter drivers firmados, una primera aproximación evidente eviente fue hacerse con certificados de fabricantes de drivers autorizados y utilizarlos para firmar malware, algo que pasó y que llegó hasta el propio servicio de Windows Update, con lo que la propia Microsoft distribuyó malware.

Bootkits

La segunda aproximación, mucho más efectiva, es similar a la que se hace en el mundo del jailbreak de dispositivos iPhone, iPod o iPad de Apple, es decir, parchear el propio kernel para quitar esa comprobación. Por supuesto, para conseguir quitar esa comprobación con el sistema arrancado hace falta encontrar un fallo en el kernel que permita parchearlo - algo bastante complejo, pero que puede llegar a pasar aprovechando una ventana de tiempo -. La otra opción es quitarla antes de que el sistema arranque.

Para quitar la protección contra la inclusión de drivers no firmados en modo kernel, se utiliza un tipo de malware especial que infecta el sector de arranque para, en el siguiente reinicio del equipo arrancar con un programa que parchee el kernel antes de arrancarlo, y ya poder meter cualquier driver en modo kernel. Este  tipo de malware se llama Bootkit.

Así, con un bootkit y un poco de ingenio se atacan también los sistemas protegidos con TrueCrypt o BitLocker, detectando si el disco está cifrado en arranque, e infectando el proceso de solicitud de contraseña, para robarla de manera definitiva, y que solo podría ser protegido en aquellos equipos en los que el disco cifrado tuviera protegidas las claves por el chip TPM [Trusted Platform Module].

Uno de este tipo de malware que más famoso se hizo fue Stoned Bootkit, una solución presentada en un paper de 46 páginas de Peter Kleissner,  más que interesante de leer, y en que no sólo explica cómo está desarrollado, sino sus usos:
It [Stoned Bootkit] can also be used for malware developers to get full access to the system. It should be the most used bootkit in the wild for 2010.
Stoned Bootkit es una solución completa, que viene con un API y una completa guía de cómo adaptar el sistema para las necesidades de cualquiera que lo quiera implementar, enseñando desde cómo se ha hecho el debugging a cómo crear los ficheros para que arranque cualquier bootkit creado con él.

Figura 2: Debugging de Stoned Bootkit

UEFI y Secure Boot

Debido a esto, la industria trabajó en un sistema de protección contra este tipo de actividades maliciosas, y generó lo que hoy en día se conoce como Secure Boot, una protección que viene implementada y basada en el propio firmware del equipo, que vendrá de serie en todos los que vengan con UEFI, la evolución de las antiguas BIOS.

Esta protección que viene de serie en la UEFI del equipo, lo que hace es evitar que se cargue un MBR de un sistema no conocido, por lo que el arranque de los sistemas operativos vendrán firmados digitalmente, y el equipo comprobará la firma del MBR antes de lanzar el arranque del sistema o liberar las claves de cifrado desde el chip TPM para que se descifren los discos con Bitlocker.

Figura 3: Integridad de plataforma en Windows 8 con Secure Boot y TPM

Lo que generó alarma de esta tecnología, y de lo que se quejaron algunas organizaciones tras conocer que Windows 8 soportará Secure Boot, es de que los fabricantes de software como Microsoft podrían llegar a acuerdos con integradores de hardware para que no permitan arrancar sistemas que no sean Windows - o que los equipos con Apple solo puedan ejecutar Mac OS X -.

Secure Boot como Opt-in u Opt-out

Aunque esto podría llegar a suceder, y los que quieran instalar otro sistema en el equipo puedan verse incapacitados, parece que muchos fabricantes están dispuesto a dejar Secure Boot como una opción activable desde la UEFI o que venga con un selector, para que sea el propio usuario el que decida si lo quiere utilizar o no, pero que por defecto lo pondrán activo.

En mi opinión, tras haber visto como funciona el mundo del fraude online en el libro de Mikel Gastesi y Dani Creus, si el usuario tiene la posibilidad de desactivarlo fácilmente, ya se encargará la industria del malware convencer al usuario para que lo deshabilite.

Donde no hay que apostar mucho en contra, porque sí que parece que vendrán estas protecciones puestas de serie, será en consolas de vídeo juegos o plataformas empotradas, y algunos equipos puede que la traigan también cerrada, incluso con Windows - yo así, sin conocimiento de causa y haciendo mera especulación apuesto una cerveza a que en Apple la tendrá en sus equipos portátiles sin poder deshabilitarla -. Por otro lado, hay que decir, que muchos equipos portátiles, especialmente los ultraligeros, no cuentan con chip TPM, por lo que se debilita un poco toda esta arquitectura.

Veremos qué pasa en el futuro, pero i quieres aprender de todo esto, te recomiendo el libro de Sergio de los Santos "Máxima Seguridad en Windows" que habla de temas que tienen que ver con todo esto y de mucho más en la plataforma Windows.

Entrada destacada

Hacking IA: Jailbreak, Prompt Injection, Hallucinations & Unalignment. Nuestro nuevo libro en 0xWord

Pocas veces me ha hecho tanta ilusión que saliera un nuevo libro en 0xWord como con este libro de " Hacking IA: Jailbreak, Prompt Inje...

Entradas populares