You are on page 1of 66

Universidade de So Paulo USP

Escola de Engenharia de So Carlos EESC


Departamento de Engenharia Eltrica
Trabalho de Concluso de Curso

IDENTIFICAO DE ATAQUES A VECULOS AREOS NO TRIPULADOS VIA


RECEPTORES GPS E PROPOSTA DE CONTRAMEDIDAS PARA AUMENTO DA
SEGURANA DA AERONAVE

Aluno
Amir Nasser Safa Ahmad

Orientadora
Prof. Dra. Kalinka Regina Lucas Jaquie Castelo Branco

So Carlos, 2015

Amir Nasser Safa Ahmad

IDENTIFICAO DE ATAQUES A VECULOS AREOS NO TRIPULADOS VIA


RECEPTORES GPS E PROPOSTA DE CONTRAMEDIDAS PARA AUMENTO DA
SEGURANA DA AERONAVE

Trabalho de Concluso de Curso apresentado Escola de Engenharia de So Carlos da


Universidade de So Paulo como parte dos requisitos para obteno do ttulo de Engenheiro
Eletricista.

Orientador: Prof. Dra. Kalinka Regina Lucas Jaquie Castelo Branco

So Carlos

2015

AUTORIZO A REPRODUO E DIVULGAO TOTAL OU PARCIAL DESTE


TRABALHO, POR QUALQUER MEIO CONVENCIONAL OU ELETRNICO, PARA
FINS DE ESTUDO E PESQUISA, DESDE QUE CITADA A FONTE.

AGRADECIMENTOS
Agradeo primeiramente a minha famlia, pais, irmos e namorada pelo apoio, incentivo e
colaborao durante todas as fases da minha vida, incluindo a acadmica. Agradeo tambm aos
meus familiares e amigos que contriburam nessa longa jornada e acompanham at hoje.
Professora Doutora Kalinka Regina Lucas Jaquie Castelo Branco e ao Doutorando Daniel
Fernando Pigatto, pela pacincia, ateno e orientao ao decorrer desse projeto.
Ao Departamento de Engenharia de So Carlos e professores, por contriburem com a minha
formao em Engenharia Eltrica.

Resumo
Ahmad A. N. S. (2015). IDENTIFICAO DE ATAQUES A VECULOS AREOS NO
TRIPULADOS VIA RECEPTORES GPS E PROPOSTA DE CONTRAMEDIDAS PARA
AUMENTO DA SEGURANA DA AERONAVE.
Trabalho de Concluso de Curso Escola de Engenharia de So Carlos, 2015.

Palavras-chave: Deteco de Spoofing GPS, Segurana do Sistema GPS, Contramedida para


Spoofing GPS

Este trabalho apresenta o funcionamento detalhado do sistema GPS, as vulnerabilidades e as defesas


existentes. E a partir de anlises e estudos, construir uma possvel soluo ainda no implementada
para o Spoofing. Foi implementado um sistema de deteco para o Spoofing GPS via software em
um Tablet, o qual detectou o ataque com eficcia ao obter os dados spoofados.

Abstract
This paper presents the detailed operation of the GPS system, vulnerabilities and existing defenses.
And from analysis and studies , presenting a possible solution not yet implemented for the
Spoofing. A detection system for GPS Spoofing was implemented in software on a Tablet, which
detected the attack effectively to get the spoofed data.

ndice de figuras
Avtobaza: estao terrestre russa de jamming e spoofing....................................................................4
Gerador de PRN no instante t=0 com Di=0........................................................................................11
Gps Logger em funcionamento..........................................................................................................36
Tela principal do Fake GPS Location.................................................................................................37
Trajeto colorido correspondente a rota percorrida..............................................................................44
Fake GPS ativado spoofando as coordenadas do Parque Ibirapuera..................................................45
Rota 1 em azul e rota 2 em vermelho; ambas com frequncia de atualizao 4 pontos/minuto........47
Mesma Rota de 1 e 2 com o spoofer ligado em momentos aleatrios...............................................49
Sistema anti-spoofing informando no display que o receptor est sofrendo spoofing.......................50

Sumrio
1 INTRODUO.................................................................................................................................1
1.1 MOTIVAO................................................................................................................................4
1.2 OBJETIVO.....................................................................................................................................5
2.1 SEGMENTO ESPACIAL...............................................................................................................7
2.1.1 FREQUNCIAS DOS SATLITES...........................................................................................8
2.1.2 CDIGO DE CURSO/AQUISIO........................................................................................11
2.1.3 CDIGO DE PRECISO.........................................................................................................13
2.1.4 MENSAGEM/DADOS DE NAVEGAO.............................................................................14
2.1.4.1 HORRIO GPS......................................................................................................................16
2.1.4.2 EFEMRIDES.......................................................................................................................17
2.1.4.3 ALMANAQUE.......................................................................................................................17
2.2 SEGMENTO DE CONTROLE....................................................................................................18
2.2.1 ATUALIZAO DE DADOS..................................................................................................19
2.3 SEGMENTO DO USURIO.......................................................................................................20
2.3.1 DEMODULAO E DECODIFICAO...............................................................................20
2.4 ERROS.........................................................................................................................................23
3 PADRO NMEA 0183....................................................................................................................24
4 JAMMING E SPOOFING..............................................................................................................29
4.1 ATAQUE SIMPLES VIA SIMULADOR DE SINAL..................................................................31
4.2 ATAQUE INTERMEDIRIO VIA UM RECEPTOR-SPOOFER PORTTIL..........................32
4.3 ATAQUE SOFISITICADO VIA MLTIPLOS RECEPTORES-SPOOFER PORTTEIS EM
FASE...................................................................................................................................................33
5 GPS ASSISTIDO.............................................................................................................................34
6 FERRAMENTAS UTILIZADAS...................................................................................................35
6.1 API ANDROID.LOCATION........................................................................................................35
6.2 GPS LOGGER..............................................................................................................................37
6.3 FAKE GPS LOCATION...............................................................................................................39
7 O DECETOR DE SPOOFING........................................................................................................40
7.1 PACOTE ANDROID.WIDGET.TOAST.....................................................................................40
7.2 SESSION.JAVA............................................................................................................................40
7.3 GENERALLOCATIONLISTENER.JAVA..................................................................................41

7.4 GPSLOGGINGSERVICE.JAVA..................................................................................................42
8 MTODO........................................................................................................................................46
9 RESULTADOS................................................................................................................................49
10 CONCLUSO...............................................................................................................................53
11 BIBLIOGRAFIA...........................................................................................................................54

1
1 INTRODUO
O Sistema de Posicionamento Global (GPS, Global Positioning System) criado pelos Estados
Unidos da Amrica, durante a Guerra Fria, tornou-se funcional em 1995. Porm o seu uso
popularizou-se em 2000, quando o governo americano acabou com a degradao proposital
do sinal. A partir disso, todos os ramos passaram a usar esse sistema, capaz de fornecer
velocidade, localizao e tempo, com alta preciso.
Com a revoluo tecnolgica, os mapas impressos deixaram de ser usados e praticamente a
maioria dos veculos tem um sistema de localizao, seja para seguir uma rota pr-definida ou
um sistema de rastreamento ou monitoramento(caminhes e veculos que carregam cargas de
valor).
Apesar de existirem outros provedores de localizao, esse o mais utilizado e estudado. O
sistema continua sendo aperfeioado para conseguir desempenho e preciso maior, com a
incluso de satlites e novos sinais.

O sistema GPS baseado no tempo. Os satlites carregam relgios atmicos sincronizados


entre si e com os relgios terrestres (bases). Cada desvio de horrio ou desvio na rbita do
satlite que ocorre corrigido, ambos so monitorados cuidadosamente. O receptor GPS
tambm tem um relgio que no sincronizado como os outros, porm estvel. Os satlites
GPS continuamente transmitem o horrio atual e sua posio. Um receptor GPS monitora
simultaneamente mltiplos satlites e resolve equaes para determinar a posio exata do
receptor e o desvio do verdadeiro horrio. No mnimo quatro satlites devem ser vistos a
fim de computar quatro variveis (3 coordenadas e o desvio do horrio do satlite).

Cada satlite GPS transmite continuamente sinais (frequncias portadoras modulada) que
inclui:
Um cdigo pseudoaleatrio (PRN, sequncia de 1 e 0) que conhecido pelo
receptor. Por alinhamento na coordenada do tempo, de um cdigo recebido, com um gerado
internamente, calcula-se o tempo de chegada (TOA, time of arrival) do sinal.
A mensagem inclui o horrio de transmisso (TOT, time of transmission) da poca
do cdigo (na escala de tempo do GPS) e a posio do satlite no momento.

Conceitualmente, o receptor mede os TOAs (de acordo com seu prprio relgio) de quatro
sinais de satlite. Utilizando os TOAs e os TOTs, o receptor calcula 4 valores conhecidos
como tempo de vo, que so aproximadamente a distncia entre os satlites e os receptores
(calcula-se usando a velocidade da luz)[1].

Na prtica a posio do receptor (em coordenadas cartesianas tridimensional com a origem no


centro da Terra) e a diferena entre os relgios do receptor e do satlite, so computados
simultaneamente, usando as equaes de navegao.

As solues das equaes so convertidas em latitude, longitude e altura relativos a um


modelo da Terra elipsoidal. A altura ento pode ser convertida em relao ao nvel do mar.
Essas coordenadas podem ser mostradas na tela do GPS ou podem ser utilizadas para alguma
outra aplicao.

Embora geralmente no seja formado explicitamente no processo de recepo do sinal, o


conceito de diferentes tempos de chegada (TDOAs, time differences of arrival) define a
geometria medida. Cada TDOA corresponde a um hiperboloide de revoluo (multilaterao).
A linha que conecta 2 satlites forma um eixo da hiperboloide, o receptor localizado no
terceiro ponto onde as 3 hiperboloides se interceptam.

