新旧交替:人工智能使XSS漏洞重新成为人们关注的焦点

30年来,跨站脚本漏洞(XSS)一直困扰着网络安全专业人员。在CISA和FBI发出警报后,专家表示,除非这些缺陷很快得到修复,否则人工智能模型可能会吸收并延续这些缺陷。

Office, programming and man with technology, code and typing with data analytics, cyber security and software update. Male person, programmer and developer with laptop, database and cloud computing


美国网络安全和基础设施安全局(CISA)和联邦调查局(FBI)于9月发布了“设计安全”警报,敦促科技制造商从其产品中删除长期困扰安全专业人员的跨站脚本漏洞(XSS)。


该警报警告科技制造商的首席执行官和其他领导人“指示他们的技术团队审查过去的这些缺陷,并制定一项战略计划,以防止将来出现这些缺陷。”专家表示,人工智能模型在接收包含XSS的数据时,可能会加剧问题。


这两个机构发布了更多细节,概述了技术领导者应该做些什么来帮助消除其产品中的XSS缺陷,包括进行代码审查、检查威胁模型,以及使用“提供易于使用的输出编码功能的现代网络框架,以确保正确的转义或引用”


鉴于自现代互联网时代早期以来,XSS漏洞一直是网络安全专业人员普遍面临的问题,此警报值得注意。它们起源于20世纪90年代,自2003年以来一直出现在OWASP十大Web应用程序安全风险中(尽管在OWASP的最新列表中,它们出现在更广泛的“注入”漏洞超级集合下。)多年来,它们也一直存在于MITRE的25大最危险软件漏洞列表中。


2024年3月,CISA和FBI发布了关于消除SQL注入漏洞的安全设计警报,这是另一个可以追溯到30年前的软件漏洞,因此出现了一个合乎逻辑的问题:为什么美国联邦当局突然寻求解决互联网术语中似乎永远不会消失的古老软件漏洞?


对十几位软件安全专家的非正式调查得出了这个问题的各种答案。然而,专家们一致认为,除非开发人员很快修复其代码中的XSS漏洞,否则目前将充满XSS漏洞的软件整合到其模型中的顶级生成型人工智能公司可能会使问题永久化。

什么是跨站点脚本漏洞?

在他们的警报中,CISA和FBI将XSS漏洞定义为“当制造商未能正确验证、消毒或逃避输入时出现的漏洞。这些故障允许威胁行为者将恶意脚本注入web应用程序,利用它们在不同环境中操纵、窃取或滥用数据。”


Black Duck software软件供应链风险策略主管Tim Mackey告诉CSO,XSS漏洞是“任何不需要对数据进行消毒的机会,然后它被用于其他用途”。“这本质上是,‘我可以在东西中添加HTML脚本标签吗?我可以在不应该使用的上下文中呈现人类提供的数据吗?’”


从根本上说,XSS的问题在于不断需要对用户输入的数据进行净化,这样它就不会被解释为可以传输到其他网站的HTML代码。Cisco Talos漏洞发现与研究团队负责人Yves Younan告诉CSO:“在跨站点脚本中,当你显示某个内容时,你必须确保如果它来自用户,你会对其进行转义,这样它就不会被解释为HTML代码并在该网站的上下文中执行。”。

为什么美国当局要标记XSS?

目前尚不清楚为什么这个长期存在的问题会成为人们关注的焦点。一些专家认为,CISA和联邦调查局正在推动普遍过时的联邦政府机构和部门将其技术更新到通常可以纠正XSS缺陷的现代软件开发框架。


“问题是,许多政府机构使用的是仍然有跨站点脚本的旧框架,”OWASP执行董事和OWASP十大项目Co-Lead Andrew van der Stock告诉CSO。“所以,我认为CISA和FBI之所以要求他们的机构和其他机构关注这一点,是因为这些机构正在使用10、15、20年的框架,这些框架没有现代框架的保护。”


其他专家表示,该警报针对的是C级高管,他们有权命令其组织清理任何XSS漏洞。Veracode联合创始人兼首席技术官Chris Wysopal告诉CSO:“CISA正在做的一件事是认识到,你需要高管收购才能完成任何事情。”。


Wysopal补充道:“除非你有高管的关注,否则这不会发生,因为开发人员不负责他们的任务。”。“他们不负责必须为安全投入多少时间。你需要让人们分配要做的工作,以在适当的级别上优先考虑安全性。谁负责产品,谁负责构建这些东西以满足某种功能,谁最终负责这件事。”


