赛门铁克首席安全研究人员Candid Wueest近日发文称,酒店网站可能会泄露客人的预订详情,允许其他人查看客人的个人数据,甚至取消他们的预订。在最近研究酒店网站上可能发生的劫持攻击时,Wueest偶然发现了一个可能泄露客人个人数据的问题。
Wueest测试了多个网站 – 包括54个国家/地区的1500多家酒店 – 以确定这个隐私问题的常见程度。我发现这些网站中有三分之二(67%)无意中将预订参考代码泄露给第三方网站,如广告客户和分析公司。他们都有隐私政策,但他们都没有明确提到这种行为。
虽然广告商跟踪用户的浏览习惯已经不是什么秘密,但在这种情况下,共享的信息可以允许这些第三方服务登录预订,查看个人详细信息,甚至完全取消预订。自从《通用数据保护条例》(GDPR)在欧洲生效以来已近一年了,但受此问题影响的许多酒店的遵守法规的速度非常缓慢。
Wueest测试过的网站从乡村的二星级酒店到海滩上的豪华五星级度假村酒店网站。一些预订系统值得称赞,因为它们只显示了数值和停留日期,并没有透露任何个人信息。但大多数网站泄露了个人数据,例如:
全名
电子邮件地址
邮寄地址
手机号码
信用卡、卡类型和到期日的最后四位数字
护照号
是什么导致这些泄漏?
Wueest测试的网站中有超过一半(57%)向客户发送确认电子邮件,并提供直接访问其预订的链接。这是为了方便客户而提供的,只需点击链接即可直接进入预订,无需登录。
由于电子邮件需要静态链接,因此HTTP POST Web请求实际上不是一个选项,这意味着预订参考代码和电子邮件将作为URL本身的参数传递。就其本身而言,这不是问题。但是,许多网站直接在同一网站上加载其他内容,例如广告。这意味着直接访问可以直接与其他资源共享,也可以通过HTTP请求中的referrer字段间接共享。Wueest的测试表明,每次预订平均生成176个请求,但并非所有这些请求都包含预订详细信息。该数字表示可以非常广泛地共享预订数据。
为了演示,Wueest假设确认电子邮件包含以下格式的链接,该链接会自动让Wueest登录到他的预订概述中:
HTTPS://booking.the-hotel.tld/retrieve.php prn=1234567&[email protected]
加载的页面(在此示例中为retrieve.php网站)可以调用许多远程资源。为这些外部对象发出的一些Web请求将直接将完整URL(包括凭据)作为URL参数发送。
以下是分析请求的示例,其中包含完整的原始URL,包括作为参数的参数:
https://www.google-analytics.com/collect?v=1&_v=j73&a=438338256&t=pageview&_s=1&dl=https%3A%2F%2Fbooking.the-hotel.tld%2Fretrieve.php%3Fprn%3D1234567%26mail% 3Djohn%5Fsmith%40myMail.tld&dt
=你的%20booking&sr = 1920×1080&vp = 1061×969&je = 0&_u = SCEBgAAL~&jid = 1804692919&gjid =
1117313061&cid = 1111866200.1552848010&tid = UA-000000-2&_gid = 697872061.1552848010&gtm = 2wg3b2MMKSS89&z = 337564139
如上所述,相同的数据也在referrer字段中,在大多数情况下将由浏览器发送。这导致参考代码与30多个不同的服务提供商共享,包括众所周知的社交网络,搜索引擎以及广告和分析服务。此信息可能允许这些第三方服务登录预订,查看个人详细信息,甚至完全取消预订。
还有其他情况,预订数据也可能被泄露。有些网站会在预订过程中传递信息,而其他网站会在客户手动登录网站时泄露信息。其他人生成一个访问令牌,然后在URL而不是凭据中传递,这也不是好习惯。
在大多数情况下,Wueest发现即使预订被取消,预订数据仍然可见,从而为攻击者提供了窃取个人信息的机会。
酒店比较网站和预订引擎似乎更安全。从Wueest测试的五个服务中,两个泄露了凭据,一个发送了登录链接而没有加密。应该注意的是,Wueest发现了一些配置良好的网站,它们首先需要Digest认证,然后在设置cookie后重定向,确保数据不会泄露。
未加密的链接
可以认为,由于数据仅与网站信任的第三方提供商共享,因此该问题的隐私风险较低。然而,令人遗憾的是,Wueest发现超过四分之一(29%)的酒店网站没有加密包含该ID的电子邮件中发送的初始链接。因此,潜在的攻击者可以拦截点击电子邮件中的HTTP链接的客户的凭证,例如,查看或修改他或她的预订。这可能发生在公共热点,如机场或酒店,除非用户使用VPN软件保护连接。Wueest还观察到一个预订系统在连接被重定向到HTTPS之前,在预订过程中将数据泄露给服务器。
不幸的是,这种做法并不是酒店业独有的。通过URL参数或在referrer字段中无意中共享敏感信息在网站中很普遍。在过去的几年里,Wueest看到过多家航空公司、度假景点和其他网站的类似问题。其他研究人员在2019年2月报告了类似的问题,其中未加密的链接被用于多个航空公司服务提供商。
更多问题
Wueest还发现,多个网站允许强制执行预订参考以及枚举攻击。在许多情况下,预订参考代码只是从一个预订增加到下一个预订。这意味着,如果攻击者知道客户的电子邮件或姓氏,他们就可以猜出该客户的预订参考号并登录。强行预订号码是旅游行业的一个普遍问题,Wueest之前曾在博客中发表过这样的信息。
这样的攻击可能无法很好地扩展,但是当攻击者考虑到特定目标或目标位置已知时,它确实可以正常工作,例如会议酒店。对于某些网站,后端甚至不需要客户的电子邮件或姓名 – 所需要的只是有效的预订参考代码。Wueest发现了这些编码错误的多个例子,这使Wueest不仅可以访问大型连锁酒店的所有有效预订,还可以查看国际航空公司的每张有效机票。
一个预订引擎非常智能,可以为访客创建一个随机的PIN码,以便与预订参考号一起使用。不幸的是,登录没有绑定到访问的实际预订。因此,攻击者只需使用自己的有效凭据登录并仍可访问任何预订。Wueest没有看到任何证据表明后端有任何速率限制可以减缓此类攻击。
有什么风险?
许多人通过在社交媒体网络上发布照片来定期分享他们的旅行细节。这些人可能不太关心他们的隐私,实际上可能希望他们的关注者知道他们的行踪,但Wuees相当肯定如果他们到达他们的酒店并发现他们的预订已被取消后,他们会更加注意。攻击者可能会因为娱乐或个人报复而决定取消预订,但也可能损害酒店的声誉,作为勒索计划的一部分或作为竞争对手的破坏行为。
酒店业也存在相当多的数据泄露,以及数据配置不当的云数据的数据泄露。然后,这些信息可以在暗网上出售或用于进行身份欺诈。收集的数据集越完整,它就越有价值。
诈骗者还可以使用以这种方式收集的数据来发送令人信服的个性化垃圾邮件或执行其他社交工程攻击。提供个人信息可以提高勒索邮件的可信度,就像那些声称你被黑客攻击的邮件一样。
此外,有针对性的攻击团体也可能对商业专业人士和政府雇员的行程感兴趣。例如DarkHotel/Armyworm, OceanLotus/Destroyer, Swallowtail及Whitefly等APT团伙。这些群体对这一领域感兴趣的原因有很多,包括一般监视目的,跟踪目标的动作、识别随行人员,或者找出某人在特定地点停留多久。它还可以允许物理访问目标的位置。
解决问题
根据GDPR,欧盟个人的个人数据必须根据这些问题得到更好的保护。然而,受影响酒店对Wueest的调查结果的回应令人失望。
Wueest联系了受影响酒店的数据隐私官(DPO)并告知他们相关调查结果。令人惊讶的是,25%的DPO在六周内没有回复。一封电子邮件被退回,因为隐私政策中的电子邮件地址不再有效。在做出回应的人中,他们平均花了10天回应。做出回应的人主要确认收到他的询问,并承诺调查该问题并实施任何必要的变更。一些人认为,根本不是个人数据,而且必须与隐私政策中所述的广告公司共享数据。一些人承认他们仍在更新他们的系统以完全符合GDPR标准。其他使用外部服务进行预订系统的酒店开始担心服务提供商毕竟不符合GDPR标准。
预订站点应使用加密链接并确保没有凭据作为URL参数泄露。客户可以检查链接是否已加密,或者个人数据(如电子邮件地址)是否作为URL中的可见数据传递。他们还可以使用VPN服务来最大限度地减少他们在公共热点上的曝光率。不幸的是,对于普通的酒店客人来说,发现这样的泄漏可能不是一件容易的事,如果他们想要预订特定的酒店,他们可能没有多少选择。
尽管GDPR大约一年前在欧洲生效,但这个问题存在的事实表明,GDPR的实施还没有完全解决组织如何应对数据泄漏问题。到目前为止,已经报告了超过20万起GDPR投诉和数据泄露案件,用户的个人数据仍然存在风险。
(稿源:cnBeta,封面源自网络。)
请登录后发表评论
注册