Skip to content

✈️ A device that detects for aircraft spoofing by monitoring for malicious ADS-B signals in the 1090MHz frequency. Built using a Raspberry Pi 3B and a FlightAware SDR

License

Notifications You must be signed in to change notification settings

fxsecltd/fly-catcher

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fly Catcher logo

Fly Catcher

Fly Catcher monitors for malicious ADS-B signals in the 1090MHz frequency to detect for aircraft spoofing

Learn More | Build Guide | Getting Started | Video | Research Paper | Article

Table of Contents

Features ✈️

  • 🔎 Detecting spoofed ADS-B messages
  • 📡 Logging messages on the 1090 MHz frequency
  • ✈️ Mapping and visualizing ADS-B messages
  • ⚙️ A portable Raspberry-Pi based device
  • ⚡️ An accurate neural network classifier
  • 🔨 3D printable case with small form factor
  • 📻 Compatible with the FlightAware SDR

Demo Gallery ⚡️

Gallery Image

Picture of the completed build

Gallery Image

Device shown with the SportCruiser

Gallery Image

Display shown on the TFT Screen

Watch it in Action 🎥

Watch the video overview of Fly Catcher on YouTube

https://youtube.com/watch?v=NJ9ep0IlddA

Build it Yourself ⚙️

Materials List

  • 1090MHz Rubber Ducky Antenna
  • Raspberry Pi 3B
  • FlightAware Pro Stick Plus SDR
  • 3.5 in TFT Screen
  • Portable Battery Charger
  • USB-C to Micro USB Cable
  • Custom 3D Printed Case
  • SD Card
  • Rasbian Operating System
  • 4x 3/32 Screws
  • Python and Pip on Raspberry Pi

Folium Map

Constructing the Device

  1. Install the Rasbian operating system to the Raspberry Pi with the SD Card
  2. Connect the Flight Aware SDR to the Raspberry Pi using the Micro USB cable
  3. Connect the 1090 MHz antenna to the Flight Aware SDR
  4. Configure the 3.5-inch TFT Screen to the Raspberry Pi
  5. Place the Device into the 3D Printed Case
  6. Ensure Python and Pip are installed on the Raspberry Pi
  7. Install dump-1090 FlightAware library on the Raspberry Pi to receive ADS-B information

The following tutorial is very helpful for getting dump-1090 installed on the Pi

https://www.stuffaboutcode.com/2015/11/raspberry-pi-piaware-aircraft-radar.html

Running the Radar Code

Clone the Repository on the Pi

git clone https://github.com/ANG13T/fly-catcher.git

Run the Program

python3 fly-catcher/device-rpi/piawareradar.py longitude latitude

Replace longitude and latitude with your geo-coordinates

Detecting for Spoofing 🔎

Download the Jupyter Notebook

git clone https://github.com/ANG13T/fly-catcher.git
cd notebook
jupyter notebook

Install Jupyter Notebook if you do not have it

Open up the localhost server at http://localhost:8888

Download JSON Flight Logs from Device

Visit the IP address of the Raspberry Pi device followed by the path /data/aircraft.json For example, 192.168.1.114:8080/data/aircraft.json

Folium Map

Open Fly_Catcher.ipynb and Run the Notebook

Folium Map

Research Paper 🔬

To get a more in-depth and technical overview of Fly Catcher, you can refer to this research paper.

You can also read an article write-up I made about Fly Catcher here.

Future Improvements 🚀

  • Enhanced UI features on the radar screen
  • Deep learning techniques such as RNNs and LSTM networks
  • Incorporating reinforcement learning techniques
  • Differentiate spoofing attacks (ie. GPS spoofing, aircraft masquerading, etc)

Contributing ✨

Fly Catcher is open to any contributions. Please fork the repository and make a pull request with the features or fixes you want to implement.

Special Thanks & Credits 🏆

The Fly Catcher leveraged on previous ADS-B works and references included below

Support 💜

If you enjoyed Fly Catcher, please consider becoming a sponsor in order to fund my future projects.

To check out my other works, visit my GitHub profile.

About

✈️ A device that detects for aircraft spoofing by monitoring for malicious ADS-B signals in the 1090MHz frequency. Built using a Raspberry Pi 3B and a FlightAware SDR

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 89.7%
  • Python 10.3%