在智能手机上跟踪ADS-B系统的飞机航线信息

飞机飞行的中断可能会给航空公司造成数十亿美员的损失,但即便如此大多数现代商业航班仍旧依赖于存有严重安全问题的空中交通管制系统。到2020年,这些系统将会被升级为一个被称之为NextGen的系统,该系统依赖于ADS-B(广播式自动相关监视)系统。

“ADS-B Out”是ADS-B的基本功能,它负责将信号从飞机发送方经过视距传播发送给地面接收站或者其他飞机。在本教程中,我将带大家初步了解ADS-B系统,以及如何HACK ADS-B系统,并在智能手机上跟踪飞机航线。

ADS-B有多重要?

你可以想象自己现在是一名飞行员,需要完成一次横跨大西洋的飞行任务。在漆黑的夜晚,你主要依靠空中防撞系统(TCAS)来避免发生冲撞事故。再打个比方,现在在你飞行的方向突然出现了上百架的飞机。如果你此时你使用的是空客自动驾驶功能,那么它将自动为你作出飞行选择

其次在安全方面例如在繁忙的节假日期间,针对主要机场的ADS-B系统的入侵可能造成的后果。大自然已经为我们提供了很好的案例,例如“洛杉矶机场数以千计的旅客的噩梦”,“冰岛火山Eyjafjallaj?kull造成的飞机中断”使航空公司成本高达17亿美元等。而如今,黑客也可以做到这一点。

图为2010年4月15日(星期四)冰岛火山爆发后ADS-B数据

本文我将为大家展示的是,对于“ADS-B In”和TCAS的欺骗攻击的示例,它们在协作测距系统中协同工作,因为它们都建立在相同的基础模式S数据链路上。这代表了FAA的NextGen系统中一种类型的漏洞,该类漏洞早在2001年9月18日就已经被公认。并在11年后的2012年的入侵事件中被证明。嘲讽的是到2016年,该类漏洞再次被一名黑客使用廉价的SDR设备入侵。

某些应用程序可能需要对ADS-B信息进行独立验证以检测欺骗,这是提出安全性问题的方面。

— FAA’s Ron Jones (via AIN Online)

ADS-B是如何工作的?

ADS-B系统是一个集通信与监视于一体的信息系统,由信息源、信息传输通道和信息处理与显示三部分组成。ADS-B的主要信息是飞机的4维位置信息(经度、纬度、高度和时间)和其他可能附加信息(冲突告警信息,飞行员输入信息,航迹角,航线拐点等信息)以及飞机的识别信息和类别信息。此外,还可能包括一些别的附加信息,如航向、空速、风速、风向和飞机外界温度等等。

ADS-B的应用分为两类:发送(OUT)和接收(IN)。其中OUT是ADS-B的基本功能,它负责将信号从飞机发送方经过视距传播发送给地面接收站或者其他飞机。ADS-B IN是指航空器接收其他航空器发送的ADS-B OUT信息或地面服务设备发送的信息,为机组提供运行支持和情境意识。他们每秒钟以纯文本,未加密和未认证的方式执行此操作,也正是ADS-B In功能,为我们打开了飞机欺骗攻击的大门。

廉价的DVB-T加密狗可以获取250公里范围内的飞机ADS-B(飞机的身份,位置和速度)数据

尽管如此,ADS-B是FAA的NextGen系统的支柱。该系统旨在允许更多的飞机在特定空域内运行,同时增加安全性,减轻空中交通管制日益增加的负担

美国联邦航空局甚至授权“在大多数受控制的美国领空飞行的飞机必须在2020年1月1日之前装备ADS-B”,而不考虑ADS-B固有的安全问题的事实。美国联邦航空局正在尽最大努力以500美元的奖励说服大家使用ADS-B。

截至2017年8月,美国共约164,200架通用航空固定翼飞机已经装备了约29000架,占比达到17%。但配备商用飞机的百分比要大得多,约6,670架飞机中有2,000架装备,占比达到30%。

事实上FAA的Ron Jones,在Defcon 20的精彩演讲幻灯片)中,也指出了关于ADS-B系统存在的,包括干扰,注入以及窃听等基本安全问题。

如何HACK ADS-B?

虽然我们可以做到对飞机的数据欺骗,但这会造成严重的安全问题和影响并惹来牢狱之灾。因此,本教程将只侧重于ADS-B数据的接收。以下我们将会用到SDR,在之前我发布的文章做过介绍。只需插入25美金的SDR设备,将其调到1090 MHz即可!

然而在实际情况中,我们只要一部智能手机就可以实现该功能。我们只需简单的在手机上安装Flightradar24FlightAware这两个应用,就可以实现对航班信息数据的实时跟踪。

Step 1:安装Flightradar24

Flightradar24应用,可在Google Play商店iOS App Store中进行下载。需要说明的是该应用程序仅支持Android 4.1 / iOS 8.2或更高版本的系统。如果你的手机版本较旧,你也可以通过它的官方网站获取信息。

