Logotipo de Zephyrnet

T3 Ep145: ¡Bichos con nombres impresionantes!

Fecha:

UNA SEMANA, DOS BWAINS

Apple parches dos días cero, uno por segunda vez. Cómo llegó un criptosistema de 30 años agrietado. Todos tus secretos pertenecen a Zenbleed. Recordando esos anuncios dudosos de PC/Mac.

¿No hay reproductor de audio debajo? Escuchar directamente en Soundcloud.

Con Doug Aamoth y Paul Ducklin. Música de introducción y salida de Edith Mudge.

Puedes escucharnos en SoundCloud, Podcasts de Apple, Podcasts de Google, Spotify y en cualquier lugar donde se encuentren buenos podcasts. O simplemente suelta el URL de nuestro feed RSS en tu cazador de vainas favorito.


LEER LA TRANSCRIPCIÓN

DOUGLAS.  Parches de Apple, seguridad versus rendimiento y piratería de radios policiales.

Todo eso, y más, en el podcast de Naked Security.

[MÓDEM MUSICAL]

Bienvenidos al podcast, todos.

Soy Doug Aamoth; él es Paul Ducklin.

Paul, ¿qué pasa, amigo?


PATO.  ¡Es julio, Douglas!


DOUGLAS.  Bueno, hablemos de julio en nuestro Esta semana en la historia de la tecnología segmento.

El 28 de julio de 1993 nos trajo la versión 1.0 del Lenguaje de programación Lua.

E incluso si nunca has oído hablar del pequeño lenguaje que podría, probablemente te hayas beneficiado.

Lua se usa en aplicaciones como Roblox, World of Warcraft, Angry Birds, aplicaciones web de Venmo y Adobe, sin mencionar Wireshark, Nmap, Neovim y millones de aplicaciones programables más extendidas.

Paul, usas a Lua en algunos de los artículos de Naked Security, si no me equivoco.


PATO.  Soy un gran fan de Lua, Douglas.

Lo uso bastante para mis propias secuencias de comandos.

Es lo que me gusta llamar una "máquina de lucha delgada y mezquina".

Tiene unas características preciosas: es un lenguaje muy fácil de aprender; es un lenguaje muy fácil de leer; y, sin embargo, incluso puede escribir programas en estilo funcional.

(Hablando técnicamente, las funciones son objetos de primera clase en el lenguaje, por lo que puede hacer todo tipo de cosas interesantes que no puede hacer con lenguajes más tradicionales como C).

Y a menudo lo uso para lo que de otro modo sería un pseudocódigo en los artículos de Naked Security.

Porque (A) puede copiar y pegar el código y probarlo usted mismo si lo desea, y (B) en realidad es sorprendentemente legible, incluso para personas que no están familiarizadas con la programación.

Lua viene de Río de Janeiro en Brasil.
La palabra Lua significa 'luna' en portugués.

DOUGLAS.  ¡Encantador!

Muy bien, sigamos con el tema del código.

Ya hemos hablado varias veces sobre el segundo parche de respuesta rápida de Apple.

Estaba allí, no estaba allí, ¿qué le pasó?

Bueno, ese parche ahora es parte de un actualización completa, y uno que también parcheó un segundo día cero, Paul.

Apple envía ese reciente parche de software espía de "Respuesta rápida" a todos, corrige un segundo día cero


PATO.  Sí.

Si recuerdas eso Respuesta rápida, Como dijiste…

…hubo una actualización con la versión (a), que es como denotan el primero, entonces hubo un problema con eso (navegar a algunos sitios web que no estaban analizando las cadenas de User-Agent correctamente).

Entonces Apple dijo: "Oh, no te preocupes, saldremos con una versión (b) en un poco."

Y luego lo siguiente que vimos fue la versión (c).

Tiene razón, la idea de estas Respuestas rápidas es que eventualmente se conviertan en actualizaciones completas, donde obtiene un nuevo número de versión completo.

Por lo tanto, incluso si tiene miedo de las respuestas rápidas, obtendrá esas correcciones más tarde, si no antes.

Y el día cero en WebKit (eso fue lo que parchó Rapid-Response) ahora ha ido acompañado de una solución de día cero para un agujero a nivel de kernel.

Y hay algunas (¿cómo decirlo?) “coincidencias interesantes” cuando comparelo con la última actualización importante de seguridad de Apple en junio de 2023.

