How to bring down mission-critical GPS networks with $2,500(arstechnica.com)
arstechnica.com
How to bring down mission-critical GPS networks with $2,500
http://arstechnica.com/security/2012/12/how-to-bring-down-mission-critical-gps-networks-with-2500/
18 comments
Also here: http://news.ycombinator.com/item?id=4896452
and here: http://news.ycombinator.com/item?id=4897294
and here: http://news.ycombinator.com/item?id=4898843
and here: http://news.ycombinator.com/item?id=4903566
None have any discussion, but they are different reports with different levels of detail.
and here: http://news.ycombinator.com/item?id=4897294
and here: http://news.ycombinator.com/item?id=4898843
and here: http://news.ycombinator.com/item?id=4903566
None have any discussion, but they are different reports with different levels of detail.
Isn't GPS supposed to be a military technology? Maybe there's something they're not telling us about how they really use GPS. However, I'm not reassured by the wartime durability of any tech that must be protected from all interference while at peace. Not that we actually have any real enemies anymore (rustic Muslim goat-and-flammable-underwear aficionados are more dangerous than the Axis powers were, really?), but if we did why would they obey the FCC?
1) The GPS that we know and love is the Coarse/Acquisition (C/A) code[1] which is not encrypted and thus is relatively vulnerable to spoofing. Note that spoofing (as opposed to jamming) even a C/A signal is non-trivial, but equipment to do that is available[2].
2) The military uses the Precision (P) code which is encrypted and should be impossible to spoof unless you break the encryption. That is quite unlikely.
3) All radio signals are vulnerable to jamming. In order to jam, you must transmit, however... which means that your jammer is a beacon that the military can direction-find on[3]. If you piss off the military too much, they will turn off your jammer. Permanently.
[1] http://en.wikipedia.org/wiki/Global_Positioning_System#Satel...
[2] http://www.google.com/search?q=gps+simulator
[3] http://en.wikipedia.org/wiki/Wild_Weasel
2) The military uses the Precision (P) code which is encrypted and should be impossible to spoof unless you break the encryption. That is quite unlikely.
3) All radio signals are vulnerable to jamming. In order to jam, you must transmit, however... which means that your jammer is a beacon that the military can direction-find on[3]. If you piss off the military too much, they will turn off your jammer. Permanently.
[1] http://en.wikipedia.org/wiki/Global_Positioning_System#Satel...
[2] http://www.google.com/search?q=gps+simulator
[3] http://en.wikipedia.org/wiki/Wild_Weasel
It's interesting to note that the drone that the iranians spoofed and forced to land relied on encrypted gps, however they were successful at what is assumed to be a gps spoofing attack. The likely scenario is that systems are designed to fail gracefully - if encrypted streams are unreadable (jamming) unencrypted data may be used.
"Assumed" is the operating word. A much simpler explanation is that the drone crashed due to a malfunction, the Iranians found the remains, glued and taped it back together (note that they did not show the underside), and then made up the spoofing story for propaganda purposes.
Here is a more skeptical article: http://www.theregister.co.uk/2011/12/21/spy_drone_hijack_gps...
There has been at least one valid spoofing demo: http://www.ae.utexas.edu/news/archive/2012/todd-humphreys-re...
"During the spoofing demonstration at White Sands, the research team took control of a hovering UAV from about a kilometer away. Next year, they plan to perform a similar demonstration on a moving UAV from 10 kilometers away."
That demo was a much simpler scenario than what the Iranians claimed to have done. The demo was a stationary UAV and it was most likely using the civilian (C/A code) signals rather than the (classified) encrypted P-code. They also knew exactly where the UAV was, and could likely see it.
Here is a more skeptical article: http://www.theregister.co.uk/2011/12/21/spy_drone_hijack_gps...
There has been at least one valid spoofing demo: http://www.ae.utexas.edu/news/archive/2012/todd-humphreys-re...
"During the spoofing demonstration at White Sands, the research team took control of a hovering UAV from about a kilometer away. Next year, they plan to perform a similar demonstration on a moving UAV from 10 kilometers away."
That demo was a much simpler scenario than what the Iranians claimed to have done. The demo was a stationary UAV and it was most likely using the civilian (C/A code) signals rather than the (classified) encrypted P-code. They also knew exactly where the UAV was, and could likely see it.
@2) Wouldn't it be possible to reverse engineer a military receiver? Or is it a changing passcode that must be input manually?
I don't know much about the cryptology they use, but I do know that the keys are time-limited and I'm pretty confident the encryption is strong.
* If you steal a key, it will stop working after a brief time (probably hours to days).
* Knowing the decryption key does not (necessarily) mean you can perform the encryption.
* If you steal a key, it will stop working after a brief time (probably hours to days).
* Knowing the decryption key does not (necessarily) mean you can perform the encryption.
Yeah, but that doesn't help if you have the device which decrypts the signal. Then you should be able to get the key (which would probably still be fairly difficult).
A receiver/decrypter only contains the public key, which can't be used to encrypt a new message. Perhaps you aren't familiar with asymmetric / public key cryptography?
And that is one reason the US military spends so much money and effort on anti-tamper[1] design and technology.
[1] http://www.at.dod.afrl.hpc.mil/
[1] http://www.at.dod.afrl.hpc.mil/
They have always had other methods of determining location such as Inertial Navigation and terrain contour matching. The question is how well things are tested.
Surprise, you can transmit a signal similar to that of a radio transmitter by also being a radio transmitter. Just wait to be tracked down extremely promptly by the FCC, or almost worse, a roving band of Amateur Radio engineers with a van full of direction-finding antennas and a high level of passion for enforcement who will come nail you to a tree for firing this thing up.
The serious problem with some of these devices is that they're effectively bricked by having received an invalid signal once. You don't have to sit nearby to cause this effect, you could drive across the country putting out 30 mile radius bursts of bad GPS signals, and kill a not insignificant portion of the nation's infrastructure.
Drive? All you have to do is put it in a Pelican case, mark it as "video equipment", and ship it on a cross country flight in the cargo hold. GPS receivers are already designed for signals from satellites; picking up something transmitted every 10-60 seconds from 6 miles up is going to be easy.
Good luck tracking that signal down.
Good luck tracking that signal down.
Several of the attacks mentioned in the linked paper mess with data that receivers write to nonvolatile memory and reload when they turn on. As such you do not have to transmit continuously; some vulnerable receivers only need a brief transmission of corrupt data and they get stuck in reboot loops.
Needless to say, transmitters that only transmit for a few minutes a day are very difficult to locate manually compared to jammers that operate continuously.
Needless to say, transmitters that only transmit for a few minutes a day are very difficult to locate manually compared to jammers that operate continuously.
Affected manufacturers listed in the first link, not present in the above link:
"Attacks were conducted against seven receiver brands including Magellan, Garmin, GlobalSat, uBlox, LOCOSYS and iFly 700."
"Attacks were conducted against seven receiver brands including Magellan, Garmin, GlobalSat, uBlox, LOCOSYS and iFly 700."
For example, the GPS system transmits the date as a number of weeks since a reference epoch, modulo 1024 [1]. This space saving made sense when they designed the protocol; GPS uses a 50-bits-per-second data link so every bit counts. The last rollover to week zero happened in 1999, the next one will be in 2018. Not so rare that you can ignore it, but not so frequent that code gets battle-tested.
What some receivers do is store a 'last week number seen' and a 'number of rollovers' in nonvolatile memory, and any time they see the week number lower than the last one seen, they increment the number of rollovers. So even if the GPS is kept powered off and its internal clock battery dies, as long as it gets a signal once every 512 weeks (~10 years) it can pick up the right time.
One of the interesting things they demonstrate is that you can spoof a signal which fakes the week-number-decrement and this increments the number of rollovers counter - and not all receivers have any ability to correct for that.
Another example: The slow GPS data link is used to tell receivers where in space the satellites are - which it needs to know to calculate the receiver's position, and to get a head start finding other satellites by knowing roughly where to look for them. Because the GPS data link is so slow, it can take 30 to 60 seconds for a receiver to get this data as it's a whole 1.5 kilobytes [2]. Receivers often cache some of this data in nonvolatile memory so they can perform a 'warm start' where they don't have to wait for all the data to download. But if you receive spoofed data that triggers a software bug (like a divide by zero error) and you store that in your nonvolatile memory, the receiver loads the data, crashes, reboots, loads the data again and the same thing happens.
This is interesting stuff - most work on GPS spoofing and jamming in the past has focused on things like replaying signals to send vehicles off course rather than triggering crash bugs in receiver firmware. The current civilian GPS signal has no anti-spoofing element to it, so there isn't an easy solution to this.
[1] http://www.colorado.edu/geography/gcraft/notes/gps/gpseow.ht... [2] http://en.wikipedia.org/wiki/GPS_signals#Navigation_message