Step 2:运行和帐户设置

应用程序完成安装后,当我们运行它时将会要求获取我们的位置信息,我们点击允许即可。这一步非常重要,将直接影响后续所有功能的实现,如增强现实。

点击右上角的登录图标。你将看到一个界面,为你提供免费试用版,我们根据提示点击获取。这里需要我们注册登录,可以使用Facebook或Google账户登录,它将自动为你创建一个新的帐户。

Step 3:设置调整

在主界面我们可以看到,左下角一个齿轮状的设置图标。我们可以定制自己喜欢的形式,例如更改地图类型,在飞机图标上放置标签,添加地图日/夜线等。

Step 4:雷达视图观察你周围的飞机

以下是你打开APP在主界面看到的标准视图。视图中的飞机已用不同类型的图标为你标出,想要获取目标航班更多的信息,只需点击相应的飞机图标即可。

你可能已经注意到Flightradar24,并未对一些较小型的飞机进行标注,如Cessnas和Pipers也被称为通用航空。这是因为它们是以单独的978 MHz频率运行,而不是1090 MHz的商用飞机,Flightradar24FlightAware等应用程序都不会对该频率的流量解码。

Step 5:AR视图效果

现在我们可以使用应用程序中最酷的部分。点击左上角的AR选项卡,并赋予APP使用你相机的权限。你也可以通过校准屏幕来提高其准确度。

这里应用程序在手机中使用惯性测量单元(IMU),与GPS配合使用,以估计你的位置。目前Flightradar24的数据库支持查看全球约 60 %的航班信息,其中七成为欧洲航班,其它为美国航班。通过在overview和details之间的切换,可以帮助我们更好的获取航班信息。

Step 6:3D视图效果

另一个更酷的功能是,Flightradar24还可以为我们模拟类似于驾驶舱看到的视觉体验。在地图或AR视图中选择飞机后,点击左下角的3D视图即可。

Step 7:开源威胁情报收集

如果你想了解更多有关特定航班的信息,你只需点击“更多信息”图标。

随后我们将获取到一个曲线视图,其中包含了飞机的类型,速度和高度。

实际上,除了以上直观的数据外,通过简单的分析我们还可以得到一些其它的信息,比如他们到达巡航高度的时间(高度线变平),以及由于头/尾风导致的飞行速度的减慢或加速。

Step 8:跟踪全球的飞机

点击底部栏上的 “Route” 图标,它会为你显示航班的位置。

值得一提的是,Flightradar24尝试使用了多点定位技术(MLAT),来尽可能的避免之前提到的一些漏洞,特别是对于欺骗的防范,并提供最准确的飞机线路图。

MLAT(Multilateration,多点定位技术)利用多个地面接收机接收到机载应答机信号的时间差,计算得出飞机位置。机载应答机在T0发出信号,由于飞机距地面多个地面接收机的距离不同,会导致多个地面接收机接收到应答机信号的时间也不同,接收机1/2/3/4接收到信号的时间分别为T1/T2/T3/T4,这就表示,飞机到接收机1/2/3/4的距离分别为(T1-T0)*C(光速),(T2-T0)*C,(T3-T0)*C,(T4-T0)*C。知道了飞机到4个点的距离,就可以计算出飞机的位置了。(这样解释是为了便于理解,但事实上不是这么计算的,因为我们无法获知T0。实际的计算方式,是利用T1/T2/T3/T4之间的时间差,从而计算出飞机到4个接收机间的距离差,再计算出飞机的位置。多点定位是一种很常用的定位方式,在各行业都有应用,GPS也是一种多点定位,可以将MLAT想象为将GPS放到地上了)。

Flightradar24在其网站中声称:“欧洲和北美的大部分地区如今都覆盖着大约3,000-10,000英尺的MLAT。在墨西哥,巴西,南非,印度,中国,日本,台湾,泰国,马来西亚,印度尼西亚,澳大利亚和新西兰地区也有MLAT覆盖。未来将会有更多的地区覆盖MLAT,我们将继续向我们的网络添加新的接收器。“

Step 9:搜索特定航班信息

通过点击主界面顶部的搜索栏来查询数据库。通过该功能你可以实时的查看和跟踪,亲人或朋友的航班是否已准时到达。或者你也可以像那位无聊的波音飞行员一样,花费18个小时在美国版图上画出一架波音787客机

Step 10:添加提醒

在主界面,你还可以在底部栏的中央添加提醒。由于是免费试用版,因此自定义提醒功能无法使用,我们可以勾选”Squawk 7700 General Emergency”(紧急情况)选项。

通过本文,我们对ADS-B及其漏洞有了初步的了解。在我的下篇文章中,我将教大家使用Rasberry Pi和RTL-SDR加密狗来构建我们自己的ADS-B接收机,尽请关注!

时间: 2024-10-22 05:21:32

在智能手机上跟踪ADS-B系统的飞机航线信息的相关文章

转 Android智能手机上捕获数据包

如何在Android智能手机上捕获数据包? 本文由CSDN-蚍蜉撼青松[主页:http://blog.csdn.net/howeverpf]原创,转载请注明出处! 当前Android系统越来越流行,无论是对于安卓应用的开发人员,还是对于网络安全的研究人员,都有可能需要掌握捕获Android应用通信数据包的方法.根据技术手段不同,常用的抓包方法分两类,一类是通过Android智能移动终端所接入的上层网络设备或线路获取数据流,另一类则是直接在Android移动终端上监听数据流.本文主要探讨第二类方法

PHP在浏览器上跟踪调试的方法以及使用ChromePhp、FirePHP的简单介绍

之前用ThinkPHP时发现有个 trace 函数可以跟踪调试,感觉很有意思,网上搜索了下类似的东西,发现了 ChromePhp ,以前没想过这样来调试 PHP 程序,感觉非常方便,很有用. ThinkPHP 使用的是自己生成的 HTML 随模版一起输出来显示,偶尔会遇到一些莫名其妙的问题,效果不是太好, 还有一些也是类似的方法,但输出的主要是在模版中增加 JS 代码,调用浏览器的调试方法进行输出调试 如 console.log('PHP的一些调试输出内容'); ChromePhp 是通过hea

linux上的常用的系统自带命令

wikipedia 发现的分类,发现还有好多没用过.. Unix command-line interface programs and shell builtins   File system cat cd chmod chown chgrp cksum cmp cp dd du df file fsck fuser ln ls mkdir mount mv pax pwd rm rmdir size split tee touch type umask   Processes at bg c

一次线上用于某某中心系统线上所需环境搭建部署weblogic12C过程

source /etc/profile groupadd bea mkdir /data useradd -d /data/weblogic -g bea weblogic echo '[email protected]#$%'|passwd --stdin weblogic JAVA_HOME=/data/weblogic/jdk-7u55-linux-x64 CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar PATH=$JA

目标世界上最小的Linux系统—ttylinux体验

ttylinux的官方网址:http://ttylinux.net/ 简单翻译一下: 你当前访问的是ttylinux的主页,一个针对多种CPU架构的极小的GNU/Linux系统.最小的ttylinux系统仅有8MB大小,可以运行在具有28MB内存的i486机器上,不但如此系统还提供了完整的命令行环境,并且可以访问英特网. 这个项目的目标是创建一个类似于其他较大发行版本的最小的现代Linux操作系统.构建一个ttylinux系统是一件极富趣味的事情. 终端用户可以用使用ttylinux在老的机器上

在 Linux 的 KVM虚拟机 上安装 Mac OS 系统的研究总结

一.资料来源:    网上一共找到两个方法,一个是视频上的教程,一个是网页资料. 二.视频资料方法内容:1.install qemusudo apt-get install qemu2,creating a blank imgqemu-img create x.img 20G3,setting up Mac Installationqemu-system-x86_64 -hda pathtoimg -vga std -m 2048 -soundhw ac97 -cdrom pathtoiso -

脚尖上的中国一卡通系统开发

脚尖上的中国系统开发找颜宇I3O.493.77.943微|电,脚尖上的中国旅游卡系统开发,脚尖中国旅游卡系统开发,脚尖上的中国一卡通系统开发 随着经济的发展,旅游成为了公众日常行为,然而,由于旅游景区门票价格的飞速增长,其增长速度也令人咋舌,引起了社会的广泛关注,对于游客,门票价格对潜在旅游行为的产生和目的地选择起着较大影响.对于政府,旅游景区特别是公共资源类景区门票定价不仅是经济问题,更是社会.文化及生态问题,涉及到地方形象.财政收入.产业发展各个方面. 一.脚尖中国项目特点: 全国旅游一卡通

APUE学习笔记:第六章 系统数据文件和信息

6.1 引言 UNIX系统的正常运行需要使用大量与系统有关的数据文件,针对这些数据文件的可移植接口是本章的主题.本章还介绍了系统标识函数.时间和日期函数 6.2 口令文件 UNIX系统的口令文件包含了下列各字段,这些字段包含在<pwd.h>中定义的passwd结构中 用户名 char *pw_name 加密口令 char *pw_passwd 数值用户ID uid_t pw_uid 数值组ID gid_t pw_gid 注释字段 char *pw_gecos 初始工作目录 char *pw_d

04 系统和对象统计信息

本章提要----------------------------------------------------工具包 dbms_stats系统统计对象统计通用服务----------------------------------------------------实际上, 仅知道要处理的SQL语句和它引用的对象结构, 查询优化器还是无法提供高效的执行计划, 优化器还必须要量化待处理的数据量.4.1 工具包 dbms_stats 简介    过去, 对象统计是通过SQL语句ANALYZE来收集