An Experimental Security Analysis of LEO Satellites
Johannes Willbold
@jwillbold
/jwillbold
jwillbold
Get it while its hot!
Objective
Target
Intel
Finale
Finale
Hostile Takeover & Lockout
ESA's OPS-Sat
ESA's OPS-Sat
ESA's OPS-Sat
ESA's OPS-Sat
44th IEEE Symposium on Security and Privacy (S&P)
Firmware Attacks
Security Analysis
Live Demo
Lessons Learnt
COM
Payload
CDHS
EPS
ADCS
Payload
PLCOM
COM
CDHS
Bus
Payload
PLCOM
COM
CDHS
Bus
COM
CDHS
Bus
COM
CDHS
Bus
COM
CDHS
Bus
1
2
3
4
Bypass COM Protection
Dangerous / Vulnerable TC
Hijack Bus Control Flow
Full Bus Privileges
OPS-Sat
Peripherals
S-/X-Band, SDR, Optical Rx., Camera, ...
Launched
December 2019
Payload Plattform
ARM-Based Linux + FPGA
Operated by ESA
Open for Research
int sch_handler_set_raw_memory(scheduler_cmd_t* pCmd) {
raw_mem_access_cmd_t* pAddr = pCmd−>pCmdArgs;
char* pWriteData;
if (pAddr) {
if (g_sch_exec_mode != 1 ) {
/* exception and return */
}
char* pWriteData = &pAddr−>start_of_data_buf;
if (pAddr−>filesystem_target) {
// [...]
} else {
memcpy(pAddr−>targetAddr,
&pAddr−>start_of_data_buf,
pAddr−>writeLength);
}
}
// ...
}
Message Abstraction Layer (MAL)
S-Band
Space Packet Protocol (SPP)
PUBSUB_MonitorEvent
SUBMIT_SetPowerState
INVOKE_GetGPSData
...
PROGRESS_GetSummary
Custom Byte Parsing
ADCS Server
...
UHF
Cubesat Space Protocol (CSP)
Parameter DB
CSP => SPP
void task_adcs_servr() {
char log_file_name [32];
csp_listen(socket, 10);
csp_bind(socket, port);
do {
do {
conn = csp_accept(socket, 0xff);
} while (do_wait_for_conn);
packet = csp_read(conn, 10);
if (packet) {
packet_data = packet->data;
switch(*packet_data) {
// [...]
case SET_LOGFILE: {
packet_data = packet->data + 0xf;
log_file_name[0] = '\0';
strcat(log_file_name,packet_data);
// ...
}
}
}
}
}
ADCS Server
Cubesat Space Protocol (CSP)
QEMU
AVR32
OBSW
Simulation Agent
Sensors
UHF
TC Handlers
Telecommand
Telemtry
TCP
TCP
Flight Manuvers
Sensor Values
$> ./access-satellite.
[*] Uploading TC ...
[*] Deploying payload ...
[*] Payload written to flash ...
[*] Rebooting ...
[*] $$$
Firmware Attacks on Satellite are a thing
Just TC Execution is not Enough
Missing State-of-the-Art Defense
90s-style Buffer Overflows in Space Systems
Johannes Willbold - johannes.willbold@rub.de
@jwillbold
/jwillbold
@jwillbold
Also visit my Talk @ REcon, Montreal, Canada
[Attribution] Icons: Font Awesome 5 Solid by Dave Gandy under CC BY 4.0
Colored Satellite: Space icons created by Freepik - Flaticon