安全研究人员伊恩·卡罗尔(Ian Carroll)和萨姆·库里(Sam Curry)在FlyCASS系统中发现了这一漏洞。FlyCASS是一个由第三方提供的web服务,一些航空公司使用它来管理和操作已知机组成员(KCM)计划和驾驶舱访问安全系统(CASS)。
KCM是美国运输安全管理局(TSA)的一项计划,允许飞行员和空乘人员通过机场安全处的一条特殊通道绕过安检。而CASS则为授权飞行员在搭乘飞机时使用驾驶舱的跳座提供进入飞机驾驶舱的身份验证。
KCM系统由ARINC(柯林斯宇航的子公司)运营,通过在线平台验证航空公司员工的身份。
KCM的流程相当简单,机组人员只需出示(扫描)KCM条形码或输入员工编号,通过TSA的终端笔记本电脑与航空公司的数据库进行交叉核对,验证通过的人员无需安检即可快速进入无菌区。
CASS系统类似KCM,用于验证飞行员是否有资格在通勤或旅行时进入驾驶舱内使用“跳座”(驾驶舱内供其无执飞任务机组人员搭乘航班的临时座位)。
CASS的主要功能是通过访问航空公司员工数据库来验证搭乘航班的飞行员的身份和就业状态,从而确保只有授权机组人员才能够进入驾驶舱并使用跳座。这一系统在“9·11”事件后变得尤为重要,因为它可以有效减少未经授权的人员进入驾驶舱的风险。
研究人员发现,FlyCASS的登录系统存在SQL注入漏洞,攻击者可以利用该漏洞插入恶意SQL语句进行数据库查询,并以航空公司——如航空运输国际(Air Transport International)的管理员身份登录,篡改系统中的员工数据。
令研究人员惊讶的是,在FlyCASS系统中添加航空公司飞行员和乘务员名单无需进一步检查认证,可以将任何人添加为KCM和CASS的授权用户。
研究人员成功添加一个名为“Test TestOnly”的虚构员工账户,并赋予其KCM和CASS的访问权限,实现了“绕过安检并进入商用飞机驾驶舱”(上图)。
“任何具备基本SQL注入知识的人都可以登录该网站,并将任意人员添加到KCM和CASS系统中,从而跳过安检并进入商用飞机的驾驶舱。”卡罗尔说道。
意识到问题的严重性后,研究人员立即展开了漏洞披露流程,并于2024年4月23日联系了美国国土安全部(DHS)。研究人员决定不直接联系FlyCASS网站,因为它似乎由一个人运营,研究人员担心直接披露会引起对方的恐慌。
国土安全部在接到通知后,也认识到这一漏洞的严重性,并确认FlyCASS已于2024年5月7日从KCM/CASS系统中断开。不久之后,FlyCASS上的漏洞被修复。
然而,在进一步协调安全披露的过程中,研究人员遇到了阻力,国土安全部停止回复他们的电子邮件。
此外,TSA的新闻办公室也向研究人员发送了一份声明,否认该漏洞对系统的影响,声称系统的审查过程会阻止未经授权的访问。然而,在研究人员通知TSA之后,TSA悄悄删除了其网站上与其声明相矛盾的信息。
“在我们通知TSA后,他们删除了网站上提到的手动输入员工ID的内容,但并未回应我们的更正。我们已确认TSA的界面仍然允许手动输入员工ID。”卡罗尔说道。
卡罗尔还表示,这一漏洞可能导致更严重的安全漏洞,例如攻击者可以篡改现有的KCM成员档案(例如用户照片和姓名),冒名顶替现有成员从而绕过对新成员的审查过程。
在研究人员发布报告后,另一位名为阿莱桑德罗·奥尔蒂斯的研究人员发现,FlyCASS似乎在2024年2月曾遭受过MedusaLocker勒索软件攻击,Joe Sandbox的分析显示该系统中存在被加密文件和勒索信。
此次曝光的可绕过机场安检的严重漏洞再次提醒我们,即便是用于关键安全保障的系统也可能存在严重安全隐患,需要持续监控和及时修补。
漏洞披露时间线:
- 2024年4月23日:首次向ARINC和FAA披露
- 2024年4月24日:随后通过CISA向DHS披露
- 2024年4月25日:国土安全部CISO确认他们正在制定解决方案
- 2024年5月7日:国土安全部CISO确认FlyCASS已与KCM/CASS断开连接
- 2024年5月17日:向国土安全部CISO跟进有关TSA声明的情况(无回复)
- 2024年6月4日:向国土安全部CISO跟进有关TSA声明的情况(无回复)