如何用 Android 智能手机劫持一架飞机

航空公司的飞行安全专家们,你们还在担心恐怖分子或者好事者用大功率激光笔在飞机起降时晃瞎飞行员的眼睛吗?恐怖分子们,你们还在挖空心思把“家 伙”带上飞机吗?现在真正“革命性”的技术来了,劫机者用一部Android手机就能在家里遥控一架航班,就像操纵航模一样,这可不是恐怖分子的酒后胡 言。

Android手机应用千千万,但是有一种危险应用你可能打破头也想不到,那就是——劫持飞机。

昨天在阿姆斯特丹的Hack in the Box大会上,德国信息安全顾问Hugo Teso向人们演示了如何通过一个普通的Android智能手机应用劫持一架飞机,这个演示立刻吸引了全场观众的注意力。

Teso在信息安全领域有超过11年的经验,但他作为经受专业训练的商业飞行员的驾龄则有12年。因此Teso是少数能综合利用科技和航空两个领域的技术进行跨界攻击的人选。

如何用Android智能手机劫持一架飞机

Teso开发了一个劫持框架(SIMON)和一个Android应用(PlaneSploit),向飞机的飞行管理系统(计算单元和控制显示单元)发送攻击信息。Teso向听众演示了这种攻击方法的可怕后果:完全控制并接管一家飞机。

Teso攻击的两个航空信息系统之一是播式自动相关监察系统(Automatic Dependent Surveillance-Broadcast,ADS-B),通过一个板载的发射器,该系统负责向航空管理员发送飞机状态信息(身份、目前位置、海拔高 度等)。ADS-B还能接受附近飞机的空中交通状况、天气等信息。

Teso攻击的另外一个系统是飞行器通讯寻址与报告系统(ACARS),这个系统的功能是在飞机和航空管理员之间通过无线电或卫星交换信息,同时还能自动更新飞行状态信息。

与掌管汽车发动机的ECU等汽车专用计算机通讯网络一样,上述两个航空业的标准技术毫无安全可言,完全无法抵御潜在的主动或被动式攻击。Teso首 先用ADS-B发现并锁定所要劫持的航班,然后用ACARS收集机载电脑信息并通过发送恶意信息攻击其漏洞,最终控制并操纵了整架飞机!

出于安全考虑,Teso自行研究开发的SIMON框架特意设计成只能在虚拟环境中运行,而不能在真实的飞机上使用。但是在Teso的测试实验室,所 有的软件硬件的连接和通讯方式都与现实场景完全一致。(编者按:事实上Teso使用的ACARS和FMS等大量软硬件都是从eBay上低价淘来的,如下 图)

如何用Android智能手机劫持一架飞机

SIMON一旦被部署到飞行管理系统(FMS)的计算机中,很难被察觉,因此也没有必要像Rootkit那样隐藏自己。通过SIMON,攻击者能向远程的飞行管理系统上传特定的载荷,包括飞行计划、具体命令甚至定制化的插件。

如何用Android智能手机劫持一架飞机

为了让劫持看上去更直观“有趣”,Teso还开发了一款名为PlaneSploit的Android应用程序来通过SIMON遥控飞机。(编者按:当然,这款应用是不可能在Google Play上架的,我们就不提供超链了)

Teso的Android劫机应用PlaneSploit能完成以下操作(在虚拟环境中):

  • 让飞机飞往指定地点

  • 在特定高度和位置触发事件

  • 让飞机坠毁

  • 让飞机从飞行管理系统中消失

  • 让飞机驾驶舱里的各种指示灯一起闪烁,就像迪斯科舞会那样

更加狗血但却完全可行的是,Teso的Android应用还能利用手机里的加速感应器来用手势操作飞机。

当然,以上所有功能的前提是飞机必须处于自动驾驶模式,如果飞行员发觉情况不对,可以切换到手动模式,从而摆脱手机的控制,避免灾祸的发生。

饶是如此,我们也必须承认,随着数字化和物联网的高速发展,越来越多关键基础设施和交通系统的专用网络正在成为黑客攻击的目标,而其结果也比虚拟世界的攻击要可怕得多。