acm-header
登录

ACM通信

实践

欺骗攻击者:新一代的欺骗


蜂蜜和蜂蜜棒

来源:斯Zelasko

回到顶部

欺骗是一种强大的弹性战术,它为攻击操作提供可观察性,转移生产系统的影响,并建议弹性系统设计。对欺骗系统的目标、约束和设计权衡的清晰理解,可以为软件开发、架构和操作领域的领导者和工程师提供一种新的策略,用于构建更有弹性的系统,以及欺骗攻击者。

不幸的是,欺骗方面的创新已经停滞了近十年,因为它被信息安全专家独占。对单个系统组件的模仿仍然是一种现状的欺骗机制,尽管它已经变得陈旧,无法说服攻击者,因为攻击者依靠组件之间的互连而茁壮成长,并期望遇到系统。因此,攻击者仍然没有受到挑战,也没有被吓倒。

这种浪费掉的潜力促使我们设计了新一代的欺骗系统,叫做欺骗的环境。这些是隔离的复制环境,包含完整的、活动的系统,它们的存在是为了吸引、误导和观察攻击者。通过利用现代基础设施和系统设计专业知识,软件工程团队可以使用安全专家在很大程度上无法访问的欺骗策略。为了帮助软件工程师和架构师通过系统设计的镜头来评估欺骗系统,我们开发了一套总结为实用框架的设计原则。这个框架称为FIC三难选择,抓住了设计欺骗系统最重要的维度:保真度、隔离度和成本。

本文的目标是教育软件领导者、工程师和架构师关于系统弹性的潜在欺骗和构建欺骗环境的实际考虑。通过研究信息安全领域过去欺骗工作的不足和停滞,这篇文章还展示了为什么工程团队现在在计算机技术进步的支持下,能够成为欺骗系统的更成功的拥有者。

回到顶部

欺骗:利用攻击者的大脑

如果人类(攻击者)的目标是在未经同意的情况下访问、破坏稳定、窃取或以其他方式利用他人的计算机,那么软件工程师必须了解并预测这种类型的负面冲击会对他们开发和操作的系统造成影响。这样做包括建立收集攻击者相关信息的能力,并实现阻碍其操作成功的预期机制。欺骗为软件工程团队提供了一种战略路径,以在持续的基础上实现两种结果。

在任何复杂的系统中保持弹性需要实现反馈循环并不断从中学习的能力。欺骗可以支持这种持续学习能力。收集有关攻击者和系统之间交互的数据的价值,我们称之为攻击可观测性,一般认为只有信息安全专家才会关心。这是一个错误。攻击者的有效性和系统的弹性是对立的;一个必然会侵蚀另一个。了解攻击者如何做出决策,可以让软件工程师利用攻击者的大脑来提高弹性。

可观测性的攻击。收集关于攻击者在实际操作中如何做出决策的信息的重要性,在概念上类似于可观察性和跟踪对于理解系统或应用程序的重要性实际上行为而不是现状相信的行为。软件工程师可以尝试预测系统在生产中的行为,但是它的实际行为很可能与预期不符。类似地,软件工程师可能对攻击者的行为有信念,但观察和跟踪实际攻击者的行为将产生必要的洞察力,以改进系统设计,防止不必要的活动。

要了解攻击者的行为,首先要了解人类一般是如何学习和做决定的。人类从与现实(即经验)的直接和重复的互动中学习。在做决定时,人类会用之前的决定及其后果所积累的相关经验来补充既存的知识和信念。总的来说,人类的学习和决策是紧密耦合的系统。考虑到攻击者是人类——甚至自动化的攻击程序和平台也是由人类设计的——这种紧密耦合可以用来破坏攻击者的认知。

在任何充满冲突的交互中,比如攻击者与系统操作员之间,信息不对称会带来核心优势,从而使成功倾向于某一方。不完全信息意味着玩家可能无法观察或知道游戏过程中的所有动作。信息不完全意味着玩家可能不知道对手的特征,比如优先级、目标、风险承受能力和资源限制。如果一个玩家比他的对手拥有更多或更好的游戏相关信息,这就反映了信息不对称。

攻击者根据预先存在的信念和通过经验了解到的关于运营商当前基础设施及其保护的知识来选择攻击计划。1操作人员根据已知的攻击者的信念和方法来选择防御方案。

这种动态为软件工程师提供了利用欺骗来放大对他们有利的信息不对称的机会。7通过操纵攻击者获得的经验,从这些经验中获得的任何知识都是不可靠的,并将毒害攻击者的学习过程,从而打乱他们的决策。


