欺骗是一种强大的弹性策略,可提供对攻击行动的可观察性,转移对生产系统的影响,并为弹性系统设计提供建议。对欺骗系统的目标、约束和设计权衡的清晰理解,可以为软件开发、架构和运营领域的领导者和工程师提供一种新的策略,以构建更具弹性的系统,并以此来迷惑攻击者。
不幸的是,欺骗技术的创新已经停滞了近十年,因为它一直被信息安全专家所独占。尽管模仿单个系统组件的欺骗机制已经变得陈旧且难以说服攻击者,但它仍然是现状,而攻击者却在组件之间的互连中蓬勃发展,并期望遇到系统。因此,攻击者仍然未受挑战且毫不畏惧。
这种浪费的潜力促使我们设计了新一代的欺骗系统,称为欺骗环境。这些是隔离的副本环境,包含完整的、活动的系统,其存在是为了吸引、误导和观察攻击者。通过利用现代基础设施和系统设计专业知识,软件工程团队可以使用安全专家在很大程度上无法获得的欺骗策略。为了帮助软件工程师和架构师通过系统设计的视角评估欺骗系统,我们开发了一套设计原则,概括为一个实用的框架。这个框架被称为 FIC 三难困境,它抓住了设计欺骗系统最重要的维度:保真度、隔离性和成本。
本文的目标是向软件领导者、工程师和架构师普及欺骗技术在系统弹性方面的潜力,以及构建欺骗环境的实际考虑因素。通过考察信息安全界过去欺骗工作的不足和停滞不前,本文还论证了为什么工程团队现在有能力——在计算技术进步的支持下——成为欺骗系统更成功的拥有者。
在人类(攻击者)通过未经允许访问、破坏稳定、窃取或以其他方式利用其他人类的计算机来达到其目的的情况下,软件工程师必须理解并预测这种对其开发和运营的系统的负面冲击。这样做需要构建收集有关攻击者的相关信息的能力,并实施阻止其行动成功的预见性机制。欺骗为软件工程团队提供了一条战略路径,以在可持续的基础上实现这两个目标。
在任何复杂系统中维持弹性都需要具备实施反馈循环并从中不断学习的能力。欺骗可以支持这种持续学习能力。收集关于攻击者和系统之间交互的数据的价值,我们称之为攻击可观察性,通常被认为是信息安全专家的专属关注点。这是一个错误。攻击者的有效性和系统的弹性是对立的;一方固有的侵蚀另一方。了解攻击者如何做出决策,可以让软件工程师利用攻击者的大脑来提高弹性。
收集关于攻击者如何在真实操作中做出决策的信息的重要性,在概念上类似于可观察性和追踪在理解系统或应用程序实际行为方式,而不是认为的行为方式中的重要性。软件工程师可以尝试预测系统在生产环境中的行为方式,但其实际行为很可能偏离预期。同样,软件工程师可能对攻击者的行为有自己的看法,但观察和追踪实际攻击者的行为将产生必要的洞察力,从而改进系统设计以应对不需要的活动。
理解攻击者行为始于理解人类通常如何学习和做出决策。人类从与现实的直接和重复互动(即经验)中学习。在做出决策时,人类会用从先前决策及其后果中积累的相关经验来补充原有的知识和信念。总而言之,人类的学习和决策是紧密耦合的系统。鉴于攻击者是人类——甚至自动化攻击程序和平台也是由人类设计的——这种紧密耦合可以被用来破坏攻击者的认知。
在任何充满冲突的互动中,例如攻击者与系统运营者,信息不对称会导致核心优势,可以将成功的天平倾向于特定一方。不完全信息意味着参与者可能无法观察或了解游戏中所有已采取的行动。不完整信息意味着参与者可能不了解其对手的特征,例如优先级、目标、风险承受能力和资源约束。如果一方拥有比其对手更多或更好的与游戏相关的信息,则反映了信息不对称。
攻击者根据预先存在的信念和通过经验学到的关于运营者当前基础设施及其保护措施的知识来选择攻击计划。1 运营者根据预先存在的和学到的关于攻击者的信念和方法的知识来选择防御计划。
这种动态为软件工程师提供了一个机会,可以使用欺骗来放大有利于他们的信息不对称。7 通过操纵攻击者获得的经验,从这些经验中获得的任何知识都是不可靠的,并且会毒害攻击者的学习过程,从而扰乱他们的决策。
欺骗系统允许软件工程师在两个维度上加剧信息不对称:(1)暴露关于攻击者思维过程的真实世界数据(增加运营者的信息价值);(2)操纵信息以扰乱攻击者学习和做出决策的能力(降低攻击者的信息价值)。
本文的其余部分将讨论欺骗系统在真实世界环境中实现这些目标的挑战和潜力。
欺骗的艺术一直受到信息安全对其独占的限制。用于实施欺骗的主要机制是通过设置一个主机,其唯一目的是检测、观察或误导攻击行为,以便任何访问或使用都表明可疑活动。这些系统在信息安全界被称为蜜罐。值得列举现有类型的蜜罐,以了解它们的缺陷。
蜜罐通常根据它们涉及的交互级别分为低、中或高交互级别。
LI(低交互)蜜罐相当于纸板剪纸诱饵;攻击者无法以任何有意义的方式与它们互动。LI 蜜罐代表了对系统可用性的简单模仿,通常用于检测端口扫描和其他攻击者用于收集与获得访问权限相关的知识的基本方法的普遍程度(有点像潜在客户生成)。它们可以模仿特定的端口或漏洞,并记录成功或尝试的连接。
MI(中交互)蜜罐模仿特定类型的系统,例如邮件服务器,其深度足以鼓励攻击者利用众所周知的漏洞,但它们缺乏足够的深度来模仿完整的系统操作。在尝试利用时,MI 蜜罐会发送警报或记录尝试并拒绝它。它们最适合研究公共漏洞的大规模利用趋势,或在生产网络内部运行,在生产网络中,任何访问尝试都表明正在进行的攻击。
HI(高交互)蜜罐是易受攻击的服务副本,旨在引诱攻击者,攻击者可以利用该服务、获得访问权限并像往常一样与基本操作系统组件进行交互。HI 蜜罐通常不包括模仿真实系统的其他组件。对于少数确实包含的,通常是移植构建的副作用。HI 蜜罐通常会在检测到攻击者的存在时发送警报,例如在成功利用易受攻击的软件之后。
虽然 LI 和 MI 蜜罐通常被认为在欺骗攻击者方面无效9(因此可以作为适用于真实世界欺骗的选项而忽略),但现有的 HI 蜜罐语料库也很原始。传统的欺骗方法对具有一定经验的攻击者来说是不具说服力的。攻击者只需要问一些简单的问题——系统感觉真实吗?它是否缺乏活动?它是否老旧且被遗忘?——就可以消除 HI 蜜罐的幻影。
HI 蜜罐的局限性意味着攻击者经常会意外地发现它们的欺骗性。HI 蜜罐也缺乏正常的用户流量和相关的生产系统损耗——这对谨慎的攻击者来说是一个明显的破绽。
最后,所有蜜罐的一个根本缺陷是它们是由信息安全专家构建和运营的,而信息安全专家通常不参与软件架构,并且在很大程度上与软件交付脱节。他们可能在高层次上知道系统应该如何运行,但往往不了解对系统功能至关重要的组件之间复杂的交互。因此,安全专家独占所有权是当前欺骗效果的一个重大缺点。
新一代欺骗技术不仅是可能的,而且鉴于其对系统弹性的战略潜力,也是可取的。这种新类别欺骗环境的设计和所有权,反映了与上一代技术的重大背离。欺骗环境与蜜罐相比已经充分发展,以至于它们代表了一个新的、独特的类别。
考虑到攻击者在攻击系统方面的专业知识以及对组件之间相互关系的理解,以指导他们的操作,攻击者发现单个蜜罐实例不具说服力并不奇怪。新型计算和软件工程师所有权的结合意味着,可以创建专门用于分布式欺骗的环境,这些环境更接近攻击者期望遇到的系统类型。
传统蜜罐的目标是确定攻击者使用扫描工具或利用已知漏洞的频率;追踪攻击者行为的更精细的细微差别或揭示他们最新的方法,在迄今为止的欺骗项目中是缺失的。欺骗环境充当一种手段,用于观察和理解攻击者在所有操作阶段的行为,并作为对能够逃避各种防御措施的攻击者进行实验的平台。这集中精力于设计更具弹性的系统,并有效地利用有限的工程关注和资源。
现代基础设施的几个维度对于培育具有更低成本和更有效设计的新欺骗范式至关重要。
• 云计算。云计算的可访问性使得能够以极低的成本配置完全隔离的基础设施。
• 部署自动化。完整的系统部署自动化和声明式定义基础设施的实践,通常称为 IaC(基础设施即代码),降低了部署和维护基础设施影子副本或变体的运营开销。
• 虚拟化进步。嵌套虚拟化的广泛可用性和成熟、强化的虚拟化技术,让人相信攻击者与生产环境隔离,使得可以更详细地观察他们,并从计算资源中提取额外的密度。
• SDN(软件定义网络)的普及。凭借以编程方式定义网络的能力,可以创建专用于攻击者的隔离网络拓扑,而不会产生额外成本。
这是新一代欺骗技术的另一个关键催化剂。基于系统设计专业知识而非安全专业知识的所有权,为欺骗系统成功对抗同样动态的对手创造了必要的活力。
软件工程团队已经在执行必要的实践。软件运营者可以重新利用其独特的系统部署模板,用于构建生产环境和变体(例如暂存环境),从而构建强大的欺骗系统。然后,他们可以获得专门适用于其环境且无法在其他地方收集的攻击数据。因此,软件工程师比安全团队更胜任这项工作,并且可以通过部署欺骗环境来获得一种高效的可观察性工具。
欺骗环境的设计理念是基于重新利用真实系统的设计、资产和部署模板,而不是像现状那样为欺骗构建单独的设计。欺骗成为在开发、暂存、预生产和生产之后,在软件交付管道末端生成的新环境。从这个基础出发,可以通过设计一个感觉“有人居住”的欺骗环境来先发制人地消除攻击者的怀疑,例如通过重放流量和模拟系统活动的其他方法。
从真实生产系统的设计开始,为迷惑攻击者并收集与改进真实系统弹性相关的见解提供了固有的真实性。由于每个系统都有不同的弹性问题,这也提供了一个机会,可以安全地测试策略在伪真实环境中针对真实攻击者的表现。
传统的蜜罐设计侧重于初始访问,而成功与否取决于蜜罐在多大程度上可以模仿系统的外部形状。这种框架限制了评估超越迄今为止看到的初级方法的能力。
此处提出的新模型从三个轴评估欺骗系统:保真度、隔离性和成本(图 1),代表一个三难困境:这三个属性通常是冲突的,因此无法同时完全实现。理解 FIC 三难困境——以及其每个轴之间的权衡——对于设计成功的欺骗环境至关重要。
保真度是指欺骗系统对攻击者的可信度及其支持攻击可观察性的能力。可信的欺骗系统可以有效地欺骗攻击者,使其认为系统是真实的;它可以避免陷入“恐怖谷”。攻击者经常审问受损系统,以揭露幻象并避免暴露他们的方法。攻击者期望系统具有某些基本特征,例如运行服务、接收类似生产环境的流量、连接到更广泛的互联网、通过本地网络与其他服务协调、由另一个系统编排和监控,以及没有调试器或其他检测工具的痕迹。
高度可信的欺骗系统将提供足够的深度来刺激延长的攻击者活动,即使是谨慎的攻击者也会被诱骗在主机之间移动,并在整个攻击交付生命周期中暴露他们的方法。这会产生详细且高质量的行为记录,供工程师获得对攻击者决策的准确理解。提取和记录活动时更高的准确性和深度,可以为更好的系统设计提供信息,从而使未来的迭代更具攻击弹性。
隔离性是指欺骗系统与真实环境或数据隔离的程度,是 FIC 三难困境的第二个轴。运营者不愿为了了解攻击者行为而危及真实系统的可用性或数据隐私。第二个要素是将攻击者彼此隔离的能力。这允许独立研究每个攻击者的行为。
成本是指部署和维护欺骗系统所需的计算基础设施和运营开销。随着计算成本持续下降,成本转移到运营负担——这不应被低估。昂贵的欺骗系统不太可能被完全部署或维护,因此将无法达到其目的。
将不同类型的欺骗系统映射到三难困境周围的点,阐明了这个模型的价值。作为起点,让我们考虑哪些类型的系统反映了每个轴的极端实现:完美的保真度、完全的隔离和最大的成本(图 2)。
真实生产系统位于完美保真度、低成本和零隔离的交汇处。这些系统很可能遇到攻击者并受到运营者的监控,因为生产是组织从软件开发活动中实现价值的地方(也就是说,它赚钱,攻击者和组织都同样欣赏)。
相比之下,LI 蜜罐位于零保真度、低成本和完美隔离的交汇处。它们收集关于攻击者的有限信息,并向他们展示一个透明的把戏;但是,它们易于部署,可以检测广泛的攻击趋势,并提供无风险的事件影响。
在完美保真度、完全隔离和最大成本的交汇处,是一个专门用于欺骗的假设数据中心。例如,想象一下生产数据中心的完整副本,具有相同的监控和维护,以及使用分布式客户端大军对真实流量的完美模拟。这显然在设计和运营方面承担了过高的成本,但提供了高保真度和完全隔离。
为了进一步探索 FIC 三难困境,图 3 评估了信息安全界上述方法。
MI 蜜罐提供的补充保真度极低,部署成本与 LI 蜜罐大致相同;因此,它们占据了靠近 LI 蜜罐的空间。HI 蜜罐在一定程度上提高了保真度,但成本也更高,但无法愚弄大多数攻击者。即使应用模拟负载来提高真实性,HI 蜜罐仍然受到模仿设计而非与真实现有系统共享血统的限制。
欺骗环境模型支持三难困境中以前未探索的空间中的解决方案(图 4)。以下两个三难困境“理想点”为揭示更丰富和更高数量的攻击者行为以实现高级可观察性提供了机制。
第一个理想点中的系统,称为replicomb,是生产主机的降级副本,它们与真实生产环境中部署的同一组监控、编排和支持服务一起运行。副本被来自真实系统的模拟或重放负载馈送。具有类似生产环境负载的完整副本主机创建了一个欺骗系统,对攻击者而言,该系统看起来与真实主机无法区分(图 5)。
现代部署实践(例如 IaC)使制作降级副本变得更容易,而云计算成本的直线下降使得部署大型系统变得廉价。虽然成本仍然高于蜜罐,但 replicomb 提供了显着的增强功能:它具有令人印象深刻的保真度,并支持检查超出初始访问权限的广泛攻击者行为。因此,replicomb 在三难困境中占据了更接近完整数据中心副本的空间。这是一个理想点,因为它如果实施得当,即使对于谨慎、持怀疑态度的攻击者来说,也应该看起来像一个真实的个人生产主机。
第二个提议的理想点中的系统,称为honeyhive,通过完整的类似生产环境主机网络扩展了 replicomb 方法,以观察攻击者如何从他们的初始访问点移动到相邻的主机和服务。整个环境的完整但缩小比例的副本被部署为 honeyhive,模拟、重放或镜像的活动流经整个系统。因此,即使攻击者的行为跨越多个系统,honeyhive 也为观察和对攻击者进行实验提供了完全逼真的环境(图 6)。
honeyhive 环境听起来可能类似于预生产或暂存环境——事实确实如此。现代 IaC 实践和通过云计算实现的廉价完全隔离,使得 honeyhive 等欺骗系统的部署成本比以前更合理。honeyhive 在三难困境中占据了最接近完整数据中心副本的空间,为攻击者提供了深刻的保真度,并在从中收集的情报方面也提供了深刻的保真度。借助 honeyhive,可以在攻击者操作的更多阶段观察到行为。
replicomb 是 honeyhive 的起点,但通过部署环境的其余部分可以释放出超凡的保真度。replicomb 实际上是服务的副本,因此它需要模拟负载才能看起来真实。相比之下,honeyhive 只需要对任何自然会与用户交互的点应用模拟负载;只需要一个“真实”的 replicomb 作为初始入口点。其他 replicomb 主机从它们的对等方接收流量,就像它们在生产环境中一样,因此 honeyhive 只需要一些外部流量来产生真实的流量。
对于软件组织而言,构建 replicomb 和 honeyhive 与通过 IaC 声明设置现有环境层的新变体一样容易。部署 replicomb 类似于所选服务的金丝雀发布,而部署 honeyhive 类似于浸泡或负载测试环境。
话虽如此,安全地构建欺骗环境需要仔细关注超出创建新环境时通常关注的细节。
欺骗环境与任何其他处理用户数据或必须保持可用的环境之间的隔离边界在哪里?这个边界有多大的渗透性?在未将服务易受攻击的实例与用户流量正确隔离的情况下有目的地部署它们是危险的。
同样,一些组织在同一网络内运行多个环境,允许它们之间直接通信。欺骗环境不应遵循这种模式,而应部署为几乎或根本无法与其他用于其他目的的环境通信,尤其是那些处理关键生产流量的环境。虚拟化技术、SDN 和云计算可用于为欺骗环境创建完全隔离的网络。
攻击者必须能够发现欺骗环境,以收集关于其攻击操作的真实数据。将欺骗环境放置在公共 IP 地址上,而与您的组织没有任何关联,只会吸引在互联网上搜索开放漏洞的攻击者。将欺骗系统放置在生产环境内部作为可发现的主机,只能捕获攻击者已经进入并寻找其他主机后的行为。
一种捕获寻求访问特定组织的攻击者,然后观察其在整个操作阶段的行为的技术是蜜补丁。此技术利用现代防火墙和负载均衡器的可配置性,将旨在利用生产环境中已知且已修补的漏洞的流量定向到欺骗环境的未修补服务(图 7)。
将攻击引导到欺骗环境的一个显着好处是能够跟踪攻击者的行为,而不会对实际服务可用性造成任何风险。这种跟踪应该对攻击者不可见,并且能够抵抗他们的篡改。一旦攻击者获得对欺骗环境的访问权限,他们可能会操纵其中运行的任何监控或可观察性工具。因此,确保对攻击者行为进行防篡改观察的最佳方法是将这些工具部署在环境之外,但向内窥视。
可以通过捕获所有进入、离开并在主机之间移动的数据包来观察网络行为,方法是使用 CSP(云服务提供商)的本机功能来存档虚拟网络内的流量,或者使用虚拟化系统的数据包捕获功能。可以通过定期拍摄内存和磁盘快照来观察主机行为,以查看欺骗系统在给定时间的精确状态。
为了提高针对攻击者逃避对其行为的任何监控的弹性,可以将数据包捕获和定期快照与标准可观察性工具结合使用。在环境内部收集的关键事件(例如进程启动和文件活动)也可以丰富攻击者活动的跟踪。
组织可能会因在欺骗环境中故意向攻击者暴露用户数据而意外承担责任。可以通过在将流量重放到欺骗环境之前对其进行匿名化或加扰来缓解此问题。
生成合成数据集——那些模仿生产数据但不包含任何真实用户数据的数据集——是一种现有方法,用于填充预生产、暂存和其他测试环境,同时仍然遵守隐私法规(例如 HIPAA)。隐私意识较弱的行业的组织可能需要为欺骗环境采用类似的方法,以避免不必要的责任。
关于欺骗系统的传统观点是,它们属于信息安全领域。随着部署工具和方法的现代进步,创建生产系统的变体是一项简单的练习——而欺骗环境只是系统的另一种变体。因此,软件工程师可以以更直接、可预测、低工作量、自动化、一致且易于理解的方式部署和维护有效的欺骗技术。
安全专业知识不是开发和运营欺骗环境的先决条件。事实上,它常常限制和损害对战略选择的判断。工程团队自然而然地倾向于改进设计或工作流程,而不是依赖于很少以系统思维为基础的现状“最佳”实践。攻击者以系统的方式思考;他们开发系统来实现他们的目标,并在运营过程中纳入反馈。通过将攻击者视为与您目标完全相反的同类工程师,您的心态将充分真实且具有建设性,从而驾驭和受益于欺骗环境。
以下是一些在部署欺骗环境后收获其潜力的强大用例。
从 replicomb 和 honeyhive 生成的数据可以为更具弹性的系统设计提供信息。最大限度地缩短检测和响应导致服务停机的破坏性活动的时间,与组织绩效2相关,而攻击牢牢地属于此类灾难性活动的范畴。用于探索攻击如何影响系统的专用沙箱,是预测生产系统在发生故障时将如何运行并通过设计改进来先发制人地阻止故障发生的宝贵工具。
攻击者将以强调其整体可靠性的方式与监控、日志记录、警报、故障转移和服务组件进行交互。弹性系统必须意识到并从任何这些组件的故障中恢复,以保持可用性。欺骗环境可以证实为支持对组件故障的可见性和从中恢复而实施的任何措施。
欺骗环境还可以揭示在可操作性和简易性方面进行架构改进的机会。例如,如果在欺骗环境中持续观察到衍生远程交互式 shell(以便攻击者可以将工具写入磁盘)是一种一致的攻击者行为,那么这一证据可以促使制定主机不变性的设计规范,以消除攻击者的这种选择5。
重要的是,这与未来趋势一致,即产品和工程团队对其开发和运营系统的韧性(包括对攻击的韧性)负责4。秉承 SCE(安全混沌工程)的精神,软件工程师、架构师、站点可靠性工程师和其他利益相关者可以利用由真实世界证据(例如复制组合和蜜罐产生的证据)驱动的反馈循环,为整个软件交付生命周期的改进提供信息。
欺骗环境使软件工程师、架构师和其他系统从业人员能够“追踪”攻击者的行动。攻击可观测性使得在设计和规划期间能够进行务实的威胁建模,而无需以安全专业知识为先决条件。由于攻击者行为在与真实系统形状相同的系统中被详细追踪,因此由此产生的洞察非常适合通过攻击树等框架对可能的决策模式进行建模6。它可以为系统设计的修订、监控和可观测性的调整或修订的韧性措施提供信息。
攻击树是一种决策树形式,用于图示决策流程——攻击者如何在系统中采取一条或另一条路径以达到其目标。虽然一个安全的默认假设是攻击者将追求成本较低的决策路径,但从欺骗环境中收集的野外证据可以验证或更新关于攻击者如何在特定系统中学习和做出决策的现有假设。例如,攻击者追踪可以确定哪些策略(或它们的组合)推动攻击者做出某些选择。
这种对整个攻击生命周期中行为模式的阐明可以可视化为攻击树上的不同分支,并有助于优先考虑系统设计变更。(可视化安全决策树的一个示例工具是 Deciduous,这是一个由作者创建的开源 Web 应用程序,可在 https://www.deciduous.app/ 上获取)。它还可以挖掘系统内部的隐藏流程,这些流程通常仅在故障和系统不稳定时才被发现。攻击者擅长找出未被考虑的流程以实现其目标,因此追踪他们的遍历过程可以更精确地描绘系统图景。
攻击者追踪还可以为实验提供信息;攻击树上的每个分支都代表一个假设链,这些假设链会引发特定的实验。攻击者追踪还可以提取对攻击者的全面描述——他们的目标、学习能力、风险厌恶程度、怀疑程度和其他行为因素。这种描述可以通过结合条件逻辑和“地球化改造”方法来激发个性化欺骗。
与生产环境无法区分的逼真环境最大限度地提高了欺骗所有能力级别的攻击者的成功率。因此,欺骗环境可以作为进行实验的平台,以测试关于攻击者在各种情况下将如何行动的假设。攻击者追踪——尤其是在攻击树的配合下——可以直接为实验的假设提供信息。
实验可以测试监控或韧性措施的效力,以及它们是否可以在操作员不知情的情况下被破坏。例如,欺骗环境可以揭示攻击者可能如何响应架构重新设计或基础设施组件的替换(替换为等效能力,如下一节“保真度阈值”中进一步讨论的那样)。
类似于使用负载或浸泡测试验证系统性能,在各种故障场景(包括暴露于攻击者)下验证系统韧性也很有价值。SCE 建立在实验的基础上;故障注入生成证据,从而构建系统级动态的知识——为系统韧性的持续改进提供信息,并为事件响应创建肌肉记忆4。通过这个视角,欺骗环境成为 SCE 工具库中的一种实验工具。
保真度降级实验可以揭示攻击者如何对不同保真度级别的环境做出反应——揭示系统开始对不同攻击者看起来像“恐怖谷”的临界点。逐个删除组件(类似于 A/B 测试)可以揭示攻击者使用环境的哪些方面来评估真实性。
例如,攻击者可能会将没有监控工具运行的系统视为不够重要,不值得勒索,因为系统关键性会影响受害者支付赎金的意愿。通过交替禁用和启用监控和日志记录子系统进行实验,可以揭示攻击者将在多大程度上逃离未监控的系统。
对于有充足资源的攻击者,他们能够同时访问蜜罐和生产环境,将标准组件替换为替代品可能会打乱他们的攻击计划。这些替代品暴露相同的接口并执行相同的功能(类似于可口可乐与百事可乐),但品牌名称的差异会给攻击者的操作知识引入不可靠性。在工程学科中,替换组件并在模拟负载下测试系统行为是很常见的,并且对于评估多种假设类别(例如,新组件是否性能更好或更容易操作)很有用。
可以调整访问欺骗环境的难度,以研究不同类型的攻击者及其对保真度的感知。由于攻击者期望某些受害者具有基本的软件补丁卫生水平,因此宣传容易被利用的漏洞会降低欺骗的保真度。通过选择要对外宣称已修补或未修补的漏洞(即蜜罐补丁),可以调整初始入口点的可访问性以满足攻击者期望。
使用其他欺骗技术增强蜜罐可以衡量这些技术的有效性,并更详细地追踪攻击者的进展。例如,在整个环境中部署云蜜罐令牌可以在攻击者访问各种系统时警告操作员,并了解他们在多大程度上尝试访问云资源。(云蜜罐令牌的一个示例是由 Thinkst 提供的 AWS [Amazon Web Services] 金丝雀令牌,可在 https://canarytokens.org/generate 免费获取。)
迄今为止描述的欺骗环境的潜在用例可以通过当代实践和工具来实现。从这里开始,对底层技术的适度扩展可以作为通用工具,甚至可以使欺骗以外的学科受益。
现代虚拟化可以支持通过写入时复制或页面去重来准时制创建隔离的欺骗虚拟机(VM)。(这在 2005 年被证明是可能的,但从未在其他地方采用8。)此过程类似于操作系统在进程 fork 后如何使用内存页面的延迟复制。这可以通过在欺骗环境之间共享资源并在攻击者首次获得访问权限时才创建它们来降低成本。
“系统地球化改造”方法甚至可以呈现整个主机网络的幻觉,这些主机仅在攻击者尝试连接到它们时才物化。云网络和虚拟机监控程序层已经协同工作,以在 VPC(虚拟私有云)内将网络流量路由到与预期实例关联的物理硬件。为了降低未使用基础设施的开销,这些层可以转而将 VM 实例视为类似于无服务器函数:一旦收到流量就启动,否则保持挂起、休眠、关机或分页到磁盘。
对网络和虚拟机监控程序层的巧妙改进可以促进空闲服务、主机和基础设施的冻结。这些资产将在首次通过网络接触时解冻,并将其执行快进到交互点。一旦实例完成处理传入流量并返回到空闲状态,它们将被放回深度冻结以减少资源使用。这种方法可以降低蓝绿部署、预生产环境和基础设施大部分时间处于空闲状态的其他场景的成本。
虚拟化技术的进步将更好地模拟 AWS 和 GCP(Google Cloud Platform)的专有硬件和本地实例元数据端点,这将允许创建看起来像是真实的 Amazon EC2(弹性计算云)和 GCP 实例的欺骗环境。完全模拟 CSP API 可以带来诸如云环境的离线测试、在单个主机上对整个集群进行更高密度的测试以及存在于单台机器上的完全隔离的蜜罐等好处。
诸如 CDN(内容分发网络)、路由器、负载均衡器、服务网格或 Web 应用程序防火墙之类的网络技术可以重新配置,以支持大规模的低成本蜜罐补丁。与其阻止利用尝试,不如轻松地将攻击者重定向到欺骗环境(唯一新增的开销是指定将可疑流量定向到何处)。此外,漏洞签名目前被视为事后安全机制,但可以改为与软件更新一起分发,以便直接且快速地实施。如果提供给上述网络技术,签名将允许在数据或协议流中进行模式匹配。
流量镜像技术(例如集成到服务网格和 VPC 中的技术)可以扩展到包括在应用协议层运行的数据匿名化功能。当前的匿名化技术在数据包层运行3,这不足以匿名化镜像到欺骗环境中的用户数据。离线数据匿名化技术(如保护隐私的加密和假名化)可以与流量镜像系统集成,以维护用户隐私并满足合规性要求,同时在欺骗环境中复制完全自然的流量模式。
追踪和可观测性是现代服务器操作系统的核心用户需求,但通常很容易被破坏。此类工具通常以与他们监控的工作负载相同的权限级别执行;一切都是 root 权限。理想情况下,安装和运行用户态代理不应是获取内核的基本指标和遥测数据以进行系统监控的必要条件。
为了实现这一目标,操作系统可以将核心系统事件(如进程和文件操作)通过通用协议直接暴露给虚拟机监控程序。这将呈现无法被在虚拟机内部操作的攻击者破坏的可视性,并防止由资源耗尽引起的可观测性中断(这通常发生在负载过重的主机上)。
如果 CSP 支持诸如气球技术和压缩或交换内存之类的传统虚拟化功能,则可以进一步降低欺骗环境的基础设施成本。然后,CSP 可以提供突发性能实例,这些实例具有在需要时将内存使用量突发到更高水平的能力(同时提供更低的基线性能,因此成本更低)。这类似于 AWS 现有的基于积分的系统,适用于需要不频繁 CPU 使用突发的工作负载,或 GCP 的内存分配静态自定义。
借助高级虚拟机监控程序扩展,当虚拟机的活动突发且需要更多资源时,CSP 可以跨物理实例迁移虚拟机。当一个实例突发时,可以不停止共享物理机上的空闲实例,而是将空闲实例临时迁移到另一台主机或交换到磁盘。这种方法使用当前技术是可能的,但 CSP 尚未实现。
为了限制攻击者可以代表您花费的金额,每账户计费限制比计费警报更强大。不幸的是,CSP 不提供按账户或项目限制支出的工具,并且仅在发生异常活动或超过阈值时才发出警报。当可用性超过成本考虑时,这些工具是足够的,但无法强制执行资源消耗的真正后备措施。CSP 拥有有效的工具来隔离除客户钱包之外的每项资源;客户可以要求他们添加此功能。
想象一下这样一个世界:开发者和系统运维人员像攻击者利用防御者一样利用攻击者。通过利用系统设计知识和现代计算技术来部署欺骗环境,软件工程团队可以成功地为了乐趣和利润而迷惑攻击者,同时加深系统韧性。
1. Alderson, D. L., Brown, G. G., Carlyle, W. M., Wood, R. K. 2011. Solving defender-attacker-defender models for infrastructure defense. Center for Infrastructure Defense, Operations Research Department, Naval Postgraduate School, Monterey, CA; https://calhoun.nps.edu/handle/10945/36936.
2. Forsgren, N., Humble, J., Kim, G. 2018. Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations. IT Revolution.
3. Hyojoon, K., Chen, X., Brassil, J., Rexford, J. 2021. Experience-driven research on programmable networks. SIGCOMM Computer Communication Review 51(1), 10-17; https://dl.acm.org/doi/10.1145/3457175.3457178.
4. Rinehart, A., Shortridge, K. 2020. Security Chaos Engineering. O'Reilly Media.
5. Shortridge, K., Forsgren, N. 2019. Controlled chaos: the inevitable marriage of DevOps & security. Presentation at Black Hat USA; https://www.researchgate.net/publication/336613723_Controlled_Chaos_The_Inevitable_Marriage_of_DevOps_Security.
6. Shortridge, K. 2021. The scientific method: security chaos experimentation & attacker math. Presentation at RSA Conference; https://www.rsaconference.com/Library/presentation/USA/2021/The%20Scientific%20Method%20Security%20Chaos%20Experimentation%20%20Attacker%20Math.
7. Veksler, V. D., Buchler, N., LaFleur, C. G., Yu, M. S., Lebiere, C., Gonzalez, C. 2020. Cognitive models in cybersecurity: learning from expert analysts and predicting attacker behavior. Frontiers in Psychology 11 (1049); 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, G. M., Savage, S. 2005. Scalability, fidelity, and containment in the Potemkin virtual honeyfarm. SIGOPS Operating Systems Review 39 (5), 148-162; https://dl.acm.org/doi/10.1145/1095809.1095825.
9. Zhang, L., Thing, V. L. L. 2021. Three decades of deception techniques in active cyber defense - retrospect and outlook. Computers & Security 106 (102288); https://www.sciencedirect.com/science/article/pii/S0167404821001127.
Kelly Shortridge 是 Fastly 产品技术高级主管。Kelly 是《Security Chaos Engineering》(O'Reilly Media 出版)的合著者,并且是系统防御的基于韧性策略方面的专家。他们关于将行为经济学和 DevOps 原则应用于信息安全的研究已在顶级行业出版物中刊登,并用于指导全球信息安全战略的现代化。
Ryan Petrich 最近担任 Capsule8 的首席技术官。他们目前的研究重点是以意想不到的方式使用子系统以获得最佳性能和欺骗性。他们的工作范围涵盖开发流行的和基础的越狱调整、构建弹性分布式系统以及尝试编译器、最终一致性和令人沮丧的指令集。
Copyright © 2021 版权归所有者/作者所有。出版权已授权给 。
最初发表于 Queue 第 19 卷第 5 期—
在 数字图书馆 中评论本文
Jinnan Guo, Peter Pietzuch, Andrew Paverd, Kapil Vaswani - 使用机密联邦学习构建可信赖的 AI
安全性、隐私性、问责制、透明度和公平性原则是现代人工智能法规的基石。经典联邦学习 (FL) 的设计非常强调安全性和隐私性,但牺牲了透明度和问责制。机密联邦学习 (CFL) 通过将联邦学习与 TEE 和承诺巧妙地结合起来,弥合了这一差距。此外,CFL 还带来了其他理想的安全属性,例如基于代码的访问控制、模型机密性和推理期间的模型保护。机密容器和机密 GPU 等机密计算的最新进展意味着,现有的联邦学习框架可以无缝扩展以支持低开销的 CFL。
Raluca Ada Popa - 机密计算还是密码学计算?
通过 MPC/同态加密与硬件飞地进行安全计算,在部署、安全性和性能方面存在权衡。关于性能,您心中所想的工作负载非常重要。对于简单的求和、低阶多项式或简单的机器学习任务等简单工作负载,这两种方法都可以在实践中使用,但对于复杂的 SQL 分析或训练大型机器学习模型等复杂的计算,目前只有硬件飞地方法才足够实用,可以用于许多实际部署场景。
Matthew A. Johnson, Stavros Volos, Ken Gordon, Sean T. Allen, Christoph M. Wintersteiger, Sylvan Clebsch, John Starks, Manuel Costa - 机密容器组
此处提出的实验表明,Parma(驱动 Azure 容器实例上机密容器的架构)增加的额外性能开销不到底层 TEE 增加开销的百分之一。重要的是,Parma 确保了容器组所有可达状态的安全不变性,根植于证明报告中。这使得外部第三方可以与容器安全地通信,从而实现各种需要对安全数据进行机密访问的容器化工作流程。公司可以在云中运行其最机密的工作流程,同时又无需在其安全要求上做出妥协,从而获得优势。
Charles Garcia-Tobin, Mark Knight - 使用 Arm CCA 提升安全性
机密计算通过将监控系统移出 TCB,从而减小 TCB 的大小、攻击面和安全架构师必须考虑的攻击向量,从而具有提高通用计算平台安全性的巨大潜力。机密计算需要在平台硬件和软件方面进行创新,但是这些创新有可能增强对计算的信任,尤其是在第三方拥有或控制的设备上。机密计算的早期消费者将需要自行决定他们选择信任的平台。