
Simulación de PoC de una vulnerabilidad crítica de replay de telecomandos CCSDS en sistemas de comando satelitales, que demuestra la falta de validación del número de secuencia y la ejecución duplicada de comandos.
# satellite_sim.py - Spacecraft that executes telecommands without checking sequence number
class Satellite:
def __init__(self):
self.executed = set()
def receive_tc(self, cmd_id, seq_num):
# Vulnerability: ignores seq_num, allowing replay of same command
self.execute(cmd_id)
def execute(cmd_id):
print(f"Executing command {cmd_id}")
sat = Satellite()
# Legitimate command
sat.receive_tc("ORBIT_CORRECTION", 1001)
# Attacker replays the same command
sat.receive_tc("ORBIT_CORRECTION", 1001)
Un sistema de comandos satelitales acepta paquetes de telecomando CCSDS pero no valida el número de secuencia para prevenir la repetición. Un atacante que intercepte un comando puede repetirlo, provocando disparos duplicados de los propulsores u otras operaciones dañinas.
Ejecute la simulación:
python satellite_sim.py
El mismo comando se ejecuta dos veces.