incorreto dizer que o receptor sempre est na interseco das trs esferas, pois esse ponto
exato, somente se o relgio do receptor encontra-se sincronizado com o do satlite, e para isso
seria necessrio um relgio atmico em cada receptor, o que elevaria muito o custo do
mesmo. Eis a importncia do quarto satlite.
A descrio a seguir a representao de uma situao onde o receptor acabou de ser ligado.
Muitos receptores tm um algoritmo de rastreamento chamado de rastreador, que combina
conjuntos de diferentes medidas obtidas dos satlites em momentos distintos, aproveitando-se
do fato de que cada posio do receptor est prxima da posio seguinte e anterior. Aps
uma certa quantidade de conjuntos de medidas o rastreador prev a prxima localizao
correspondente para o prximo conjunto de medidas dos satlites. Quando as novas medidas
so coletadas, o receptor usa um esquema de ponderao para combinar as novas medies

3
com a previso.

No geral, um rastreador pode:


Refinar a posio do receptor e a preciso do tempo.
Rejeitar medies ruins.
Estimar a velocidade do receptor e a direo do movimento.
A desvantagem de um rastreador que a mudana de velocidade ou direo computada com
um pequeno atraso. Os receptores podem utilizar o efeito Doppler dos sinais recebidos para
computar a velocidade mais precisamente. Sistemas de navegao mais avanados usam
sensores adicionais como compasso e um sistema de navegao inercial (IMU) para
complementar o GPS.

Em operaes normais de GPS como navegador, so necessrios 4 ou mais satlites visveis


para obter um resultado preciso. Porem h aplicaes como temporizao no trfego do sinal
e a sincronizao de estaes de celulares, que tambm utilizam o horrio GPS, por ser o mais
preciso do mundo.

Embora 4 satlites sejam requeridos para uma operao normal, menos satlites so utilizados
em alguns casos. Se uma varivel j conhecida, um receptor pode determinar sua posio
usando somente 3 satlites. Por exemplo, uma nave pode conhecer a altura em relao ao
nvel do mar em que se encontra. Alguns receptores GPS podem usar dados armazenados
anteriormente ou de outras fontes, a fim de computar a posio atual, sem ter 4 satlites
visveis no momento.

1.1 MOTIVAO

A estrutura do sinal transmitido pelo GPS de conhecimento pblico e est disponvel no site
das Foras Areas dos Estados Unidos, www.gps.gov, e assim, para que o receptor consiga
interpret-lo. Porm isso possibilita que algum emita esses mesmos sinais, fazendo com que
receptores alheios utilizem-no para obter uma falsa posio ou informao sobre o tempo.
Esse ataque chamado de Spoofing[1].

Em 4 de dezembro de 2011, o RQ-170, um veculo areo no tripulado (VANT) americano,


foi capturado pelas Foras Areas Iranianas prximo a cidade de Kashmar no Ir. O governo
iraniano anunciou que um VANT foi aterrissado em segurana, enquanto o governo americano
anunciava que o VANT havia sido abatido, e inicialmente negou ser uma nave americana, mas
ao constatar que realmente era, pediu-se a devoluo da mesma[1].

Fontes prximas ao governo, informavam que o VANT havia sido aterrissado por engenheiros
iranianos que bloquearam os sinais GPS, deixando o VANT cego, e aps isso spoofaram os
sinais falsos, fazendo-o descer.

Mais tarde foi reportado que o Ir havia comprado da Rssia o Avtobaza. um sistema terrestre
de jamming e spoofing, ilustrado na imagem seguinte, e este havia sido usado para capturar o
VANT.

Figura 1: Avtobaza: estao terrestre russa de jamming


e spoofing

Em conhecimento dos fatos anteriores, o trabalho foi desenvolvido a fim de detectar o


spoofing, tanto em sistemas autnomos quanto para usurios que desconhecem essa
vulnerabilidade.

importante a pesquisa de mtodos de deteco de spoofing, pois necessrio que os VANTs


identifiquem esse tipo de ameaa e tomem contramedidas em defesa prpria, impedindo que
pessoas m intencionadas consigam aterrissar ou at mesmo roubar o veculo.

1.2 OBJETIVO

O principal objetivo deste trabalho apresentar a estrutura e o funcionamento do sistema


GPS, muito utilizado em diversas reas, bem como discutir suas vulnerabilidades mais
conhecidas. Posteriormente ser apresentado um estudo especificamente sobre a simulao de
um ataque de spoofing de GPS em VANTs, relatando os possveis impactos deste tipo de
ataque, e o desenvolvimento de uma tcnica de identificao do ataque via software.

Este trabalho ainda mostra uma soluo para o ataque de spoofing de GPS implementada em
software, visando impactar o mnimo possvel a operao e a aerodinamicidade do VANT,
viabilizando a aplicao da soluo em sistemas reais.

6
2 SISTEMA NAVSTAR-GPS

O Sistema Navstar-GPS um sistema, que por meio de satlites, fornece sua localizao em
qualquer parte do planeta. Ele foi criado e controlado pelo Departamento de Defesa dos
Estados Unidos da Amrica, e foi projetado para ser usado pelos militares americanos, porm
milhes de civis utilizam-no diariamente, tanto para fins pessoais quanto para fins comerciais.

Ele disponibiliza 24 horas por dia, em tempo real, a posio tridimensional e o horrio.
Qualquer pessoa com um receptor GPS pode acessar o sistema e us-lo para descobrir suas
coordenadas, independente das condies atmosfricas e meteorolgicas [2].

O Sistema GPS dividido em 3 segmentos:


1) O segmento espacial: composto basicamente pelos satlites;

2) o segmento de controle: controlado pelos militares dos Estados Unidos;

3) o segmento do usurio: inclui tanto os usurios militares quanto os civis e seus


equipamentos.

7
2.1 SEGMENTO ESPACIAL
O primeiro satlite GPS foi lanado pelas Foras Areas dos Estados Unidos no incio de
1978. Atualmente, existem 32 satlites orbitando a Terra em uma altitude em torno de 20200
quilmetros [3]. A altitude elevada dos satlites garante que suas rbitas sejam estveis,
precisas e previsveis, e que os movimentos dos satlites atravs do espao no sejam afetados
pela resistncia atmosfrica [4].

Os satlites GPS so alimentados por painis solares, tendo como fonte secundria baterias de
nquel-cdmio. Cada satlite carrega consigo 4 relgios atmicos, e somente um deles est em
uso por vez, ou seja, nunca esto sendo usados simultaneamente. Esses relgios atmicos
permitem que o GPS seja o sistema que fornece o horrio mais preciso do mundo [5].

Inicialmente, existiam 24 satlites orbitando 6 rbitas. Cada rbita tem inclinao de 55 graus
em relao a Linha do Equador, isto , os satlites cruzam a linha do Equador com uma
inclinao de 55 graus e cada satlite tem um perodo orbital de 12 horas siderais, que
corresponde a 11 horas e 58 minutos [3], portanto a cada 12 horas cada satlite passa sobre
quase o mesmo lugar.

As rbitas foram dispostas de tal maneira que, pelo menos, seis satlites esto sempre na linha
de viso de quase toda a superfcie da Terra, ele foi projetado para estar completamente
operacional mesmo se 2 dos 24 satlites falharem. O resultado disso foi que os satlites no
esto igualmente espaados. Em termos gerais a diferena angular entre os satlites numa
mesma rbita de 30, 105, 120 e 105 graus, que somando resulta em 360 graus [6].

A constelao GPS uma mistura de satlites novos e antigos, e atualmente conta com 32
satlites, sem incluir os satlites antigos que esto desativados, porm podem ser reativados
em caso de falha de algum outro. A adio dos novos satlites aumentou a preciso do sistema
com medidas redundantes e as disposies dos satlites deixaram de ser uniformes. Hoje em
dia possvel observar de 5 a 9 satlites de qualquer parte do planeta sendo que o mnimo
para a obteno da posio de 4 satlites [4].

Os dados de navegao transmitidos pelo satlite GPS, codificam uma variedade de

8
informaes incluindo a posio dos satlites, o estado dos relgios internos, e o estado da
rede. Estes sinais so transmitidos em duas frequncias portadores diferentes que so comuns
para todos os satlites da constelao. Duas codificaes so usadas: uma pblica para
navegao e uma criptografada que usada pelos militares dos Estados Unidos e seus aliados.

2.1.1 FREQUNCIAS DOS SATLITES


Todos os satlites emitem nas 2 mesmas frequncias, 1575,42 MHz (sinal L1) e 1227,6 MHz
(sinal L2). A constelao de satlites utiliza a tcnica de espalhamento espectral CDMA, onde
os dados de navegao so codificados junto com uma sequncia pseudoaleatria (Cdigo
PRN), que diferente para cada satlite. O receptor deve saber qual cdigo PRN corresponde
a qual satlite para reconstruir os dados transmitidos. O cdigo de curso/aquisio (A/C ou
course/aquisition), para uso civil, transmite dados a uma velocidade de 1.023.000 bits por
segundo, enquanto o cdigo de preciso(P) transmite a uma velocidade 10 vezes maior. A
atual frequncia interna dos satlites de 10,22999999543 MHz para compensar os efeitos
relativsticos que fazem os observadores na Terra terem uma referncia de tempo diferente
comparado ao dos transmissores em rbita [7][8].

A portadora L1 modulada por ambos os cdigos C/A e P, enquanto a portadora L2 somente


modulada pelo cdigo P [6]. O cdigo P criptografado, eis o nome cdigo P(Y), que
somente disponvel para quem tem o equipamento com a chave de decriptografia. Ambos os
cdigos, C/A e P(Y), transmitem a hora exata do dia para o usurio.

O sinal L3 na frequncia de 1.381,05 MHz usado para transmitir dados dos satlites para as
estaes terrestres. Esses dados so usados pelo Sistema de Deteco de Detonao Nuclear
dos Estados Unidos para detectar, localizar e reportar detonaes nucleares na atmosfera
terrestre e prximas ao espao [9].

O sinal L4 na frequncia de 13.799,14 MHz est sendo estudado para ser usado como
correo adicional dos efeitos da ionosfera [5].

O sinal L2C na frequncia de 1.227,6 MHz, foi projetado para fins comerciais. Seu nome faz
referencia ao sinal L2. Quando combinado L2C com L1 C/A em um receptor de 2

