开源软件库将成为主要攻击目标
软件正变得越来越相互依赖,许多应用和服务都基于开源代码库进行构建,但很少有企业能够准确地说明所使用的每一个库。随着防御者加强应用“周边”(即面向公众的网络应用和API),威胁者自然会将目光投向其他载体。攻击目标逐渐变为应用中第三方代码、代码库和服务。在硬件和软件代码库中,多达78%的代码由开源代码库组成,而非内部开发。作为攻击者,如果知道一个应用超过四分之三的代码是由开源代码库维系的,那么将这些代码库作为目标就变得异常合理了。
近年来,F5发现了越来越多的攻击方式,为依赖开源软件库的企业带来威胁:开发者账户被泄露,通常是由于缺乏MFA,导致恶意代码被插入到广泛使用的库和谷歌浏览器扩充程式中;木马攻击和误植域名攻击,威胁者开发的工具看起来攻击性强,或与广泛使用的开源软件库有非常相似的名字;以黑客攻击的方式,由开源软件库的原作者故意插入破坏性和其他恶意代码。
很显然,上述行为的出现为应用开发的发展带来新启迪。许多现代应用利用软件即服务(SaaS)进行安全防护,如集中式认证、数据库即服务或数据泄密防护(DLP)。如果攻击者能够破坏开源软件(OSS)的代码库或被应用消耗的SaaS产品,那么攻击者就在应用内部有了立足点,能够绕过如Web应用防火墙和API网关的外围防御,从而进行攻击。这个立足点可以被用来进行不同形式的横向移动(如远程外壳、监控、数据渗漏)。这样做的结果是,软件开发人员希望应用所组成的组件有更强的可见性,最重要的是有一个列举所有软件组件的软件材料清单(SBoM)。这将使软件产品的终端用户能够更迅速有效地确定漏洞是否会影响该产品。
但同时,SBoM的广泛采用也将带来大量技术债务。企业将不得不做出一些重大的内部投资,使旧系统达到最新水平,并修复多达数千的漏洞,或者考虑从头开始打造新一代的产品。当然,客户总要接受他们所选择的产品中存在大量未修复的漏洞,因为它们都是大同小异的。因此,企业应当对产品进行全面革新,而不是置之不理。而对于未披露漏洞或零日漏洞,检测攻击者的最佳机会是观察软件组件和服务“内部”应用之间的内部“东西向”流量以及基础架构即服务(IaaS)的交互方式。现如今,这些互动可以被云安全态势管理(基础架构)、云工作负载保护平台(跨平台),以及应用检测与响应(应用层)所感知;这些独立市场需要整合起来,以提供一个整体视图,而这是高效、准确地检测应用内部威胁所必需的。