您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 网络/安全 > 正文

如何管理现代云原生应用程序中的漏洞

发表于:2023-05-25 作者:Harshad Ithape 来源:51cto

漏洞管理是一种主动识别、管理和修复网络漏洞以提高企业应用程序、软件和设备安全性的方法,包括识别 IT资产中的漏洞、评估风险以及对系统和网络采取适当的措施。为保护系统和网络免受安全漏洞和数据盗窃的影响,世界各地的组织都在漏洞管理方面有所投资。为防止利用IT漏洞(如代码和设计设计缺陷)来危害整个企业网络的安全性,漏洞管理通常与风险管理和其他安全措施相结合,这已成为当今计算机和网络安全实践不可或缺的一部分。

漏洞管理的重要性

尽管漏洞管理能有效应对许多网络安全风险,但很多组织往往忽视了漏洞管理流程的实施,大量的数据泄露案例证实了这一点。也因此,组织在毫无意识的状况下会受到补丁和错误配置的影响。

漏洞管理旨在调查组织的安全状况,并在此类漏洞之前被恶意攻击者发现之前检测它们。

这就是为什么实施漏洞管理计划对于各种规模的公司都至关重要的原因。强大的漏洞管理利用威胁情报和 IT团队知识对风险进行排名并快速响应安全漏洞。

漏洞管理的四个阶段

创建漏洞管理程序时必须考虑以下几个步骤。将这些步骤纳入管理流程不仅有助于防止漏洞被忽视,还可以正确解决发现的漏洞。

一、识别漏洞

漏洞扫描程序是标准漏洞管理解决方案的核心,包括四个阶段。

1. 通过发送 Ping或 TCP/UDP数据包扫描有权访问网络的系统;

2. 识别扫描系统上运行的开放端口和服;

3. 远程登录系统并收集详细的系统信息;

4. 将系统信息与已知漏洞进行关联。

漏洞扫描工具可以识别网络上运行的各种系统,包括便携式计算机、台式机、虚拟和物理服务器、数据库、防火墙、交换机和打印机等。它会使用各种方法来调查这些系统的属性,例如了解操作系统、开放端口、安装的软件、用户帐户、文件系统结构和系统配置等信息。这些信息用于将已知漏洞与扫描的系统相关联。这些信息可以与漏洞扫描工具中包含的常见已知漏洞数据库对比,以此来简历扫描系统与已知漏洞之间的关联。

二、评估

在扫描到所有潜在的已知网络安全漏洞后,下一步就是评估这些漏洞并确定处理优先级。成百上千个漏洞的威胁性并不相同。为了分类,需要进行漏洞评估来确定它们被利用对公司的威胁程度。许多系统可用于优先排序,Common Vulnerability Scoring System(CVSS)是其中最常被引用的一种方法。每次运行扫描发现新的漏洞时都必须重复此优先排序过程,以查找对IT安全最为关键的那些漏洞。

三、漏洞修复

如果验证漏洞并确定其为风险,下一步就是解决漏洞。漏洞可以通过以下方式来解决:

  • 修复:完全修复漏洞或应用补丁以防止被利用。这是组织所追求的理想治疗方法。
  • 缓解:降低漏洞被利用的可能性和影响。如果无法为已识别的漏洞提供适当的修复或补丁,则可能需要采取此措施。理想情况下,此选项用于允许组织争取最终修复漏洞所需的时间。

漏洞管理解决方案提供了漏洞修复的建议。但值得注意的是,可能存在比推荐方法更为有效的修复法案。

 

四、报告和后续行动

在处理完已知漏洞后,就可以开始使用漏洞管理解决方案中的报告工具。安全团队可以从中了解到每种修复技术大概需要付出多少努力,并允许他们确定未来解决漏洞问题的最有效方式。此时需要采取以下措施:

  • 设置补丁工具;
  • 安排自动更新;
  • 与网络安全团队协调;
  • 在出现安全问题时设置一个工单系统。

这些报告还可以通过展示数据泄露风险的级别以及降低此类风险所采取的行动,来确保符合行业监管机构的合规要求。由于网络犯罪分子也在不断进化,因此必须定期进行漏洞管理评估,以减少漏洞数量并确保网络安全性能处于最新状态。

集成安全性的方法

1. 应用安全扫描以保护CI/CD管道安全

持续集成和持续交付 (CI/CD) 管道是每个从事软件开发的现代软件公司的基础。结合 DevOps实践,CI/CD管道使公司能够更快、更高频地交付软件。然而,能力越大责任越大。虽然大家都专注于编写安全应用程序,但许多人忽略了 CI/CD管道的安全性。然而,CI/CD配置应该得到密切关注。

2. CI/CD安全的重要性

CI/CD管道通常需要大量权限才能完成其工作。您还需要处理应用程序和基础结构机密。任何未经授权访问CI/CD管道的人几乎可以无限制地破坏所有基础架构或部署恶意代码。因此,保护CI/CD管道应是一项高优先级任务。不幸的是,统计数据显示,近年来对软件供应链的攻击显著增加。

