本文的内容参阅了奥克利博士(Dr. Jacob G. Oakley)的著作《Conducting Successful Cybersecurity Engagements:Professional Red Teaming》一书,笔者会分享本书中部分章节中的重点内容以及学习笔记,希望能帮到更多的人。
在本章中,作者主要阐述了当前在学术界和工业界对实现红队自动化的研究思路,方法和工具。并讨论了实现红队自动化的必要性以及相关方法,工具的弊端。
人类黑客演练还是自动化?
尽管在上一章的篇幅里,我们确实巩固了红队的目的,但对于人类黑客而言,这并不能令人满意。在企业组织内部定期开展红蓝演练工作,相信大部分主导者都希望能够实现自动化,毕竟每次都靠 “人肉”发起演练是一件很耗时且耗人精力的事情。但如我们所看到的,完成红蓝演练是一项艰巨的任务,并且其成本往往是昂贵的。 学术界和工业界都试图用各种工具和技术来实现自动化或替代人类黑客。 还有一些新出现的安全服务,目的是为了替代红队所能提供的的好处,但这些服务对人员的要求也各不相同。 阅读完本章后,毫无疑问,你会明白为什么人类黑客会成为倒数第二个实现自动化红蓝演练的解决方案,为什么寻找各种类型的安全人员并不会像红队那样提供主动的缓解措施。
论红队的创新与自动化
在没有人类黑客的情况下,对红队流程的创新动机受到了多个方面的支持。 这些趋势主要集中在加快评估,使评估更容易获得或在某些情况下用更易于实施的服务代替红队。 以下是对学术界和工业界提出的替代道德黑客的建议的分析。 由此产生的对此类解决方案的理解很好地表明了道德黑客(注:本书作者在前几章中已经多次强调,红蓝演练中的红队人员必须由道德黑客组成)为何极为重要并且将继续存在。 关于红队创新的最大工作是学术界提出的。在某些情况下,此类学术工作将自己标记为渗透测试,而把其他的工作标记为红队。同样,出于本书的目的,所有这些攻击性的安全能力在本质上都是可以互换的。在期刊和论文等学术论坛中,大部分工作都集中在使用技术实现红队攻击的自动化,而不是对人类黑客开展红队工作的攻击性安全流程进行创新。原因可能是极少有学者是经验丰富的安全专家,特别网络攻击经验,或者更准确地说,大多数有着丰富的网络攻击经验的安全专家在学术方面没有太多的努力。所以,这意味着学术研究者和具备安全攻击经验的人之间存在很大的“gap”,他们不太可能会以执行者的角度对红队遇到的问题和挑战有实际的了解,也无法切实地改善流程和方法。围绕道德黑客谍报技术的学术创新进一步复杂化,学术工作也必须努力做到辩护。学术人员会寻找可行的测试方法来测试像红队的谍报技术、评估和环境这些会受到“人为”因素影响的东西,即使不是一件几乎不可能的事情,这样的做法也可能会令人生畏。因此,学术方面对红队的研究重点主要集中在自动化技术和攻击模型方面,这些模型可以反复进行防御性测试,而无需有经验的或昂贵的红队从业者参与,也无需红队人员进行实际的参与。 由此产生的技术大致分为三类:既不利用漏洞或不进行移动渗透主机操作的技术、利用漏洞但不进行移动渗透主机操作的技术以及打算同时进行这两种操作的技术。所有这些技术都有其自身的优点和缺点,就像实现整个自动化一样。这并不意味着这样的解决方案不可用。这也不意味着它们已足以取代人类道德黑客。
建模技术
不利用漏洞或不从一个目标渗透到另一个目标的技术听起来根本就不像是红队,但我认为,在学术上提出的自动化技术中,这些是最有可能以一种积极的方式影响红蓝演练的技术。理解此类技术试图实现的目标的关键是“建模”一词。为企业组织中潜在的目标主机之间的关系进行建模的技术必将导致在红蓝演练期间,红队可以极高效的获知哪一台主机是他们的攻击目标。图2-1显示了这样的一个示例,其中主机A为初始感染者,主机G为最差传播者。
图2-1:简化的建模结果
在学术研究人员的这些模型之一中,模型所需的信息主要来自企业组织内的目标主机的信息(例如,开放端口,IP地址,网络布局,已安装的软件等),这些主机的信息会被馈送到自动化模型中。然后,通过将输入数据与已知的漏洞利用数据库进行比较,运行模型以提供潜在或可能的攻击路径和主机渗透移动途径。
不同的学术作者针对其路径和漏洞利用如何发生以及哪些主机或系统处于给定的风险水平,采用了自己独特的逻辑或算法提出了不同的研究和技术。这些想法之间的相同之处在于,它们依靠某种定义的方法作用于某种形式的输入,最后生成安全团队可以随后关注的潜在链接矩阵。
正如学术研究人员所暗示的那样,使用这些技术代替人类黑客开展红蓝演练存在一些明显的问题。这些模型在实验室环境中运行的非常出色。如果提供结构相似的数据并针对最新的漏洞数据运行,则这些模型实际上可以产出可行的漏洞利用路径和风险点,但仅针对数据所代表的快照情况。该快照取决于从目标收集数据的时间以及漏洞数据库的最新更新时间。如果算法运行后某个主机上的某个端口发生了更改,则模型产出的结果可能非常不准确,并且一个新的武器化的漏洞可能会完全改变模型的结果。
我无法想象在现实世界中会存在这样的应用程序,因为我们输入给算法的信息不可能完整而准确的表示整个企业组织的情况。将人类用户和管理员放入到不断影响变量的组合中,似乎不可能在实验室或类似实验室的环境之外利用数据。尽管这种技术显然无法取代人类黑客,但为攻击者提供一些分析目标的快速方法无疑是该技术的亮点。
既不利用漏洞也不移动渗透主机的技术
与建模技术实现自动化的思路相反,我们对进攻性安全世界有了更熟悉的知识——漏洞识别和利用——但仍未在已经入侵的系统或组织内部进行深入研究(图2-2)。
图2-2:既不利用漏洞也不渗透主机的技术
学术界中的这类技术研究确实有各种各样的目标。从纯粹专注于特定类型的软件(例如数据库或网页)的技术到自动尝试对整个网络进行表层漏洞评估。
这些技术是一种不需要道德黑客参与的解决方案。精通信息技术(IT)的人员完全可以在网上下载漏洞利用工具,填写好他们想要执行安全评估的目标,然后点击“执行”。此类别中的一些工具试图反复绕过安全机制,并对数据库或网页执行漏洞利用,然后将发现的漏洞报告给使用该工具的人员。其他技术还包括自动扫描技术,该技术能够评估执行位置范围内的任何内容。
在替代红队的技术方面,有一种技术操作起来并不是很痛苦,那就是执行漏洞扫描程序。在学术界内,漏洞扫描程序被许多学术人员当作自动化实现红队的技术。只进行漏洞扫描的问题具有两面性。首先,它不代表对企业组织发起实际攻击,甚至不模仿实际攻击的效果。其次,它仅评估从执行点到目标主机的漏洞,这可能使网络环境中的很多攻击面都未被评估到。
这一类别中最好的解决方案是那些分发到网络中的所有终端的解决方案。尽管这不能代表攻击或其影响,但是这些解决方案确实可以对部署环境进行深入评估。其中的一些技术是安装在CD或USB驱动器上的小型操作系统,因此可以在网络上进行物理移动以便从不同角度收集漏洞详细信息;有些更像是跨多个系统安装的分布式端点安全产品。即使是这些系统也很少真正受到攻击者攻击,而且它们都没有试图利用某个已经被攻破的系统或应用程序以真实的攻击来进一步传播。
除了为实现这种方法所做的学术努力之外,还有一些这类的行业案例。Offensive Security 提供了db-autopwn 自动利用工具。同样,其他付费安全框架也具备自动执行漏洞利用选项,通常都是依赖 db-autopwn 或在其上进行模仿和构建。这些技术提供了在扫描主机后对主机执行漏洞利用的其他功能,但是在攻破主机后仍然没有进行移动渗透主机操作(图2-3)。
图2-3:利用漏洞但不移动渗透主机;
既利用漏洞又移动渗透主机的技术
此类技术尝试执行漏洞利用,然后利用通过漏洞利用获得的访问权限来自动扫描并转移到其他计算机。听起来是不是很像蠕虫?,那是因为它本身就是蠕虫。相信有些读者也见过此类安全工具。这些技术依赖于前两类学术方面建议的红队替换工具中的概念。他们需要漏洞评估功能以及关系建模功能。这些概念的结合使第三种技术可以识别漏洞,并利用识别到的漏洞来访问系统,然后从新确定的角度继续进行漏洞评估——所有这些都是以一种自动化的方式进行的,这种方式由基于选择的攻击建模的关系目标逻辑驱动(图2-4)。
这些类型的工具的功能在很大程度上依赖于用于识别的漏洞以及在整个网络中传播方式的算法。这些工具的危险性就在于它们的行为像自动蠕虫一样,如果配置不当或未正确监控,则可能会对所评估的系统造成实际的危害或系统性能下降。事情可能会出差错的可怕情况有上百万种,而且可能有同样多的解决方案可以使用内置的逻辑来避免它们。但是,你在自动化利用框架的决策矩阵中建立的逻辑越多,它就会变得越麻烦,并且越依赖于人工干预。这些技术中的这种依赖会很快超过它们所提供的好处,因为它们需要过多的看护或使用过多的计算资源,因此无法提供比道德黑客更大的成本效益。
就红队的创新而言,这第三类工具——既利用漏洞又移动渗透主机——让红队在竞争中牢牢地领先,通过使用自动化来取代真正的人类黑客。这就是我在阐述需要有道德的人类黑客时重点分解的能力类型。
本文由作者“丝绸之路”整理发布,如若转载,请注明原文地址
转载请注明:IT运维空间 » 安全防护 » 开展专业的红蓝演练 Part.4:论红队的自动化方法
发表评论