Entradas de la categoría ‘Informática en general’

Cuando el rover Curiosity llevó un ‘bug’ informático terrestre a Marte

Curiosity en Marte

Curiosity en Marte

Hace un par de años se descubrió un error informático que tenía ya 20 años de edad en el momento y que se localizó en multitud de dispositivos como coches, aviones, teléfonos móviles Android, maquinas que usan código abierto y hasta en el mismísimo Curiosity, el vehículo que la NASA envió a Marte en noviembre del año 2011.

El error se encontraba en el algoritmo de compresión de datos Lempel-Ziv-Oberhumer (LZO), creado por Markus Oberhumer, que fue el que descubrió y dio a conocer el fallo y compiló la nueva versión 2.07 del código corregido.

El algoritmo LZO fue creado en 1994 y, desde entonces, ha sido incluido en infinidad de sistemas, como por ejemplo OpenVPN, FFmpeg y el kernel de Linux. Oberhumer aseguró en su momento que la vulnerabilidad en el antiguo código podría provocar desbordamientos de búfer, denegaciones de servicio y ejecución remota de código bajo las condiciones necesarias, las cuales requieren tamaños de búfer enormes, e infrecuentes, y donde haya que descomprimir más de 16 MiB (224 bytes) dentro de un sola llamada a una función.

El impacto más grave cayó sobre plataformas de medios populares de FFmpeg y Libav, y muchos proyectos dependientes de ellos, como VLC Media Player y Handbrake. Los usuarios no actualizados y afectados pudieron ver comprometidas sus máquinas cuando reproducían películas, o audio, desde sitios maliciosos. El fallo también afectó a microcontroladores Linux utilizados en muchos dispositivos y máquinas, como coches y otros vehículos.

Un bug en toda regla que los humanos llevamos hasta Marte y que podría haber causado un conflicto interplanetario. O no.

Cuando comprimíamos con ARJ en los noventa

ARJ

ARJ

No era el mejor empaquetador de archivos, ni el más eficiente, ni el más rápido, pero tenía una profusión de opciones y características que hacían de él el software de compresión más querido y utilizado por los retrofrikis de la era de MS-DOS del siglo pasado; lo que hoy llamarían los tecnocursis un must-have.

Desarrollado por un tal Robert K. Jung, ARJ (Archived by Robert Jung) tenía un amplio listado de comandos y parámetros que se podían utilizar para empaquetar ficheros y reducir su tamaño, algo que se hacía imprescindible en aquellos momentos de trapicheo de disquetes de 3½» y de módems que funcionaban a pedales en los albores de Intenet y en plena ebullición de las BBS. En la siguiente imagen se puede observar el listado de modificadores y comandos que tenía la versión 2.30 de 1992.

ARJ

ARJ

Una de las ventajas que tenía esta aplicación, es que permitía crear archivos comprimidos en varios volúmenes, es decir, en diversos ficheros partidos y relacionados entre sí. De esta manera, éramos capaces en aquel momento de partir un juego, un grupo de imágenes de chicas ligeras de ropa o un enorma plano de AutoCAD en muchos trozos, pudiendo especificar el tamaño de las partes para que cupiera cada una de ellas en un disco flexible. Y qué momentos aquellos de llegar a casa, descomprimir el conjunto y observar cómo fallaba el penúltimo disquete dando al traste con todo el trabajo y con nuestra completa paciencia.

Además de ello, los más avezados en el mundo del DOS de Microsoft, combinaban todas las capacidades de ARJ con sus conocimientos de comandos de archivos de proceso por lotes, los ya olvidados .BAT, para generar auténticos y fabulosos programas de instalación para juegos o software propio, posibilitando incluso que el ordenador te fuera pidiendo los distintos discos, haciendo pausas, descomprimiendo y copiando al disco duro. ¡Toda una gran época de bricolaje y cacharreo informático!

ARJ

ARJ

ARJ también permitía al usuario alterar el nivel de compresión de un archivo, haciéndolo popular en redes de correo de paquetes pequeños como WWIVnet y HOGnet, que usaban opciones de compresión más bajas para aprovechar el empaquetado basado en módems (como MNP o v.42bis) y así reducir las facturas de las llamadas a larga distancia que, invariablemente, conllevaban la membresía en dichas redes.

Desde aquellos momentos noventeros, ARJ fue perdiendo poco a poco su liderazgo como compresor de archivos en favor de otros mejores, más potentes y más bonitos, sobre todo los basados en el extendido ZIP y en el propietario RAR. Sin embargo, aún está activo su sitio web, y se puede comprobar que sus últimas versiones datan de enero de 2012 y son la 2.86 para DOS y la 3.20 para Windows de 32 y 64 bits. Vamos, que sigue dando guerra desde las trincheras electrónicas.

Por cierto, existe una versión open-source de este compresor del año 2010. ¡Larga vida, pues, a ARJ!

