Crowd-GPS-Sec is a solution proposed to detect and localize GPS spoofing attacks on moving airborne targets such as UAVs or commercial airliners.
The GPS Spoofing detection module consists of two tests:
- Test 1 - Cross Checks with MLAT Condition: MLAT requires atleast 4 sensors on the ground to receive ADS-B messages.
- Test 2 - Multiple Aircraft Comparison Condition: Aircraft Comparison requires atleast 2 aircrafts to receive the spoofed signal.
The purpose of this app is to:
- find the "blind-spots" where MLAT cannot be computed by plotting a scatter map of the positions on the world map where atleast 4 sensors received the message from the aircraft.
- visualize aircraft density in order to determine which parts of the world Test 2 can be used in.
app.py:
- connects to the OpenSky Network
- sends an SQL query to the Impala shell to retrieve most recent aircraft messages + serial ids of receivers
- parses the dataframes and stores results to a .csv file
- filters data.csv to find which messages were received by >=4 receivers and plots a scatter map
- plots a heatmap of the aircraft density
data.csv: contains aircraft messages as queried on 1532649599 (Thursday, 26-Jul-18 23:59:59 UTC)
scatter_test1.html: scatter plot generated by app.py to evaluate Test 1
heatmap_test2.html: heat map generated by app.py to evaluate Test 2
test1_test2.html: both the scatter plot and heat map generated by app.py