传统的欺骗方法无法说服经验有限的攻击者。


欺骗系统允许软件工程师在两个维度上加剧信息不对称:暴露攻击者思维过程的真实数据(增加操作人员的信息价值);以及通过操纵信息来破坏攻击者学习和决策的能力(降低了信息对攻击者的价值)。

本文的其余部分将讨论欺骗系统在现实环境中实现这些目标的挑战和潜力。

回到顶部

蜜罐的历史

欺骗的艺术一直受到信息安全的独家所有权的限制。用于实现欺骗的主要机制是通过主机,其唯一目的是检测、观察或误导攻击行为,因此任何访问或使用都表明有可疑活动。这些系统在信息安全领域被称为“蜜罐”。有必要列举现有的类型“粘蜜罐”了解他们的不足。

水平的交互性。蜜罐的典型特征是它们涉及低、中或高水平的交互性。

低交互(LI)蜜罐相当于纸板切割的诱饵;攻击者无法以任何有意义的方式与它们进行交互。LI蜜罐表示系统可用性的简单模拟,通常用于检测端口扫描的流行程度,以及攻击者用于收集与获取访问相关的知识的其他基本方法(有点像线索生成)。它们可以模仿特定的端口或漏洞,并记录成功或试图连接。

中等交互(MI)蜜罐在足够深度上模仿一种特定的系统,如邮件服务器,以鼓励攻击者利用众所周知的漏洞,但它们缺乏足够的深度来模仿整个系统的运行。当被利用时,MI蜜罐发送警报或记录并拒绝。它们最适合研究公共漏洞的大规模利用趋势,或用于在生产网络内部操作,其中任何访问企图都表明攻击正在进行。

高交互(HI)蜜罐是服务的脆弱副本,旨在吸引攻击者,攻击者可以利用服务,获得访问权,并与基本操作系统组件进行交互,就像他们通常做的那样。HI蜜罐包含模仿真实系统的其他组件是不常见的。对于少数能做到这一点的人来说,这通常是通过移植构建的副作用。HI蜜罐通常在检测到攻击者的存在时发出警报,例如在成功利用脆弱的软件之后。

“粘蜜罐”的局限性。而LI型和MI型蜜罐通常被认为无法有效地欺骗攻击者9(因此可以被排除为现实世界欺骗的适用选项),现有的HI蜜罐语料库也是原始的。传统的欺骗方法无法说服经验有限的攻击者。攻击者只需要问简单的问题—系统感觉真实吗?缺乏活力吗?它是古老而被遗忘的吗?-驱散HI蜜罐的海市蜃楼。

HI蜜罐的局限性意味着攻击者经常意外地发现它们的欺骗性。HI蜜罐还缺乏定期的用户流量和相关的生产系统损耗,这对谨慎的攻击者来说是致命的弱点。

最后,所有蜜罐的一个根本缺陷是,它们是由信息安全专家构建和操作的,而这些专家通常不涉及软件架构,并且很大程度上与软件交付分离。他们可能在较高的层次上知道系统应该如何运行,但往往不知道对系统功能至关重要的组件之间的复杂交互。因此,这种由安全专家独占的所有权代表了当前欺骗有效性的一个显著缺点。

回到顶部

现代计算机使新的欺骗成为可能

考虑到系统弹性的战略潜力,新一代的欺骗不仅是可能的,而且是可取的。这个新类别的设计和所有权,欺骗环境,反映了一个重大的背离上一代。欺骗环境是由蜜罐演变而来的,它们代表了一个新的、独特的类别。

考虑到攻击系统和了解组件之间的相互关系以告知操作的专业知识,攻击者发现单个蜜罐实例难以令人信服并不奇怪。软件工程师的新型计算和所有权的结合意味着,可以创造出更接近于攻击者预期会遇到的系统类型的分布式欺骗环境。

传统蜜罐的目标是确定攻击者使用扫描工具或利用已知漏洞的频率;迄今为止,追踪攻击者行为的细微差别或发现他们的最新方法在欺骗项目中是缺失的。欺骗环境是在所有操作阶段观察和理解攻击者行为的一种手段,也是对能够规避各种防御措施的攻击者进行实验的平台。这将集中精力设计更具弹性的系统,并有效利用有限的工程注意力和资源。

