La seguridad en los tiempos de la IA y la sostenibilidad del software libre

Fuente de los boles

El panorama ha cambiado un poco en los últimos tiempos, y en Triaging security issues reported by third parties la queja era que recibían muchos avisos de seguridad, perdiendo mucho tiempo en verificarlos, aunque no siempre son tan importantes.

I have to spend several hours each week dealing with security issues reported by third parties. Most of these issues aren’t critical but it’s still a lot of work.

Tiene algo que ver con la irrupción de la IA (más facilidad para hacer análisis y encontrar fallos), pero también con que el software libre no termina de encontrar el camino para financiar a sus desarrolladores y ese trabajo termina siendo, muchas veces, pura voluntariosidad.

In the long run, putting such demands on OSS maintainers without compensating them is detrimental. I just stepped down as libxslt maintainer and it’s unlikely that this project will ever be maintained again. It’s even more unlikely with Google Project Zero, the best white-hat security researchers money can buy, breathing down the necks of volunteers.

Mensajes que misteriosamente no llegan

Muros

A veces traemos fallos bastante sofisticados y hasta difíciles de seguir. En este caso…

En Cracking The Dave & Buster’s Anomaly nos hablan de uno verdaderamente curioso: si se envía un mensaje de audio en la aplicación Messages, el receptor también utiliza esa misma aplicación e incluye el nombre “Dave and Buster’s”, el mensaje nunca se recibirá.

The bug is that, if you try to send an audio message using the Messages app to someone who’s also using the Messages app, and that message happens to include the name “Dave and Buster’s”, the message will never be received.

Nos cuenta cómo busca si es un error conocido y no encontrando explicaciones satisfactorias se puso a investigar por su cuenta.

El problema parece tener que ver con que el mensaje se transcribe:

Something else you may have noticed is that when you send an audio message using the Messages app, the message includes a transcription of the audio.

Y el traductor lo convierte en una cadena con el carácter &:

the transcription engine on iOS will recognize¹ the brand name and correctly write it as “Dave & Buster’s” (with an ampersand).

Pero este carácter tiene significado en HTML (y XHTML). El problema era que el traductor no tenía en cuenta este significado y no aplicaba los métodos de marcado adecuado para que no se interprete como parte de una etiqueta:

The audio-transcription attribute includes the full transcription from the audio, and it clearly has the unescaped ampersand symbol.

En algún punto se detecta que ese código no está bien construido, falla y deja de procesar el mensaje.

Since BlastDoor was designed to thwart hacking attempts, which frequently rely on faulty data parsing, it immediately stops what it’s doing and just fails.

Como dice el autor, ¿es un fallo de seguridad? Es posible que lo sea, pero en principio parece más bien lo contrario: una protección contra los problemas de seguridad que va más allá de lo necesario.

On the surface, this does sound like it could be used to “hack” someone’s iPhone via a bad audio message transcription, but in reality what this bug demonstrates is that Apple’s BlastDoor mechanism is working as designed.

Interesante. Es un tipo de fallos muy difíciles de controlar y que tienen muchas posibilidades para realizar ataques, aunque en este caso nos quedamos en el lado de la seguridad.

IMAP: leyendo correos desde nuestra terminal

Rimas populares

Suelo comentar siempre que puedo (y tiene sentido) cómo los protocolos de internet son bastante simples y, además, puro texto (que es algo que uno no siempre espera cuando lo que ve son imágenes, sonido, …).

En Talking To Your Mailserver Is Not as Hard as You Think! nos hablan del protocolo de correo IMAP (acceso remoto a carpetas en nuestro servidor) y cómo podemos ‘hablar’ con nuestro servidor de manera bastante sencilla.

Empieza recordándonos que se trata de un protocolo descentralizado.

Unlike WhatsApp, Telegram or other messenger services, where the service provider has a centralized server (or nowadays a network of servers) processing all the messages; with emails, everybody can host their own mailserver to send and receive messages to everybody else.

