Web服务器如何防止跨站点脚本(XSS)攻击

在最近两次针对航空公司和一家大型电子商务票务公司的网络攻击中,成千上万的客户通过称为跨站点脚本(XSS)的恶意策略破坏了他们的个人和财务数据。

XSS并不是新事物,但是其影响力和可见性都在增长。最近最著名的例子是Magecart,该组织与上面提到的两种攻击都有联系。Web应用程序是数据泄露漏洞的关键点。这是您需要保护它们免受XSS攻击的知识。

什么是跨站点脚本(XSS),为什么问题变得越来越严重?

XSS攻击涉及攻击者将恶意脚本注入网页或应用程序。当受害者访问页面或应用程序时,将执行代码。例如,Magecart插入脚本,当用户进行购买时会跳过支付卡数据。

事实是,保护网站并不像以前那样简单。Web应用程序由于其复杂性和监视难度而越来越受到关注。组织现在可以为他们的Web和移动访问者提供跨多种设备的丰富,多样且交互式的体验,这是非常棒的,但是这种能力使IT安全团队的工作变得更加复杂。锁定服务器已足够的日子已经一去不复返了。现在,您还必须注意浏览器,Web和移动应用程序及其所有组件。

阻止XSS攻击的主要方法有两种,但每种方法都有其自身的挑战和缺点。

1.通过过滤和卫生措施防止XSS攻击

过滤的目的是首先防止恶意脚本进入网站。由于恶意代码来自客户端来源,例如用户提交的表单或受感染的Cookie,因此您需要通过过滤器传递所有外部数据。简单吧?不幸的是,过滤确实有一些障碍。

随着Web应用程序变得越来越复杂,它们越来越依赖第三方组件,而这些组件通常最容易受到攻击。对于售票公司的黑客攻击,恶意JavaScript已注入第三方组件。尽管公司对这些组件的要求越来越严格,但他们仍在努力过滤所有组件。而且,如果您的Web应用程序安全性工作发现了漏洞,那么很难让第三方进行修复。

如果您的网站包含用户提交的内容,例如评论,评论,个人资料或产品说明,那么过滤将是一个挑战。例如,另一个电子商务组织经常遭受小规模XSS攻击,因为它允许用户发布包含JavaScript的复杂描述。在成千上万的用户提交信息的情况下,几乎不可能完全使用过滤进行清理。

最后,过滤通常需要一组人员来处理繁重的工作量。当您的人力资源不多时,可能无法手动维护过滤器。

2.使用内容安全策略防止XSS攻击

内容安全策略(CSP)涉及使用HTTP标头将Web应用程序将信任的源列入白名单。所有其他人将被阻止。CSP在防止XSS攻击方面非常有效,但是与过滤和卫生措施一样,实现和维护CSP也有其缺点。

CSP的第一个问题是,它假定您的Web应用程序是静态的,而实际上它们在不断变化。如果您使用CSP并没有为新的源或依赖项更新它,则您的站点将崩溃。除了动态之外,您的网站也很复杂。当您曾经使用浏览器与一台服务器通信时,大多数站点现在都包括分析,广告,监视和其他第三方组件。您将获得一些非常复杂的CSP标头。

因此,由谁负责确保您的CSP可以防止每一次新的XSS攻击而不会使您的站点崩溃?开发人员的艰巨任务是弄清网站访问的每个资源,并手动配置CSP以使其使用。对于一个没有经验的团队成员,他们可能根本不具备实施CSP的技能,因为即使是最好的开发人员也可能会发现CSP 容易出错并且难以维护。

此外,那些为网站编写代码的开发人员可能不会是管理它们的人。这些人可能不了解所有依赖关系,因此最终可能会破坏网站。如果您有第三方开发其他解决方案,则很难获得对依赖关系的了解。

CSP乍一看具有挑战性。但是,有了正确的解决方案,它可以变得更加容易。关键是利用CSP的报告机制来促进开发人员和安全工程师之间的通信。利用数据,可以在舞台环境中优化CSP,以便在部署时,该应用程序具有更新的CSP。在更新CSP并将新更新部署到生产之前,在团队之间完全透明的情况下,可能会讨论应用程序可以使用哪些资源。让我们谈谈您可以做些什么。

通过可见性和灵活性防止XSS攻击

要找到问题,您必须在正确的位置寻找它。这需要深入了解该应用程序的实际操作及其潜在的攻击点。了解每个应用程序的组件,它们的状态以及它们如何通信,并监视该应用程序正在访问的数据。

为了有效地使用CSP,必须进行数据驱动。tCell是我们的云WAF和RASP工具,可与CSP无缝集成,以收集应用程序行为,并使用该数据来建议您单击几下即可创建的策略。此外,建议的策略更新为开发和安全团队提供了一种很好的方式来讨论第三方依赖项中的风险,并对收益与风险保持一致的看法。这不仅提供了优雅的技术解决方案,而且tCell可以在协作安全文化中有所帮助,这对于任何重视安全性的公司而言都是至关重要的。您的应用程序安全解决方案应能够与应用程序生态系统中的变化和创新保持同步。

有些解决方案可以帮助您保持应用程序和动态策略的透明度。在Insight平台上,Rapid7的tCell增强了Web应用程序在从浏览器到服务器的各个级别的安全性。tCell提供了一个基于Web的解决方案,使您可以自动获取应用程序使用的所有Web资源的实时可见性,而无需编写代码。此外,tCell允许您创建细粒度的阻止规则,以禁止来自高级配置用户界面的不可信资源,而无需手动编辑HTTP标头。

版权申明:本站文章均来自网络,如有侵权,请联系01056159998 邮箱:itboby@foxmail.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

中国领先的互联网域名及云服务提供商

为您提供域名,比特币,P2P,大数据,云计算,虚拟主机,域名交易最新资讯报道

域名注册云服务器