9
frequncias, o L2C possibilitar a correo ionosfrica, aumentando a preciso, ou seja, os
civis com esse tipo de equipamento, podero desfrutar da mesma preciso dos militares (ou
at melhor). O sinal L2C transmitido com maior energia, possibilitando que a aquisio dele
seja mais fcil, at em locais fechados. estimado que o sinal L2C gere U$5,8 bilhes at
2030 [5].

O primeiro satlite com o transmissor desse sinal foi lanado em 2005, e a partir dai, todos os
satlites transmitem-no. Ele ainda encontra-se pr-operacional e deve ser utilizado pelos
usurios por sua conta em risco. O sinal L2C emitido por 17 satlites atualmente e a
previso que ele seja emitido por 24 satlites em 2018 [5].

O sinal L5 o terceiro sinal civil, na frequncia de 1.176 MHz, e foi projetado para atender as
demandas de transporte de segurana de vida ou outras aplicaes de alta performance [10].
Atualmente existem 10 satlites emitindo o sinal L5, e a previso que para 2021 existam 24
satlites emitindo o sinal [5]. L5 emitido numa faixa de rdio exclusiva para servios de
aviao. Ele teve um aumento na energia de transmisso, uma largura de banda maior e a
codificao do sinal foi melhorada em relao ao L2 e ao L1 [5].

O futuro da aviao ser a combinao do L4 com o L1 C/A para aumentar a preciso (via
correo ionosfrica) e maior robustez (via redundncia de sinal). Ser possvel um usurio
civil utilizar as 3 frequncias civis (L1 C/A, L2C e L5) a fim de obter uma posio
extremamente precisa, at mesmo em locais fechados [5].

Para os dados de navegao e o cdigo C/A viajarem do satlite at o receptor, eles precisam
modular uma frequncia portadora. Nesse caso duas derivadas da frequncia de 10,230MHz, a
L1 (154x10,230MHz = 1.575,420MHz) e L2 (120x10,230MHz= 1.227,600 MHz) [11].

O cdigo C/A transmitido na frequncia L1 a uma taxa de 1,023 MHz usando a modulao
em fase (BPSK, binary phase-shift keying). O cdigo P(Y) transmitido em ambas as
frequncias utilizando a mesma modulao, porm com uma taxa de 10,230 MHz e a onda
portadora est em quadratura com a portadora do sinal C/A, ou seja, deslocada de 90 graus.

10

Um receptor captando mais frequncias, alm de ser mais resistente a jamming, pode capturar
dados redundantes, ocasionada pelas vrias informaes repetidas. Tambm possvel refinar
o processo de localizao utilizando a correlao dos sinais, diminuindo o efeito causado pelo
atraso na ionosfera.

11

2.1.2 CDIGO DE CURSO/AQUISIO


Os cdigos C/A so pseudoaleatrios (PRN, pseudo random noise) com um perodo contendo
1023 bits transmitidos a 1023 megabits por segundo resultando em um perodo de 1
milissegundo. Eles so combinados com a mensagem de navegao atravs de um OUExclusivo, e ento so usados como sinais moduladores. O fato de serem altamente ortogonais
entre si, facilita a identificao de cada satlite [1].

Eles so gerados pela combinao de 2 fluxos de bits, ambos originados por um registrador de
deslocamento (LFSR, linear-feedback shift register) de 10 bits. Cdigos diferentes so obtidos
usando atrasos especficos e um dos fluxos de bits.

Figura 2: Gerador de PRN no instante t=0 com Di=0.

Cada conjunto de 1023 sadas do circuito acima, corresponde a um cdigo PRN.

12

C / A (t )i= A (t )+B (t Di)


Equao 1: Equao geradora do cdigo PRN.

Onde:
C/A(t) 1 bit do cdigo C/A completo no instante t para um determinado satlite i.
A(t) a sada do primeiro registrador de deslocamento no instante t, com estado inicial
1111111111 e polinmio gerador sendo:

10

x x +x +1
Equao 2: Polinmio gerador do registrador de deslocamento A(t).

B(t Di) a sada do segundo registrador de deslocamento no instante (t Di), com o estado
inicial 1111111111 e polinmio gerador sendo:

x x 10+ x 9 + x 8 + x 6+ x3 + x 2 +1

Equao 3: Polinmio gerador do registrador de deslocamento B(t).

Di um atraso (por um nmero inteiro de perodos) especfico para cada PRN(1 a 32). Seu
valor apresentado no documento de especificao tcnica dos satlites GPS [11].

13
2.1.3 CDIGO DE PRECISO
O cdigo P tambm um PRN, porm nesse caso, o cdigo tem 61871x10 bits, ou seja,
720,213 gigabytes, e somente repete-se uma vez por semana (10,23 Megabit por segundo). O
cdigo extremamente grande, aumenta o ganho de correlao entre os sinais e elimina
algumas ambiguidades de distncia. Entretanto, ele to longo e complexo que esperado
que um usurio comum no consiga capturar e reproduzir o sinal por si s. necessrio que o
receptor utilize primeiramente o cdigo C/A e aps obter sua localizao aproximada,
sincronize com o cdigo P, para refin-la [1].

Enquanto os PRNs no cdigo C/A so nicos para cada satlite, o PRN no cdigo P um
pequeno fragmento do Cdigo P Mestre com aproximadamente 2.35x10 bits de tamanho
(26.716 Terabytes). Cada satlite transmite uma parte conhecida desse cdigo mestre.

Para prevenir que usurios no autorizados utilizem ou possam interferir com o sinal militar
atravs de um processo chamado spoofing, criptografou-se o cdigo P. Ele foi modulado com
o cdigo W, um cdigo criptogrfico especial, e gerou-se o cdigo Y. Desde que os mdulos
anti-spoofing foram ativados, os satlites emitem o cdigo Y, que conhecido como cdigo
P(Y).

14
2.1.4 MENSAGEM/DADOS DE NAVEGAO
Alm dos cdigos PRN dos satlites, um receptor necessita saber informaes detalhadas
sobre a posio de cada satlite e da constelao. Essas informaes esto moduladas em
ambos os sinais e so chamadas de dados de navegao.

Os dados de navegao carregam informaes que podem ser classificadas em 3 tipos:


- Dados e horrio do GPS, mais o estado do satlite e a indicao de confiabilidade do
satlite.
- Efemrides: informaes orbitais que permite ao receptor calcular a posio do
satlite. Cada satlite transmite sua prpria efemrides.
- Almanaque: informaes e o estado de todos os satlites.

Embora as informaes das efemrides sejam altamente detalhadas, elas so vlidas apenas
por 4 horas, enquanto as informaes de almanaque so geralmente vlidas por 180 dias. O
almanaque auxilia o receptor a determinar quais satlites deve escolher, e aps a escolha ser
feita, baixa diretamente desse satlite os dados de efemrides dele. A determinao de uma
posio no possvel at que o receptor tenha uma cpia completa dos dados de efemrides
do satlite. Se o sinal do satlite perdido enquanto os dados so baixados, eles devem ser
baixados novamente, descartando-se os dados incompletos [11].

Os dados de navegao so formados por 1500 bits (1 frame). Cada frame formado por 5
subframes de 300 bits, numerados de 1 a 5. Cada subframe, contendo 10 palavras de 30 bits,
leva 6 segundos para ser transmitido. Logo 30 segundos so necessrios para a transmisso de
1 subframe. Todo subframe tem o horrio GPS. O subframe 1 contm a data GPS (Nmero da
Semana) e informaes para corrigir o horrio do receptor para o horrio GPS, junto com o
estado e a confiabilidade do satlite. Os subframes 2 e 3 juntos contm os dados de
efemrides do satlite. E os subframes 4 e 5 contm os componentes de almanaque. Porem
cada frame contm somente 4% dos dados de almanaque (1/25), ou seja, o receptor deve
capturar 25 frames completos para ter os dados de almanaque completo. Com a taxa de 50
bits/s so necessrios 12,5 minutos para capturar todo o almanaque se utilizando um satlite.
Cada 1 das 25 verses dos subframes 4 e 5 so chamados de pgina e so numeradas de 1 a
25. [11]

15

Os frames iniciam e terminam, respectivamente no incio ou no fim da semana somado de um


mltiplo inteiro de 30 segundos. No incio/fim da semana o ciclo entre as pginas reiniciado
para a pgina 1.

Cada subframe inicia com a palavra de Telemetria (TLM, telemetry word), que permite ao
receptor detectar o incio do subframe e determinar em qual horrio do relgio do receptor o
subframe inicia. A palavra seguinte a palavra de Handover (HOW, handover word), que
transmite o Horrio GPS (na verdade o horrio quando ser transmitido o primeiro bit do
prximo subframe) e identifica o subframe como parte do frame completo [12]. As outras 8
palavras contm os dados especficos de cada subframe. Cada palavra inclui 6 bits de paridade
gerados usando um algoritmo baseado no cdigo de Hamming, que leva em conta os 24 bits
de no paridade do frame e 2 bits da palavra anterior.

Aps o subframe ter sido lido e interpretado, o horrio que o prximo subframe ser enviado
pode ser calculado atravs da correo de data do relgio e o HOW. O receptor sabe o horrio
do relgio dele mesmo no qual ele receber o prximo frame, e a partir da deteco da palavra
de Telemetria (TLM) ele consegue calcular o tempo de transito da mensagem, ou seja, quanto
tempo o sinal levou para percorrer do emissor do satlite at a antena do receptor GPS,
podendo-se assim calcular a pseudodistncia. O receptor capaz de calcular a pseudodistncia
no incio de cada subframe, isto , a cada 6 segundos.

16
2.1.4.1 HORRIO GPS
O Horrio GPS, expresso com a resoluo de 1,5 segundos, o nmero da semana e o
contador de tempo da semana (TOW, time of week) [11]. Seu ponto inicial (Semana 0, TOW
0) definido sendo 06/01/1980 as 00:00 no fuso horrio do Meridiano de Greenwich. O
contador TOW um valor variando de 0 a 403.199 cujo significado o nmero de vezes que
se passou 1,5 segundos desde o incio da Semana GPS. Para representar TOW so necessrios
19 bits. O horrio GPS uma escala de tempo contnua que no inclui os segundos bissextos,
portanto o incio/fim das semanas GPS podem diferir da Coordenada Universal do Tempo
(UTC) de um nmero inteiro de segundos.

