与 Jamie Butler 的对话
将所有邪恶 Rootkit 移除
Rootkit 技术在 2005 年成为焦点,当时分析师发现索尼 BMG 秘密安装了一个 rootkit,作为其 DRM(数字版权管理)解决方案的一部分。尽管那次惨败提高了公众对 rootkit 的普遍认识,但这项技术仍然是软件行业的祸害,因为它能够隐藏进程和文件,使其不被系统分析和反恶意软件工具检测到。
理解 rootkit 的最佳方法——它们如何工作以及如何最好地检测它们——是自己编写一个。本月访谈的主题人物 Jamie Butler 正是这样做的。Butler 编写了著名的 FU rootkit,这是一个概念验证,说明了 Windows 和 Linux 操作系统内核中的漏洞。Butler 还写了一本关于 rootkit 的书,与 Greg Hoglund 合著,名为 Rootkits: Subverting the Windows Kernel (Addison-Wesley,2005)。在此之前,该团队合作创建了 rootkit.com 网站,这是一个 rootkit 信息、代码和讨论的存储库。该网站颇具争议,一些安全专业人士对它提供可被不法分子利用的可执行 rootkit 代码表示遗憾。
Butler 目前在 Mandiant 工作,是产品开发团队的首席软件工程师。在 Mandiant 之前,他曾担任 HB Gary 的工程总监和 Komuko Inc. 的 CTO,在那里他开发了一种低级 rootkit 检测产品。
采访 Butler 的是 Matt Williamson,Sana Security 的首席科学家。Williamson 本身对 rootkit 并不陌生,他的职业生涯都在发明和集成反恶意软件技术。在 Sana,Williamson 开发了基于行为的恶意软件检测和移除技术,该技术通过查看代码的作用而不是代码是什么来识别恶意软件。在加入 Sana 之前,他曾在惠普实验室从事一种名为 Virus Throttling 的病毒遏制技术。Williamson 拥有麻省理工学院计算机科学博士学位。
MATT WILLIAMSON 我认为 rootkit.com 是一个好的起点。Rootkit 是一种用于向用户和安全工具隐藏其他软件,以逃避检测的软件。Rootkit 技术是恶意软件的常见组成部分。Rootkit.com 是一个讨论 rootkit 各个方面的网站。您知道该网站的早期历史吗?您参与了它的建立吗?
JAMIE BUTLER Rootkit.com 在我开始之前几年就出现了,但我是 Greg Hoglund 的密友,他是该网站的建立者。我相信他建立 rootkit.com 的目标,以及我进入这个研究领域的很大一部分原因,是为了揭穿安全软件市场中虚假的 seguridad 感。Hoglund 想要证明他当时工作的公司需要比其正在使用的更彻底的解决方案。
MW 虚假的 seguridad 感尤其来自哪里?
JB 嗯,有一种技术用于识别恶意软件等等,Hoglund 认为有可能隐藏起来,不被他公司正在使用的检测算法或软件检测到。这更像是一个概念验证。
MW 那么从一开始,rootkit.com 就更像是一个披露类型的组织。
JB 它也是一个开放社区,用于讨论检测这些东西的更好方法。该网站还有一些关于恶意软件的讨论。
MW 那么,当时的目的是公开展示这些安全工具的运作不佳,通过给出它们不起作用的例子?
JB 是的,这就是它成立的原因。当我参与其中时,我的角色是表明当时的技术不足以应对真正存在的威胁级别。仅仅因为你花 29.95 美元购买了一些东西并在你的企业中安装它,并不意味着它必然会像宣传册上说的那样做所有事情。在某些情况下,你没有受到保护,也许你永远不会受到保护,但 rootkit.com 的目标是尝试将这些问题带入公开讨论,以便可以更深入地研究它们,并且供应商可以采用解决方案。它对安全供应商和恶意人员都是免费的。
MW 我想当你公开事物时,情况总是会这样:它们可以用于好的方面,也可以用于坏的方面。但您认为 rootkit.com 在引起安全供应商的关注方面成功了吗?
JB 我不认为它单枪匹马地改变了我们生活的安全环境,但我确实认为,与漏洞披露列表和其他类型的开放信息共享一起,它促使安全环境在过去两年左右发生了相当大的变化。而且它仍在不断发展。
MW 反过来呢?您认为它对恶意软件编写者,那些更常使用这些技术的人产生了什么样的影响?我们或许需要强调,在过去两到三年里,编写恶意软件并在互联网上分发它的目的已经发生了根本性的变化,从业余爱好者为了乐趣而编写它(如果你愿意这样说),到专业人士为了赚钱而编写它。他们赚钱的方式是通过窃取和出售机器中的信息。Sana Security 有一种基于行为的检测产品,在我们检测到的野外恶意软件中,很大一部分包含某种 rootkit 技术,用于隐藏文件、进程、DLL 等等。根据我的经验,在过去两年中,野外的 rootkit 技术得到了极大的普及。或许很难绘制这些东西,但您对这在多大程度上是 rootkit.com 等工具的影响结果有什么了解吗?
JB 我没有原始统计数据,但我确实从供应商那里了解到,那些经过自行打包或不需要大量重新编译等的 rootkit 被广泛采用,并用于从僵尸网络到蠕虫的一切。然而,这些 rootkit 中的大多数都是 rootkit.com 上的软件,其中之一是我编写的 FU rootkit。如果那些真正恶意的人真的想隐藏他们的存在,他们不会使用它们。在事实发生后一两年,就出现了检测它们的方法。不仅如此,还没有远程命令和控制系统。任何通信都没有加密模块。rootkit 中没有自毁机制,所以它会消失。没有多态性。rootkit 中没有数据删除,甚至没有数据获取,所以我相信 rootkit.com 上讨论的大多数更好的技术,例如 Shadow Walker、FU rootkit、FU-2 rootkit,甚至最初的 NT rootkit,都更具学术性,因为它们展示了威胁的程度并且是“可演示的”。然而,它们并不是黑客想要使用的所有东西。
MW 我认为至少在几年前,FU rootkit 非常流行,因为它很容易被人添加到僵尸程序中,例如。
JB 根据我从各种供应商那里听到的,它非常受欢迎。然而,它并没有试图隐藏自己。因此,我不认为它那么恶意。再说一遍,它一开始就不是恶意的。这取决于你选择用它做什么。
MW 用户窃取数据的程序是否经常使用它?
JB 那是有可能的,当然,但这需要一些集成。
MW 你知道,它就像核技术:它可以用于好的方面,也可以用于坏的方面。即使是概念验证本身,也可能不是公开恶意的,因为你可以使用这个软件立即通过窃取信息来赚钱。然而,随着这种活动在互联网上的兴起,似乎人们已经拾起了 FU 等技术,并将它们剪切粘贴到他们的恶意软件中,以使其获得一点优势。它可能不是让他们闯入某些高安全站点的终极优势,但它给了他们足够的优势,让他们成功地从普通计算机用户那里窃取信息。
JB 这绝对是一种可以双向使用的技术,无论是好是坏,它都提高了安全社区的标准。然而,我不认为 rootkit.com 和整个开源披露领域真的改变了多少事情,因为,回到核武器的比喻,威胁是存在的。现在,你更害怕哪个,秘密开发威胁的国家还是公开开发威胁供世界看到的国家?你更害怕你不知道或不理解的东西,而不是公开披露的东西。从反病毒的角度来看,一旦某些东西出现在网站上,反病毒公司就会蜂拥而至。它实际上训练了他们的开发基础,让他们了解什么是可能的,以及未来可能会出现什么。我认为 Hoglund 和我都会争辩说威胁是存在的;你是否知道它才是 rootkit.com 唯一的区别因素。
MW 我认为这是真的,但是否需要考虑规模问题?某人在他或她的地下室里秘密拥有核武器是非常可怕的,因为你不知道那个人会用它做什么。你宁愿某人公开拥有它,因为假设是你将能够通过外交或其他机制来控制局势。但问题是否真的是,通过使技术易于再分发(因为它以代码甚至预编译的可执行文件的形式存在)来允许规模化使用,这本身就成了一个问题?
我们担心的不仅仅是做某事的能力,这种能力是私人的、可怕的,但规模很小——我们担心的是难以控制的大规模用户。这就像有人出版了一本“如何制造核弹”的工具包,你可以免费获得,然后每个人都会有一个。这将是一个与一个可控制的国家或一个私人组织拥有核弹不同的糟糕问题。
JB 我同意,如果代码是公开的,那么由于代码的“可剪切粘贴性”,规模确实会增加。这个比喻的漏洞在于,可以隐藏的地方数量有限。这在过去一年的几次会议上都讨论过。目前公开的 rootkit 技术在过去一年到一年半的时间里已经得到了很好的理解。有解决方案。如果你知道在哪里查找,它们很容易被检测到。
所以我认为你的规模问题几乎是相反的,因为一开始你有一个完整的操作系统要查看,也许公司不太清楚所有可以隐藏的角落和缝隙。现在它已经在公共软件、rootkit.com 和其他地方被曝光,他们实际上可以看到,隐藏进程的方法只有有限的几种。一旦你隐藏了一个进程,你就会看到有些东西是无法隐藏的。只要你想让该线程在系统上运行,就无法隐藏它拥有线程这一事实。检测的地方数量已经变小而不是变大了。
问题——或者说 rootkit 的部署——可能已经变得更大,但检测它们的方法实际上正在变得更少,因为有一组众所周知的地方可以查找,算法可以使用,等等。
MW 也许这就是区别,因为我们看到的是,有很多东西的规模很大,但技术并不特别复杂,但对于攻击者来说,找到那段有用的恶意软件就足够了。
我同意你的观点,从学术角度来看,有限的隐藏地点意味着这些东西应该更容易检测,但我们在野外看到的恶意软件的复杂性并没有那么高。这一定意味着要么人们在没有求助于那些专门技术的情况下也能愉快地赚钱,要么是安全产品实际上没有达到处理这些情况的复杂程度。
MW 前几天我和 Greg Hoglund 谈过,他说这种转向以盈利为目的的恶意软件实际上已经显着改变了 rootkit.com 的基调。您同意吗?
JB 是的,我完全同意这种说法。正如我之前提到的,最初 rootkit.com 是为了表明我们在制造更好的安全产品方面还有一些进步空间,我们应该使用更好的算法和更好的技术来找到这些东西。这种情况持续了很长一段时间,但最近 rootkit.com 在其内容和贡献者方面变得有些停滞不前。部分原因是主题比大多数人愿意深入研究的要复杂,但也因为这种类型的技术有一个蓬勃发展的市场。当一家间谍软件公司愿意为高质量的 rootkit 支付 20,000 美元到 80,000 美元不等的价格,以允许他们在盒子上多停留几天或几周,以便他们可以躲避安全软件时,这对于想要钱的人来说就成了一个很大的激励因素。
我也看到了另一面。我不认为有很多人将他们的 rootkit 出售给这些邪恶的公司。确实有一些这样的事情发生,但我认为人们担心他们的想法被别人用于自己的利润。他们可能不确切地知道谁会拿走这一小块知识,将其纳入某个广告软件程序中,然后以每条广告 2 美分的价格向全世界发送垃圾邮件。
MW 你是说,rootkit.com 的贡献者现在并没有通过他们可以产生的每个新的漏洞利用来赚取 20,000 美元到 80,000 美元。更重要的是,人们现在觉得,如果他们将自己的想法放在 rootkit.com 上,其他人会从中获利。但这在三四年前不会存在吗?您认为这种两极分化是由于人们从犯罪世界的恶意软件技术中赚取了如此多的钱造成的吗?
JB 我认为两极分化的出现是由于犯罪世界中可用的资金量更大。除了犯罪分子在当时并不那么公开之外,我不知道还有什么不同。
MW 我认为从业余到专业恶意软件编写的转变在许多领域都产生了巨大的影响。
JB 安全领域正在变得更好。以前,你可以谈论挂钩系统调用,这就像最初的 NT rootkit,并且持续了大约四年。那是当时最伟大的事情。我刚刚读到一篇去年在 Security and Privacy 杂志上发表的关于 rootkit 挂钩系统并导致故障等的论文。这是非常古老的技术,但它已经持续了很多年。过去你可以谈论某件事,它会存在很多年。现在你谈论某件事,它会在两周内消失。
MW 有趣的是,安全界对这些事情的反应更加迅速了。
JB 那是 rootkit.com 最初的动机,所以我猜它已经成为一个自我实现的预言。
MW 到目前为止,我们描绘了一个世界,在这个世界里,人们为了利润而编写恶意软件,漏洞利用和技术正在进入这个地下经济。鉴于这个世界,您认为这对安全技术和部署这些技术的企业有什么影响?
JB 商业化和由此导致的缺乏讨论的有害影响之一是,企业比公开讨论更多时可能更脆弱。因为现在存在零日漏洞 [一种没有警告且没有保护的攻击],所以有动机找到一种零日隐藏技术或原始妥协。不会有任何披露,我们都知道你只和你最薄弱的环节一样安全。因此,通常你甚至不会发现你已经被攻击了,直到为时已晚,或者直到你偶然发现了一些东西。
MW 你是说,在过去,你至少有机会让每个人都公开最新的攻击是什么,但现在这种情况真的早已不复存在了。
JB 我想是这样的。我宁愿面对一个世界,我知道那里存在一定数量的恶意人员,他们基本上愿意向全世界发送垃圾邮件以获取我的数据或他们想从我这里拿走的任何东西。我也知道他们可以提取的资金池有限,并且没有组织化的、基于财务的激励机制来让他们这样做。但是现在我们已经变得更加地下化,这正是我们所看到的。也许恶意人员没有自己的恶意软件实验室,但他们有钱可以花,现在他们可以购买最新的技术。而安全是一件很难的事情,因为在安全方面,每个人都知道你只需要找到一个漏洞。为了防范这些类型的威胁,你实际上必须阻止所有可能的载体。
MW 因此,当公共共享消失时,安全公司似乎会失败,因为他们无法再将此用作获取信息的论坛。但他们一定有自己的私人论坛——公司之间的网络——他们可以利用。
JB 这是真的。
MW 那么,缺少的是什么?您是说,在过去,灰色或黑色的人会为这些公开案例做出贡献,而现在这些信息没有进入安全公司手中吗?
JB 对。解决问题是一回事。创建问题并解决问题是另一回事。例如,对于 Sana Security 或 Mandiant 等公司,如果公共披露枯竭,你拥有你的实验室等等,但你只会剩下它们,它们不仅会查找信息,试图弄清楚它如何工作,然后开发一些保护或检测措施来对抗它。相反,现在你需要额外的资源,不仅要找到并阻止威胁,还要创建威胁。
MW 然后即使这样,你也只是猜测你创建的是否与别人创建的相同。
JB 对。你同时在船上戳洞和修补它们。
MW 从优先级排序的角度来看,这实际上很难做到。你也一定知道,从一家软件公司的角度来看,当你想要添加一个新功能来弥补一个漏洞时,通常决定是否添加它是基于它的影响。但未来呢?您认为恶意软件的趋势将走向何方?
JB 凭借这些东西背后的资金,攻击者现在可以进行非常有针对性的努力。通常,他们不会想向全世界发送垃圾邮件,因为他们现在拥有有针对性的漏洞利用。他们从地下市场购买了它,他们知道他们拥有对它的独家访问权,并且他们想要的数据足够有价值,因此他们只需要针对某些公司或个人。他们不会花时间去攻击网络中的每个人。
所以现在你有一个非常有针对性、非常具体的攻击。这些攻击越具体,它们就越定制化。当它们被定制化时,根据定义,它们更难检测。这绝对是一个比我所知道的更可怕的场景,当时我知道有一定数量的开源存储库,一定数量的开源漏洞披露场所,并且可能有 X 个坏人愿意轰炸世界。
MW 我倾向于从攻击者的商业角度来看待这些事情。资本主义非常无情。在我看来,如果你可以通过有针对性的攻击赚很多钱,如果你可以非常快速地出售大量信息,那么这些类型的攻击将会增长。
然而,目前,我们倾向于看到更多不那么复杂但适用范围更广的攻击,在这些攻击中,被盗的信息更通用——例如,登录名、密码、信用卡号等等。它们不是你需要复杂技术才能渗透的目标类型。
我认为正在发生的事情只是由软件开发的经济学和你从信息中获得的资金驱动的。
JB 我同意这种说法。我认为这是自由市场流入安全领域的潮起潮落。过去,如果你是一家安全公司,并且你正在争取低成本的 19.95 美元类型的订阅模式,你所要做的就是解决 99% 的问题。剩下的 1%,即极其前沿且非常酷炫且可以演示的部分,不是你的问题,因为你不会看到它,你的客户可能也不会看到它,并且解释开发它的市场需求将很困难。投资回报率很低。
然后,开源共享更多地发挥作用,并将 99% 的解决方案降低到 95% 或 90%。现在,如果你能成为街区最酷的人,每次都能可靠地检测到问题,那么就有大约 10% 的市场份额可以获得。
因此,安全公司正在变得更好,他们的产品也更好。命中次数正在上升,因为他们正在检测来自恶意软件公司的所有这些霰弹枪式攻击。当该收入来源最终消失,或者至少减少到恶意软件公司或恶意软件实体无法接受的水平时,你就会看到更有针对性的特定攻击。
MW 我不得不说,我们的观点比你的 99% 的数字要悲观得多。我们看到的数字比这糟糕得多。它们在 50% 到 60% 左右,甚至更低。事实上,对于零日漏洞,情况要糟糕得多——即使是将一家反病毒供应商与另一家进行比较也是如此。
有大量的恶意软件正在利用现成的、容易获取的信息来窃取。它没有使用特别复杂的技术,但它通过重新打包、变异、重新编译和使用 rootkit 类型技术,战胜了基于签名的方法。实际上,每种个体类型的变体数量才是造成问题的原因。
认为趋势将转向有针对性的攻击的论点假设人们会购买技术来填补空白,以抓住那些被遗漏的恶意软件。这个空白——目前被遗漏的恶意软件——非常大,我们可能需要一段时间才能处理好它。
因此,转向有针对性的攻击将非常缓慢。我认为这种情况会在个别情况下发生,但在更大的范围内,它会非常缓慢。
JB 您认为目前检测到的是 60%,还是 60% 被绕过了?
MW 我认为两者都有可能。
最初发表于 Queue 第 5 卷,第 1 期—
在 数字图书馆 中评论本文
郭锦南, Peter Pietzuch, Andrew Paverd, Kapil Vaswani - 使用机密联邦学习的可信 AI
安全、隐私、问责制、透明度和公平性原则是现代 AI 法规的基石。经典的 FL 设计非常强调安全性和隐私,但以透明度和问责制为代价。CFL 通过将 FL 与 TEE 和承诺相结合,弥合了这一差距。此外,CFL 还带来了其他理想的安全属性,例如基于代码的访问控制、模型机密性和推理期间的模型保护。机密计算的最新进展(如机密容器和机密 GPU)意味着现有的 FL 框架可以无缝扩展以支持具有低开销的 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 增加的额外性能开销的 1%。重要的是,Parma 确保容器组在证明报告中扎根的所有可达状态上的安全不变性。这允许外部第三方与容器安全地通信,从而实现各种需要机密访问安全数据的容器化工作流程。公司获得了在云中运行其最机密工作流程的优势,而无需在其安全要求上妥协。
Charles Garcia-Tobin, Mark Knight - 使用 Arm CCA 提升安全性
机密计算具有通过将监控系统移出 TCB 来提高通用计算平台安全性的巨大潜力,从而减小 TCB 的大小、攻击面以及安全架构师必须考虑的攻击向量。机密计算需要平台硬件和软件方面的创新,但这些创新有可能增强对计算的信任,尤其是在由第三方拥有或控制的设备上。机密计算的早期消费者将需要自己决定他们选择信任的平台。