Es decir, que el día cero corregido en la parte de respuesta rápida estaba en WebKit y se atribuyó a "un investigador anónimo".

Y el día cero ahora parcheado en el núcleo se atribuyó al equipo antivirus ruso Kaspersky, quien informó que había encontrado un montón de días cero en los iPhone de sus propios ejecutivos, presumiblemente utilizados para un implante de spyware.

Entonces, el dinero inteligente dice, aunque Apple no mencionó esto explícitamente en sus boletines de seguridad, que esta es otra solución relacionada con lo que se llama Troyano de triangulación.

En otras palabras, software espía en estado salvaje que se usó en al menos algunos ataques dirigidos.

Eso hace que la respuesta rápida sea aún más comprensible (en cuanto a por qué Apple quería sacarlo rápidamente), porque eso evita que el navegador se use para engañar a su teléfono en primer lugar.

Y hace que esta actualización sea muy importante, porque significa que está cerrando el hoyo detrás del hoyo que imaginamos que los delincuentes usarían después de comprometer su navegador.

Estarían encadenados a esta segunda vulnerabilidad que les dio, esencialmente, control total.


DOUGLAS.  Bien, pasamos de hace dos semanas a hace 30 años...

…y esto es tal historia interesante.

Es una advertencia sobre no tratar de mantener secretos criptográficos ocultos detrás de acuerdos de confidencialidad. [NDA]

Completo con un nuevo BWAIN, Paul.

¡Tenemos un nuevo BWAIN!

Hackear radios policiales: fallas criptográficas de 30 años en el centro de atención


PATO.  "Error con un nombre impresionante".

Si mantener el algoritmo en secreto es necesario para que funcione correctamente…

…solo se necesita una persona para aceptar un soborno, o cometer un error, o aplicar ingeniería inversa a su producto, para que todo se desmorone.

Y eso es lo que hizo este sistema de radio TETRA.

Se basó en algoritmos de encriptación secretos comerciales, patentados y no estándar, con el resultado de que en realidad nunca recibieron mucho escrutinio a lo largo de los años.

TETRA es Radio troncalizada terrestre.

Es algo así como la telefonía móvil, pero con algunas ventajas significativas para personas como las fuerzas del orden y los primeros en responder, a saber, que tiene un alcance más largo, por lo que necesita muchas menos estaciones base.

Y fue diseñado desde el principio con comunicaciones de uno a uno y de uno a muchos, lo cual es ideal cuando intenta coordinar a un grupo de personas para responder a una emergencia.

Desafortunadamente, resultó tener algunas imperfecciones que solo fueron descubiertas en 2021 por un grupo de investigadores holandeses.

Y han estado esperando pacientemente casi dos años para hacer su divulgación responsable, para dar a conocer los detalles de los errores, lo que harán en un montón de conferencias, comenzando con Black Hat 2023.

Puede entender por qué quieren hacer un gran revuelo al respecto ahora, porque han estado sentados en esta información, trabajando con los proveedores para preparar los parches, desde finales de 2021.

De hecho, los CVE, los números de error que obtuvieron, son todos CVE-2022-xxxx, lo que solo indica cuánta inercia hay en el sistema que han tenido que superar para obtener parches para estos agujeros.


DOUGLAS.  Y nuestro BWAIN es TETRA:BURST, que es emocionante.

Hablemos de algunos de estos agujeros.


PATO.  Hay cinco CVE en total, pero hay dos cuestiones principales que yo consideraría como "momentos de enseñanza".

El primero, que es CVE-2022-24401, trata el espinoso tema del acuerdo clave.

¿Cómo se ponen de acuerdo su estación base y el teléfono de alguien sobre la clave que van a usar para esta conversación en particular, de modo que sea confiablemente diferente de cualquier otra tecla?

TETRA lo hizo basándose en la hora actual, que claramente solo se mueve hacia delante. (Hasta donde sabemos.)

El problema es que no hubo una etapa de autenticación o verificación de datos.

Cuando el teléfono se conecta a la estación base y obtiene la marca de tiempo, no tiene forma de verificar: "¿Es esta una marca de tiempo real de una estación base en la que confío?"

No había una firma digital en la marca de tiempo, lo que significaba que podía configurar una estación base deshonesta y engañarlos para que hablaran con usted usando *su* marca de tiempo.