Em cada subframe, cada Palavra de Handover (HOW,) contm o contador TOW. Note que os
2 bits menos significativos podem ser seguramente omitidos, pois um HOW ocorre a cada 6
segundos nos dados de navegao, que igual ao a resoluo de truncamento do TOW [11].
Sendo assim, os 2 ltimos bits do TOW podem ser omitidos.

Cada frame contm (subframe 1) os 10 bits menos significativos que corresponde ao nmero
da semana GPS. Note que um frame nunca cruza a fronteira de semana GPS, ou seja, um
frame est inteiramente dentro da semana. Sabendo que o nmero de semanas zerada a cada
1.024 semanas GPS (aproximadamente a cada 19,6 anos), um receptor que calcula as datas do
calendrio necessita deduzir os bits da semana seguinte ou obt-los de uma outra fonte. Um
possvel mtodo o receptor salvar a data atual em memria quando for desligar, e quando
religar,
assumir que o novo nmero de semana truncada corresponde ao perodo de 1024 semanas que
iniciaram na ltima data salva. Esse mtodo deduz corretamente o nmero de semana
completo se o receptor for proibido de permanecer mais de 19,6 anos desligado.

17
2.1.4.2 EFEMRIDES
Efemrides fornece a posio natural tanto de objetos astronmicos quanto de objetos
artificias, como os satlites GPS, em um determinado perodo de tempo.

As efemrides transmitida pelos satlites, consistem em dados sobre o estado do satlite e sua
localizao exata. Esses dados so fornecidos no sistema de coordenadas polar esfrica [11].

2.1.4.3 ALMANAQUE
O almanaque formado por dados sobre a rbita (muito menos detalhadas que as informaes
de efemrides) e estado de cada satlite da constelao, um modelo ionosfrico, e dados para
ajustar o horrio GPS com padro (UTC). Cada quadro contm uma parte do almanaque (nos
subframes 4 e 5) e o almanaque completo transmitido por um nico satlite em 25 frames
(12,5 minutos) [13].

O almanaque usado para muitas funes. A primeira auxiliar o receptor a gerar uma lista
dos satlites visveis a partir da posio em que se encontra. Alm de disponibilizar
parmetros para a correo do relgio, fornece uma modelagem geral para ionosfera. Ambos
dados aumentam preciso da localizao.

18
2.2 SEGMENTO DE CONTROLE

O Segmento de controle composto por 4 elementos:


Uma Estao de Controle Mestre (MCS);
Uma Estao de Controle Mestre Reserva;
Quatro antenas dedicadas;
Seis estaes de monitoramento dedicados.

O MCS pode acessar outras antenas de monitoramento das Foras Areas dos Estados Unidos
e estaes de monitoramento da Agncia de Inteligncia Geo Espacial dos Estados
Unidos(NGA). Os satlites so rastreados por antenas das Foras Areas dos Estados unidos
localizados no Hava (Atol de Kwajalein), em Diego Garcia, na Ilha da Ascenso, em
Colorado (Colorado Springs) e no Cabo Canaveral. Tambm conta com estaes de
monitoramento do NGA instalados na Inglaterra, na Argentina, no Equador, no Barm, na
Austrlia e na cidade de Washington [14].

As informaes de rastreamento so enviadas a Estao de Comando das Foras Areas


(MCS) em Colorado Springs, onde so analisadas. E atravs das antenas, regularmente
atualiza os relgios atmicos abordo dos satlites a fim de sincronizar os nanosegundos de
diferena entre eles e ajustar a efemrides do modelo orbital interno de cada satlite. As
atualizaes so criadas pelo Filtro de Kalman que utiliza informaes das estaes de
monitoramento, informaes sobre o clima espacial e outras variveis [14].

As manobras dos satlites no so previstas pelas normas do GPS, ento para alterar a rbita
do satlite, ele deve ter o estado alterado para desativado, para que os receptores no utilizemno. Aps a manobra, a nova rbita rastreada pelos engenheiros, os dados de efemrides so
enviados ao satlite, s ento marcado como ativado e pode ser utilizado.

19
2.2.1 ATUALIZAO DE DADOS
Os dados dos satlites so geralmente atualizados a cada 24 horas e ficam salvas informaes
de at 60 dias anteriores caso haja problema na atualizao regular. A atualizao contm os
novos dados de efemrides e de almanaque (esse atualizado menos frequentemente que
aquele). O segmento de controle garante que os almanaques sero atualizados a cada 6 dias.

Os satlites emitem a cada 2 horas novos dados de efemrides, que geralmente so validos por
4 horas. O tempo necessrio para a aquisio da efemride uma parte significante do atraso
antes de obter a primeira posio, pois por mais que os receptores tenham se tornado mais
eficazes e consigam captar os sinais dos satlites com maior velocidade, os dados de
efemrides necessitam de 18 a 36 segundos para serem recebidos, devido a baixa taxa de
transmisso.

20
2.3 SEGMENTO DO USURIO
O segmento do usurio composto por centenas de milhares de americanos e aliados militares
usando o Servio de Posicionamento Preciso (PPS, precise positioning service), e dez milhes
de usurios civis, comerciais ou pesquisadores utilizando o Servio de Posicionamento Padro
(SPS, standard positioning service).

Geralmente, os receptores GPS tem uma antena, tunelada com as frequncias transmitidas
pelos satlites, processador e um relgio altamente estvel (frequentemente oscilador de
cristal). Eles tambm podem ter um display para informar a localizao e a velocidade para o
usurio. Um receptor frequentemente descrito pelo seu nmero de canais, ou seja, quantos
satlites o dispositivo consegue monitorar simultaneamente. Originalmente limitado a 4 ou 5,
porm atualmente possvel encontrar receptores que tem entre 12 a 20 canais.

2.3.1 DEMODULAO E DECODIFICAO


O receptor GPS recebe o sinal L1 e separa suas componentes: a onda portadora, o cdigo
P(Y), o cdigo C/A e a mensagem de navegao. Ele deve calcular o tempo que o sinal levou
do satlite at a antena, e para isso, gerado internamente o cdigo PRN, que comparado
com o recebido, sendo que aquele defasado no tempo at obter-se a correlao mxima entre
os cdigos. O tempo observado multiplicado pela velocidade da luz no vcuo, gera a uma
medida conhecida como pseudodistncia [15].
Aps retirar do sinal recebido todos os cdigos, o receptor reconstri a onda portadora e
pode medir a fase da portadora, que uma observao muito mais precisa que o tempo de
propagao [16].

Como todos as portadoras esto na mesma frequncia, os sinais devem ser separados aps a
demodulao. Isto feito se utilizando o PRN que nico pra cada satlite. Os sinais so
decodificados aps a demodulao, utilizando o PRN correspondente para cada satlite
monitorado pelo receptor [16].

Se a informao de almanaque foi adquirida anteriormente, o receptor escolhe os satlites a

21
monitorar pelos seus PRNs. Se os dados de almanaque no esto na memria, o receptor
inicia um modo de busca at encontrar um satlite que seja diretamente visvel (no tenha
objetos obstruindo a comunicao). Agora o receptor pode adquirir os dados de almanaque e
determinar quais satlites ele deve procurar. Como ele detecta o sinal de cada satlite,
possvel identificar cada um pelo seu cdigo C/A. Pode haver um atraso maior de 30
segundos antes de ser estimado a primeira posio pois necessrio a leitura dos dados de
efemrides dos satlites.

Um receptor GPS processa os sinais recebidos pela sua antena, a fim de determinar a posio
velocidade e/ou horrio. O sinal na antena amplificado, aps isso ele demodulado,
separando-se os sinais, ento digitalizado.
Para um receptor utilizar um satlite, necessrio primeiramente fazer a aquisio do sinal e
s ento fazer o rastreamento do satlite, enquanto utiliz-lo.

A aquisio do sinal o processo para determinar a frequncia e a fase do cdigo (ambos


relativos ao horrio do receptor) que vai ser gerado internamente, sem ter conhecimento do
sinal recebido. A fase do cdigo deve ser determinada com certa preciso, que varia para
diferentes tipos de receptores. Uma preciso da metade do tempo de durao do cdigo
PRN(aproximadamente 0,489 microssegundos) um valor aceitvel.

Rastreamento o processo de ajuste contnuo da frequncia e da fase interna a fim de se


aproximar ao mximo do sinal recebido.

Um possvel procedimento descrito para aquisio e rastreamento do sinal L1 C/A, no


entanto o processo muito similar para os outros sinais. O procedimento baseado em
computar a correlao dos sinais recebidos com as rplicas geradas localmente e detectar o
pico com maior valor e o vale com o menor valor.

A aquisio de um nmero PRN pode ser conceituado como a procura espacial de um sinal
bidimensional, sendo as variveis: fase do sinal e frequncia. Alm disso, o receptor pode no
conhecer o nmero PRN que deve procurar, e no caso, uma terceira varivel adicionada: o

22
nmero PRN.

A faixa de frequncia da busca do sinal a faixa na qual o sinal pode ser localizado. A
frequncia portadora tem uma variao de at 5 kHz devido ao efeito Doppler quando o
receptor est parado. Se o receptor se move, a variao maior. O desvio da frequncia do
cdigo PRN 1/1540 vezes o desvio da frequncia da portadora para o sinal L1,

O cdigo tem o perodo de 1023 chips que dura exatamente 0,977 microssegundos. O cdigo
altamente autocorrelacionvel somente com diferenas com magnitude 1. tpico uma
granularidade de 0.5, o que fornece 2046 diferenas de tempo.

necessrio o receptor saber quais dos 32 nmeros PRN corresponde ao sinal que ele recebe
no momento para poder fazer a decodificao, eis o motivo dele ser uma varivel.

