入侵和攻击模拟BAS是DevOps安全的“测试机”
DevOps(“开发”和“运营”的组合)是实践和工具的组合,相对传统软件开发流程,具有更快地交付应用程序和服务的能力,正因如此,其可以使组织能够更好地为客户服务。
简单来说,DevOps 就是要消除传统上孤立的开发和运营团队之间的障碍。在 DevOps 模型下,开发和运营团队在整个软件应用程序生命周期中协同工作,从开发和测试到部署再到运营,缩短了业务上线的时间,但同时也增加了安全威胁的可能性。不得不思考如何在DevOps中引入安全性,DevOps安全通常被称为DevSecOps,将安全属性融入DevOps中,确定从最初的规划到测试、上线运营阶段的安全性。
如今,DevSecOps越来越多的被企业使用,是因为包括操作系统、应用程序等在内的软件通常包含可被攻击者利用的漏洞,而且由于软件应用程序不断的更新迭代,总是有可能会出现新的安全威胁。而黑客往往只需要一个漏洞,便可以撬开防守者严防死守的大门,防守者却全然不知,殊不知自己已经裸奔在了安全威胁中。要找到这些安全威胁,需要进行定期测试。一般情况下会有以下几种方法:
-
漏洞扫描。使用漏洞扫描程序来识别基础架构组件中的各种漏洞,可以检查出网络中过时的软件、开放端口和过期证书等。
-
渗透测试。企业用来检测基础设施漏洞的常用测试方法。渗透测试需要高技能的安全专家使用实际攻击者使用的工具和攻击方法来攻击目标。
-
红蓝对抗。在红蓝对抗中,一方扮演黑客,一方扮演防守者,模拟军事化对抗形式进行网络安全的攻防演练。与传统的渗透测试不同,红蓝对抗中对于技法、战术、打法、心态等都有着高强度的考验。在演练过程中,红队模拟真实的攻击来评估企业现有防守体系的安全能力,蓝队对发现的问题做出相应的优化整改;通过周期性的红蓝对抗攻防演习,持续性地提高企业在攻击防护、威胁检测、应急响应方面的能力。通过持续的对抗、复盘、总结来不断优化防御体系的识别、加固、检测、处置等各个环节,从而提升整体的防护抵抗的能力。
然而,这些方法都有一定的局限性。像漏洞扫描报告通常只列出发现的漏洞,而且,它还可能产生误报并标记某些可能对安全性影响不大的问题。渗透测试和红蓝对抗是资源密集型活动,对安全专业人员的要求较高,且成本相对也比较大。时至今日,越来越多的企业开始采用入侵和攻击模拟BAS工具进行安全测试,以更高效的方式实现业务安全。
什么是入侵和攻击模拟?
Gartner将BAS技术定义为“允许企业使用软件代理、虚拟机和其他手段,持续、一致地模拟针对企业基础设施的完整攻击周期(包括内部威胁、横向移动和数据外移)”的工具。通常,BAS共有三种不同类型的解决方案:
-
基于Agent的BAS解决方案
基于Agent的解决方案是最简单的BAS形式。Agent部署在整个局域网中,并识别漏洞,以确定哪些路由对潜在的攻击者是开放的,以便其在网络中移动。基于Agent的BAS解决方案非常类似于漏洞扫描,但提供了更多的上下文行为分析。但是,这种解决方案只关注组织的网络如果被攻破会产生什么后果。不会利用或验证漏洞,对边界也不具备测试功能。
-
基于“恶意”流量的BAS解决方案
基于“恶意”流量的BAS解决方案是通过在组织的网络中设置一些作为测试目标的虚拟机,使用各种攻击场景的数据库,在组织内部网络中生成“恶意”流量来测试组织安全性的解决方案。
此类BAS解决方案专注于网络流量检测方法,通过模拟攻击,检测组织的IPS/SIEM是否能够通过检测和/或阻止攻击,并生成适当的警报来捕获“恶意”流量。当测试完成之后,会生成一个报告,其中列出测试期间检测到的“恶意”流量。不过,这种解决方案与基于Agent的BAS解决方案一样,只关注组织的网络如果被攻破会产生什么后果,对边界也不具备测试功能。
-
基于云的BAS的解决方案
基于云的 BAS 解决方案最接近真正的攻击,其通过不同的入口点从外部模拟大量攻击场景。云平台受到来自各种来源的最新威胁,因此总是最新的。换句话说,如果在模拟过程中,组织被攻击成功,那么在实际生活中也同样会面临这种风险。
入侵和攻击模拟工作原理
入侵和攻击模拟 (BAS) 工具可以通过在生产环境中安全地执行完整的攻击杀伤链模拟,帮助安全团队不断提高他们对高级威胁和 TTP 的准备。由于风险承受能力因组织/行业而异,安全团队应适当规划评估,适当考虑与其组织/行业相关的威胁、其对环境的影响,以及哪些模拟将帮助他们实现计划目标。一般分为如下三个步骤:
步骤1 -计划阶段
首先,安全团队应该利用威胁情报来识别最有可能对组织的安全态势和风险承受能力产生重大影响的威胁。此外,为了确保适当的模拟器部署,正确地识别组织的核心(在云、网络或端点上)是很重要的。这种计划好的方法允许安全团队测试特定威胁和攻击TTPs对整个组织的关键资产的影响,并以最有效的方式验证安全控制配置。
步骤2 -模拟阶段
在配置了BAS模拟器和管理控制台以专注于最相关的威胁之后,BAS工具可以在生产(或沙箱)环境中安全执行完整的杀伤链勒索软件攻击。当面临特定于勒索软件的威胁时,这提供了对其环境(网络、端点或云)中各种安全控制的性能的可见性,并确定了哪些地方需要潜在的配置改进或修正。需要注意的是,BAS工具通过在闭环环境中将其分解成更小的步骤来执行完整的杀伤链勒索软件攻击,以确保安全执行。以这种方式执行攻击可以使安全团队增强对勒索软件杀伤链每个部分的控制有效性的态势感知,而不会给关键系统或实际生产数据带来风险。这也允许安全团队在执行了补救更改后重新验证安全控制配置更改。
步骤3 -报告、分析和补救阶段
BAS工具使安全团队能够可视化和关联模拟结果,以接近实时的方式更好地了解他们的安全漏洞,从而允许他们在攻击者利用这些漏洞之前启动补救措施。更重要的是,安全人员可以清楚地了解组织面临的关键威胁、现有安全控制的性能,以及组织安全态势的总体影响和变化。这允许安全组织中的每个人就总体目标达成一致,并建立针对勒索软件威胁的关键性能指标。此外,对可操作结果的准确分析有助于根据组织的风险状况确定安全漏洞的优先级并解决这些漏洞。这通常会导致建议新的安全控制或改进现有的控制配置。安全团队还应在配置更新后重新运行 BAS 模拟,以验证补救活动是否成功完成。
入侵和攻击模拟BAS的优势
BAS通常使用MITRE 的 ATT&CK框架作为基线,结合红队和蓝队技术(一种被称为“紫队”的做法)并将它们自动化,以7*24小时,365天全天候运行,从而确保组织对其防御准备的真实状态保持更深入的了解。
与传统安全验证方式相比,入侵和模拟攻击通常有如下几个优势:
-
BAS允许防御者采用攻击者的思维方式进行主动防御,而不是被动地等待扫描结果或发布补丁。
-
除了提高效率和降低成本之外,BAS规避了人的因素,避免因人或因团队不同带来不同的测试结果。
-
BAS模拟了一个完整的攻击,沿着网络杀伤链,以自动和连续的方式模拟大量的攻击,以查看它们是否预防和/或检测安全威胁,有效验证了安全措施。例如,BAS会检查发起的攻击是否通过防火墙、IPS甚至反病毒程序到达目标,而不是检查目标应用程序中是否存在给定的漏洞。
-
BAS可以进行持续测试,自动探测隐藏的安全漏洞,及时捕捉到新发现的安全漏洞。
-
加速了DevOps中持续部署和持续交付的速度。CI/CD 管道是一组流程,需要遵循这些流程才能成功地将应用程序的一组软件功能可靠且频繁地交付给不同的云环境,例如开发、QA 和生产。这些流程集的有效自动化(在软件工具的帮助下)将决定 CI/CD 管道的功效。CI 自动化涉及软件开发过程的每个单元,如设计、代码、构建和测试,并集成每个功能所需的适当软件插件,以便无缝执行。使用BAS可以缩短交付周期,让业务更安全的快速上线运行。
写在最后
漏洞、缺陷等安全威胁并不能避免,一直处于增长比较迅速的态势。在DevOps效率提升的前提下,如何保证安全也是防守者面临的重要课题。BAS相对传统安全检测手段,具有独特优势,可以更好的保护业务系统安全运行,对企业来讲毋庸置疑是较好的选择。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
7 款 DevOps 工具管理 Kubernetes
在本文中,您将了解可用于轻松管理 Kubernetes 集群的不同 Kubernetes 管理工具。 在新兴的云原生环境中,Kubernetes无处不在。它已成为编排容器的标准。但是,管理多个 Kubernetes 集群(必须以一致且安全的方式在任何地方运行)提出了一系列新挑战。因此,对 Kubernetes 管理工具的需求就出现了。 让我们探索一些有效管理 Kubernetes 的流行解决方案。 1、K9s k9s是一个基于终端的资源仪表板。它只有一个命令行界面。无论您在 Kubernetes 仪表板 Web UI 上做什么,您也可以使用此终端 k9s 仪表板实用程序执行相同操作。 它持续关注 Kubernetes 集群,并提供命令来处理集群上定义的资源。 以下是 K9s 的功能: 集群实时跟踪 使用 K9s 皮肤自定义视图 轻松遍历 Kubernetes 资源 向下钻取选项以检查集群资源问题 提供扩展插件来创建您自己的命令 2、Rancher Rancher是一个开源容器管理平台,可让任何企业轻松采用 Kubernetes。您可以部署和管理在 GKE (GCP)、EKS (AWS)...
- 下一篇
探索式测试的18问
一、探索式测试的范围 1.探索式测试是不是就是一种黑盒的测试?显然探索式测试不区分黑盒还是白盒,可以用在任何一个测试里面,但是它需要我们更加理解产品,去产品内部理解产品的设计细节,才能发现一些更深层次的、隐蔽的问题。 2.探索式测试能不能用于硬件上?理论上来说,纯硬件是很难做探索式测试的,脚本测试都很难,硬件一般我们关注的是行数验证,硬件的老化测试,但是硬件上的软件是可以用探索式测试的。对纯硬件进行某一领域的探索式测试,如果造成了损坏,结果往往是不可逆的。 3.探索式测试怎么融入用户体验测试?探索式测试是一种 Test Style,不会局限于哪一种测试,把用户体验测试融入探索式测试就可以。 4.ET(探索式测试)主导和ST(基于测试用例的测试方法)辅助的探索式测试方法适合什么类型的项目?我们牢牢抓住探索式测试更灵活、适应性强、不需要编制繁杂的测试用例、鼓励测试人员探索出难以发现的问题等特点,所以就能得出ET主导和ST辅助的探索式测试方法适用于: 采用MVP模式的敏捷项目。 在Bug优先级定义中,出现的Bug不会是很高优先级且项目本身是中等类型的项目(因为特别高优先级的Bug往往是需要记...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS关闭SELinux安全模块
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- MySQL8.0.19开启GTID主从同步CentOS8