尽管如此,其他专家认为,CISA正在解决这一旧漏洞,以促进更好的软件安全开发和该机构的“设计安全”倡议。博通赛门铁克威胁猎人团队的首席情报分析师迪克·奥布赖恩告诉CSO,该警报“很好地提高了人们对该问题的认识,并为如何避免引入这些漏洞提供了指导。CISA受到公共和私人组织的重视,无论他们说什么,人们都会坐起来注意。”

为什么XSS在30年后仍然是一个问题?

无论联邦政府为什么有动机就这一话题发出警告,近三十年来,XSS仍然是一个重大的网络安全问题,没有明确的解决方案。许多专家将此漏洞的长期存在归因于简单的人为错误或软件开发人员在编写代码时没有将XSS的威胁放在首位。


RunSafe security首席技术官Shane Fry告诉CSO:“在安全方面,不幸的是,人始终是薄弱环节。无论是通过网络钓鱼攻击、编写错误代码的开发人员、恶意行为者还是内部威胁,人总是薄弱环节。”。


Fry补充道:“开发人员并不想解决安全问题,即使他们应该这样做,对吧?但他们的首要责任是完成一些事情。”。“所以,你经常看到Stack Overflow的答案是十年前的,上面有一条评论,说‘这是错误的,不要这样做。这会导致跨站点请求伪造或跨站点脚本漏洞。’但作为一名开发人员,‘你去,哦,这是我问题的解决方案。’”


其他专家表示,编写代码从根本上来说非常复杂,软件开发人员不会额外检查常见的安全问题。


Fortinet FortiGuard实验室的高级威胁情报工程师James Slaughter告诉CSO:“编写好的软件很难。”。“编写安全的好软件更加困难。它需要在设计时做出有意识的决定,以确保在整个开发周期中遵循最佳实践。当团队规模小、时间短、利润微薄时,这可能会非常困难。”


尽管如此,其他专家认为,随着现代开发框架取代旧的、不太安全的框架,代码产品中出现的XSS漏洞将减少。OWASP的van der Stock说:“我们现在确实对SQL注入和跨站脚本有非常非常好的防御,打破了这种模式;它们使用不同的方式向数据库引擎或浏览器上的用户呈现数据。”。


他补充道:“因此,我们已经解决了SQL注入问题,如果你使用现代框架,我们也解决了跨站脚本问题。”。“许多用于进行可视化演示的现代框架使得跨站点脚本编写变得相当困难。在2021年,我们没有足够的证据证明它是独立的,所以它被压缩成了一种注入模式。”

人工智能如何加剧XSS

作为快速发展的生成式人工智能技术基础的LLM模型完全依赖于现有的互联网内容,包括来自代码库的软件,以支持其功能。为此,人工智能组织正在摄入大量包含XSS漏洞的代码,并可能在可预见的未来无意中将这些漏洞推向可预见的将来。


Wysopal说:“这只是一个循环,因为除非我们有办法消除它,否则人工智能生成的代码将包含跨站脚本,下次学习时,它将从人工智能生成但仍包含跨站剧本的代码中学习。”。“所以,它已经融入了我们编写代码的方式。”


Mackey说,如果人工智能接受了易受跨站点脚本攻击的代码训练,而开发人员没有检查工作,“名义上应该让事情变得更好的人工智能可能只会让事情变得更糟。”。“因此,在没有验证人工智能结果的概念的情况下,这可能是十年后我们仍然在谈论跨站点脚本的事情。”

CISO应该如何应对XSS

CISA和FBI的警报本质上主张组织将XSS漏洞减少到可管理的、理想情况下可以忽略不计的水平。软件安全专家表示,首席信息安全官在这一过程中起着至关重要的作用。


麦基说:“我几乎将[警报]视为对首席信息安全官、首席信息安全官和开发副总裁的行动呼吁,以提高其开发团队的网络安全水平。”。


Wysopal说:“首席信息安全官应该考虑客户结果。”。“想想客户将如何购买和使用你的应用程序,想想客户有一个安全的体验,以及这如何为品牌和应用程序增加价值。我们希望客户回来。我们希望他们有一个良好的体验。”


OWASP的van der Stock认为,首席信息安全官应该接受“安全冠军”的理念,即来自开发人员社区的志愿者,专注于帮助员工进行安全的软件开发。


van der Stock说:“如果你对安全有疑问,请让开发人员知道,然后去找安全冠军。然后,安全冠军可以去找首席信息安全官团队。


“他们知道什么是跨站脚本和SQL注入。他们应该参与代码回顾的同行评审和类似的事情,这样我们就可以开始说,‘好吧,安全冠军正在帮助人们更安全地编码,并创造一种设计安全的文化。'"

安固软件扫码咨询
扫码加微信咨询
免费使用安固软件,规范上网行为,即刻保护企业安全!!