23
2.4 ERROS
O receptor GPS faz anlise de erros. Apesar das correes feitas no relgio, ainda h erros
residuais. Como fontes de erro, inclui-se medidas de tempo da chegada do sinal, clculos
numricos, efeitos atmosfricos (atrasos ionosfricos e troposfricos), dados de efemrides e
dados do relgio, sinais multidirecionais, e interferncias naturais e artificiais.

Erros artificiais podem resultar de dispositivos de jamming ou spoofing, que podem ameaar
aeronaves e embarcaes.

Atualmente em mdia, a preciso da pseudodistncia medida pelos receptores GPS de 7,8


metros com um nvel de confiana de 95%. A atual preciso depende de fatores fora do
controle do governo como efeitos atmosfricos, bloqueio do cu e qualidade do receptor [6].

24
3 PADRO NMEA 0183
Nesse trabalho, sero utilizados os dados obtidos diretamente da camada de aplicao do
receptor GPS, que esto no padro NMEA 0183.

NMEA 0183 a combinao da especificao eltrica e de dados para comunicao entre


eletrnicos marinhos tais como, sonares, anemmetros, bssola giroscpica, autopilotos,
receptores GPS e muitos outros tipos de instrumentos. Ele foi criado e controlado pela
Associao Nacional de Eletrnicos Marinhos dos Estados Unidos [17].

O padro NMEA 0183 usa ASCII simples e protocolo de comunicao serial unidirecional
que faz o broadcast dos dados para todos. A taxa de transmisso (baud rate) de 4800, e tem
as seguintes caractersticas:

- Cada mensagem se inicia por um cifro($).


- Os 2 primeiros caracteres identificam o transmissor, e os 3 seguintes identificam o
tipo da mensagem.
- Todos os campos so delimitados por vrgula (,).
- O campo permanecer em branco se o dado estiver indisponvel ou no existir.
- O primeiro caractere que vem logo aps o ltimo campo de dados um asterisco,
mas ele s includo se um checksum for exigido.
- O asterisco imediatamente seguido pelo checksum representado como um nmero
hexadecimal de dois dgitos. O checksum um OU-Exclusivo feito bit a bit do cdigo ASCII
de todos os caracteres incluindo o $ e o *.
- A mensagem termina com <CR><LF> (carriage return e line feed).

Ele constitudo por sentenas, e a primeira palavra contida nele, define a interpretao do
resto da sentena. Cada tipo de dado deve ter sua interpretao nica e definida pelo padro
NMEA. A sentena GGA por exemplo fornece dados essenciais para fixar um ponto. Outras
sentenas podem repetir a mesma informao, porm tambm fornecero dados novos. No
entanto o dispositivo ou programa que l os dados pode aguardar os dados que espera e
ignorar as outras sentenas que no o interessa.

25
Existem muitas sentenas no padro NMEA para todos os tipos de aparelhos que podem ser
usados no ambiente marinho. Algumas das sentenas que so aplicadas aos receptores GPS
esto listadas abaixo, sabendo-se que todas as sentenas se iniciam por GP [18].

Nmea
AAM
ALM
APA
GGA
GLL
GRS
GSA
GST
GSV
TRF
VBW
VTG
XTC
XTE
ZDA

Descrio
Alarme de chegada ao ponto
Dado de almanaque
Sentena de Auto Piloto A
Informaoes sobre o ponto
Dados de Latitude e Longitude
GPS Range Residuals
DOP GPS e satlites ativos
GPS Pseudorange Noise Statistics
Dados detalhados do satlite
Dado de transio de ponto
dual Ground / Water Spped
Vetor de direo do rastreamento e velocidade no solo
Erro ao traar a rota
Medida do erro ao traar a rota
Data e Hora

A seguir alguns exemplos de dados NMEA capturados pelo receptor GPS do Tablet utilizado
no trabalho.

26

27

28

$PGLOR,0,NEW,PERFIX,1,PER,1000,QOP,-1*1F
$PGLOR,0,RID,BCD,3,19,204,150864*43
$GPGGA,224048.00,,,,,0,00,300.0,,M,,M,,*6D
$PGLOR,1,STA,224048.00,0.000,0.000,-42,98,3000,0,P,F,L,1,C,0,S,0000,0,1,R,33F4*48
$PGLOR,1,SAT*31
$PGLOR,1,SIO,TxERR,0,RxERR,0,TxCNT,76,RxCNT,120,DTMS,999,DTIN,0,0,DTOUT,866,998,HATMD,69*35
$PGLOR,0,HLA,224048.00,L,,Al,,A,,H,,,M,,Ac,0,Gr,0,S,,,Sx,,,T,0,Tr,,Mn,0*0E
$PGLOR,1,PWR,AvgP,30.440001,RFTm,1000,RunT,1000,OscTm,1000,SlpTm,0,MeasTm,1000*1D
$PGLOR,0,PPS,121115,224047.999,,,000.000,0,0,0,*00
$GPGSV,3,1,12,20,58,050,25,12,45,043,27,05,33,120,13,25,88,071,*70
$GPGSV,3,2,12,29,47,192,,21,38,289,,31,22,250,,18,14,344,*78
$GPGSV,3,3,12,15,04,039,,02,04,133,,24,04,007,,26,03,219,*7F
$GLGSV,3,1,09,71,34,085,27,72,21,028,17,75,25,352,13,76,54,286,*62
$GLGSV,3,2,09,86,36,171,,87,26,237,,77,24,221,,70,14,136,*6D
$GLGSV,3,3,09,85,09,123,*58
$GPGSA,A,1,,,,,,,,,,,,,6.0,5.1,3.2*33
$GNGSA,A,1,,,,,,,,,,,,,6.0,5.1,3.2*2D
$GNGSA,A,1,,,,,,,,,,,,,6.0,5.1,3.2*2D
$QZGSA,A,1,,,,,,,,,,,,,6.0,5.1,3.2*2F

29
4 JAMMING E SPOOFING
Jamming o ato de impedir que o sinal do satlite GPS chegue at o receptor, para que o
usurio no consiga obter sua localizao, e nenhuma das informaes fornecidas pelo
sistema GPS.

Spoofing o ato de enviar dados falsos para um alvo, fingindo ser a fonte oriunda dos dados
originais, a fim de se obter alguma vantagem sobre isso. No caso do Spoofing GPS, seria o
envio de sinais GPS, passando-se pelo satlite, no intuito de fazer o receptor fornecer uma
informao incorreta ao usurio, como por exemplo, a posio em que se encontra.

O Spoofing mais perigoso que o jamming pois o alvo no consegue detectar o primeiro, e
pode continuar navegando atravs de uma rota no confivel.

Em 2001, o Departamento de Transporte dos Estados Unidos considerou a infraestrutura de


transporte americana vulnervel ao Spoofing GPS. O aviso, conhecido como aviso Volpe,
alertou que, como o GPS est sendo muito usado na infraestrutura civil, ele passou a ser um
alvo que esta vulnervel a ataques de pessoas, grupos ou pases hostis aos Estados Unidos
[19].

15 anos aps o aviso, os receptores GPS civis continuam vulnerveis a essa ameaa. Porm
pesquisas para desenvolver contramedidas de spoofing vem ocorrendo com mais frequncia.
O aviso Volpe cita um memorando interno da Corporao MITRE, onde o autor Edwin L.
Key, examinou o spoofing e contramedidas de spoofing em detalhe [20]. O memorando
recomenda as seguintes tcnicas contra o spoofing:

1. Diferenciao de Amplitude
2. Diferenciao no tempo de chegada
3. Verificao da unidade de medida de consistncia inercial da navegao (IMU).
4. Diferenciao da Polarizao
5. Diferenciao no ngulo de chegada
6 Autenticao criptogrfica

30

As tcnicas 1 e 2 podem ser implementadas em software nos receptores GPS, porm as


tcnicas podem ser efetivas apenas contra os mais simples ataques spoofing. Tcnicas 3, 4 e 5
podem ser efetivas contra alguns ataques mais sofisticados, mas no todos. Em particular, a
diferenciao do ngulo de chegada, que explora a diferena das medidas da fase da portadora
a qual utiliza mltiplas antenas, pode ser spoofado por um ataque spoofing muito sofisticado.
As tcnicas 3, 4 e 5 necessitam de hardware adicionais ou mltiplas antenas.

Autenticao criptogrfica, tcnica 6, tem sido estudada com algum detalhe desde o aviso
VOLPE [21][22][23]. O pesquisador Logan Scott sugeriu vrias formas de autenticao e
reforou seu pensamento em um artigo [24]. Com seu mtodo, os receptores GPS ficariam
vulnerveis ao Spoofing durante um curto perodo de tempo que seria entre a recepo e a
autenticao das mensagens, que estariam junto aos cdigos PRN. Porm para isso, seria
necessrio uma mudana na estrutura dos sinais, a fim de adicionar as mensagens.

Ou seja, nenhuma das tcnicas acima conseguem evitar ou detectar efetivamente um ataque
Spoofing.

O objetivo desse trabalho desenvolver uma forma de evitar ou pelo menos detectar o
Spoofing GPS, desde o ataque mais simples, at o ataque mais robusto. A seguir sero
apresentadas algumas formas de Spoofing GPS que so utilizadas e estudadas atualmente.

As correlaes de tempo, loops de rastreamento e as solues de navegao esto


implementadas em software.

Para facilitar a anlise do Spoofing GPS, esta ser dividida em 3: ataques spoofing simples,
intermedirio e sofisticado.

31
4.1 ATAQUE SIMPLES VIA SIMULADOR DE SINAL
Todos os receptores comerciais civis so vulnerveis ao spoofing. Um simples ataque consiste
de um amplificador de sinal e uma antena acoplados em um simulador de sinal GPS emitindo
os sinais RF na direo do receptor alvo. Um ataque desse tipo com sucesso, foi demonstrado
pelos pesquisadores do Laboratrio Nacional de Argonne [25].

Embora seja fcil montar um ataque com um simulador de sinais, o custo alto. Um
simulador moderno pode chegar a 400 mil dlares. Simuladores podem ser alugados por 1000
dlares por semana, que fazem-no acessveis a curto tempo. Outro problema o tamanho.
Muitos simuladores so pesados e grandes. Se usados em um simples ataque prximo ao
receptor da vtima o mesmo pode ser visto.

