管理安全漏洞并非易事,这不仅是因为漏洞可能很难被发现,还因为漏洞类型繁多。最新国家信息安全漏洞共享平台(CNVD)漏洞信息月度通报(2023年第5期)显示:“收集整理信息安全漏洞1581个,其中高危漏洞727个,中危漏洞746个,低危漏洞108个。上述漏洞中,可被利用来实施远程网络攻击的漏洞有1357个。”而幸运的是,相关工具和技术可以解决各种可能潜伏在技术栈任何一层的漏洞。
什么是安全漏洞?安全漏洞是IT资源中可能被攻击者利用的错误或缺陷,其形式多种多样。安全漏洞可能是应用程序源代码中的一个编码错误,能够被用于发动缓冲区溢出攻击。它可能是开发人员的疏忽,忘记在应用程序中对输入内容妥当地进行验证,从而使注入攻击成为可能。它可能是访问控制策略或网络配置中的一个错误配置,使外部人士能够访问敏感资源。
安全漏洞、漏洞利用、漏洞威胁、漏洞攻击“安全漏洞”、“漏洞利用”、“漏洞威胁”和“漏洞攻击”这几个词往往会接连出现。然而,尽管这些术语密切相关,但它们各自指的是可能导致安全事件的事件链中不同部分:
(相关资料图)
安全漏洞是有可能被利用以发动攻击的缺陷。漏洞利用是指利用漏洞来执行攻击的方法。比如,将恶意代码注入到应用程序中,就可能造成漏洞利用。漏洞威胁是导致漏洞利用发生的一组必要条件。威胁可能只存在于软件在某个操作系统上运行之时,或者当攻击者能够访问某个界面时。漏洞攻击是指发生的攻击。当威胁者成功地执行一个漏洞时,就会发生漏洞攻击。由于安全漏洞构成了上述漏洞利用、漏洞威胁和漏洞攻击的基础,对漏洞进行检测是将安全风险扼杀在萌芽状态的最佳方式。如果消除了漏洞,也就消除了其可能导致的漏洞利用、漏洞威胁和潜在的漏洞攻击。安全漏洞的主要类型虽然IT环境中可能存在各种各样安全漏洞,但大多数都归属于以下四类:
恶意代码: 恶意方插入代码库的代码(如恶意软件),可被利用,以对系统进行未授权访问或对应用程序进行控制。错误配置:云身份和访问管理(IAM)规则等的配置错误,提供了对敏感数据的公共访问,可能导致漏洞攻击。编码缺陷: 编码错误或疏忽(例如未能执行输入验证,因此不能检测旨在获得未授权访问的应用程序输入),可能导致漏洞。缺少加密: 未妥善加密的的数据,无论是静态数据还是网络中正在传输的数据,都容易受到攻击。检测应用程序的安全漏洞鉴于安全漏洞形式多样,对其检测也需要多管齐下。有多种技术有助于发现安全风险。
静态应用安全分析静态应用安全分析(SAST)是安全测试的一个类别,通过扫描源代码和(在某些情况下)二进制代码,以确定其中存在的漏洞。通常情况下,SAST会寻找漏洞的“签名”,如已知不安全的依赖项。
动态应用安全分析动态应用安全分析(DAST)通过对测试环境中的应用自动发起主动攻击来识别漏洞。如攻击成功,则能揭示应用程序中的漏洞。
渗透测试在渗透测试中,安全测试人员会手动尝试识别和利用漏洞。渗透测试不同于DAST之处在于,渗透测试需要安全专家来主动寻找漏洞,而DAST则有赖于自动攻击模拟。
图像扫描器图像扫描器(例如JFrog Xray)能够在软件被编译或打包后检测其漏洞。因此,对于识别应用程序包中可能招致攻击的薄弱依赖项或配置,图像扫描器是非常有用的。例如,图像扫描器可以检查容器图像,以确定该图像的任何依赖项是否包含漏洞。
配置审计配置审计工具通常用于验证承载应用程序的基础设施的配置,而非应用程序本身(尽管在某些情况下,配置审计可在定义了应用程序设置的配置文件上执行)。
例如,云环境的配置审计能够检测不安全的IAM规则或网络配置。此外,配置审计器可用于扫描Kubernetes环境,以检测Kubernetes安全上下文、网络策略或其他会削弱环境安全态势的设置中的错误配置。
标签: