On The Requirements For Successful GPS Spoofing Attacks
On The Requirements For Successful GPS Spoofing Attacks
On The Requirements For Successful GPS Spoofing Attacks
Christina Ppper
tinils@inf.ethz.ch
Srdjan Capkun
ABSTRACT
1.
Kasper B. Rasmussen
INTRODUCTION
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.
Copyright 20XX ACM X-XXXXX-XX-X/XX/XX ...$10.00.
1
Satellite signal generators are also called satellite simulatorswe
use both notations in this paper.
2.
BACKGROUND
The clock offset adds a fourth unknown scalar. With pseudorange measurements to at least four transmitters Si , the resulting
system of equations (4) can be solved for both L and , providing
both the exact position and time, without requiring a precise local
S
S
S
clock. Given LS
i = (xi , yi , zi ), L = (x, y, z), and = c , we
can transform (4) into the following set of equations [1]:
2
S 2
S 2
2
(x xS
i ) + (y yi ) + (z zi ) = (Ri )
(2)
(5)
where Ai is the attenuation that the signal suffers on its way from
S
S
LS
i to L, |Li L| denotes the Euclidean distance between Li and
L, and n(L, t) is background noise.
Due to the properties of the signals si (t), the receiver can separate the individual terms of this sum and extract the relative spreading code phase, satellite ID, and data content using a replica of the
used spreading code. Given the data and relative phase offsets, the
receiver can identify the time delay |LS
i L|/c for each satellite
and from that infer the ranges
di = |LS
i L|.
Si
(4)
Si
LS
i
si
Vj
Lj
Lj
Pj
Rij
A
Rij
i-th satellite
coordinates of Si
signal sent by Si
j-th victim (receiver)
GPS coordinates of Vj
spoofed coordinates of Vj
physical coordinates of Vj
Vj s calculated PR to Si
Vj s spoofed PR (by Ai )
Ai
PiA
LA
i
sA
i
iA
j
j
c
j
3.
PROBLEM FORMULATION
In order to give an intuition of the problem, we present our motivation and an exemplary use case. Subsequently we define our
system and attacker models and formulate the GPS spoofing problem.
3.1 Motivation
The fundamental reasons why GPS spoofing works have been
discussed in the literature before, and spoofing attacks have been
demonstrated on single receivers experimentally. In this work, we
show under which conditions the attacker can establish the correct parameters to launch a successful spoofing attack on one or
more victims, and later in the experiments, how inaccuracies in
these parameters influence the lock takeover during the attack. This
analysis enables us to identify which attacks are theoretically possible and which attacks would be noticeable as (potentially nonmalicious) signal loss at the GPS receivers. This is important for
proposing effective receiver-based countermeasures, which are not
implemented yet in current standard GPS receivers.
Our work is further motivated by the real-life spoofing attacks,
A
|LS
i Pi | c, i. e., signals can be delayed but not sent prior
to their reception. We note that neither the spreading codes
nor the data content of the signal need to be known to the
attacker for a successful selective-delay attack.
We note that these attacker models are very strong. Nevertheless,
we consider them appropriate for our analysis because we want to
make general statements that hold even under very strong (worstcase) attackers with sophisticated equipment.
We first define GPS spoofing attacks and then present two GPS
spoofing problems for the attacker.
Definition 1 (GPS Spoofing Attack). Let a victim V compute its
GPS location as L and its GPS time as t in the absence of an attacker. In a GPS spoofing attack, the attacker sends spoofing signals to manipulate the victims GPS-based location calculations.
As a result, V computes its location as L 6= L and/or time as
t 6= t.
bijk = Rij
Rik
= |Lj LA
i | |Lk Li | + j k .
Figure 4: The GPS spoofing scenario for two victims in 2 dimensions. The attacker is impersonating a satellite with the
claimed (forged) location LA
i , using an antenna positioned at
PiA . The victims are two receivers with physical positions at P1
A
and P2 . For each signal sA
i , the attacker ensures that Ri1 and
A
Ri2 match Ri1 and Ri2 , and therefore V1 and V2 compute their
locations as L1 and L2 with clock offsets 1 and 2 . Here, bi12
and bi12 are the differences of pseudoranges between V1 and
V2 .
(6)
To determine its location, each victim solves a system of equations with the calculated pseudoranges (see Figure 4):
|Lj LA
i | = Rij j
(7)
Here, LA
i are the (claimed) satellite coordinates of Si extracted by
= Rij
,
cation Lj and the target time offset j . This requires Rij
or:
|Pj PiA | + A
i = |Lj Li | + j .
(8)
PiA ,
(9)
In the case of military GPS, the attacker cannot change the claimed
S
|Pj LS
i | |Lj Li | + j .
(10)
(12)
(11)
Figure 5: Hyperbolas of possible antenna placements for the attacker when impersonating a satellite for two victims (Example
for Result 2, in 2D). Each hyperbola represents possible placements for an antenna PiA .
(0, 2, 0), both with time offset zero: 1 = 2 = 0. The attacker
A
now (arbitrarily) chooses LA
1 = (3, 2, 0), L2 = (2, 0, 0),
and LA
=
(2,
2,
0)
for
the
claimed
satellite
positions
in the GPS
3
messages. This determines three hyperboloids relative to P1 and
P2 based on b112 , b212 , and b312 .
Result 3. A necessary condition for a successful GPS group spoofing attack is that Vj , Vk , si , bijk |Pj Pk | .
of each signal sA
i at any two spoofed victim locations Lj and Lk
must be smaller than or equal to the distance between the victims
physical locations Pj and Pk . From Equation 11 and the triangle
inequality it follows that bijk |Pj Pk |. Since it must hold that
bijk = bijk , if bijk > |Pj Pk | for any si , then there is no possible
solution for the attackers placement PiA . Thus we get
|Pj Pk | |Lj LA
i | |Lk Li | + j k
(13)
As we know from Result 2, for two victims, all possible antenna placements for the attacker lie on a hyperboloid defined by
Pj , Lj , j and LA
i . We will now extend this result to the case of
three and more victims. In the following, we assume that bijk
|Pj Pk | is fulfilled Vj , Vk and si , i. e., it is physically possible
to spoof the locations of the receivers.
Result 4. In a GPS group spoofing attack on three victims V1 , V2 , V3
to specific locations Lj and time offsets j , all possible attacker
placements PiA lie on the intersection of two hyperboloids defined
by bi12 , bi13 .
As a consequence of Results 6 and 7, spoofing five or more receivers while retaining their formation has exactly one solution, an
affine transformation of the claimed satellite position LA
i .
15
10
5
z 0
5
10
15
4
2
0
y
8
12 x
2
4
15
10
5
z 0
5
10
15
0
4
2
0
y
16
4
8
12 x
16
20
(a) 2 receivers
20
(b) 3 receivers
15
10
5
z 0
5
10
15
0
4
0
2
0
y
4
8
12 x
2
4
16
20
(c) 4 receivers
Figure 6: Visualization of possible attacker placements. For (a) two victims, all points on the hyperboloid are viable solutions; for (b)
three victims the solutions lie on a curve (red/white intersection); and (c) for four victims only two points are viable solutions (white
dots).
Spoofing to
one location
n Civ. & Mil. GPS
1
2
3
PiA R3
PiA R3
PiA R3
4
5
PiA R3
PiA R3
Spoofing to multiple
locations (preserved formation)
Civilian GPS
Military GPS
set of hyperboloids
set of intersections
of two hyperboloids
set of 2 points
set of points
one hyperboloid
intersection of
two hyperboloids
2 points
1 point
Table 2: Summary of results for the number of possible attacker locations PiA for n victims.
from that satellite. The satellite lock makes spoofing attacks harder
since a spoofing signal is likely to be misaligned (in phase, Doppler
shift, or data content) to the legitimate signal. When the attackers
signal is turned on, this momentary interruption in the data-flow
from that satellite could cause the victim to be temporarily unable
to compute his position. Therefore, we now investigate how the
attacker can take over the victims lock with the victim losing the
ability to calculate its position, even for a moment.
In Section 3 we assumed a strong attacker, who is always able to
generate signals with perfect timing and power level, and who has
perfect knowledge of his own and the victims position. In a practical attack, many of these assumptions might be invalid. We conduct
experiments to evaluate the influence of such imperfections. Because we do not change the claimed location of the satellite in the
data sent by the attacker, all discussed imperfections should apply
equally for military and public GPS receivers.
5.
EXPERIMENTS ON SATELLITE-LOCK
TAKEOVER
6000
4000
2000
50
100
150
200
250
300
1600
0.6
800
0.4
400
0.2
0
3
0
7
Relative power in dB
500
Error (m)
Time (s)
300
200
100
400
0.8
300
0.6
200
0.4
100
0.2
50
ts
100
tm
150
0.8
1200
200
250
300
Time (s)
Error ratio
2000
Error ratio
longitude
latitude
height
Error (m)
8000
20
40
60
80
100
120
140
160
180
Time offset in ns
Figure 8: (a-b) Effects of relative signal power. (a) Example of unsuccessful takeover with too little power used. The spoofing signal
is switched on at ts = 60s and starts moving at tm . (b) Average error over the measurement as a function of relative power. (c-d)
Example of effects of spoofing signals with time offset. (c) During the takeover, the location jumps, in particular the height. The
spoofing signal is switched on at t = 60s. (d) Average error over the measurement as a function of the time offset.
gate are relative signal power, relative time offset and constant time
offset. For each parameter value, five experiments were run.
We say that the lock takeover was successful if at the end of the
experiment the victims final location is close to L . If the victim
is close to L but was close unable to compute a valid position for
more than one second during the lock takeover, we consider the
attack a partial success and use the number of seconds the victim
was not able to calculate a valid position as an error metric.
GPS constellations with up to 16 satellites in each. One constellation is simulating the signals from the legitimate GPS satellites,
and the other is simulating the attackers signals. Both are mixed
together and sent to the GPS receiver via a wired connection. The
GPS receiver in our experiments is an Antaris evaluation kit by ublox, containing the ATR0600 GPS chip from Atmel.
At the start of each experiment, we send only the legitimate GPS
signals for a static location. We reset the GPS receiver to make sure
all experiments are independent and no internal state is kept from
a previous experiment. After about 30 seconds the GPS receiver
will lock on to enough satellites to be able to calculate a stable position. This position is the legitimate position L and the goal of the
attacker is now to move the victim to a new location L such that (i)
the victim is continuously able to compute its position (ii) no noticeable discontinuities in the location are reported by the victims
receiver.
The attack then consists of two phases: first, the attacker sends
signals which are supposed to match the legitimate satellites signals at the location of the victim. These are generated by the attacker by approximating the current location of the victim as Linit ,
and constructing signals with time delays and data content appropriate for that location (see Section 4.1). This first phase lasts for
one minute to allow the victim to lock on to the new signals. In
the second phase, the attacker start to move the spoofed location
towards the final location L , imitating an acceleration of 0.5m/s2 .
After 3 minutes, the final location is reached. If this final location
is not remotely close to L (height difference 150m, horizontal
distance 1km), we consider the takeover failed.
We vary the distance between the victims true location L and
its initial location as assumed by the attacker Linit as one of the
parameters in the experiments. We refer to this distance as the location offset dinit = |L Linit |. The other parameters we investi-
400
200
200
0.6
0.4
100
0.2
0
50
ts
100
tm
150
200
250
300
Time (s)
100
150
200
250
300
350
0
400
400
120
80
40
50
Location offset in m
Error (m)
0.8
300
0.8
0.6
200
0.4
100
Error ratio
Error ratio
Error (m)
300
longitude
latitude
height
600
0.2
0
50
ts
100
tm
150
200
250
300
Time (s)
20
40
60
80
100
120
140
160
0
180
Figure 9: (a-b) Example of effects of spoofing signals with location offset. (a) Example with 340m offset. During the takeover, the
location is unstable. The spoofing signal is switched on at t = 60s. (b) Average error over the measurement as a function of the
location offset. (c-d) Example of effects of spoofing signals with inconsistent time offset for half of the satellites. (c) With a 140ns
time offset between the attackers satellites, the takeover leads to an unstable lock. The spoofing signal is switched on at t = 60s. (d)
Average error over the measurement as a function of the time delay mismatch.
to the time offset, this location offset can lead to a relatively large
error during the lock takeover. An example with offset of 340m is
given in Figure 9(a).
In Figure 9(b), we show the average error as a function of the location offset. Regardless of the intermediate errors, eventually the
victim always synchronizes to the attackers signals in all our experiments. This shows that the initial position is not very sensitive
to small errors. If an attacker knows the location of his victim to
within about 100 meters, he can perform a smooth takeover without
the victim losing lock. There will of course be a detectable jump in
position from L to Linit when the attackers signal is turned on but
the victim will not lose lock with any satellite.
Relative time offset influence: In the case where the attacker has
access to more than one transmission antenna, he can send the
spoofing signals using two or more omnidirectional antennas (see
Section 4). Depending on the relative position of the individual antennas, the victim will receive the spoofing signals with different
time delays. Relative time offsets of the signals can also be caused
by inaccuracies in the delay setup in the case of military GPS signals. In this experiment, we evaluate the consequences of having
half of the spoofed satellite signals shifted by a fixed amount of
time relative to the other half of the signals. In Figure 9(c), we
show an example run with a time delay mismatch of 140ns. The
results for all tested values are presented in Figure 9(d).
denote the ratio of attempts in which the GPS receiver was unable
to compute a valid location.
It can be seen that for at least 2dB more power, the receiver consistently locks onto the spoofing signals without any offset occurring. 2dB of power is sufficiently low to not be detected by power
based spoofing-countermeasures in practice.
Constant time offset influence: The second question we investigate is the effect of a general delay on all signals sent by the attacker
relative to the legitimate signals. Such time delays can occur if the
attackers system setup is not perfectly compensating for internal
delays, the distance to the victim is unknown or the system clock
of the attacker is not synchronized perfectly to the clock of the legitimate GPS satellites. The interesting question is if such a general
time offset will result in detectable errors in the victims reported
position, and if such a time offset will increase the chance of the
victim losing lock completely during the takeover. To evaluate the
influence of a constant time offset, we run the tests with time offsets between 0ns and 240ns. We plot the location error between
the attackers intended location and the actual location reported by
the victim an example run in Figure 8(c). The effects are consistent
over several runs with the same parameters, but can vary quite a lot
with these parameters.
In Figure 8(d), we show the general relation between the average
errors during the measurement as a function of the time offset for
the first 120ns. After this time, lock takeover was not working
consistently any more.
Location offset influence: In this series of experiments we determine the influence of an offset dinit between the position of the
victim as determined from the legitimate satellites L and the spoofing signals sent by the attacker Linit . We evaluate the influence of
such a location offset for values between 0 and 450m. Similarly
values exist and we present the values for our receiver in Table 3.
According to our experiments, the constant time offset is sensitive to variation and should be less than 75ns. Anything more than
that will cause the GPS receiver to lose lock when the spoofing signal is turned on. A value of 75ns roughly corresponds to a distance
of 22.5m, meaning that the attacker must know the distance from
himself to the victim with an accuracy of 22.5m (or better) a
higher offset will cause the victim to lose lock due to the signal
(chip phase) misalignment. We found that the initial location offset will cause a noticeable jump of the victims reported position
during the attack. Large offsets could therefore be detected by the
victim by monitoring its position. Any change in the arrival time
of the signal from different antennas will directly impact the position calculated by the victim. If the relative time offset gets above
80ns the signals are sufficiently misaligned to cause the receiver to
lose lock. This means that, if an attacker has multiple antennas, he
must precisely know the distance from each antenna to the attacker
in order to be able to spoof a desired location.
6.
7. CONCLUSION
In this paper, we analyzed the requirements for successful GPS
spoofing attacks on individuals and groups of victims with civilian
or military GPS receivers. In particular, we identified from which
locations and with which precision the attacker needs to generate
its signals in order to successfully spoof the receivers.
For example, we show how spoofing a group of victims can only
be achieved from a restricted set of locations, if the attacker aims to
preserve the mutual distances and time offsets of the victims. With
growing size of the group of victims, less spoofing location become
available, until only single points remain for 5 victims or more. In
addition, we discussed the practical aspects of seamless satellitelock takeover. We used a GPS signal generator to perform a set
of experiments in which we investigated the required precision of
the attackers spoofing signals. Besides demonstrating the effects
of such lock takeovers on the victim, our results include minimal
bounds for critical parameters to allow a seamless takeover of our
target platform. Finally, we proposed a technique for the detection
of spoofing based on a group of standard GPS receivers (without
specific spoofing detection measures) in a static formation.
10
8.
REFERENCES
(2008).
[17] PAPADIMITRATOS , P., AND J OVANOVIC , A. Protection and
fundamental vulnerability of GNSS. In Proceedings of the
International Workshop on Satellite and Space
Communications (2008).
APKUN , S. Realization of rf
[18] R ASMUSSEN , K. B., AND C
distance bounding. In Proceedings of the USENIX Security
Symposium (2010).
[19] S COTT, L. Anti-spoofing & authenticated signal
architectures for civil navigation systems. In Proceedings of
the ION GNSS International Technical Meeting of the
Satellite Division (2003).
[20] S PIRENT C OMMUNICATIONS PLC. SimGEN simulation
software. http://www.spirent.com.
[21] U. S. D EPARTEMENT OF D EFENSE . Global positioning
system. standard positioning service. performance standard,
Sep 2008.
[22] U. S. G OVERNMENT . Global positioning system.
http://www.gps.gov, 2010.
[23] WARNER , J. S., AND J OHNSTON , R. G. A simple
demonstration that the global positioning system (GPS) is
vulnerable to spoofing. Journal of Security Administration
(2002).
[24] WARNER , J. S., AND J OHNSTON , R. G. GPS spoofing
countermeasures. Homeland Security Journal (2003).
APPENDIX
A.
PROOF OF RESULT 1
To show Result 1, we first focus on a single receiver V1 and civilian GPS. The attacker selects a target location L , a target time
offset 1 , and any arbitrary attacker location PiA . Given this, EquaA
tion 8 yields A
i . Using one transmission antenna (i. e. P1 =
A
with
the
delay
A
to the attacker: Rij
= Rij
. We can now substitute (11) into (7) and
get the following equation for each signal sA
i and Vj :
|Lj LA
i | = Ri1 (j b1j1 ).
(14)
Thus, for every Vj , these equations only differ by the different value
(j b1j1 ) = 1 . This means that all Vj compute an identical
location L , but different clock offsets j :
1
j = 1 +
|Pj PiA | |P1 PiA | .
(15)
c
5
For civilian GPS, one physical transmission location for all attacker signals does not imply that the claimed locations LA
i in the
spoofed messages are the same. For the victim to be able to comA
pute its location, it must hold that LA
1 6= L2 6= . . . .
11
S
satellites are enlarged (i. e., if |L1 LS
i | > |P1 Li | Si ), the
time offset of the victim can be made negative (causing the victim
to advance its clock). The minimal value of 1 is determined by
Result 1 shows that an attacker can make a group of victims believe to be at a specific location by sending one set of satellite signals from the same antenna. All victims will believe to be at the
same location L , but with different time offsets. The additional
time offset j k between victim Vj and Vk introduced by the at|L L |
tacker is bounded by their mutual distance |j k | j c k and
is typically on the order of nanoseconds for victims a few meters
apart.
In attacks on military GPS, Equation 10 shows an interesting
relation between the resulting time offset of the main victim 1 and
the distance between the spoofed location and each satellite: If L1
S
is chosen such that |L1 LS
i | |P1 Li | for any Si , then the time
S
j max(|P1 LS
i | |L1 Li |).
i
(16)
As the attacker can always delay the signals, he can arbitrarily delay
the victims clock also in military GPS.
One direct conclusion for military GPS is that it is not possible
to advance the victims clock while retaining the original location
L1 = L1 . The clock offsets of other victims V2 , . . . , Vn relative
to the first victim as expressed in Equation 15 remain the same
for attacks on military GPS if all signals are sent from the same
location P1A = P2A = . . . .
12