Alm disso, h a dificuldade de sincronizar a sada do simulador com a atual leitura do sinal
GPS no receptor. Um ataque dessincronizado efetivamente age como um sinal de jamming, e
pode fazer com que o receptor da vtima perca o contato com o satlite e tenha que refazer a
aquisio do pacote. Essa requisio repetida pode parecer suspeita, porm efetiva se no
notada, pois aps isso, o receptor pode sincronizar-se com o sinal simulado. Porem
necessrio que o receptor perca o contato com todos os satlites durante o jamming e realize
contato diretamente com o sinal simulado [26].

32
4.2 ATAQUE INTERMEDIRIO VIA UM RECEPTOR-SPOOFER PORTTIL
Um dos desafios de um ataque spoofing ter conhecimento preciso da posio e velocidade
do receptor alvo. Esse conhecimento necessrio para o envio de sinais relativos no lugar dos
sinais genunos. Sem essa preciso de posicionamento, o ataque facilmente detectado.
Um ataque via receptor-spoofer, torna-se difcil pela montagem. Ele pode ser feito pequeno,
porm necessrio estar prximo a antena do receptor da vtima. O componente receptor
simula o sinal original para estimar sua prpria posio, velocidade e tempo. Devido a
proximidade, esses dados so aplicados a antena do alvo. Baseado nessa estimativa, o
aparelho gera sinais falsos e executa o spoofing. O receptor-spoofer porttil pode ser
posicionado longe do receptor alvo se ele for esttico e sua posio em relao aquele for
conhecida [26].

Cada canal do receptor alvo est sob controle do receptor-spoofer. O pico do sinal falso
alinhado com o pico do sinal genuno correspondente. A energia do sinal falso gradualmente
elevada. Eventualmente o sinal falso ganha controle no loop de rastreamento que usa a
correlao do pico [26].
Como possvel imaginar, no h receptores-spoofer portteis comerciais. E um ataque
utilizando-o muito difcil de se detectar. O receptor-spoofer capaz de sincronizar seu sinal
ao tempo GPS e, pela sua proximidade a antena da vtima, alinhar o sinal falso e o original.
Um receptor alvo equipado com um oscilador de referncia estvel e um IMU sofisticado
pode durante muitas horas atuar, sem sofrer o ataque de Spoofing. Porm com o tempo, e
pacincia, o receptor-spoofer pode ter acesso indetectvel utilizando perturbaes no tempo e
posio com uma alterao mais detalhada.
Um ataque via receptor-spoofer porttil no fcil de ser executado, por no existir o
aparelho. Entretanto, com o acesso a eletrnicos mais baratos, e conhecimento livre na
Internet, esse ataque pode em breve se tornar um problema.

33
4.3 ATAQUE SOFISITICADO VIA MLTIPLOS RECEPTORES-SPOOFER PORTTEIS
EM FASE
A tcnica de defesa contra receptores-spoofer portteis (diferenciao de ngulo de chegada)
pode ser burlada com um ataque coordenado com um receptor-spoofer com vrias antenas no
receptor alvo. Imagine um receptor-spoofer do tamanho de um baralho. As antenas de
recepo e transmisso esto situadas respectivamente na face de cima e de baixo do aparelho
e protegidos para evitar auto-spoofing. Agora imagine muitos aparelhos dividindo um
oscilador de referncia em comum e um canal de comunicao entre eles, com cada aparelho
montado para uma antena do receptor alvo. A defesa do ngulo de chegada falha nesse cenrio
[26].

Naturalmente, este ataque apresenta todos os desafios de montagem de um simples receptorspoofer, com a adio de mltiplos receptores-spoofer e a uma complexidade adicional que as
perturbaes dos sinais vindo devem estar coordenadas em fase.

A nica defesa conhecida contra esse tipo de ataque a autenticao criptogrfica.

Em resumo, um ataque via mltiplos receptores-spoofer portteis mais incomum que um


ataque usando um receptor-spoofer, mas impossvel de ser detectado com os atuais mtodos
de defesa.

34
5 GPS ASSISTIDO
GPS Assistido (A-GPS, assisted GPS) um sistema que acelerou o processo de obteno do
primeiro ponto de localizao (TTFF, time to first fix) de sistema baseado em satlites de
posicionamento GPS. Esse sistema utilizado em celulares, e seu desenvolvimento foi feito
graas a Comisso Federal de Comunicaes que exigiu o servio para atender aos
requerimentos do 911 e possibilitar o rastreamento da ligao atravs da chamada de
emergncia.

O sistema de GPS assistido utilizado quando os sinais dos satlites esto muito fracos, esto
sofrendo muita interferncia ou at sujeitos a muitos obstculos. E como foi visto, um
receptor GPS pode demorar at 12,5 minutos para de obter o primeiro ponto [15].
Um sistema de GPS assistido utiliza dados externos e dependendo do provedor dos dados,
esse servio pode ser cobrado.

Existem 2 tipos de aparelhos que assistem o receptor, o Mobile Station Based (MSB) e a
Mobile Station Assisted (MSA).
A MSB usada para captar os sinais dos satlites mais rapidamente. Ele fornece os dados
orbitais ou almanaques para o receptor GPS, ajudando o receptor na escolha dos satlites.

A MSA usado para calcular a posio do receptor GPS utilizando informaes do mesmo.
Geralmente essas estaes ficam prximas a torres de celular, com um sinal de satlite bom e
sabem as correes dos erros com maior preciso que o receptor. Logo sabendo sua
localizao, e com maior poder computacional que os receptores, calculam a posio baseada
nos dados recebidos do receptor atravs da rede de dados.

35