现代基础设施的几个方面是培育新的欺骗范式的关键,具有更低的成本和更有效的设计。

  • 云计算。云计算的可访问性使我们能够以很少的费用提供完全隔离的基础设施。
  • 自动化部署。完整的系统部署自动化和以声明方式定义基础设施的实践,通常被称为IaC(基础设施作为代码),减少了部署和维护基础设施的影子副本或变体的操作开销。
  • 可视化的进步。嵌套虚拟化和成熟、坚固的虚拟化技术的广泛可用性激发了人们的信心,认为攻击者与生产是隔离的,可以更详细地观察攻击者,并从计算资源中提取额外的密度。
  • SDN (Software-defined network)扩散。通过以编程方式定义网络的能力,可以在不产生额外成本的情况下创建专用于攻击者的隔离网络拓扑。

新的所有权。这是最新一代欺骗行为的另一个重要催化剂。基于系统设计专业知识(而非安全专业知识)的所有权为欺骗系统成功对抗类似动态对手创造了必要的动力。

软件工程团队已经在执行必要的实践了。软件操作人员可以将其独特的系统部署模板用于构建生产环境和变体(例如阶段环境),以构建强大的欺骗系统。然后,他们可以获得明显适用于其环境的攻击数据,而不能在其他地方获取。因此,软件工程师比安全团队更有资格从事这项工作,并且可以通过部署欺骗环境来获得高效的可观察性工具。

回到顶部

设计欺骗环境

欺骗环境的设计哲学基于对真实系统的设计、资产和部署模板的重新利用,而不是为欺骗构建一个单独的设计(就像现在那样)。在软件交付管道的最后,在开发、阶段、预生产和生产之后,欺骗成为一个新的环境。在此基础上,攻击者的怀疑可以通过设计一个欺骗环境来先发制人,通过重放流量和其他模拟系统活动的方法来设计一个感觉“生活在”的欺骗环境。

从一个真正的生产系统的设计开始,它提供了一种内在的逼真程度,以欺骗攻击者,并收集与精炼真实系统中的弹性相关的见解。由于每个系统都有不同的弹性问题,这也提供了一个适当的和安全的测试战术如何在伪真实环境中对真正的攻击者执行。

FIC三难选择。传统的蜜罐设计侧重于初始访问,成功与否取决于蜜罐能否很好地模仿系统的外部形状。这种框架限制了评估迄今为止所见的最基本方法之外的方法的能力。

这里提出的新模型沿着三个轴评估欺骗系统:保真度、隔离度和成本图1侧边栏),代表了一个三难困境:这三个属性通常是冲突的,因此不能完全同时实现。理解FIC的三难困境——以及每个轴之间的权衡——对于设计成功的欺骗环境至关重要。

f1.jpg
图1。欺骗系统的FIC三难困境。

忠诚指欺骗系统对攻击者的可信度及其支持攻击可观察性的能力。可信的欺骗系统能够有效地欺骗攻击者,使其认为该系统是真实的;它避免陷入“恐怖谷”。攻击者经常通过询问被破坏的系统来揭露海市蜃楼并避免暴露他们的方法。攻击者期望系统具有某些基本特征,例如运行服务、接收类似生产的流量、连接到更广泛的Internet、在本地网络上与其他服务协调、被另一个系统编排和监视、没有调试器或其他仪器工具的踪迹。

一个高度可信的欺骗系统将提供足够的深度来刺激扩展攻击者的活动,甚至引诱谨慎的攻击者在主机之间移动,并揭示他们在整个攻击提交生命周期的方法。这为工程师提供了详细而高质量的行为记录,以便准确地了解攻击者的决策。提取和记录活动的更高的准确性和深度有助于更好的系统设计,使未来的迭代更能抵御攻击。

隔离指的是欺骗系统的程度孤立的来自真实环境或数据,是FIC三难中的第二轴。运营商不愿意为了了解攻击者的行为而危及真实系统的可用性或数据隐私。次要因素是使攻击者彼此隔离的能力。这允许独立地研究每个攻击者的行为。

成本指部署和维护欺骗系统所需的计算基础设施和操作开销。随着计算费用的持续下降,成本转向了不可低估的运营负担。昂贵的欺骗系统不可能完全部署或维护,因此将无法达到其目的。

将不同类型的欺骗系统映射到三难困境周围的点,说明了这个模型的价值。作为一个起点,让我们考虑哪些类型的系统反映了这些轴的极端实现:完美保真度、完全隔离和最大成本(如图2).

f2.jpg
图2。例如欺骗系统映射到FIC三难。

