编译:奇安信代码卫士团队

本周一,安全研究员报道称,黑客正在利用谷歌的 Analytics 服务偷偷窃取受感染电商网站的信用卡信息。

PerimeterX、卡巴斯基和 Sansec 公司均在报告中指出,目前威胁行动者正在向受攻陷网站注入数据窃取代码并结合谷歌 Analytics 为自己的账户生成的跟踪代码窃取用户输入的支付信息,即使是在执行内容安全策略获得最大化的 web 安全的情况下也不例外。

卡巴斯基实验室在报告中指出,“攻击者将恶意代码注入站点,收集用户输入的所有数据之后通过 Analytics 发送。结果,攻击者就能在自己的 Google Analytics账户中访问被盗数据。”

卡巴斯基实验室指出已经发现了20多家受感染的欧洲、北美、南美的数字设备、化妆品、食品和零部件电商网站。

绕过内容安全策略

攻击实施的前提是使用谷歌 web 分析服务追踪访客的电商网站在内容安全策略 (CSP) 中将相关联的域名进行白名单化。

CSP 是一种增强安全措施,可帮助检测并缓解源自跨站点脚本漏洞和其它形式的代码注入攻击的威胁,其中包括 Magecart 黑客组织带来的威胁。该安全功能允许站长定义一系列允许web 浏览器和某个具体 URL 进行交互的域名,从而阻止执行不可信代码。

PerimeterX 公司的研究副总监 Amir Shaked 指出,“问题是由该 CSP 规则系统颗粒度不够造成的。识别并阻止以上恶意 JavaScript 请求要求高级可见性解决方案能够检测敏感用户数据的访问权限并提取它们(在本案例中是邮件地址和密码)。”

通过这种技术收割数据所需的就是一小段 JavaScript 代码,它能通过一个事件和 Google Analytics 用于唯一识别网站不同动作的其它参数来传输已收集详情如凭据和支付信息。

卡巴斯基实验室指出,“管理员将 *.google-analytics.com 写入 Content-Security-Policy 标头(用于列明下载第三方代码的资源),从而使服务收集数据。另外,还可以在无需从外部资源下载代码的情况下执行攻击。”

为使攻击变得更加隐蔽,攻击者还会确保访客浏览器的“开发者模式”是否启用,只有在未启用的情况下才会继续。

三月以来的新型攻击活动

荷兰安全公司 Sansec 也发布报告指出,自3月17日开始某攻击活动就使用托管在谷歌 Firebase 上的一个 JavaScript 代码在多家商店中传播恶意代码。威胁者创建了一个临时的 iFrame 加载受控的谷歌 Analytics 账户以实现混淆目的。输入支付表单上的信用卡数据随后被加密并发送到该分析面板,而数据也通过此前使用的加密密钥恢复。

鉴于谷歌 Analytics 在这些攻击活动中使用广泛,如果攻击者利用之前受允许的域名劫持敏感信息,则 CSP 等应变措施将无法运作。

Shaked 认为,“可能的解决方案是自适应 URL,将 ID 作为 URL 或子域名的一部分,使管理员设置能够限制数据盗取的 CSP 规则。加强 CSP 方向的一个更细颗粒度的未来方向是将 XHR 代理作为 CSP 标准的一部分,从而创建客户端 WAF,执行允许传输何种具体数据字段的策略。”

遗憾的是,消费者能抵御表单劫持攻击的措施并不多。在网购时打开浏览器中的“开发者模式”会起作用,但它无法阻止越权购买或身份窃取的发生。

声明:本文来自代码卫士,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。