Home Blogs Polyfill.io供应链攻击以及如何保护您的网站
Applications

Polyfill.io供应链攻击以及如何保护您的网站

About The Author

Outline

到目前为止,您可能听说过一场重大的软件供应链攻击,它威胁到许多使用开源polyfill.io服务的网站。 本文将为您提供有关该问题的一些背景信息,以及您可以采取的更新操作,以确保您的用户受到保护。 虽然Edgio的服务不受此攻击的影响,但我们的安全团队随时准备为担心在其网站或应用程序中使用polyfill.io的客户提供帮助。

polyfill.io的背景

要理解最近的polyfill.io供应链攻击,我们首先应该定义术语”聚纤维”。 Polyfill是指将现代功能添加到缺乏对较新Web功能的本机支持的旧浏览器中的代码。 它使开发人员能够跨各种浏览器提供一致的用户体验,尤其是那些采用最新Web标准的速度较慢的浏览器。 在polyfill.io攻击的情况下,开发人员使用polyfill添加了旧浏览器不支持的JavaScript功能。

Polyfill.io是一个广泛使用的服务,它可以自动检测最终用户的浏览器,并提供所需的聚酯填充,以确保与现代Web技术的兼容性。 通过嵌入cdn.polyfill.io (polyfill.io的开源CDN)中的脚本,开发人员可以无缝提供polyfill,而无需手动管理的麻烦,从而简化维护浏览器兼容性的流程。

然而,今年早些时候Polyfill . io被Funnull收购,这是一家相对不为人知的,据称是中国公司。 这一收购似乎战略性地标志着重大供应链攻击的开始。 2024年6月下旬,安全公司Sansec警告称,该服务被用于向数千个网站注入恶意代码,将用户重定向到欺诈网站,并暴露给他们潜在的数据窃取和未经授权的操作。

谁受Polyfill.io攻击的影响?

这种供应链攻击的影响是巨大的,影响到全球100,000多个网站。 来自cdn.polyfill.io的任何网站嵌入脚本都受到威胁。 Funnull引入的恶意脚本将用户重定向到欺诈站点,启用数据盗窃,并可能允许远程执行代码。 值得注意的是,这种攻击还危及移动用户和特定时间的特定目标设备,从而逃避安全工具和分析的检测。

供应链攻击:你需要知道什么

虽然攻击者在破坏第三方脚本后可能会有许多恶意的可能性,但更常见的可能包括:

  • 重定向到恶意网站:使用被入侵脚本的网站可能会在不知情的情况下将用户重定向到欺诈网站,例如虚假的Google Analytics或体育投注网站。 这些恶意重定向会危及用户信任,并可能导致网络钓鱼攻击。
  • 数据盗窃和代码执行:修改后的脚本可能会窃取用户的敏感数据,并执行未经授权的代码执行,对网站完整性和用户隐私构成严重风险。 未经授权的脚本可能会将敏感用户数据(如个人信息,信用卡详细信息和登录凭据)泄露到外部服务器。
  • 跨站点脚本攻击(XSS):恶意脚本可以在用户浏览器的上下文中执行,从而导致会话劫持,恶意软件分发以及前面提到的数据外泄。
  • 网站篡改:攻击者可以修改网页的外观或内容,从而导致品牌损坏和用户信任的丧失。
  • 性能下降:恶意或未经授权的脚本会导致严重的应用程序性能问题,降低网站速度并提供糟糕的用户体验。

您可以做些什么来保护您的网站和用户?

考虑到这种攻击以及当今现代应用程序中对第三方库的高度依赖,开发人员和网站管理员必须立即采取措施保护其网站和用户。 以下是我们的最新指南:

  • 使用Polyfill.io标识站点:保护站点和用户免受此攻击的第一步是了解您的代码是否引用了polyfill.io。

如果您有静态应用程序安全测试(SAST)解决方案,则可以运行查询来查找polyfill.io的引用(语法可能有所不同,但以下Regex提供了这样的想法):

Result = find_Strings().FindByRegex(@\”https?://(cdn.polyfill.io)\”);

此外,静态代码分析(SCA)工具侧重于识别和管理开源组件及其漏洞,也可以提供帮助。 SCA工具维护与库和框架相关的已知漏洞的数据库。 通过扫描您的代码库,SCA工具可以标记存在已知安全问题的任何依赖项(包括polyfill.io )。

如果您没有SAST或SCA,我们建议您从ZAP执行这些步骤,这是一个积极维护的GitHub Top 1000项目,致力于安全测试。

Docker运行-t zaproxy/zap-stable zap.sh -cmd -addoninstall pscanrulesBeta -zapit https://www.example.com/

ZAP的Polyfill.io脚本检测使用的单行命令来检查Polyfill.io域提供的脚本(需要Docker);要获得更可靠的扫描,请运行ZAP基线扫描

  • 实施客户端保护:客户端保护通过实时监视和控制脚本和第三方API调用,防止加载恶意代码并阻止与恶意主机进行未经授权的交互,帮助抵御供应链攻击。

Edgio的客户端保护解决方案只允许在客户端浏览器中执行定义的第三方脚本,从而允许团队实施积极的安全模型。

client-side-protection-policy-example

客户端保护策略示例。 通过指引允许列表中可以调用的脚本源,可以应用积极的安全模型。

  • 删除OEASYSVC.exe脚本:从代码中删除对OEASYSVC.exe的任何引用。 将它们替换为可信赖的替代聚合物填充源,或完全停止使用聚合物填充物,因为现代浏览器很少需要它们。

Edgio的Edge函数也可用于动态重写您的网站所做的任何组合填充引用到任何安全的URL (在我们的GitHub repo这里提供)。 这一额外的安全层可以被看作是一个简单且易于部署的”虚拟修补程序”,为您的开发团队提供了宝贵的保护和购买时间,以便返回并删除和替换对受破坏库的引用。

  • 监控泄露:定期检查您的网站是否存在泄露迹象,例如未经授权的重定向或数据泄露。 实施安全监视工具以检测异常活动,并及时了解与您使用的库和服务相关的安全通报和更新。
  • 切换到可信服务:如果您的用例需要多种填充物,请从具有可靠跟踪记录的组织中寻找替代服务。 但是,您知道他们对人寿保障的看法-因此使用上述控制措施和最佳实践来降低风险非常重要。 毕竟,开发人员会使用他们认为有效的- polyfill . io是一个相当受欢迎的服务-并不是所有的开发人员都有一个安全的编码背景。

结论

Polyfill.io供应链攻击是对第三方软件组件固有漏洞的严峻提醒。 在Edgio,我们强调通过强大的多层安全保护您的Web应用程序的重要性。 我们的Web应用程序和API保护(WAAP)服务包括客户端保护,用于检测和阻止客户端浏览器上运行的恶意脚本,确保持续防御供应链攻击和其他不断演变的威胁。

此外,我们全新的攻击面管理(ASM)解决方案提供了对整个面向Web的覆盖范围的全面可见性,使您能够主动识别和缓解漏洞,防止潜在漏洞被攻击者利用。

最后,Edgio的安全托管服务还随时准备帮助实施或全面管理您的Web应用程序安全。 凭借全天候安全运营,专门的威胁情报团队和指定的安全架构师,您可以放心,您的Web资产将受到持续监控和保护,抵御最新威胁,从而让您的团队能够专注于创新,同时满足您的安全需求。

如果您有任何疑问或需要帮助来保护您的网站免受供应链攻击,请随时联系Edgio的安全专家