En otras palabras, la clave de encriptación de una conversación de otra persona *que ya interceptaste y grabaste ayer*...

…podrías tener una conversación hoy inocentemente con alguien, no porque quisieras la conversación, sino porque querías recuperar el flujo de claves.

Entonces podrías usar ese flujo de claves, *porque es el mismo que se usó ayer*, para una conversación que interceptaste.

Y, por supuesto, otra cosa que podría hacer es, si pensó que quería poder interceptar algo el próximo martes, podría engañar a alguien para que tenga una conversación con usted *hoy* usando una marca de tiempo falsa para la próxima semana.

Luego, cuando interceptes esa conversación en el futuro, puedes descifrarla porque obtuviste el flujo de claves de la conversación que tuviste hoy.


DOUGLAS.  Bien, ese es el primer error.

Y la moraleja de la historia es: No confíe en datos que no puede verificar.

En el segundo error, la moraleja de la historia es: No construya puertas traseras u otras debilidades deliberadas.

¡Eso es un gran no-no, Paul!


PATO.  Ciertamente así es.

Ese es CVE 2022-24402.

Ahora, he visto en los medios que ha habido cierta discusión sobre si esto realmente cuenta como una puerta trasera, porque se puso a propósito y todos los que firmaron el NDA sabían que estaba allí (o deberían haberse dado cuenta).

Pero llamémoslo puerta trasera, porque es un mecanismo programado deliberadamente mediante el cual los operadores de algunos tipos de dispositivos (afortunadamente no los que generalmente se venden a las fuerzas del orden o a los socorristas, sino los que se venden a organizaciones comerciales)...

…hay un modo especial en el que, en lugar de usar claves de encriptación de 80 bits, hay un botón mágico que puede presionar que dice: “Oigan, muchachos, solo usen 32 bits en lugar de 80”.

Y cuando piensas que nos deshicimos de DES, el estándar de cifrado de datos, alrededor del cambio de milenio porque solo tenía claves de 56 bits, puede imaginar, *hoy en 2023*, cuán débil es realmente una clave de cifrado de 32 bits.

El costo de tiempo y materiales de realizar un ataque de fuerza bruta es probablemente trivial.

Te puedes imaginar, con un par de portátiles medio decentes, que podrías hacerlo en una tarde para cualquier conversación que quisieras descifrar.


DOUGLAS.  Muy bien, muy bien.

Por último, pero no menos importante, tenemos…

…si recuerdas Heartbleed allá por 2014, no entres en pánico, pero hay algo nuevo llamado Zenbleed

Zenbleed: cómo la búsqueda del rendimiento de la CPU podría poner en riesgo sus contraseñas


PATO.  Sí, es BWAIN número dos de la semana. [RISAS]


DOUGLAS.  ¡Sí, es otro BWAIN! [RISA]


PATO.  Pensé en escribir esto porque tiene un nombre lindo, Zenbleed (el nombre "Zen" proviene del hecho de que el error se aplica a la serie de procesadores Zen 2 de AMD, hasta donde yo sé), y porque este fue encontrado por el legendario cazador de errores de Google Project Zero, Tavis Ormandy, que ha centrado su atención en lo que sucede dentro de los propios procesadores.

Ataques de “sangrado”… Solo los describiré usando las palabras que escribí en el artículo:


El sufijo “-bleed” se usa para vulnerabilidades que filtran datos de forma desordenada que ni el atacante ni la víctima pueden controlar realmente.


Entonces, un ataque de sangrado es aquel en el que no puedes meter una aguja de tejer en una computadora a través de Internet y decir: “¡Ajá! Ahora quiero que encuentres esa base de datos específica llamada sales.sql y súbemelo”.

Y no puedes meter una aguja de tejer en otro agujero y decir: "Quiero que mires la compensación de memoria 12 hasta que aparezca un número de tarjeta de crédito, y luego lo guardes en el disco para más tarde".

Simplemente obtiene datos pseudoaleatorios que se filtran de los programas de otras personas.

Obtiene cosas arbitrarias que se supone que no debe ver, que puede recopilar a voluntad durante minutos, horas, días e incluso semanas si lo desea.

Luego puede hacer su trabajo de big data en ese material robado y ver qué obtiene de él.

Así que eso es lo que Tavis Ormandy encontró aquí.

