Extracción de información de sistemas infectados a través de las luces LED

Antenas En Air-Gapped Devices Can Send Covert Morse Signals via Network Card LEDs nos cuentan de otro caso de extracción de información de una máquina. Esta vez, a través de los LEDs de la tarjeta de red, utilizando el lenguaje morse.

A security researcher who has a long line of work demonstrating novel data exfiltration methods from air-gapped systems has come up with yet another technique that involves sending Morse code signals via LEDs on network interface cards

Se trataría de instalar un malware en la máquina y utilizarlo para controlar esas lucecitas LED, mediante parpadeos o cambios de color.

Malware installed on the device could programmatically control the status LED by blinking or alternating its colors, using documented methods or undocumented firmware commands,” Dr. Guri said.

Curioso.

Un viejo artículo sobre los generadores de números seudoaleatorios y las consecuencias de su elección

Sistema solar Ya hemos hablado otras veces de los números aleatorios y la seguridad. En esta ocasión, sin embargo, traemos un artículo sobre números aleatorios (seudoaleatorios, generados) de uso genérico (no se habla de seguridad; me permito recordar que los números seudoaleatorios que se usan en ciberseguridad no pueden ser los mismos que se utilizan en simulaciones, por ejemplo, porque los requisitos son diferentes).

Se trata de un artículo que ya tiene unos años: Quality of random number generators significantly affects results of Monte Carlo simulations for organic and biological systems. Como es un tema recurrente por aquí (aunque con otro enfoque), valdrá la pena guardarlo.

Prueban a hacer simulaciones con diferentes algoritmos generadores y ven que el resultado es diferente.

We have simulated pure liquid butane, methanol and hydrated alanine polypeptide with the Monte Carlo technique using three kinds of random number generators - the standard Linear Congruential Generator (LCG), a modification of the LCG with additional randomization used in the BOSS software, and the “Mersenne Twister” generator by Matsumoto and Nishimura.

De las conclusiones: la elección del generador puede tener efectos importantes en los resultados físicos de los cálculos y las pruebas estadísticas básicas no son suficientes para identificar todos los problemas potenciales.

Thus, we can conclude that, on one hand, the choice of a random number generator for Monte Carlo simulations can have a very strong effect on the physical results of the calculations and, on the other hand, simple statistical tests are not sufficient to identify all the potential problems.

'Mejorando' el sistema de entretenimiento de su coche

Expo. Pantallas Prometo que yo pensaba que con un par de entradas ‘duras’ sobre las dificultades y lo sofisticado que es atacar un producto moderno sería suficiente pero la entrada How I Hacked my Car es demasiado apropiada para dejarla pasar aquí. Tiene segunda parte, en How I Hacked my Car Part 2: Making a Backdoor y tercera How I Hacked my Car Part 3: Making Software.

Se trata de un ataque que le da acceso al sistema de entretenimiento.

One thing I particularly liked about this vehicle was the In-Vehicle Infotainment (IVI) system. As I mentioned before it had wireless Android Auto which seemed to be uncommon in this price range, and it had pretty nice, smooth animations in its menus which told me the CPU/GPU in it wasn’t completely underpowered, or at least the software it was running wasn’t super bloated.

El autor tiene un 2021 Hyundai Ioniq SEL y se pone a ‘jugar’ con él. En la entrada nos cuenta los pasos que dió y cómo lo consiguió.

Finalmente lo consigue.

Bingo! My app was running. The buttons also worked flawlessly, allowing me to lock or unlock my doors. I also dumped the logs after exiting my app and saw that my test button log and other debug log entries were successfully written in the Logcat file.

I now had full control over my car’s IVI, which is certainly a nice feeling. There is still more to be learned about the system though and I might make more posts about it as I find out more information.

El modelo 'repair café' como mecanismo de aprendizaje

Guerreros en reparación Los repair cafés son reuniones en las que acuden especialistas de diversos ámbitos que reparan, si es posible, los aparatos que llevan las personas interesadas. El tema no es menor, porque reparar un dispositivo puede ser muy sencillo para un especialista, pero no siempre es fácil conseguirlos. También es cierto que reparar un aparato no es siempre sencillo si tenemos en cuenta los inconvenientes de llevarlo a alguna parte, que donde lo llevemos sea el sitio adecuado, y que el coste sea razonable.

