Want to pwn a satellite? Turns out it's surprisingly easy
theregister.com
theregister.com
There's even a repeater on the ISS, and sometimes you can hear the astronauts making contact with people on the ground in their spare time.
Disclosure: I work on satellite design and in the recent years on a program that is part of the NewSpace. I have an intimate knowledge of how what I help design works but a limited knowledge of what others may be doing.
A couple of insights:
* I started working on satellites in a large industrial group where, while not being handled by world class cybersecurity experts, secure communications with the satellites rely on a sane use of proven encryption protocols
* I am not sure when this level of security became standard and what was done to secure the satellites before hardware-level encryption with modern algorithms became available
* I was astounded when I discovered the level of casualness for everything related to security on scientific satellite projects, with even recent projects led by major agencies considering that always encrypting command and monitoring is overkill
And my main grip is that the study relies on asking universities that have the lowest bar in terms of caring about security (they already struggle enough to build a working thing) and then extrapolating from a specious argument that it must be worse on commercial spacecrafts.
> One surprising result was that the larger the satellite, the more vulnerable it was. Larger machinery typically used more commercial off-the-shelf components and was thus more vulnerable since the code base was public, whereas smaller CubeSats tended to use custom code.
Also
> a satellite should be designed so that TCs do not compromise the satellite’s stability without further validation
Says who ? What validation ? If an operator had the right to have a telecommand sent to the satellite, who or what aboard the satellite should decide if this telecommand was legitimate.
From experience, there is a myriad of things that you think are usually not a good idea to make your satellite do and then, when you need it as a workaround or mitigation for an unexpected condition, you are happy you have not implemented a list of authorized actions that is too constrained.
PS: It reminds me of the guy that was able to capture the GPS coordinates of an airplane broadcasted to the In-Flight Entertainment systems and got a lot of press coverage by extrapolating that it meant he could also take control of the aircraft from his seat in the cabin.
If you have a command called SET_MODE and it only has the options 1, 2, or 3, it would be ridiculous for the system to accept mode 4 since it doesn't exist. The system should refuse the command. If the SET_MODE command actually just sets a bunch of toggles for you in the background, it would be a good idea to retain control of those toggles so you can customize the configuration and effectively make your own "mode 4" for any emergencies.
I think it was this one [1]. The story is older than I remember (2015) but at the time I was working on aircraft system design and knew people well-versed in ARINC 664 and everything related to aircraft data network segregation between domains.
And a lot of the noise was coming from Boeing requesting Special Conditions [2] for the certification of recent airliners where segregation is less absolute than when systems had a floppy reader to install updates.
> Hacker Chris Roberts claimed he was able to break into the in-flight entertainment system up to 20 times on separate flights and that on one flight he was able to make the plane “climb” and “move sideways” by accessing flight control systems from a laptop in his seat.
[1] https://www.theguardian.com/technology/2015/may/19/hacker-ch...
[2] https://www.federalregister.gov/documents/2007/12/28/E7-2507...
Don't get me wrong, I have the utmost respect for what academic CubeSat teams can pull off with miniscule budgets and resources, but this doesn't reflect what actually happens outside the university context. Modern commercial spacecraft are well-secured, particularly on telecommand. For a look at what the professionals actually do, I suggest people take a look at the CCSDS 350.x series Green Book publications: https://public.ccsds.org/publications/GreenBooks.aspx
I doubt this. If they were concerned with power usage at the milliwatt level, they would most likely be using custom real time kernels. Encryption is ridiculously cheap in terms of power usage and performance on any modern processor because of intrinsics. I doubt they'd see even a blip in power usage with ChaCha20 unless all their code is hand optimised assembly.
Maybe someone else can chime in because I wasn't aware that ordinary satellites required radiation hardened hardware. At most I thought they'd just put it all into a metal box.
The satellite I'm working on will be LEO, but fairly large, to do earth observation (SAR). The subsystem I'm working on uses a radiation hardened SPARC chip from Gaisler (Leon4). It's a fairly popular choice nowadays. We do use an RTOS, although I've largely been writing bare-metal boot loader code and drivers so it's not my area of expertise. Pretty much all of our buses/interconnects/CPUs/FPGAs are space-grade, with ECC/EDAC memory and nonvolatile storage.
Once register windows are full (a function call wants to activate the next register window but there is no unused window left) window overflow occurs and a trap handler is activated.
The trap handler "unwinds" the register windows and stores all the contents in memory (stack). Now the next function can continue with an empty set of register windows. Once you return from the function, the contents of the windows have to be restored (window underflow trap).
Problem is that the trap handlers can't know which of the registers in each window were in use. Therefore all have to be saved/restored. This ratio will worsen when you write smaller functions that use less register and nest deeper.
So there are two issues: 1. You can't really know at which point in your program that underflow/overflow occurs because it changes depending on the exact path of execution through the program. 2. Unnecessary memory write/read operations. While ca. 120 x 32-bit words is not that much, with an 8-bit wide SRAM, some waitstates and EDAC this might be noticeable. (Consider that the LEON processors have a data cache for read access but for writing only a "store buffer" that queues few memory writes)
Using -mflat every register is saved by the caller/callee (as ABI demands) on the stack. This means that the memory accesses are predictable and spread out over each function call.
So, my personal conclusion is that register windows are an intriguing idea on the surface but become useless when you aren't writing 80s spaghetti code. There were many similar ideas at that time, e.g., Am29000.
I'd expect a few microseconds per overflow at most but it depends a lot on the characteristics of the system. Of course, if the application is not sensitive to a few microseconds here and a few microseconds there that optimization might not be worth it.
My experience with a LEON processor ~100 MHz is that it is hard to get much throughput out of an AES implementation.
So, a rather old RISC architecture, lacking any cryptography extensions/intrinsics, running at a rather low clock frequency means that it is not that easy to fit authentication and cryptography in software (at least at the necessary rates).
To get authentication/encryption in these systems you need a separate crypto unit or implement AES-GCM/AES-HMAC in FPGA (if you have room).
Here's an example of an AU: https://www.esa.int/Enabling_Support/Space_Engineering_Techn...
I can really relate to this a lot. I've recently purchased a Flipper Zero and oh my god, so much tech is exposed based on NFC and Sub-GHz protocols. Many devices simply were not developed with security in mind because no one ever came up with such a tool to mess with. I wouldn't want people to mess with something floating on top of my house.
Can an old C-band (large) satellite dish be used for transmitting as well as receiving?
If so, would there be any benefit to doing so, versus smaller/K* dish dimensions?
Know this is a basic question, but RF isn't my field.
no advantage over the smaller more modern dishes, as the more modern dishes are made with better shape tolerances, so they can be smaller and still get the same amount of signal to the satellite.
I understand the sentiment but it sounds like you may have a misunderstanding of how orbits work here. Even if a geosync satellite were positioned exactly above your house, nothing could ever make it "fall down" onto you. Anything that brought it closer to Earth would make it not a geosync satellite anymore, and I strongly doubt any geosync satellites have enough fuel left to de-orbit entirely (geosync is far away!)
For low-orbit satellites, sure, they can (and are designed to, eventually) de-orbit, but nobody can hit you with it. The debris breaks up in atmosphere and tiny pieces (with a few larger, actually dangerous ones) are scattered randomly over hundreds of square miles of what is most likely the Pacific Ocean.
Still, as you said, they won't fall straight down, and would probably burn up in the atmosphere regardless.
The assumption that inability to get the transmitter or knowledge of how to do it is enough to protect your reciever.
As far as I know, relay satellites also did not use authentication in the past.
I don't think it was a technical limitation and it's likely encrypted uplinks would have been possible long before consumers got encrypted downlinks (subscriber satillite).
These guys[1] hacked a NASA space probe and refired its motors. I read the entire blog once but I can't remember if there was any sort of encryption on the communication, although I know that was brought up. Modern probes do use cryptography, but I doubt Voyager does. I suspect if you fired commands at it you could control it. For the lulz or whatever.
[1] https://en.wikipedia.org/wiki/International_Cometary_Explore...
https://www.reuters.com/world/europe/russia-behind-cyberatta...
See, among others:
https://www.viasat.com/about/newsroom/blog/ka-sat-network-cy...
https://www.reversemode.com/2022/03/viasat-incident-from-spe...
The terminal firmware had a bunch of security vulnerabilities allowing injection of arbitrary executables and commands without adequate signature verification.
The attack bricked the terminals requiring a hardware swap to restore service.
> "After those modems were knocked offline it wasn't like you unplug them and plug them back in and reboot and they come back,"
They had some true wizards on the team and it was amazing to see them communicate with this vintage satellite using modern SDR stuff. Too bad about the bum propellant valve!
I mean if regular infra & businesses are still easy enough after 20 years of knowledge of evolving risks, satellites have to be easy pickings.