Es básicamente un problema con el procesamiento vectorial, que es donde los procesadores Intel y AMD no funcionan en su modo normal de 64 bits (donde pueden, digamos, sumar dos números enteros de 64 bits juntos), pero pueden trabajar en 256. -pedazos de datos a la vez.

Y eso es útil para cosas como el descifrado de contraseñas, criptominería, procesamiento de imágenes, todo tipo de cosas.

Es un conjunto de instrucciones completamente separado dentro del procesador; todo un conjunto separado de registros internos; un conjunto completo de cálculos sofisticados y realmente poderosos que puede hacer con estos números supergrandes para obtener resultados de rendimiento supergrandes.

¿Cuál es la probabilidad de que estén libres de errores?

Y eso es lo que buscaba Tavis Ormandy.

Descubrió que una instrucción muy especial que se usa en gran medida para evitar reducir el rendimiento...

…tienes esta instrucción mágica llamada VZEROUPPER eso le dice a la CPU: "Debido a que he estado usando estos elegantes registros de 256 bits pero ya no estoy interesado en ellos, no tiene que preocuparse por guardar su estado para más adelante".

¿Adivina qué?

Esta instrucción mágica, que establece los 128 bits superiores de todos los registros vectoriales de 256 bits en cero al mismo tiempo, todo con una instrucción (puede ver que hay mucha complejidad aquí)...

…básicamente, a veces filtra datos de otros procesos o subprocesos que se han ejecutado recientemente.

Si abusas de esta instrucción de la manera correcta, y Tavis Ormandy descubrió cómo hacerlo, haces tus propias instrucciones de vector mágico y usas este súper genial VZEROUPPER instrucción de una manera especial, y lo que sucede es que los registros vectoriales en su programa ocasionalmente comienzan a mostrarse con valores de datos que se supone que no deben tener.

Y esos valores de datos no son aleatorios.

En realidad, son fragmentos de datos de 16 bytes (128 bits) *que provienen del proceso de otra persona*.

No sabes de quién.

Solo sabe que estos datos maliciosos están haciendo su aparición fantasmal de vez en cuando.

Desafortunadamente, Taviso descubrió que al hacer un mal uso de esta instrucción de la manera correcta o incorrecta, en realidad podía extraer 30 KB de datos fantasmales y no autorizados de los procesos de otras personas por segundo por núcleo de CPU.

Y aunque eso suena como una velocidad de datos muy lenta (¿quién querría 30 KB por segundo en una conexión a Internet en estos días? – nadie)…

…cuando se trata de obtener fragmentos de datos aleatorios de 16 bytes de los programas de otras personas, en realidad funciona en aproximadamente 3 GB por día por núcleo.

Habrá partes de las páginas web de otras personas; habrá nombres de usuario; puede haber bases de datos de contraseñas; puede haber tokens de autenticación.

Todo lo que tiene que hacer es revisar este extenso suministro de pajares y encontrar cualquier aguja que parezca interesante.

Y la parte realmente mala de esto es que *no son solo otros procesos ejecutándose con el mismo nivel de privilegios que usted*.

Entonces, si ha iniciado sesión como "Doug", este error no solo espía otros procesos que se ejecutan en la cuenta del sistema operativo "Doug".

Como señala el propio Taviso:


Operaciones básicas como strlen, memcpyy strcmp...


(Esas son funciones estándar que todos los programas usan para encontrar la longitud de las cadenas de texto, para copiar la memoria y para comparar dos elementos de texto).


¡Esas operaciones básicas usarán registros vectoriales, por lo que podemos usar esta técnica de manera efectiva para espiar esas operaciones que ocurren en cualquier parte del sistema!


Y se permitió, comprensiblemente, un signo de exclamación, justo ahí.


No importa si están ocurriendo en otras máquinas virtuales, sandboxes, contenedores, procesos, lo que sea.


Creo que en realidad también usó un segundo signo de exclamación allí.

En otras palabras, *cualquier proceso*, ya sea el sistema operativo, ya sea otro usuario en la misma VM que usted, ya sea el programa que controla la VM, ya sea un sandbox que se supone que debe realizar un procesamiento superprivado de contraseñas.

Solo está recibiendo esta alimentación constante de fragmentos de datos de 16 bytes provenientes de otras personas, y todo lo que tiene que hacer es sentarse, observar y esperar.