真正的生产系统位于完美的保真度,小成本,而且不孤立。这些系统很可能会遇到攻击者,并受到操作人员的监视,因为生产是组织从软件开发活动中实现价值的地方(也就是说,它能赚钱,攻击者和组织都很欣赏)。

相比之下,LI蜜罐则位于不忠诚,成本低,完全孤立。它们收集有关攻击者的有限信息,并向攻击者展示透明的伎俩;然而,它们易于部署,可以检测广泛的攻击趋势,并提供无风险的事件影响。

在……的交汇处完美的忠诚完全隔离,最大的成本有一个假想的数据中心,专门用于欺骗。例如,想象一个生产数据中心的完整副本,具有相同的监视和维护,以及使用分布式客户端大军对真实流量的完美模拟。这显然在设计和操作方面承担了过高的成本,但提供了高保真度和完全隔离。

为了进一步探讨FIC三难问题,图3评估来自信息安全社区的上述方法。

f3.jpg
图3。MI和HI蜜罐在三难困境。

MI蜜罐提供最小的补充保真度,部署成本与LI蜜罐差不多;因此,它们占据了靠近LI蜜罐的空间。HI蜜罐代表了保真度的小幅提高,但代价是一定的,但无法愚弄大多数攻击者。即使应用模拟负载来提高真实性,HI蜜罐仍然受到模仿设计的限制,而不是与真实的现有系统共享血统。

欺骗环境的最佳地点。欺骗环境模型支持三难困境中以前未探索的领域的解决方案图4).以下两个三难“甜点”提供了揭示更丰富、更大量的攻击者行为的机制,以获得更高的可观察性。

f4.jpg
图4。FIC甜点:蜂巢和复制品。

系统的第一个最佳点,叫做replicombs,是生产主机的降级副本,这些主机使用部署在实际生产环境中的相同的监控、编制和支持服务集运行。该副本使用来自实际系统的模拟或重放负载。带有类似生产负载的完整复制主机创建了一个欺骗系统,对攻击者来说,这个欺骗系统看起来与真正的主机没有区别(如图5).

f5.jpg
图5。replicomb部署的一个例子。

像IaC这样的现代部署实践使得制作降级副本变得更加容易,而云计算成本的直线下降使得部署大型系统变得更加便宜。虽然成本仍然高于蜜罐,但复制器提供了明显的增强:它具有令人印象深刻的保真度,并支持检查超出初始访问范围的攻击者行为。因此,复制包在三难困境中占据了更接近完整数据中心副本的空间。这是一个最佳点,因为如果正确实现,即使对于谨慎的、持怀疑态度的攻击者来说,它也应该是一个真正的生产主机。

系统在第二个提出的最佳点,称为honeyhives,将复制器方法扩展为一个完整的类似生产主机网络,以观察攻击者如何从初始访问点移动到相邻的主机和服务。整个环境的完整但按比例缩小的副本部署为蜂巢,模拟、重放或镜像活动贯穿整个系统。因此,一个蜂巢产生了一个完全逼真的环境来观察和进行攻击者的实验,即使他们的行为跨越多个系统(见图6).

f6.jpg
图6。使用实例基于生产环境的蜂巢。

蜂巢环境听起来可能类似于预生产或分期环境,事实也的确如此。现代的IaC实践和通过云计算实现的廉价的完全隔离,允许以比以前更合理的成本部署蜂巢等欺骗系统。蜂巢占据了离完整数据中心副本最近的三元引理空间,为攻击者和从中收集的情报提供了高度的保真度。有了蜂巢,攻击者的行为可以通过更多的阶段来观察。

复制器是蜂巢的起点,但超大保真度是通过部署环境的其余部分来解锁的。replicomb实际上是服务的副本,因此它需要模拟的负载看起来是真实的。相比之下,蜂箱只需要模拟加载到任何自然与用户交互的点上;初始入口点只需要一个“真正的”副本。其他复制主机从它们的对等主机接收流量,就像它们在生产环境中接收流量一样,因此蜂巢只需要一些外部流量来生成真实的流量。

实际实现。对于软件组织来说,构建副本和蜂箱并不比通过IaC声明建立现有环境层的新变体更困难。部署复制套件类似于所选服务的金丝雀版本,部署蜂巢类似于浸泡或负载测试环境。

也就是说,安全构建欺骗环境需要在创造新环境时格外注意细节。

