除了埃航坠机还有网安专家“玩坏”机载娱乐系统
3月10日,埃塞俄比亚航空一架波音737-8飞机发生坠机,机上157人无人生还,包括8名中国游客。
这是继去年10月29日印尼狮航事故之后,波音737-8飞机发生的第2起。为确保飞行安全,民航局要求国内运输航空公司于2019年3月11日18时前暂停波音737-8飞机的商业运行。
无独有偶,最近外媒也报道了一位在越洋航班闲得无聊的“网安专家”一不小心玩坏了机载娱乐系统,索性这波操作没有带来什么损伤。尽管如此,技术宅们还是吓出一身冷汗。
事情是这样的,西苏格兰大学助理教授 Hector Marco 在越洋航班上发现了飞行娱乐系统屏幕上的服务 Bug(CVE-2019-9109),他的发现会让大量搭载 Thales 设备的航班头大。
一入网络安全误终身这话真不是白说。正常坐个飞机都不耽误网络安全教授捉虫,而且人家坚称自己不是专门来“找茬”,只是偶尔一试就发现了问题。
“虽然我当时已经很累了,而且这是个红眼航班,但还是忍不住对娱乐系统做了些基本的安全检查。”Marco 在领英上的博文中说道,他还用 USB 无线鼠标在机载聊天软件中贴了一长串文本。
尽管后来 Marco 重新编辑了这篇博文,但这个看似无心插柳的行为在社交网络上被一些安全行业从业者疯狂 Diss,大家认为他的研究方法有些不妥,因为这可是在飞行中,一旦出了问题几百条性命谁负责?
针对这个被炒得沸沸扬扬的捉虫事件,Marco 在回复 The Register 的邮件中(不愿通过电话沟通)坚称,自己并非“故意找茬”,只是想将一条长信息发给另一位乘客,所以才了鼠标。“尝试复制粘贴很多次后,那个聊天应用居然突然消失了。”
Marco 还专门在 YouTube 上发了视频,解释自己是怎么在娱乐系统屏幕上操作鼠标的。他“不厌其烦”的在屏幕上复制粘贴一长串字符,其中还有像“fdkfdkfdkfdkfdhhhhhhhh”这样的文字。不久之后,这个应用就卡住了。好在,这样狂虐娱乐系统并没有影响这架波音飞机上其它乘客面前的屏幕。
“我没想到这个应用居然会崩溃。”Marco 解释道。“我可不是故意找漏洞,因为当时我也不知道这套系统有漏洞。”
众所周知,不断在输入区域复制粘贴长传文本是一种渗透测试技术。这样操作会引发软件缓冲区溢出,内存机制就无法起效了(比如 ASLR)。几年前,Marco 和另一个研究人员就发现,只要连敲退格键 28 次,就能绕过 Linux bootloader Grub2 的启动认证。
虽然搞瘫痪了面前的娱乐系统,但 Marco 也承认,他并不清楚自己在这次越洋航班上到底发现了什么。他只是表示:“这个问题更像缓冲区溢出,但也不能排除内存不足或类似原因。既然它被分类为未知类型的漏洞,我们就该寻找真正原因并作出修正。”
美国国家技术标准研究所认为,受 CVE-2019-9109 影响的主要是英国航空波音 777-36N(ER) 上的机载娱乐系统,当然其它机型可能也会受影响。调查显示,出 Bug 的软件其实由 Thales 集团开发并,而英国航空只是它们的客户之一。
Marco 还表示,自己发现这个 Bug 后马上就通知了各相关方。Thales 评论,而波音则表示:“我们设计了多个层级的措施,软件、硬件和网络架构功能都是为了关键飞行系统安全而生的。波音的网络安全过严格的测试,而且走完了 FAA 的所有流程,我们的飞机符合甚至超过适用的相关法律法规。”
英国航空则称,这个漏洞并不会让任何人拿到飞行控制系统的控制权。“我们已经了解了相关情况,英国航空的调查组并未识别出任何安全风险。公司旗下飞机的机载娱乐系统与关键操作系统是相互的,因为乘客的安全是我们的第一要务。”
需要注意的是,即使机载娱乐系统出自同一家供应商之手,它们的 USB 接口也有所不同,怎么设置还是要听航空公司的。
眼下,英国航空旗下有 12 架波音 777-300 飞机,它们都搭载了 Thales 的 i5000 机载娱乐系统。除了波音飞机,英国航空旗下的空客 A321 和 A380 用的也是 Thales i5000,这个漏洞还会影响波音 777s 及波音 787。
除了英国航空,阿曼航空和航空也在使用 Thales i5000 机载娱乐系统,共涉及 45 架飞机。眼下,我们还不知道这个漏洞是否是 Thales 旗下产品的通病。
关于自己一手“试出来”的漏洞,Marco 认为我们还是得着手解决这个问题,而不是依据不完整的信息妄加评论。
业内专家 Ken Munro 则认为 Marco 的行为有些欠考虑。他表示:“研究确实是推动安全升级的好方法,但研究行为和黑客行为之间是有边界的,Marco 明知道自己的所作所为会产生什么样的潜在后果却没有及时收手。即使真的要测试机载娱乐系统是否有漏洞,至少也要等到飞机上没人的时候再做啊。”