外媒报道称,被全球近半数国际航空公司所使用的 Amadeus 机票预订系统,近日被曝存在一个严重的安全漏洞,使得黑客能够轻松查看和更改旅客信息。比如将其他常旅客的里程兑换到黑客指定的个人账户,或更改联系人信息、将客户机票退订。据悉,该漏洞由 Noam Rotem 与安全侦探研究实验室发现,影响全球 141 家国际航空公司(占比 44%)。
Rotem 展示可通过 PNR 代码更改任何乘客的航班信息
Noam Rotem 解释称:漏洞与乘客姓名记录(PNR)系统有关,PNR 用于给航班上的每位乘客指定唯一标识符。
通过刷新机票预订网页的特定元素(RULE_SOURCE_1_ID),Rotem 能够查看他被 Amadeus 纪录任何客户的 PNR 名称和航班详情。
拿到 PNR 和姓名之后,攻击者能够登陆任何受影响的航空公司门户网站,并可能造成严重的破坏。
虽然不会造成安全或财务数据上的威胁,但该漏洞依然能够轻易毁掉许多人的出行安排。此外,黑客可以窃取常旅客的航空里程、冒充用户取消航班,变更座位、甚至用餐计划。
综上所述,问题的关键,在于 PNR 代码上。遗憾的是,航空公司及其客户并没有受到完全的保护。
航司会将这些信息通过非加密的形式传输,因此特别容易受到中间人攻击。此外,许多无心的旅客,有在社交网络上主动曝光自己登机牌的坏习惯。
(Rotem 脚本示例)
更糟糕的是,Rotem 发现 Amadeus 缺乏应对暴力穷举攻击的有效措施。他编写了一个简单的脚本,能够生成随机的 PNR 代码,并成功访问了许多客户的账户。
Rotem 及时将该问题反馈给了以色列航空公司 EL AL,后者又转告了 Amadeus 安全团队。万幸的是,他们后来修补了这方面的漏洞。
Amadeus 在声明中称:“我司一直将安全放在首位,并持续监控和更新我们的系统。在获知该问题后,安全团队迅速采取了行动,当前问题已经得到解决”。
不过为了进一步加强安全性,Amadeus 增加了一个 Recovery PTR,以防止恶意用户访问旅行者的个人信息。对此造成的不便,我们深表歉意。
最后,Rotem 给出了更进一步的建议,希望 Amadeus 能够引入验证机制(比如用密码取代 6 位 PNR 代码),以应对暴力穷举攻击。