IMAP son las siglas de protocolo de acceso a mensajes de internet y alrededor del correo electrónico es uno de los protocolos que hay, en este caso, para leerlo.

IMAP, which stands for Internet Message Access Protocol.

Luego entra en detalles de las instrucciones (‘comandos’) necesarios para establecer una comunicación con nuestro servidor y poder interactuar para ver qué mensajes hay, leerlos, y realizar algunas operaciones. No es la experiencia más amigable, pero nos dará una idea de todo lo que nuestro programa de correo hace por nosotros.

Usando IAs para portar código

Buque carguero Humbergracht

En el mundo actual, con las IAs generativas trabajando a todo trapo y mejorando a buen paso, la pregunta no es si se hará alguna tarea concreta con ellas, sino cuando.

En este caso, en Rewriting SymCrypt in Rust to modernize Microsoft’s cryptographic library nos cuentan una experiencia de Microsoft re-escribiendo una biblioteca criptográfica con la ayuda de una de estas IAs.

Nos hablan del proceso de verificación formal para asegurarse de que lo que obtienen es correcto y algunas otras pruebas.

Formal verification will confirm that implementations behave as intended and don’t deviate from algorithm specifications, critical for preventing attacks. We’ll also analyze compiled code to detect side-channel leaks caused by timing or hardware-level behavior.

Porque utilizar la IA y aceptar sus resultados sin más sería suicida, ¿no es así?

Interesante.

Secuestro de datos en el entorno industrial: un gran problema

En la fábrica de galletas

El secuestro de datos (ransomware) es un problema que sigue de actualidad, aunque ahora esté un poco silenciado por los riesgos de la IA. Hace algún tiempo podíamos leer On average, manufacturing companies lose $1.9 million per day to downtime from ransomware attacks. Esto es, este tipo de ataques estarían teniendo unas consecuencias del orden de 1.9 millones de dólares diarios. Se centra en empresas de fabricación (manufacturing companies).

Estos datos siempre hay que tomarlos con cuidado, porque suelen provenir de vendedores de algún producto que intentará evitarnos el problema, pero tampoco suelen ser inventados (o no del todo). En este caso los datos venían de 858 empresas que desde octubre de 2018 habrían sufrido ataques de este tipo con unos costes muy imporantes.

From 2018 to October 2024, 858 manufacturing companies suffered a confirmed ransomware attack. On average, this costs companies over $1.9 million per day of downtime, resulting in total estimated losses of $17 billion.

Este ataque es bien conocido, pero por si acaso, vale la pena recordar que se trata de que alguien (o algo) accede a nuestros sistemas y cifra la información, haciendo que no podamos utilizarla. A partir de ese momento nos piden un rescate y las pérdidas pueden venir por dos caminos:

  • Por un lado, relacionadas con el tiempo que la empresa no puede desarrollar su trabajo con normalidad
  • Por el otro, si tiene que pagar el rescate

Los ataques se producen a nivel mundial, siendo las zonas más desarrolladas las más afectadas, como es natural (ojo, seguramente también porque son de las que se tienen datos).

Luego proporciona una serie de números de los que saco que el tiempo de no dispoinibilidad iba de unas pocas horas a más de cuatro meses.

Downtime varied from several hours to 129 days

Las cantidades solicitadas por los secuestradores podían ir desde los 5000 dólares a los 200 millones, con una media de 10.7 millones.

Ransom demands varied from $5,000 to $200 million. The latter was demanded after LockBit’s attack on Boeing (which wasn’t paid)

On average, attackers demanded $10.7 million in ransom. Based on that figure, we can estimate that around $9.3 billion in ransom has been demanded in total

Hay un montón de cifras más y creo que vale la pena echarle un vistazo, aunque sean datos de hace poco más de un año.

Los países más afectados serían EEUU, Alemania, Francia, Japón, ….

Muy interesante.