6 FERRAMENTAS UTILIZADAS
O objetivo desse trabalho elaborar um detector de spoofing para um Veiculo Areo no
Tripulado (VANT). Para isso foi utilizado um software de cdigo aberto, o GPS Logger
(http://code.mendhak.com/gpslogger/) feito pelo Mendhak, no qual foi implementado funes
a fim de alcanar o objetivo proposto.
O projeto foi feito em Java utilizando o API android.location e testado em um Tablet Galaxy
SII GT-P3110.

Alm disso foi utilizado o aplicativo Fake GPS Location para atuar como Spoofer do
experimento.

6.1 API ANDROID.LOCATION


O API utilizado no GPS Logger de fcil uso. Por exemplo, a classe Location, fornece a
latitude, longitude e o horrio GPS por padro, alm disso, h informaes opcionais como
velocidade e altitude. Ou seja, atravs do API possvel obter os dados do receptor GPS de
uma forma mais limpa e clara, tendo em vista como os dados NMEA so.
Outra classe de extrema importncia a LocationManager. Essa classe prov o acesso ao
sistema de servios de localizao que fornece a localizao geogrfica ao aparelho ou se
pode iniciar uma aplicao quando o receptor se aproximar de algo definido previamente.
Vale lembrar que o sistema pode utilizar outras fontes de dados para calcular sua localizao.

A permisso necessria ao aparelho a ACCESS_FINE_LOCATION que possibilita utilizar:

Interfaces:

GpsStatus.Listener: usado para receber notificaces quando o estado do receptor


GPS se alterar.
GpsStatus.NmeaListener: usado para receber sentenas NMEA do receptor.

36
LocationListener: usado para receber notificaes do LocationManager quando a
localizao for alterada.

Classes:

Address: classe representando um endereo, isto , um conjunto de palavras


descrevendo uma localizao.
Criteria: classe representando o critrio para a escolha do provedor.
Geocoder: classe responsvel pela geocodificao (processo de transformao de
um endereo ou algum outro dado, em coordenadas) e a geocodificao reversa.
GpsSatellite: classe que representa o estado atual do satlite GPS.
GpsStatus: classe que representa estado atual do sistema GPS
Location: classe de dados representando a localizao geogrfica.
LocationManager: classe que fornece acesso ao servio de sistema de localizao.
LocationProvider: superclasse abstrata para os provedores de localizao.

A partir dessas classes foi implementada a deteco do Spoofing.

37
6.2 GPS LOGGER
O GpsLogger um aplicativo para Android, feito em Java e de cdigo aberto. Ele mostra a
localizao em tempo real do aparelho, alm de salvar esses dados e dados passados em um
arquivo no carto de memria do aparelho. Esse arquivo pode ser salvo nos formatos CSV,
KML ou GPX, sendo que esse ltimo padro para sistemas de rastreamento. Esses logs
podem ser enviados periodicamente durante atividade via FTP, DropBox, e-mail ou Google
Docs, ou via SMS.
possvel salvar dados como velocidade, direo e altitude calculados a partir do sistema
GPS, porm esses podem ser obtidos de fonte externa tambm.

Quando o sistema GPS est desativado no aparelho, ele utiliza as torres de celular para obter
uma localizao.

Ele pode interagir facilmente com outros aplicativos do celular utilizando condies geradas
pelos dados obtidos e disponibilizados no programa.

Ele informa dados como, localizao, altitude, direo, latitude, longitude, o nmero de
pontos obtidos, a preciso da localizao, o nmero de satlites vistos e quais esto sendo
utilizados para o clculo da posio. Alguns desses dados s so observados via USB.

38

Figura 3: Gps Logger em funcionamento.

39
6.3 FAKE GPS LOCATION
O Fake GPS Location um aplicativo, criado pela empresa Lexa, que altera, via software, as
coordenadas atuais do receptor, para coordenadas preestabelecidas

Esse programa ser responsvel por spoofar o receptor GPS via software j na
camada de aplicao, onde adulterar os dados de localizao obtidos.

Figura 4: Tela principal do Fake GPS Location

40
7 O DECETOR DE SPOOFING
O detector de spoofing foi criado com a alterao de algumas funes do GPSLogger e com a
adio de outras.

O sistema calcula se realmente possvel que o receptor esteja naquele ponto, naquele
momento, utilizando informaes de tempo e localizao do instante e anteriores. Utiliza-se
tambm a velocidade atual do dispositivo, que pode ser estimada como uma velocidade
mdia, ou obtida a partir de uma fonte externa. No recomendado utilizar a velocidade
obtida do sistema GPS, tendo em vista que esta pode ter sido adulterada pelo Spoofing.
Para que o anti-spoofer funcione necessrio que o primeiro ponto seja conhecido e no
esteja sendo gerado por um spoofer. Logo temos um ponto inicial P0 conhecido e confivel.
Aps isso o VANT pode ser deixado livre para voo. A partir do momento que se movimentar e
calcular um novo ponto P1, o sistema agir, e calcular a diferena dos tempos dos dois
pontos, e a distncia absoluta entre eles. Tendo a diferena de tempo entre os pontos e a
velocidade do VANT pode-se calcular qual distncia foi percorrida nesse perodo, checandose assim se o ponto P1 est dentro do alcance possvel do veculo areo.

A seguir esto descritas as alteraes feitas.

7.1 PACOTE ANDROID.WIDGET.TOAST


O pacote utilizado para o visual do Anti-spoofer e responsvel pela exibio das
informaes de alerta quando o sistema for spoofado, alm da localizao atual spoofada e a
ltima localizao real.

7.2 SESSION.JAVA
Essa classe responsvel pela sesso atual que est sendo exibida na tela do GPS. Aqui foram
adicionadas algumas funes para alterar e atualizar as variveis da Sesso atual, por
exemplo, o horrio do ltimo ponto da Sesso atual.

41

public static long getCurrentTime() {


Location loc = getCurrentLocationInfo();
return po != null ? loc.getTime() : 0;
}
public static long getPreviousTime() {
Location loc = getPreviousLocationInfo();
return loc != null ? loc.getTime() : 0;
}

As funes so responsveis por armazenar o horrio do ponto atual e do ponto


anterior da Sesso.

7.3 GENERALLOCATIONLISTENER.JAVA
Essa classe responsvel por manipular as informaes recebidas dos satlites.

case GpsStatus.GPS_EVENT_SATELLITE_STATUS:
GpsStatus status = loggingService.gpsLocationManager.getGpsStatus(null);
int maxSatellites = status.getMaxSatellites();
Iterator<GpsSatellite> it = status.getSatellites().iterator();
int count = 0;
while (it.hasNext() && count <= maxSatellites) {
it.next();
count++;
}

O cdigo acima, que faz a contagem dos satlites vistos pelo GPS, foi alterado pelo cdigo
abaixo.

case GpsStatus.GPS_EVENT_SATELLITE_STATUS:
GpsStatus status = loggingService.gpsLocationManager.getGpsStatus(null);
int maxSatellites = status.getMaxSatellites();
float[] Azimuth = new float[maxSatellites];
float[] Elevation = new float[maxSatellites];
int[] Prn = new int[maxSatellites];
float[] Snr = new float[maxSatellites];
boolean[] InFix = new boolean[maxSatellites];
Iterator<GpsSatellite> it = status.getSatellites().iterator();
int count = 0;
while (it.hasNext() && count <= maxSatellites) {
GpsSatellite SATS=it.next();

42
count++;
Azimuth[count]=SATS.getAzimuth();
Elevation[count]=SATS.getElevation();
Prn[count]=SATS.getPrn();
Snr[count]=SATS.getSnr();
InFix[count]=SATS.usedInFix();
tracer.debug(String.valueOf(InFix[count]) +"
"+String.valueOf(Azimuth[count])+" "+ String.valueOf(Elevation[count]) +" "+
String.valueOf(Prn[count]) +" "+ String.valueOf(Snr[count]) );
}

Esse trecho envia algumas informaes como PRN, azimute, elevao, SNR (taxa sinal-ruido)
de cada satlite, e informa se ele est sendo utilizando ou no para o clculo do ponto atual.
No possvel escolher qual satlite utilizar para fazer o clculo, visto que isto programado
no CHIPSET do GPS.

Alm disso, foi adicionada uma linha de cdigo, para que todas as sentenas NMEA fossem
enviadas via USB. Elas foram mostradas na sesso dos dados NMEA.
tracer.debug("\n" + String.valueOf(nmeaSentence) + "\n");

7.4 GPSLOGGINGSERVICE.JAVA
Aqui a classe onde se inicia a classe LocationManager, onde possvel escolher a
localizao via torres de celulares ou GPS. Lembrando que o dispositivo utilizado nesse
trabalho no tem acesso a torres de celulares.

Nessa classe foram feitas as maiores alteraes e adies.

A funo IsPossibleDistance(loc), confere se a posio loc est dentro do raio de possveis


posies utilizando a diferena de tempo dessa localizao e da anterior e uma velocidade
mdia escolhida.
Abaixo o cdigo:
private boolean IsPossibleDistance(Location loc) {
if (Session.getPreviousLocationInfo() == null) {
Session.setPreviousLocationInfo(loc);
}

43
double distance = Utilities.CalculateDistance(
Session.getPreviousLatitude(),
Session.getPreviousLongitude(),
loc.getLatitude(),
loc.getLongitude());
double DeltaTime= loc.getTime() - Session.getPreviousTime();
tracer.info(String.valueOf(loc.getTime()) + " " + Session.getPreviousTime());
if (distance <= (9*(DeltaTime/1000))) {
tracer.debug(String.valueOf(distance) + "<= 1000*11*" + DeltaTime);
return true;
}
else return false;
}

Observa-se que a velocidade aqui escolhida de 11m/s que corresponde a


39,6 km/h.

O cdigo que obtinha o ponto atual foi alterado para fazer a verificao desse ponto. Abaixo
uma parte do cdigo como era inicialmente.
tracer.info(SessionLogcatAppender.MARKER_LOCATION,
String.valueOf(loc.getLatitude()) + "," + String.valueOf(loc.getLongitude()));
AdjustAltitude(loc);
ResetCurrentFileName(false);
Session.setLatestTimeStamp(System.currentTimeMillis());
Session.setCurrentLocationInfo(loc);
SetDistanceTraveled(loc);
ShowNotification();

Observa-se que ele define as informaes atuais de localizao da Sesso como as contidas
em loc (em negrito), sem antes passar por nenhuma verificao. Aps a alterao o cdigo
ficou dessa forma:

if (Session.getPreviousLocationInfo()==null){
tracer.info("Location to update: " + String.valueOf(loc.getLatitude()) + "," +
String.valueOf(loc.getLongitude()));
AdjustAltitude(loc);
tracer.info("Primeira rodada");
ResetCurrentFileName(false);
Session.setLatestTimeStamp(System.currentTimeMillis());
Session.setCurrentLocationInfo(loc);
SetDistanceTraveled(loc);
Session.setPreviousLocationInfo(loc);

44
}
else {
if (IsPossibleDistance(loc) == true) {
tracer.info("Location to update: " + String.valueOf(loc.getLatitude()) +
"," + String.valueOf(loc.getLongitude()));
AdjustAltitude(loc);
Session.setPreviousLocationInfo(loc);
ResetCurrentFileName(false);
Session.setLatestTimeStamp(System.currentTimeMillis());
Session.setCurrentLocationInfo(loc);
SetDistanceTraveled(loc);
}
else {
HackedLoc = loc;
RealLoc= Session.getPreviousLocationInfo();
int i=0;
while(i!=2) {
tracer.info("Location to update: " + String.valueOf(loc.getLatitude())
+ "," + String.valueOf(loc.getLongitude()) + "FALSE LOCATION! Sppofed GPS
Signals!");
Toast.makeText(getApplicationContext(), "Your False Location is \nLat: " + String.valueOf(HackedLoc.getLatitude()) +
"\nLong: " + String.valueOf(HackedLoc.getLongitude()) +
"\nYour Last Real Location was - \nLat:" +
String.valueOf(RealLoc.getLatitude()) +
"\nLong" + String.valueOf(RealLoc.getLongitude()),
Toast.LENGTH_LONG).show();
i++;
}
Session.setPreviousLocationInfo(RealLoc);
AdjustAltitude(Session.getPreviousLocationInfo());
ResetCurrentFileName(false);
Session.setLatestTimeStamp(Session.getLatestTimeStamp());
Session.setCurrentLocationInfo(Session.getPreviousLocationInfo());
SetDistanceTraveled(Session.getPreviousLocationInfo());
tracer.info(Session.getPreviousLatitude() + " " +
Session.getPreviousLongitude());
}
}
ShowNotification();

O cdigo acima primeiramente checa se existe informaes sobre um ponto anterior, caso no
tenha, o primeiro ponto obtido e essas informaes so salvas como sendo do ltimo ponto
conhecido e confivel.

Ao buscar um segundo ponto, ele observa que j existe informaes anteriores e checa atravs
da funo IsPossibleDistance() se o veculo pode estar naquele ponto. Se a funo retornar
True, ou seja, o ponto no estiver sendo spoofado, as informaes atuais so atualizadas e esse
ponto salvo como ltimo ponto conhecido confivel. Caso esse ponto no esteja dentro do
limite calculado, essas informaes de localizao so copiadas para uma varivel chamada
Hacked, e as informaes sobre a ltima localizao conhecida salva em outra varivel
chamada RealLoc.

45

Aps salvas as localizaes, o sistema exibe uma mensagem na tela do dispositivo e envia
uma mensagem via USB informando que o sistema foi spoofado, mostrando a posio
spoofada e a ltima posio conhecida.
Aps isso necessrio que o VANT execute algum procedimento, visto que as informaes
sobre a sua posio no so mais confiveis.

46
8 MTODO
Para fazer o teste do Anti-Spoofer, definiu-se uma rota a ser seguida. A rota escolhida foi o
trajeto da Rua Eduardo de Souza Aranha, nmero 191, do Bairro Vila Nova Conceio, at a
Rua Doutor Franco da Rocha, nmero 669 do Bairro Perdizes, ambos localizados em So
Paulo Capital. Abaixo a imagem da rota escolhida em colorido.

Figura 5: Trajeto colorido correspondente a rota percorrida.

47
A imagem foi gerada pelo Google Maps, e a rota tem em torno de 6,6 quilmetros.

Em alguns momentos aleatrios do trajeto, o spoofer ser ligado e o ponto a ser spoofado,
corresponde a localizao do Parque Ibirapuera em So Paulo, com as coordenadas 23,5883
Sul e 46,6589 Oeste.

Figura 6: Fake GPS ativado spoofando as coordenadas do


Parque Ibirapuera.

48

Nota-se que o ponto a ser spoofado encontra-se em torno de 1 quilmetro do ponto inicial e 5
quilmetros do ponto final.

Ao compilar-se o programa, foi escolhida uma velocidade mdia de 60 km/h, que corresponde
a 16,67 m/s, para ter como base no deslocamento do automvel pelas ruas. Vale lembrar que
nessas vias a velocidade mxima permitida de 50 km/h, portando est sendo admitido um
erro de 20% na preciso do receptor GPS.

49
9 RESULTADOS
Aps o percurso ser percorrido duas vezes, para observao da discretizao do sistema
(quantidade de pontos por tempo), optou-se pela quantidade de 4 pontos por minuto, ou seja, a
cada 15 segundos seria calculada uma nova posio. Isto , o ponto seguinte deveria estar a
uma distncia de no mximo 250 metros do ponto atual para ser considerado um ponto vlido.

Abaixo os dois mapas mostrando o resultado e os logs dos dois percursos.

Figura 7: Rota 1 em azul e rota 2 em vermelho; ambas com


frequncia de atualizao 4 pontos/minuto.

50

Os dados foram extrados do debug do programa e mostram respectivamente, a checagem


para saber se um possvel ponto spoofado e a atualizao dos dados de localizao.

IsPossibleDistance:958 - 26.202610852611905<= 1000*16,67*77916.0


OnLocationChanged:845 - Location to update: -23.588439152609322,-46.67278231808028

Tambm mostrado os satlites visveis, e informaes sobre os mesmos.

onGpsStatusChanged:142 - true 124.0 62.0 2 33.0


onGpsStatusChanged:142 - true 47.0 20.0 5 25.0
onGpsStatusChanged:142 - true 139.0 25.0 6 26.0
onGpsStatusChanged:142 - true 271.0 27.0 29 15.0
onGpsStatusChanged:142 - true 35.0 58.0 78 19.0
onGpsStatusChanged:142 - false 147.0 11.0 88 8.0
onGpsStatusChanged:155 - 6 satellites

Aps constatar que a frequncia consegue discretizar bem a rota, foi feito um terceiro
percurso, onde o spoofer foi configurado para ligar aleatoriamente. E foi obtido um mapa
totalmente diferente do atual, com pontos realmente fora da rota.

51

Figura 8: Mesma Rota de 1 e 2 com o spoofer ligado em


momentos aleatrios.

Porm nos momentos em que o GPS mostrava o ponto spoofado, ele informava que o ponto
era duvidoso na tela do Tablet, e tambm via USB. Seria recomendado que nesse momento,
houvesse alguma contramedida para que o veculo no seguisse por um caminho incorreto.

52

Figura 9: Sistema anti-spoofing informando no display que


o receptor est sofrendo spoofing.

E extraindo os dados do debug possvel ver o aviso de que a localizao incorreta.

OnLocationChanged:858 - Location to update: -23.586362,-46.658099 FALSE LOCATION!


Spoofed GPS Signals!

Como demonstrado, o spoofing para esse caso foi detectado, dependendo agora somente da
contramedida tomada pelo VANT. Em vista que o sinal est em broadcast, muito difcil
evit-lo.

53
10 CONCLUSO
Tendo o conhecimento que atualmente so conhecidas trs formas de spoofing, e sendo que, a
segunda e terceira s existem na teoria (receptores-spoofer). Pode-se dizer que a questo do
Spoofing foi resolvida temporariamente com esse trabalho.
Vale lembrar que seria um timo estudo o uso de um sistema IMU para aumentar a deteco
obtendo-se um sistema mais robusto e torn-lo como proteo para o segundo tipo de
Spoofing.

Uma soluo de contramedida ao detectar o spoofing seria a troca do provedor, como por
exemplo, o uso do GPS Assistido, obtendo a localizao pelas torres de celular. Pressupondo
que nenhuma dessas torres estivessem sofrendo spoofing, o GPS-A informaria a posio
correta e o VANT poderia se guiar temporariamente por este. Para isso seria necessrio um
dispositivo com acesso a rede de dados.

Como falado anteriormente, apenas a criptografia consegue evitar o terceiro tipo de Spoofing.
Para futuros trabalhos, recomenda-se o desenvolvimento e estudo do receptor-spoofer para
entender mais a fundo seu funcionamento, a fim de se criar defesas alternativas.

54
11 BIBLIOGRAFIA
[1] bbc.com. Researchers use spoofing to 'hack' into a flying drone, Disponvel em:
http://www.bbc.com/news/technology-18643134. Acesso em: 15 de setembro de 2015.
[2] Baroni, L. ALGORITMOS DE NAVEGAO EM TEMPO REAL PARA UM SISTEMA
GPS DE POSICIONAMENTO RELATIVO DE PRECISO. INEP, p. 10-20, 2009.
[3] Flandern, T. V. What the Global Positioning System Tells Us about Relativity Disponvel
em: http://www.metaresearch.org/cosmology/gps-relativity.asp. Acesso em: 20 de outubro de
2015 .
[4] Cooksey, D. Understanding the Global Positioning System (GPS), Disponvel em:
http://www.montana.edu/gps/understd.html. Acesso em: 15 de setembro de 2015.
[5] Fora area dos EUA. Informaes oficiais sobre o GPS, Disponvel em:
http://www.gps.gov/. Acesso em: 9 de outubro de 2015.
[6] Thomassen K. How GPS Works. Disponvel em: http://www.avionicswest.com. Acesso
em: 10 de agosto de 2015 .
[7] Misra, P.; Enge, P. Global Positioning System. Signals, Measurements and Performance.
Ganga-Jamuna Press, p.115, 2006.
[8] Borre, K.; Akos, M.; Bertelsen, N.; Rinder, P.; Jensen, S. H. A Software-Defined GPS and
Galileo Receiver. A single-Frequency Approach Springer, p.18, 2007.
[9] Fora Area dos Estados Unidos United States Nuclear Detonation Detection System
(USNDS) (U), Disponvel em: . Acesso em: 12 de novembro de 2015.
[10] Base das foras Area de Los Angeles. Air Force Successfully Transmits an L5 Signal
From GPS IIR-20(M) Satellite. Disponvel em: http://www.losangeles.af.mil/news/story.asp?
storyID=123144001. Acesso em: 8 de agosto de 2015.
[11] Fora Area dos Estados Unidos. GPS Interface Specification (GPS-IS-200H). Fora
Area dos Estados Unidos, p. 15-26, 2013
[12] Centro de Navegao do Departamento de Segurana dos Estados Unidos. Navstar Gps
User

Equipment

Introduction.

Disponvel

em

http://www.navcen.uscg.gov/pubs/gps/gpsuser/gpsuser.pdf. Acesso em: 25 de outubro de


2015.
[13] Base das foras Area de Los Angeles. Navstar GPS Space Segment/Navigation User
Interfaces.

Disponvel

em:

http://www.losangeles.af.mil/shared/media/document/AFD-

070803-059.pdf. Acesso em: 28 de outubro de 2015.


[14] Departamento de Defesa e Departamento de Transporte dos Estados Unidos. USNO

55
NAVSTAR Global Positioning System. Disponvel em: http://tycho.usno.navy.mil/gps.html.
Acesso em: 21 de outubro de 2015.
[15] Centro de Navegao do Departamento de Segurana dos Estados Unidos.. GPS
NANUS,

ALMANACS,

&

OPS

ADVISORIES.

Disponvel

em

http://www.navcen.uscg.gov/?pageName=gpsAlmanacs. Acesso em: 5 de novembro de 2015.


[16] Rodrigues, D. D. Rede geodsica de preciso no Estado de Minas Gerais: avaliao de
diferentes estratgias de processamento e ajustamento. Tese de Doutorado da USP, Cap. 3.
Disponvel

em:

http://www.teses.usp.br/teses/disponiveis/3/3138/tde-06122002-

115813/publico/04capitulo03.pdf. Acesso em: 12 de novembro de 2015.


[17] Bennett, P. The NMEA FAQ. Disponvel em: http://www.kh-gps.de/nmea.faq. Acesso
em: 9 de novembro de 2015.
[18] Associao dos Eletrnicos Marinhos dos Estados Unidos. NMEA Standard. Disponvel
em: http://www.nmea.org/content/nmea_standards/nmea_0183_v_410.asp. Acesso em: 10 de
novembro de 2015.
[19] John, A. Vulnerability assessment of the transportation infrastructurerelying on the
Global Positioning System. Volpe National Transportation Systems Center, p. 25-30, 2001.
[20] Key, E. L. Techniques to Counter GPS Spoofing. Corporao Mitre, 1995.
[21] Scott, L. Anti-spoofing and authenticated signal architecturesfor civil navigation systems
Instituto de Navegao de Portland, Oregon, p.1542-1552, 2003.
[22] Hein, G.; Kneissi, F.; Avila-Rodriguez, J. A.; Wallner, S. Authenticating GNSS: Proofs
against spoofs, Part 1. Revista InsideGnss, p.58-63, 2007.
[23] Hein, G., Kneissi, F., Avila-Rodriguez, J.-A., and Wallner, S. Authenticating GNSS:
Proofs against spoofs, Part 2. Revista Inside Gnss p.71-78, 2007.
[24] Stansell, T. Location Assurance Commentary. GPS World,Vol. 18, No. 7, p. 19, 2007.
[25] Warner, J. S. and Johnston, R. G. A simple demonstration that the Global Positioning
System (GPS) Is Vulnerable to Spoofing. Jornal da Administrao de Segurana dos Estados
Unidos, 2003.
[26] Humphreys , T. E.; Ledvina, B. M.; Psiaki, M. L.; OHanlon, B. W.; Kintner, P. M.
Assessing the Spoofing Threat:Development of a Portable GPS Civilian Spoofer
gps.mae.cornell.edu,

p.

1-3,

2008.

Disponvel

em:

http://gps.mae.cornell.edu/humphreys_etal_iongnss2008.pdf. Acesso em: 4 de novembro de


2015.