隔离边界。欺骗环境与处理用户数据或必须保持可用的任何其他环境之间的隔离边界在哪里?这个边界的渗透性如何?有意部署服务的脆弱实例,而没有将它们与用户通信适当隔离是危险的。

类似地,一些组织在同一个网络中运行多个环境,允许它们之间直接通信。欺骗环境不应该遵循这种模式,而是应该在部署时几乎没有能力与专用于其他目的的环境进行通信,特别是那些处理关键生产流量的环境。虚拟化技术、sdn和云计算可用于为欺骗环境创建完全隔离的网络。

可发现性。攻击者必须能够发现欺骗环境,以收集关于其攻击操作的真实数据。在一个与您的组织没有任何关联的公共IP地址上放置欺骗环境,只会吸引那些在互联网上搜索漏洞的攻击者。在生产环境中放置一个欺骗系统作为一个可发现的主机,只有在攻击者已经进入并寻找其他主机之后,才能捕获行为。

有一种技术可以诱捕寻求访问特定组织的攻击者,然后在其操作的所有阶段观察他们的行为honeypatching。这种技术通过利用现代防火墙和负载平衡器的可配置性,将意图利用生产中已知的、已经打补丁的漏洞的通信量引导到欺骗环境的未打补丁的服务上(参见图7).

f7.jpg
图7。一个带有honeyypatching的复制环境示例。

Tamper-free观察。将攻击引入欺骗环境的一个显著好处是能够跟踪攻击者的操作,而不会对实际的服务可用性造成任何风险。这种跟踪应该对攻击者是不可见的,并且能够抵抗攻击者的篡改。一旦攻击者进入一个欺骗环境,他们就有可能操纵其中运行的任何监视或可观察工具。因此,确保不受干扰地观察攻击者行为的最佳方法是将这些工具部署在外部环境,但向内部窥视。

通过使用CSP(云服务提供商)的本机特性来归档虚拟网络中的流量,或者使用虚拟化系统的包捕获功能来捕获所有进入、离开和在主机之间移动的数据包,可以观察网络行为。主机行为可以通过定期拍摄内存和磁盘快照来观察欺骗系统在给定时间的确切状态。

为了提高抵御攻击者的弹性,可以使用标准的可观察性工具来补充数据包捕获和周期性快照。在环境中收集的流程启动和文件活动等基本事件也可以丰富攻击者活动的跟踪。

意外暴露的数据。组织可能无意中承担责任,故意将用户数据暴露给欺骗环境中的攻击者。这个问题可以通过在通信被重新播放到欺骗环境之前对其进行匿名化或置乱来缓解。

生成合成数据集—模拟生产数据,但不包括任何实际用户数据—是填充预生产、登台和其他测试环境的现有方法,同时仍然遵守隐私规则(如HIPAA)。在隐私意识较弱的行业中,组织可能需要在欺骗环境中采用类似的方法,以避免不必要的责任。

所有权。对欺骗系统的传统看法是,它们属于信息安全领域。随着部署工具和方法的现代进步,创建生产系统的变体是一种直接的实践—而欺骗环境只是系统的另一种变体。软件工程师因此可以以一种更直接、可预测、低工作量、自动化、一致和可理解的方式部署和维护有效的欺骗。

安全专业知识不是开发和操作欺骗环境的先决条件。事实上,它经常限制和损害战略选择的判断。工程团队自然倾向于改进设计或工作流程,而不是依赖于很少被系统思维所告知的现状“最佳”实践。攻击者在系统中思考;他们开发系统来实现他们的目标,并在操作过程中纳入反馈。通过将攻击者视为与你的目标完全相反的工程师,你的心态将会充分真实和建设性地运用欺骗环境并从中受益。

回到顶部

发掘骗术的全部潜能

下面是一些功能强大的用例,可以在部署欺骗环境之后发现它的潜力。

弹性系统设计。复制蜂巢和蜂箱产生的数据可以为更有弹性的系统设计提供信息。减少检测和响应导致服务中断的破坏性活动的时间与组织绩效相关2——攻击绝对属于这种破坏性活动。一个专门用于探索攻击如何影响系统的沙盒是一个非常宝贵的工具,可以预测在故障发生时生产系统的行为,并通过设计改进先发制人。

攻击者将与监视、日志记录、警报、故障转移和服务组件进行交互,以强调它们的整体可靠性。弹性系统必须知道这些组件中的任何一个发生故障,并从故障中恢复,以保持可用性。欺骗环境可以证实任何实现的措施,以支持对组件故障的可见性和恢复。

