11 de enero de 2025

Un héroe sin capa: este hacker alemán ha conseguido resucitar un satélite que llevaba 12 años totalmente inutilizable

Un héroe sin capa: este hacker alemán ha conseguido resucitar un satélite que llevaba 12 años totalmente inutilizable

Que un pequeño satélite falle en órbita es de lo más común. Al fin y al cabo, está constantemente expuesto a la radiación. Que un estudiante universitario decida hackearlo, descubra que en realidad había un problema de software y consiga arreglarlo 12 años después... es histórico.

Perdido. En 2009, la Universidad Técnica de Berlín lanzó un pequeño satélite llamado BEESAT-1. Dos años después, el controlador principal del satélite comenzó a enviar datos de telemetría erróneos. Cambiar al controlador redundante solucionó el problema, pero al cabo de dos años, falló también.

En 2013, el BEESAT-1 había quedado prácticamente inutilizado. Otros BEESAT fueron lanzados desde entonces y terminaron su vida útil quemándose en la atmósfera, pero el BEESAT-1 se desplegó en una órbita más alta, con un apogeo de 723 km, por lo que seguirá orbitando la Tierra al menos 20 años.

Una Game Boy. Equipado con una pequeña cámara y una rueda de reacción, el BEESAT-1 es un CubeSat 1U, un tipo de nanosatélite que mide 10 x 10 x 10 cm. Con dos microcontroladores ARM-7 de 60 MHz y 16 MB de memoria, la pequeña nave tiene la potencia de cómputo de una Game Boy.

Las operaciones del BEESAT-1 cesaron hace más de una década. El equipo nunca supo si fue por un problema de configuración o por un fallo del ordenador en sí, porque la función de actualizar el satélite nunca estuvo disponible. De hecho, hubo una serie de sensores y actuadores no llegaron a probarse del todo porque requerían una actualización de software.

Un reto. A pesar del paso del tiempo, no todo el mundo se ha olvidado del BEESAT-1. PistonMiner, un estudiante de TU Berlín, se obsesionó con el satélite por su órbita más alta, que hacía atractivo el desafío de arregarlo.

Lanzado como carga secundaria del cohete PSLV-CA C14, que puso en órbita el satélite indio Oceansat-2, el BEESAT-1 sobrevuela Alemania seis veces al día. Pero lo hace a 27.000 km/h, por lo que, siendo generosos, hay una ventana de 15 minutos para comunicarse con el satélite en cada sobrevuelo.

Un hallazgo. Usando el transceptor todavía operativo de 4,8 kbps, PistonMiner comprobó que el satélite transmitía tramas de telemetría vacías. Al analizar la estructura de los paquetes de telemetría, vio que ciertos valores aparecían como si hubieran sido sobrescritos o puestos al valor máximo.

Aunque la hipótesis principal del fallo del satélite era daño por radiación (algo común en órbita), el joven hacker comprobó que se trataba de un problema de configuración. Probablemente un reseteo durante la escritura de la memoria flash había dejado corrupta la zona donde se almacenan parámetros vitales del código, impidiendo que se generasen datos útiles.

Captura de pantalla de la charla de PistonMaster sobre BEESAT-1 Imagen de los Alpes y Budapest capturada por PistonMaster con la cámara del BEESAT-1

Gesta heroica. PistonMiner consultó antiguos repositorios y se puso en contacto con exintegrantes del proyecto, pero solo logró recuperar parte del código fuente del satélite, por lo que tuvo que desensamblar y volver a etiquetar manualmente muchas funciones.

El satélite guarda en la memoria flash tanto firmware como páginas de configuración con parámetros, por lo que modificar un único bit de la memoria flash de 0 a 1 requería borrar la página entera y reprogramarla. Por ello, PistonMiner creó un "Frankenstein" a partir de otros CubeSats (como el BEESAT-9) para simular lo más fielmente posible el funcionamiento de BEESAT-1.

Una solución. El estudiante alemán aprovechó un comando que permite modificar temporalmente el intervalo de generación de telemetría para verificar si el satélite respondía. Al cambiar este parámetro, el satélite volvió a enviar telemetría.

El verdadero logro vino después: como no había un sistema de actualización de software, PistonMiner desarrolló parches para interceptar ciertos comandos e implementar capacidades nuevas. Logró escribir en la memoria correctamente y recuperó la telemetría completa de sensores y energía. Incluso consiguió imágenes de la cámara. El hacker resucitó el satélite.

Imágenes | TU Berlin, media.ccc.de/CC BY 4.0

En Xataka | Proeza histórica: la sonda espacial Voyager 1 ha sido detectada por radioaficionados con el viejo telescopio Dwingeloo

-
La noticia Un héroe sin capa: este hacker alemán ha conseguido resucitar un satélite que llevaba 12 años totalmente inutilizable fue publicada originalmente en Xataka por Matías S. Zavia .



☞ El artículo completo original de Matías S. Zavia lo puedes ver aquí

No hay comentarios.:

Publicar un comentario