Esta semana en seguridad: omisión de arranque seguro, Attack On Titan M, debilidad de KASLR

Es discutible cuán útil es el Arranque seguro para los usuarios finales, pero ahora hay otro problema con el Arranque seguro, o más específicamente, un trío de gestores de arranque firmados. Los investigadores de Eclypsium han identificado problemas en los cargadores de arranque Eurosoft, CryptoPro y New Horizon. En los dos primeros casos, un shell UEFI demasiado flexible permite el acceso a la memoria sin procesar. No es necesario firmar un script de inicio y puede manipular fácilmente el inicio a voluntad. El problema más reciente se encuentra en el producto New Horizon Datasys, que deshabilita cualquier verificación de firma para el resto del arranque, al mismo tiempo que informa que el arranque seguro está habilitado. No está claro si esto requiere una opción de configuración o simplemente está completamente roto de forma predeterminada.

El verdadero problema es que si el malware o un atacante pueden obtener acceso de escritura a la partición EFI, uno de estos cargadores de arranque firmados se puede agregar al cargador de arranque, junto con alguna carga útil desagradable, y el sistema operativo que eventualmente se inicia todavía ve el Arranque seguro habilitado. . Es el vehículo perfecto para infecciones verdaderamente sigilosas, similar a CosmicStrand, el firmware malicioso que cubrimos hace unas semanas.

¿Juego?

Juegos de azar en línea. Al igual que apostar en un casino, la casa casi siempre gana, por diseño. Pero también, como en un casino real, hay algunas técnicas inteligentes como contar cartas en el Blackjack, que es suficiente para cambiar las probabilidades a tu favor. En ese caso, observa cuántas cartas grandes y pequeñas se jugaron y ajusta tu apuesta en consecuencia. NCC Group observó un juego de casino en línea "Big Six": este es un poco diferente de la mayoría de los juegos de apuestas en línea, ya que hay una persona real que actúa como croupier. El croupier hace girar la rueda que determina el resultado de las apuestas realizadas. Los humanos tienen algo en común con las computadoras, porque ambos somos intrínsecamente terribles para producir buena aleatoriedad.

Comenzaron recopilando datos y luego los analizaron en busca de patrones notables. Se procesó una extensión de más de 7000 rondas del juego y lo que surgió fue una correlación entre la posición de la rueda justo antes de que se cerraran las apuestas y el número ganador. En pocas palabras, el crupier tenía la tendencia de hacer girar la rueda con la misma fuerza cada vez. Un poco de visión por computadora y apuestas de guión, y tuvieron una combinación ganadora. ¿Cuánta ganancia? Un poco más del 20% de retorno de la inversión después de 1000 rondas.

Ataque en Titan

El equipo de Quarkslab está un poco fascinado con el Titan M, el chip de seguridad de Google en sus teléfonos Pixel. Entre sus otras funciones, el Titán proporciona un enclave seguro para los secretos. Se comunica con el procesador principal del teléfono a través de SPI y tiene todas las funciones de seguridad y mitigaciones esperadas para mantener los secretos a salvo. Bueno, casi todos. El diseño simple de este procesador dedicado también significa que no tiene algunas de las complejas protecciones contra corrupción de memoria que podría tener un procesador más complicado. También es bastante simple que el diseño de la memoria sea bastante estático.

El primer ataque de Quarkslab fue usar su cliente nos para enviar mensajes arbitrarios al Titán: fuzzing de caja negra. Piensa en ello como tirar espaguetis de todos los tamaños contra la pared virtual para ver si alguno se pega o choca. Sin duda, es una técnica que vale la pena y, a veces, es todo lo que está disponible, pero por lo general no se puede llegar a las rutas de código más interesantes de esta manera. Estos muchachos realmente saben manejar Titan M, así que optaron por un enfoque diferente, imitando partes del firmware y fuzzing el dispositivo copiado. Es difícil de lograr y existen limitaciones porque su emulación generalmente no coincide perfectamente con el hardware real, pero la ventaja es que puede llegar a rutas de código en las que sería realmente difícil aterrizar accidentalmente solo con fuzzing.