欺骗环境还可以在可操作性和简单性方面提供架构改进的机会。例如,如果生成远程交互shell(这样攻击者就可以将工具写入磁盘)是跨欺骗环境的一致攻击行为,那么这一证据可以激发宿主不可变性的设计规范来消除攻击者的这种选择。5

重要的是,这与产品和工程团队对他们开发和操作的系统的弹性负责的未来是一致的(包括对攻击的弹性)。4本着安全混乱工程(SCE)的精神,软件工程师、架构师、站点可靠性工程师和其他涉众可以利用由真实世界证据(如由副本和蜂箱产生的证据)推动的反馈回路,在整个软件交付生命周期中进行改进。

攻击者跟踪。欺骗环境使软件工程师、架构师和其他系统从业者能够“跟踪”攻击者的行动。在设计和规划期间,攻击可观察性使实用的威胁建模成为可能,而不需要安全专家作为先决条件。由于攻击者的行为在一个与真实系统形状相同的系统上被详细跟踪,因此得出的结论非常适合通过框架(如攻击树)对可能的决策模式建模。6它可以通知系统设计的修订,监测和可观察性的调整,或修订的弹性措施。

攻击树是一种决策树,它描绘了决策流——攻击者将如何在系统中采取一条或另一条路径来达到他们的目标。虽然一个安全的默认假设是,攻击者将采取成本较低的决策路径,但从欺骗环境中收集的野外证据可以验证或更新关于攻击者如何在特定系统中学习和决策的现有假设。例如,攻击者跟踪可以建立将攻击者推向特定选择的策略(或它们的组合)。

这种跨攻击生命周期的行为模式的说明可以被可视化为攻击树的不同分支,并有助于确定系统设计更改的优先级。可视化安全决策树的一个例子是Deciduous,这是一个由作者创建的开源web应用程序,可以在https://www.deciduous.app/).它还可以挖掘系统内部的隐藏流,这些流通常只有在故障和系统不稳定时才会被发现。攻击者善于找出未计算的流来实现他们的目标,所以追踪它们的遍历可以描绘出更精确的系统图像。

攻击者跟踪还可以为实验提供信息;攻击树的每个分支都代表了引出特定实验的假设链。攻击者追踪还可以提取攻击者的彻底特征——他们的目标、学习能力、风险规避水平、怀疑程度和其他行为因素。这种描述可以通过结合条件逻辑和“改造”方法来激发个性化欺骗。

实验平台。与生产环境没有区别的生活型环境能够最大程度地成功欺骗所有级别的攻击者。因此,欺骗环境可以作为一个平台,用于进行实验,测试攻击者在各种情况下会如何行为的假设。追踪攻击者——尤其是伴随着攻击树的时候——可以直接为实验假设提供信息。

解决方案的有效性。实验可以测试监测或恢复措施的有效性,以及它们是否可以在操作人员不知情的情况下被破坏。例如,欺骗环境可以揭示攻击者可能如何响应体系结构的重新设计或基础设施组件的替换(交换等效的功能,在下一节中讨论)。

与使用负载或浸泡测试验证系统性能类似,验证系统在各种故障场景(包括暴露于攻击者)下的弹性是有价值的。SCE建立在这个实验的基础上;故障注入产生证据,建立系统级动力学知识,告知系统弹性的持续改进,并为事件响应创造肌肉记忆。4通过这个镜头,欺骗环境成为SCE武器库中的一个实验工具。

保真度阈值。保真度降低实验可以揭示攻击者如何对不同保真度的环境做出反应——揭示系统在不同攻击者看来开始像“恐怖谷”的点。逐个删除组件(类似于A/B测试)可以揭示攻击者使用环境的哪些方面来评估真实性。

例如,攻击者可能认为没有监控工具的系统不够重要,不值得勒索,因为系统的关键程度会影响受害者的支付意愿。通过轮流禁用和启用监视和日志记录子系统来进行实验,可以揭示攻击者会在多大程度上逃离不受监视的系统。

对于资源充足、能够同时访问蜂巢和生产环境的攻击者来说,将标准组件替换为替代品会破坏他们的攻击计划。这些替代品暴露了相同的界面并执行相同的功能(类似于可口可乐和百事可乐),但品牌名称的差异给攻击者的操作知识带来了不可靠性。在模拟负载下交换组件和测试系统行为在工程学科中是很常见的,并且对评估许多类别的假设很有用(例如一个新组件是否表现更好或更容易操作)。

访问困难。进入欺骗环境的难度可以调整为研究不同类型的攻击者及其对保真度的感知。由于攻击者希望特定的受害者具备基本的软件修补程序卫生水平,所以宣传微不足道的可利用漏洞可以降低欺骗的真实性。通过选择将哪些漏洞发送为已打补丁或未打补丁(即蜂蜜补丁),可以调整初始入口点的可访问性,以满足攻击者的预期。


对于软件组织来说,构建副本和蜂箱并不比通过IaC声明建立现有环境层的新变体更困难。


Honeytokens味道。用其他欺骗技术来增强蜂巢可以测量这些技术的有效性,并更详细地追踪攻击者的进展。例如,在整个环境中部署云蜜代币可以在攻击者访问各种系统以及他们试图访问云资源的程度时向运营商发出警告。(云蜜令牌的一个例子是Thinkst的AWS[亚马逊网络服务]密钥金丝雀令牌,可在https://canarytokens.org/generate)。

回到顶部

未来的机会

迄今为止所描述的欺骗环境的潜在用例可以通过当代实践和工具来实现。从这里开始,对底层技术的适度扩展可以作为通用工具,甚至可以使规程受益。

即时地球化。现代虚拟化可以通过写时复制或页面重复数据删除支持即时创建隔离欺骗虚拟机(vm)。(这在2005年被证明是可行的,但从未在其他地方采用。)8这个过程类似于操作系统在进程分叉后延迟复制内存页的方式。这可以通过在欺骗环境中共享资源并只在攻击者首次获得访问权时创建这些资源来降低成本。

“系统地化”方法甚至可以产生一种错觉,即只有当攻击者试图连接到主机时,才会具体化整个主机网络。云网络和hypervisor层已经协作,将VPC(虚拟私有云)内的网络流量路由到与实例关联的物理硬件。为了降低未使用基础设施的开销,这些层可以像处理无服务器功能一样处理VM实例:一旦它们接收到通信就打开电源,但在其他情况下保持挂起、休眠、关闭电源或换出到磁盘。

对网络和管理程序层的巧妙改进有助于冻结空闲服务、主机和基础设施。这些资产将在通过网络的第一次接触时被解冻,并快速执行到交互点。一旦实例处理完传入的流量并回到空闲状态,它们将被重新冻结以减少资源使用。这种方法可以降低蓝绿色部署、预生产环境和基础设施大部分闲置的其他场景的成本。

实例仿真。虚拟化技术的进步可以更好地模拟AWS和谷歌云平台(GCP)的专有硬件和本地实例元数据端点,这将允许创建欺骗环境,看起来像是真正的亚马逊弹性计算云(EC2)和GCP实例。CSP api的完全模拟可能带来一些好处,比如云环境的离线测试、在单个主机上对整个集群进行更高密度的测试,以及在单个机器上完全隔离的蜂箱。

可伸缩的honeypatching。网络技术,如内容交付网络(cdn),路由器,负载平衡器,服务网格,或web应用程序防火墙,可以重新配置,以支持低工作量的蜂窝补丁规模。攻击者可以轻松地重定向到欺骗环境中,而不是阻止攻击的企图(唯一的新开销是指定将可疑流量定向到何处)。此外,漏洞签名目前被视为事后安全机制,但可以与软件更新一起发布,而不是直接和快速地实现。如果提供给上述网络技术,签名可以允许数据或协议流中的模式匹配。

通过镜像匿名化。流量镜像技术,例如那些集成到服务网络和vpc的技术,可以扩展到包括在应用协议层操作的数据匿名特性。目前的匿名化技术是在数据包层进行操作的,3.这不足以匿名化被镜像到欺骗环境中的用户数据。离线数据匿名化技术,如隐私保护加密和匿名化,可以与流量镜像系统集成,以维护用户隐私和满足合规要求,同时在欺骗环境中复制完全自然的流量模式。

基于管理程序的可观察性。跟踪和可观察性是现代服务器操作系统的核心用户需求,但通常很容易颠覆。这些工具通常与它们监视的工作负载在相同的权限级别上执行;一切都是根。理想情况下,安装和运行userland代理应该不需要从内核获取用于系统监控的基本指标和遥测数据。

为了实现这一目标,操作系统可以通过公共协议直接向管理程序公开核心系统事件,例如进程和文件操作。这将显示无法被在VM内部操作的攻击者破坏的可见性,并将防止由资源耗尽引起的可观察性中断(在超载的主机上经常会发生这种情况)。

暴增内存使用。如果CSPs支持传统的虚拟化特性,比如膨胀、压缩或交换内存,欺骗环境的基础设施成本可能会进一步降低。CSPs可以提供可爆炸的性能实例,具有在需要时将内存使用激增到更高水平的能力(同时提供较低的基线性能,因此成本较低)。这类似于AWS现有的基于积分的工作负载系统,这些工作负载需要不频繁的CPU使用爆发或GCP对内存分配的静态定制。

通过高级管理程序扩展,当CSPs的活动爆发并需要更多资源时,它可以跨物理实例迁移虚拟机。当一个实例突发时,不需要停止共享物理机器上的空闲实例,空闲实例可以临时迁移到另一个主机机器或交换到磁盘。这种方法在目前的技术下是可行的,但还没有被CSPs实现。

每次付款的限制。为了限制攻击者为您消费的金额,每个帐户的计费限制比计费警报更强。不幸的是,csp不提供工具来限制帐户或项目的支出,只在异常活动发生或超过阈值时发出警报。当可用性超过成本时,这些工具是足够的,但不能对资源消耗实施真正的支持。csp拥有有效的工具来隔离除了客户钱包之外的所有资源;客户可以要求他们添加此功能。

回到顶部

分开的想法

想象这样一个世界:系统的开发人员和操作人员对攻击者的利用就像攻击者对防御者的利用一样多。通过利用系统设计知识和现代计算来部署欺骗环境,软件工程团队可以在加深系统弹性的同时,成功地欺骗攻击者以获得乐趣和利益。

回到顶部

参考文献

1.奥尔德森,d.l.,布朗,g.g.,卡莱尔,w.m.,伍德,R.K.解决基础设施防御的防御者-攻击者-防御者模型。海军研究生院运营研究部基础设施防御中心,加州蒙特雷,2011;https://calhoun.nps.edu/handle/10945/36936

2.弗斯格伦,N.,亨布,J.,金,G。《加速:精益软件科学》和《DevOps:构建和扩展高性能技术组织》。革命,2018。

3.陈晓军,陈晓军,陈晓军,张晓军,陈晓军。基于经验驱动的可编程网络研究。ACM SIGCOMM计算机通信。启51, 1 (2021), 10-17;https://dl.acm.org/doi/10.1145/3457175.3457178

4.莱因哈特,A.,肖特里奇,K。安全工程混乱。O ' reilly Media, 2020。

5.肖特里奇,K.,福斯格伦,N.控制混乱:DevOps和安全的必然结合。在2019年美国黑帽大会上的演讲;https://bit.ly/3sMZuZI

6.科学方法:安全混沌实验&攻击者数学。在RSA 2021年会议上的演示;https://bit.ly/3LJVBxp

7.Veksler, v.d., Buchler, N., LaFleur, c.g., Yu, m.s., Lebiere, C., Gonzalez, C.网络安全中的认知模型:从专家分析师那里学习并预测攻击者的行为。心理学前沿111049 (2020);https://www.frontiersin.org/articles/10.3389/fpsyg.2020.01049/full

8.Vrable, M., Ma, J., Chen, J., Moore, D., Vandekieft, E., Snoeren, a.c., Voelker, gm, Savage, S. Potemkin虚拟蜜场的可扩展性、保真度和遏制。ACM SIGOPS操作系统修订版, 5 (2005), 148-162;https://dl.acm.org/doi/10.1145/1095809.1095825

9.三十年来主动网络防御中的欺骗技术回顾与展望。计算机与安全102288 (2021);https://bit.ly/36g14LT7

回到顶部

作者

凯利Shortridge是Fastly产品技术高级负责人,与艾伦·莱因哈特合著了安全工程混乱(O'Reilly Media),是基于弹性的系统防御策略方面的专家。他们将行为经济学和DevOps原理应用于信息安全的研究已经在顶级行业刊物上发表,并用于指导全球信息安全战略的现代化。

瑞安Petrich是一家金融服务公司的高级副总裁,此前曾担任Capsule8的首席技术官。他们目前的研究集中在以意想不到的方式使用系统,以获得最佳性能和借口。他们的工作包括设计开发工具,开发基本的越狱调整,架构弹性分布式系统,以及试验编译器,状态复制和指令集。

回到顶部


版权归所有者/作者所有。授权给ACM的出版权。
请求发布的权限permissions@acm.org

数字图书馆是由计算机协会出版的。版权所有©2022 ACM股份有限公司


没有发现记录

Baidu
map