Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ANG13T/fly-catcher
✈️ 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
https://github.com/ANG13T/fly-catcher
ads-b aerospace aviation cybersecurity planes raspberry-pi sdr spoofing-detection
Last synced: about 2 months ago
JSON representation
✈️ 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
- Host: GitHub
- URL: https://github.com/ANG13T/fly-catcher
- Owner: ANG13T
- License: mit
- Created: 2023-11-18T18:41:16.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-08T14:40:19.000Z (12 months ago)
- Last Synced: 2024-05-01T21:43:39.363Z (7 months ago)
- Topics: ads-b, aerospace, aviation, cybersecurity, planes, raspberry-pi, sdr, spoofing-detection
- Language: Jupyter Notebook
- Homepage: https://www.youtube.com/watch?v=NJ9ep0IlddA
- Size: 53.3 MB
- Stars: 122
- Watchers: 6
- Forks: 12
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
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
- **Getting Started**
- [✈️ Features](#features-️)
- [⚡ Demo Gallery](#demo-gallery-️)
- [⚙️ Build it Yourself](#build-it-yourself-️)
- [🚀 Getting Started](#detecting-for-spoofing-)
- [🔎 Detecting for Spoofing](#detecting-for-spoofing-)
- **Learning More**
- [🎥 Watch it in Action](#watch-it-in-action-)
- [🔬 Read the Research Paper](https://github.com/ANG13T/fly-catcher/blob/main/assets/project_report.pdf)
- [📄 Read the Article](https://medium.com/@angelinatsuboi/detecting-hacker-aircraft-using-artificial-intelligence-ec249baa866b)
- **Community**
- [✨ Contributing](#contributing-)
- [🏆 Special Thanks & Credits](#special-thanks--credits-)
- [💜 Support](#support-)
- [📜 License](https://github.com/ANG13T/fly-catcher/blob/main/LICENSE)
## 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 ⚡️
Picture of the completed build
Device shown with the SportCruiser
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](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](https://github.com/ANG13T/fly-catcher/blob/main/fabrication/Device_Case.f3d)
- SD Card
- Rasbian Operating System
- 4x 3/32 Screws
- Python and Pip on Raspberry Pi### 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](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](https://www.gps-coordinates.net/)## Detecting for Spoofing 🔎
### Download the Jupyter Notebook
```
git clone https://github.com/ANG13T/fly-catcher.git
cd notebook
jupyter notebook
```
Install [Jupyter Notebook](https://jupyter.org/install) 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`### Open `Fly_Catcher.ipynb` and Run the Notebook
## Research Paper 🔬
To get a more in-depth and technical overview of Fly Catcher, you can refer to this [research paper](https://github.com/ANG13T/fly-catcher/blob/main/assets/project_report.pdf).You can also read an article write-up I made about Fly Catcher [here](https://medium.com/@angelinatsuboi/detecting-hacker-aircraft-using-artificial-intelligence-ec249baa866b).
## 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- [Pi Aware Radar by Martin O'Hanlon](http://www.stuffaboutcode.com/2015/11/raspberry-pi-piaware-aircraft-radar.html)
- [Reference dump1090 README](https://github.com/SDRplay/dump1090/blob/master/README-json.md)
- [Data Samples from ADSB Exchange](https://www.adsbexchange.com/data-samples/)
- [IEEE Research on ADS-B Signals](https://ieeexplore.ieee.org/document/9377975)## 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](github.com/ANG13T).