3.静态应用程序安全测试 (SAST)

静态应用程序安全测试 (SAST) 通过评估源代码中的潜在漏洞来补充 SCA。换句话说,SCA可以基于已知漏洞的数据库来识别第三方代码中的漏洞。同时,SAST对自定义代码进行分析,以检测潜在的安全问题,如不正确的输入验证。

这样,通过在CI/CD管道开始时运行SAST以及SCA,您可以获得源代码内在风险的第二层保护。

4.漏洞扫描

漏洞扫描是一个自动化过程,可以有力地确定网络、应用程序和屏蔽漏洞。漏洞扫描通常由IT部门或第三方安全服务提供商执行。不幸的是,攻击者也利用这种扫描来寻找进入网络的入口。

扫描涉及检测和分类网络、通信设备和计算机系统中的弱点。漏洞扫描可以识别安全漏洞,并预测在威胁或攻击事件发生时安全措施的有效性。 

在漏洞诊断服务中,软件从诊断方的角度进行操作,并诊断要诊断的攻击目标区域。漏洞扫描程序利用数据库来对应目标攻击的详细信息,该数据库参考已知缺陷、编码错误、数据包构造异常、默认设置以及攻击者可能利用的敏感数据的路由。 

数据库引用已知缺陷、编码错误、数据包构造中的异常、默认设置以及攻击者可能利用的敏感数据的路由。 

5.软件成分分析

软件成分分析(SCA)是自动化可视化开源软件(OSS)用于风险管理、安全和许可证合规目的的过程。开源(OS)被各行业的软件所使用,追踪组件以保护公司免受问题和开源漏洞的影响的需求呈指数增长。然而,由于大多数软件生产涉及操作系统,手动跟踪非常复杂,并且还需要自动化扫描源代码、二进制文件和依赖项。

SCA工具正在成为应用程序安全的重要组成部分,使组织能够使用代码扫描来发现OSS证据,创建一个减少早期修复漏洞和许可问题成本的环境,并能够通过使用自动扫描使查找和解决问题的过程更加轻松。此外,SCA不断监测安全和漏洞问题,以更好地管理工作负载并提高生产力,使用户能够为当前产品及其交付中的新漏洞创建可操作警报。 

6.动态应用程序安全测试 (DAST) 

DAST解决方案识别应用程序中的潜在输入字段,并向其发送各种异常和恶意输入。它可以包括尝试利用常见漏洞,例如SQL注入命令、跨站点脚本(XSS)漏洞、长输入字符串以及可能会揭示应用程序中的输入验证和内存管理问题的异常输入。 

DAST工具根据应用程序对各种输入的响应来识别应用程序是否包含特定漏洞。例如,如果SQL注入攻击尝试未经授权地访问数据,或者应用程序由于无效或未经授权的输入而崩溃,则表明存在可利用的漏洞。

7.容器安全

保护容器的过程是持续不断的。它必须整合到开发流程中并自动化,以减少手动接触点并扩展到维护和操作基础架构。这意味着保护构建管道的容器镜像和运行时主机、平台和应用层。将安全性作为持续交付生命周期的一部分实施可以减少业务中不断增长的攻击风险和漏洞。 

容器具有安全优势,例如出色的应用程序可分离性,但它们也扩展了组织威胁的范围。在生产环境中部署容器的显著增加使其成为恶意行为者的有吸引力的目标,并增加了系统的工作负载。此外,一个容器存在漏洞或被攻击成功,就可能成为整个组织环境的入口点。

8.基础设施安全 

漏洞扫描是一个复杂的主题,评估漏洞扫描解决方案的组织通常需要认证。基础架构漏洞扫描是针对基础设施中的一个或多个目标范围运行一系列自动检查以检测是否存在潜在恶意安全漏洞的过程。目标是指完全限定的域名(FQDN),该域名解析为一个或多个要扫描的 IP地址或IP地址范围。

基础设施漏洞扫描是通过网络(如互联网)执行的。扫描在专用扫描中心上运行,并源自该中心。扫描中心运行扫描引擎以连接到扫描的目标以评估漏洞。

结论

漏洞管理是一种主动识别、管理和缓解网络漏洞的方法,以提高企业应用程序、软件和托管在云中的设备的安全性。它包括识别 IT 资产中的漏洞,评估风险,以及对系统和网络采取适当的行动。实施漏洞管理计划对各种规模的公司来说都是必不可少的,因为它利用威胁情报和 IT 团队的知识对风险进行排序,并对安全漏洞作出快速反应。漏洞管理计划包括四个阶段:识别漏洞、评估漏洞、修复漏洞以及报告和跟进。集成安全措施,例如保护 CI/CD管道、使用漏洞扫描工具以及实施 SCA、SAST、DAST等,可以补充漏洞管理程序,以提供强大的安全防线。

 

原文标题 | How To Manage Vulnerabilities in Modern Cloud-Native Applications

作者 | Harshad Ithape