Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 3013|回复: 0

用Android手机劫持飞机

  [复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2013-4-19 21:21:56 | 显示全部楼层 |阅读模式

    英文原文:net-security,编译:ImportNew -黄小非

    导读:

    为了充分了解使用无线电设备(包括手机)对飞行器进行控制劫持的原理,我们首先需要了解一下现代大型飞机的控制原理。

    无论任何飞机,其需要控制的部分无非是机翼,副翼,尾翼,襟翼等飞行活动部件,这些部件决定了飞机在飞行中的姿态。早期的飞机是通过杠杆链接到飞行操纵杆,通过单纯的机械传导的方式对各飞行部件进行控制的。随着技术的发展,目前的现代喷气式客机已经完全采用液压式传导控制,而液压控制,是完全可以通过电子的方式进行自动调整的。

    早期的飞机导航,主要是通过人眼判断可见地标来完成,这种方法既不准确也不安全,而且受天气影响巨大。随着无线电技术的发展,飞行导航技术更多地依赖于无线电信号和地磁信号(罗盘),常见的无线电导航方式有VOR, ADF, NDB等等,这种导航方式需要飞行员通过判读仪表的方式进行,也就是常说的仪表飞行。仪表飞行很大程度上削弱了气候对飞行的影响,让飞机在大雨或者大雾等能见度低的情况下仍然能够正常起飞降落。不过仪表飞行还是要依靠人对仪表的度数进行判断,而且对飞机的操控完全是手动的。

    [/url]
    仪表飞行

    随着GPS的普及和计算机技术的发展,在航空领域中,飞机的导航已经越来越多地依赖于电子设备和计算机设备,而不是飞行员。目前所有的现代大型客机都配备有完整的电子导航系统和计算机飞行控制系统(就是文中提到的FMC),飞行员只需要在起飞和降落的时候进行手动操作,而在其他巡航时间,可以完全把飞机的控制权交给FMC进行处理,这也就是常说的自动飞行模式(Auto-pilot)


    [url=http://www.importnew.com/3880.html/fmc_3]

    FMC飞行管理控制系统

    飞行管理控制系统,现代客机的大脑,飞行员只需要在FMC中输入指令,就可以让飞机按照预定的计划自动飞行。FMC还可以提供飞行过程中的各种信息,例如上图中FMC就显示了机场信息,该屏幕显示的是芝加哥奥海尔国际机场的情况,ICAO机场代码为KORD,海拔668英尺,纬度N41度58分8秒,经度W87度54分3秒,可起降大型喷气式飞机,支持ILS仪表盲降——译者注


    本文中的主人公,IT安全顾问和飞行员Teso就对机载计算机和FMC的安全性提出了质疑,认为现代大型客机尽管看上去很先进,但是在信息安全方面几乎漏洞百出。他所做的演示,就是如何利用航空技术中现有的漏洞,成功地用简单的Android手机去实现对飞机的远程控制。这绝对是一个有趣而又严肃的话题,值得我们大家关注!

    ——译者


    正文:

    近日,在荷兰阿姆斯特丹举行的Hack In The Box黑客大会上,来自德国n.runs AG公司的安全顾问Hugo Teso举办了一场有关使用普通Android设备劫持飞机的主题演讲。这场演讲完全基于真实的场景和前提,因此极大程度上激发了参会者的兴趣,听众将演讲现场围得水泄不通。


    [/url]

    Teso本人拥有11年的IT领域的工作经验,但是同时,他也是一位持有商务飞行驾照的训练有素的飞行员(一般飞机执照分为3个级别,私人驾照,商务驾照和喷气式客机驾照,取得难度依次增大——译者注),他的飞机驾龄长达12年,甚至比他的IT工作经验还要多一年。Teso有效地将他对飞行和热爱和他的IT专业技能结合起来,用以改善当前航空领域对计算机设备和通讯系统的糟糕现状。

    在演示会上,他利用了两种新技术进行嗅探,信息搜集和攻击准备,然后使用他自行编写的入侵框架(SIMON)和一个叫做PlaneSploit的Android应用程序对飞机的中枢神经——飞行管理系统(FMC)——也就是飞行控制和飞机信息显示单元,发送攻击指令。接着,Teso就成功地让一架虚拟的飞机完全处于他的掌控之下,并让飞机“随着他的节奏跳舞”。

    [url=http://www.importnew.com/3880.html/hitb-plane-2]

    被Teso利用来入侵飞机的两种技术漏洞之一叫做:“广播式自动相关监视”技术(ADS-B),该技术会通过飞机机载的发送器,自动将飞机的相关信息(包括飞机标识号,当前位置,高度等)发送给航空管制台,如果该飞机在飞行时其周围有邻近飞机采取了同样技术,那么这些邻近的飞机也能够收到相应的信息。


    [/url]
    ADSB技术演示

    图为ADS-B技术演示,ADS-B信息一般内嵌在飞机的GPS里,以及ATC航空塔台的控制电脑里,在界面上可以清晰地看到地形图,当前位置,机场信息,以及可以调出飞行计划——译者注


    另一个被利用来入侵的技术是:“飞机通信寻址与报告系统”(ACARS),该系统通过无线电或者卫星信号为媒介,用于飞机与航空管制台之间信息交换,并能够同时自动将飞机的每个飞行阶段的信息自动传送到航空管制台。


    [url=http://www.importnew.com/3880.html/oooi]

    ACARS系统演示

    图为ACARS系统,该系统信息一般内嵌在FMC中,从界面上可以清晰地看到飞机飞行标号为BAW744,飞行路线从YSSY(澳大利亚悉尼机场)至YPDN(澳大利亚达尔文机场),时间2007年10月14日,以及航班出发时间,预计到达时间,飞行时间等信息——译者注


    这两种存在漏洞的技术都存在非常巨大的安全隐患,并且非常容易受到主动或被动入侵攻击的影响。Teso就是借用了ADS-B技术来选择入侵目标飞机,并利用ACARS系统盗取飞机机载计算机信息,并成功地利用其自身的缺陷,通过发送虚假恶意消息,来达到干预飞机行为的目的。

    经过研究,Teso开发了SIMON框架,该框架的主要设计目的是针对虚拟飞行系统进行攻击实验,而并非是要攻击真实的飞机系统。他的实验环境由一系列软件和硬件模拟产品组成,不过,这些部件的工作原理,连同飞机的入侵原理,都是完全与现实世界的场景相同的。

    由于飞行管理系统软件(FMS)根本没有探测恶意框架存在的能力,因此SIMON连伪装成rootkit的必要都没有。通过使用SIMON,攻击者能够远程上传特定的飞行载荷,上传虚假飞行计划,飞行指令细节,甚至可以上传专门为框架编写的插件。

    为了让实验变得更有趣,或者说更简单,Teso展示了如何用一个Android应用来调用SIMON的功能,从而通过远程的方式让飞机移动。这个Android应用的名字叫做PlaneSploit,它提供了一个简单明了的接口,但是能够发挥SIMON框架的全部功能特性。不得不说,这是一次一个揭示科技飞速进化的实验演示,令人印象深刻。要知道,10年前,彩屏的手机都还没有普及,今天,我们却能用手机控制飞机!

    [/url]

    PlaneSploit使用Flight radar 24 实时飞行监控软件作为界面,你可以点击在可见范围内的任何飞机。注意,这里的可见范围是指概念上的可见范围,也就是在虚拟环境内软件能显示的范围。在真实世界里,可见范围可以是传感天线的信号范围(如果信号是直接从飞机天线传来),也可以是全球范围(如果能够入侵到全球最大的两个ACARS系统,比如SITA或者ARINC)

    PlaneSploit软件的界面是按照其攻击步骤划分的,逻辑非常清楚,分为:发现飞机,搜集飞机信息,入侵飞机,入侵后操作四个部分。攻击者可以对任何活动中的飞机进行操作,窥探该飞机的飞行标识号,当前位置,目的地等信息。一旦附近的某个飞机被成功入侵(演讲中提到了几个关键的漏洞,但是并没披露如何利用这些漏洞入侵的更具体的细节),应用程序就通过内置的消息提示器,或者消息推送的形式通知攻击者。此时相应的恶意消息就能够通过一指按键上传到飞机上,从这时候起,飞行控制系统就完全由攻击者来控制了。除了飞行控制系统本身,飞机上还有其他的系统与FMS关联,因此入侵的方法绝对不至一种。


    [url=http://www.importnew.com/3880.html/cessna]

    飞机的飞行标识号,是飞行中的飞机在航空管制台中的唯一编号

    以下是Teso向参会者演示的几种功能:

    • 去往某地:攻击者能够通过这个功能动态地在地图上选择地点,从而让飞机改变航线
    • 自定义区域事件:攻击者能够根据条件设定飞机事件,比如飞机进入某区域多少公里,或者到达预定高度时,触发一些事件
    • 亲吻大地:让飞机坠机(可怕……)
    • 滚出系统:自动将恶意程序移出飞行管理系统
    • 恶意提示:攻击者能够通过恶意提示让飞行员吓得半死,比如任意点亮飞机上的警示灯,或者让飞机的报警器无故报警。

    [url=http://www.importnew.com/3880.HTML/5843057233_e35d21e6ff_z][/url]
    飞行座舱内的警告提示器(左侧亮灯处)

    通过展示一个喝醉了酒的飞行员操纵飞机飞过柏林的场景,Teso向大家证明了,Android应用还可以充分利用手机的重力感应功能,因此攻击者还可以将手机的位置移动转化为飞机的物理动作。

    安全是航空工业最为关键的要素,为了保证这一点,航空飞行器上的每一物理部件都至少有一个,甚至有两个以上的安全失效保护装置。但是令人惊讶的是,作为飞机控制的大脑,飞行计算机软件系统的安全性却如此的薄弱。

    关于如何使用工具发动攻击,Teso并没有透露过多的细节,他所发现的漏洞也有待修复。他表示,从飞机工业领域对他的研究发现所给予的反馈来看,情况还是比较乐观的。因为飞机制造公司并没有极力否认问题的存在,而是表示要通过赞助的手段来支持他的研究。

    他说,那些陈旧的,古董级别的设备,例如上世纪70年代生产的飞机设备确实在修复上存在很大的困难,但是也不是不可能。而对于近期生产和制造的现代设备来说,更新设备,通过升级和补丁的方式修正固件和软件,应该是非常容易做到的。

    那些设备上存在的漏洞,当然,根据飞机型号和系统的不同而各不相同,但是对于攻击者来说,一旦他们确定了飞机的型号,就很快能找到对应的漏洞,以及飞机飞行的航线。

    当然,有一个办法能够让飞行员夺回控制权,并平安将飞机着陆,Teso说,攻击者的攻击手段仅仅对自动飞行模式有效,所以一旦关闭了飞机的自动飞行模式,采用仪表方式飞行,飞机就不再受到攻击者的控制。

    糟糕的是,在现代大型飞机上,采用手动仪表方式飞行的情况并不多见,而且飞行员必须要对机载计算机的情况进行判断,以确定计算机是否被攻击者劫持,从而影响到飞机的正常飞行动作,这可不是一件容易的事情。


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-4-19 20:43 , Processed in 0.364118 second(s), 39 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表