DOUGLAS.  Entonces, antes de esperar a que el proveedor de la placa base aplique el parche...

Si está utilizando una Mac, no necesita preocuparse por esto porque hay Mac basadas en ARM y Mac basadas en Intel, pero no hay Mac AMD, pero ¿qué pasa con los usuarios de Windows con procesadores AMD y tal vez ciertos usuarios de Linux?


PATO.  Su distribución de Linux puede tener una actualización de microcódigo de firmware que se aplicará automáticamente.

Y hay una característica de AMD esencialmente no documentada (o, en el mejor de los casos, muy mal documentada), un comando especial que puede dar al chip a través de lo que se conoce como MSR, o registros específicos del modelo.

Son como herramientas de ajuste de configuración para cada ronda particular de fichas.

Hay una configuración que puede hacer que aparentemente inmuniza su chip contra este error, por lo que puede aplicar eso.

Hay comandos para hacer esto para Linux y BSD, pero lamentablemente no conozco comandos similares en Windows.

Se puede jugar con los registros de CPU específicos del modelo [MSR] en Windows, pero en términos generales, necesita un controlador de kernel.

Y eso normalmente significa obtenerlo de un tercero desconocido, compilarlo usted mismo, instalarlo, cerrar la sesión del controlador...

…así que solo hazlo si es absolutamente necesario y si sabes absolutamente lo que estás haciendo.

Si realmente estás desesperado con Windows y tienes un procesador AMD Zen 2, creo que… (No lo he probado porque no tengo una computadora adecuada a mano para mis experimentos).


DOUGLAS.  Deberías gastar uno. [RISAS]

¡Esto está relacionado con el trabajo!


PATO.  Probablemente podría, si descarga e instala WinDbg [pronunciado “windbag”], el depurador de Microsoft…

…que le permite habilitar la depuración del kernel local, conectarse a su propio kernel y jugar con registros específicos del modelo [VOZ DRAMÁTICA] *bajo su propio riesgo*.

Y, por supuesto, si está usando OpenBSD, por lo que escuché, el bueno de Theo [de Raadt] dijo: “Sabes qué, hay una mitigación; está activando este bit especial que detiene el funcionamiento del error. Vamos a hacer eso por defecto en OpenBSD, porque nuestra preferencia es tratar de favorecer la seguridad incluso a costa del rendimiento”.

Pero para todos los demás, tendrá que esperar hasta que se solucione o hacer un poco de micro-hackeo, ¡todo por su cuenta!


DOUGLAS.  Muy bien, muy bien.

Mantendremos un ojo en esto, recuerda mis palabras.

Y mientras el sol comienza a ponerse en nuestro programa de hoy, escuchemos a uno de nuestros lectores en Facebook.

Esto se relaciona con la historia de Apple que se mencionó en la parte superior del programa.

Antonio escribe:


Recuerdo, en el pasado, cuando los usuarios de Apple solían fanfarronear entre la multitud de PC sobre cómo la arquitectura de Apple era hermética y no necesitaba parches de seguridad.


Paul, eso plantea una pregunta interesante, porque creo que revisamos esto al menos una vez al año.

¿Qué les decimos a las personas que dicen que Apple es tan seguro que no necesitan ningún software de seguridad, o que no necesitan preocuparse por la piratería, el malware o cualquier tipo de cosas por el estilo?


PATO.  Bueno, por lo general mostramos una gran sonrisa amistosa y decimos: “Oye, ¿alguien recuerda esos anuncios? Soy una PC/Soy una Mac. Soy una PC/Soy una Mac. ¿Cómo se desarrolló eso? [RISA]


DOUGLAS.  ¡Bien dicho!

Y muchas gracias, Anthony, por escribir eso.

Si tiene una historia interesante, un comentario o una pregunta que le gustaría enviar, nos encantaría leerlo en el podcast.

Puede enviar un correo electrónico a tips@sophos.com, comentar cualquiera de nuestros artículos o contactarnos en las redes sociales: @nakedSecurity.

Ese es nuestro programa de hoy; muchas gracias por escuchar

Para Paul Ducklin, soy Doug Aamoth, les recuerdo, hasta la próxima, que...


AMBAS COSAS.  ¡Mantente seguro!

[MÓDEM MUSICAL]


punto_img

Información más reciente

punto_img