¿Por qué una tecnología de hace 40 años sigue controlando el tráfico aéreo estadounidense?

FAA

FAA

El 26 de septiembre del año 2014, un contratista del mundo de las telecomunicaciones llamado Brian Howard despertó temprano y se dirigió al Chicago Center, un centro de control de tráfico aéreo en Aurora (Illinois) donde había trabajado durante ocho años. Había decidido suicidarse y, como gesto de su última voluntad, planeó llevarse un pedazo del sistema del control de tráfico aéreo de Estados Unidos con él.

Las grabaciones confirmaron que Brian Howard entró en el Chicago Center a las 5:06 de la mañana y bajó al sótano, donde provocó un incendio en el compartimento de electrónica. Seguidamente se cortó el cuello. Los servicios médicos salvaron la vida de Howard, pero los sistemas del Chicago Center, que en ese momento controlaba el tráfico aéreo por encima de 10.000 pies y en un área de 91.000 kilómetros cuadrados, se apagaron.

El día del incendio

El día del incendio

Las aerolíneas cancelaron 6.600 vuelos; el tráfico aéreo se interrumpió durante 17 días. Howard había querido causar problemas, pero no había previsto una catástrofe de tal magnitud. Había publicado un mensaje en su cuenta de Facebook diciendo que el sabotaje «no tendría un alto costo para el sistema de control del espacio aéreo, pues todas las comunicaciones deberían cambiar a la ubicación alternativa«. Se equivocaba. Nadie sabe de qué lugar alternativo estaba Howard hablando, porque no existe tal cosa. Howard había trabajado en el centro durante casi una década, e incluso él no conocía eso.

En cualquier momento dado, alrededor de 7.000 aviones sobrevuelan los Estados Unidos. Durante los últimos 40 años, el mismo sistema informático ha controlado todo este tráfico de gran altitud, es una reliquia de la década de 1970 conocida como Host. El núcleo del sistema es anterior a la llegada del GPS, por lo que Host utiliza radares terrestres punto a punto. Cada día, miles de viajeros aéreos ponen sus teléfonos inteligentes con GPS en «modo avión», mientras que sus vuelos son guiados por una tecnología que es anterior al ‘Speak & Spell‘ de Texas Instruments.

Si ahora mismo estás leyendo esto a 30.000 pies de altura, relájate, Host es todavía seguro en términos de conducir aviones de un punto A a un punto B, pero es increíblemente ineficiente. Puede manejar una cantidad limitada de tráfico, y los controladores no pueden ver nada fuera de su propio espacio aéreo; cuando un avión se traslada a un espacio aéreo contiguo, se desvanece en su radar.

La FAA (Federal Aviation Administration) estadounidense sabe todo esto perfectamente. Durante once años, la agencia ha ido migrando hacia un conjunto de actualizaciones conocidas como NextGen. En su núcleo porta un nuevo sistema informático que reemplazará a Host y permitirá que cualquier controlador, en cualquier lugar, pueda ver cualquier avión en el espacio aéreo estadounidense. En teoría, esto permitiría a un centro de control aéreo asumir el mando de otro con sólo tocar una tecla, como Howard parecía creer que ya era posible.

Esta tecnología es problemática y costosa, pero esa no es la mayor de las complicaciones. El problema principal es que NextGen es un proyecto de la FAA. La agencia es, principalmente, un órgano regulador, es la responsable de mantener la seguridad del espacio aéreo nacional y, además, también se encarga de operar el control del tráfico aéreo, un conflicto inherente que causa grandes problemas a la hora de completar las actualizaciones. Modernización, una lucha de cualquier agencia federal, es prácticamente la antítesis de la cultura operativa de la FAA, que es adversa al riesgo metódico y burocrático. A esto se suma que la FAA es la única consumidora del producto, por lo que no existen presiones por parte de los mercados.

La primera fase de NextGen es reemplazar Host con el nuevo sistema informático, la base para todas las futuras actualizaciones. La FAA pretendía terminar el trabajo para la pasada primavera, cinco años más tarde de lo previsto y, por lo menos, 500 millones de dólares por encima del presupuesto original.

La compañía Lockheed Martin comenzó a desarrollar el software en el año 2002, y la FAA proyectó que la transición desde Host estaría completa a finales de 2010. En 2007, el sistema actualizado se utilizaba sólo a través de pruebas internas, pero una vez instalado, era espantosamente inestable y contenía cientos de bugs. Por ejemplo, a veces vinculaba aviones a los datos de vuelo de una aeronave equivocada; otras veces los aviones desaparecían por completo de las pantallas de los controladores.

Recientemente, en abril de 2014, el sistema se vino abajo en Los Angeles Center cuando un jet militar U-2 entró en su espacio aéreo. El avión espía cruzó a 60.000 pies, el doble de la altitud de los aviones comerciales, y su plan de vuelo provocó un fallo de software que sobrecargó la sistema y lo tumbó.