Y encontrar un error que hicieron. enviando un ImportKeyRequesta 0x01 se puede escribir en una ubicación fuera de los límites no completamente arbitraria. Al incluir varias etiquetas en la solicitud, esto se puede hacer varias veces a la vez. Fue un comienzo muy limitado, pero sólido. La clave fue reemplazar un puntero utilizado por una rutina diferente, el controlador de solicitudes Keymaster. El indicador era dónde se copiarían las solicitudes entrantes, por lo que el ataque comienza a tomar forma. Use la primitiva de un byte para envenenar la clave, luego envíe una solicitud que se escriba en esta nueva ubicación. A través de la experimentación, descubrieron que podían enviar 556 bytes arbitrarios, seguidos de una dirección de memoria, y la ejecución saltaba a esa dirección. Tomó algunos retoques, pero con un poco de Programación Orientada al Retorno, esto fue suficiente para leer la memoria desde cualquier parte del chip y enviarla de vuelta a través del bus SPI a su cliente. El parche de seguridad de junio de Google incluye la corrección de esta vulnerabilidad muy inteligente.

Omisión de KASLR en MacOS

Una de las mitigaciones que faltan en Titan M es la aleatorización del diseño del espacio de direcciones del kernel, pero KASLR está bastante presente en MacOS, lo que hace que las vulnerabilidades a nivel del kernel sean mucho más difíciles. O debería, excepto que hay un agujero bastante grande en el diseño de MacOS KASLR. Ese rasgo es la hibernación, o mejor dicho, el despertar de la hibernación. Hay __HIB un segmento central que siempre se asigna a la misma dirección y se llama como parte de la reactivación. Parte de este segmento es el dblmap un bloque de memoria que en realidad está mapeado dos veces en el espacio de memoria virtual. Se utiliza, entre otras cosas, en el cambio de contexto del espacio de usuario/espacio del kernel. Debido a su disponibilidad en modo de usuario, es vulnerable a ser leído por un ataque Meltdown, y los punteros allí revelan el valor de "diapositiva": la dirección base de KASLR. Incluso en una CPU a prueba de Meltdown, el __HIB sector tiene algunos otros usos. Hay mucho más en la publicación, y no es probable que se solucione pronto, así que si lo tuyo son las vulnerabilidades de MacOS, ¡diviértete!

quien es ¡¿Qué diablos?!

Si la piratería XNU está más allá de su cheque de pago, como lo es el mío, entonces esta herramienta podría ser más nuestra velocidad. wftis es una nueva herramienta que extrae de múltiples fuentes y actúa como una iteración acelerada de whois. Extrae información de Virustotal, Passivetotal e IPWhois para obtener datos sobre el nombre de dominio dado. Si aparece un dominio extraño en sus registros, wtfis podría ser la herramienta para cambiar. Requiere claves API para los primeros dos servicios, pero debería funcionar bien en su nivel gratuito.

Ataque sónico

Y finalmente, el internet más extraño que he encontrado últimamente. Muchas gracias a [mtxyz] en Discord por alertar a CVE-2022-38392, un problema antiguo que acaba de resurgir. Un OEM de computadoras portátiles descubrió que el video musical de Rhythm Nation seguramente haría que sus computadoras portátiles fallaran. Aún más extraño, reproducir la canción en una computadora portátil también haría que una computadora portátil cercana fallara. Más tarde se descubrió que el disco duro de 5400 RPM enviado en esas computadoras portátiles tenía una frecuencia resonante que se activaba con la canción, lo que provocaba una falla temporal. La solución fue un filtro de frecuencia duro para extraer esa frecuencia. Suena un poco como chirriar discos duros en el centro de datos. Disfrutar:

Ricardo Vicente
Ricardo Vicente

Deja una respuesta

Tu dirección de correo electrónico no será publicada.