En Repair cafés in computing education nos hablan justamente de este modelo, contándonos como algunos centros alemanes han identificado esta idea como una oportunidad de aprendizaje para su estudiantado. Se añaden, claro, las enseñanzas relacionadas con la sostenibilidad.

Researchers from Germany have identified this as an opportunity to develop a scheme of work for Computing, while at the same time highlighting the importance of sustainability in hardware and software use. They hypothesised that by repairing defective devices, students would come to understand better how these devices work, and therefore meet some of the goals of their curriculum.

Identifican tres tipos fundamentales de reparación, cables rotos, pantallas rotas y mejoras de los disposivos:

In the classroom, repair workstations were set up for three different categories of activity: fixing cable breaks, fixing display breaks, and tinkering to upcycle devices.

Sin tener mucha habilidad yo trato de reparar mis dispositivos siempre que es posible y reúno las ‘fuerzas’ suficientes para hacerlo. Aprendo un poco, me distraigo y, a veces, recupero un dispositivo que estaba estropeado. Entre mis ‘logros’, sustituir una pantalla de un Kindle y también de un portátil pequeñito (que yo mismo rompí apretando demasiado la maleta). También cambié la batería de mi Kindle. Entre los fracasos, un par de ventiladores que no he sabido ni cómo comenzar a manejar.

Muy interesante.

Mejorando la gestión de la memoria en C++ para mejorar la seguridad

Punteros C y su pariente cercano, C++, sufren problemas de seguridad derivados de la gestión manual de memoria. No sólo ellos, claro, sino muchos otros por el simple hecho de que sus compiladores/intérpretes/herramientas están programados en estos lenguajes.

En Retrofitting Temporal Memory Safety on C++ nos cuentan los esfuerzos de Google para aliviar estos problemas.

Nos hablan de la ‘cuarentena’ de la memoria, que consiste en marcar la memoria liberada en algún momento y no permitir su utilización (no está disponible) hasta que se cumplen algunas condiciones que garantizan la seguridad.

Over the last decade, another approach has seen some success: memory quarantine. The basic idea is to put explicitly freed memory into quarantine and only make it available when a certain safety condition is reached. nos cuentan los esfuerzos de Google para aliviar estos problemas.

Nos hablan de la ‘cuarentena’ de la memoria, que consiste en marcar la memoria liberada en algún momento y no permitir su utilización (no está disponible) hasta que se cumplen algunas condiciones que garantizan la seguridad.

Over the last decade, another approach has seen some success: memory quarantine. The basic idea is to put explicitly freed memory into quarantine and only make it available when a certain safety condition is reached. nos cuentan los esfuerzos de Google para aliviar estos problemas.

Nos hablan de la ‘cuarentena’ de la memoria, que consiste en marcar la memoria liberada en algún momento y no permitir su utilización (no está disponible) hasta que se cumplen algunas condiciones que garantizan la seguridad.

Over the last decade, another approach has seen some success: memory quarantine. The basic idea is to put explicitly freed memory into quarantine and only make it available when a certain safety condition is reached. nos cuentan los esfuerzos de Google para aliviar estos problemas.

Nos hablan de la ‘cuarentena’ de la memoria, que consiste en marcar la memoria liberada en algún momento y no permitir su utilización (no está disponible) hasta que se cumplen algunas condiciones que garantizan la seguridad. Se utiliza en su navegador, Chrome, pero también hay alguna aproximación similar en el kernel de Linux.

Over the last decade, another approach has seen some success: memory quarantine. The basic idea is to put explicitly freed memory into quarantine and only make it available when a certain safety condition is reached.

La condición de seguridad se basa en verificar que no hay punteros que hagan referencia a esta memoria, mediante la intercepción de las llamadas de petición de memoria.

The main idea behind assuring temporal safety with quarantining and heap scanning is to avoid reusing memory until it has been proven that there are no more (dangling) pointers referring to it. To avoid changing C++ user code or its semantics, the memory allocator providing new and delete is intercepted.

En el artículo se habla de las formas de hacerlo, los compromisos alcanzados, e incluso de algunos apoyos de la arquitectura hardware (ARM v8.5A).

Interesante.