En el sector privado, las empresas de tecnología se mueven rápido y actualizan sistemas sin poner en riesgo nuestra seguridad. Pero cuando el gobierno actualiza sus tecnologías, las regulaciones y la burocracia interceden antes de escribir una sola línea de código. El proceso de contratación pública está atada a mil reglas y normas, y la nueva tecnología en cuestión tiene que ajustarse a esas normas, si son o no son eficientes ni siquiera es relevante.

Y en esas estamos.

Si la aleatoriedad es una lotería, ¿por qué no usar la lotería para la aleatoriedad?

Aleatoriedad con lotería

Aleatoriedad con lotería

Un grupo de expertos criptógrafos franceses ha asegurado que las loterías públicas son la semilla perfecta para la criptografía de curva elíptica, una variante de la criptografía asimétrica o de clave pública basada en las matemáticas de las curvas elípticas.

Este grupo, perteneciente a la empresa CryptoExperts, junto con ingenieros del Laboratoire de Mathematiques de Versailles (de la Universidad París-Saclay) llama, en broma, al esquema la «curva del millón de dólares«. Según ellos señalan, y de lo que se hacen eco en el blog británico The Register, proponen una solución definitiva (y divertida) para el problema de generar aleatoriedad pública y verificable de una manera intachable o reprobable.

El problema que están intentando resolver es que todas las curvas elípticas deberían funcionar, de alguna manera, como germen o semilla de dicha aleatoriedad, y la experiencia nos ha demostrado que esos mecanismos «de germinación» pueden ser peligrosamente opacos y esotéricos. Después de todo, nos da qué pensar cómo el algoritmo Dual_EC_DRBG que la NSA controlaba pudo sobrevivir tanto tiempo como generador de bits aleatorios antes de que se descubriera que no servía absolutamente para nada.

En este modelo de la curva del millón de dólares, como se detalla en el documento oficial del grupo, los expertos explican que las loterías públicas tienen dos características muy atractivas para los números aleatorios: son fáciles de verificar (ya que todo el mundo sabe los resultados), pero bastante difíciles de manipular.

La explicación para expertos se fundamenta en que este método permite construir lo que ellos laman un generador de números aleatorios públicamente comprobable, del cual se extrae una semilla que se utiliza para crear una instancia e inicializar un generador aleatorio Blum Blum Shub. A continuación, se usa la secuencia binaria producida por este generador como una entrada para una función de filtrado que da salida de forma determinista a una serie de parámetros de seguridad, uniformemente distribuidos a partir de flujos de bits uniformes.

Como ellos mismos comentan, otras posibles fuentes de aleatoriedad verificable a menudo dependen de una tercera parte de confianza en algún lugar de la cadena, algo que no es necesario si la fuente de la semilla es de conocimiento público, como los números ganadores de una lotería.

A través de GitHub podemos descargar toda la documentación y el código fuente de este imponente algoritmo, perfectamente explicado por medio de varios ejemplos en Python 3.

‘Codegirl’: el documental que aboga por las chicas desarrolladoras

'Codegirl'

‘Codegirl’

Atención, porque este documental sólo se puede visionar de forma gratuita en su estreno en YouTube desde el 1 hasta el 5 de noviembre, así que ya estás corriendo a verlo, porque resulta muy interesante.

Junto con la ayuda de Google y su proyecto Make with Code, la cineasta Lesley Chilcott ha rodado ‘Codegirl‘, un reportaje que espera despertar algunas vocaciones en jóvenes chicas programadoras a lo ancho y largo del mundo. Es un documental ambientado en el Global Technovation Challenge 2015, un evento en el que las chicas deben crear una app móvil desde cero con el objeto de solucionar un problema específico en su comunidad. 5000 jóvenes mujeres de 60 países participaron en él.

El documental aparecerá próximamente en los cines, pero Google ha accedido a difundirlo en exclusiva a través de YouTube durante estos cinco días, gratis, sin publicidad y en múltiples idiomas. A continuación podemos ver la versión española del mismo.

La brecha de género que existe en el mundo de la tecnología está cada vez más cerrada, pero todavía se pueden observar grandes desigualdades entre el público femenino y el masculino. Y en el caso del desarrollo informático, esa brecha es mucho mayor. Lo que pretenden iniciativas como esta es el fomento de la vocación tecnológica en las niñas. Esperemos que funcione.

PRONTUARIO ANARQUISTA DE RESISTENCIA DIGITAL

Porque resistir en el siglo XXI no significa abandonar la tecnología, sino reapropiarse de ella.

[Jonathan Préstamo Rodríguez]

COMPRAR EN AMAZON

V I R I I

Un thriller ciberpunk retrotecnológico de conspiraciones, resistencia digital y ciudades ahogadas en neón, humedad rancia y corrosión.

[Jonathan Préstamo Rodríguez]

COMPRAR EN AMAZON

Archivos

Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación. Más información.

ACEPTAR
Aviso de cookies