您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[趋势科技公司]:Windows 内核威胁的演变 - 发现报告
当前位置:首页/行业研究/报告详情/

Windows 内核威胁的演变

Windows 内核威胁的演变

深入研究Windows内核的威胁 SherifMagdy 威胁研究员 马哈茂德·Zohdy 事件响应分析 趋势科技法律免责声明 此处提供的信息仅用于一般信息和教育目的。它无意也不应被解释为构成法律建议。此处包含的信息可能不适用于所有人情况,可能无法反映最新情况。 没有包含在此应该依赖或采取了行动 在没有基于法律建议的情况下所提供的特定事实和情况以及此处的任何内容均不应另行解释。趋势科技保留随时修改本文档内容的权利,恕不另行通知。 将任何材料翻译成其他语言只是为了方便。翻译准确性不保证也不暗示。如果出现与翻译准确性相关的任何问题,请参阅文件的原始语言正式版本。任何翻译中产生的差异或差异不具有约束力,并且对于合规或执行目的没有法律效力。 尽管趋势科技尽合理努力将对于此处的准确和最新信息,趋势科技对其准确性、时效性或完整性不作任何形式的保证或陈述。您同意访问 、使用和依赖本文档及其内容的风险由您自行承担。趋势科技不作任何明示或暗示的保证。趋势科技或参与创建、制作或交付本文档的任何一方均不对任何后果、损失或损害负责,包括直接的、间接的、特殊的、后果性的、业务利润的损失,或因访问、使用或无法使用或与使用本文档有关或与使用本文档有关或其中任何错误或遗漏而引起的特殊损害。使用此信息即表示接受在“原样”条件下使用。 发表的 趋势科技的研究 写的 SherifMagdy 威胁研究员 马哈茂德·Zohdy 事件响应分析 根据Shutterstock.com许可使用的库存图片 Raimund基因(1963-2017) 内容 4 Windows内核体系结构 9 为什么攻击者追求内核级访问 13 Windows内核威胁的状态 21 一个实足的Windows内核的威胁 40 第一个集群的威胁还有关吗? 43 第二个集群恰当的案例研究 51 结论和未来的预测 如今,大多数安全产品都倾向于关注在软件堆栈的更高级别运行的威胁。在用户模式应用程序中尤其如此,在大多数情况下,它使整个安全行业取得了相当好的结果。不幸的是,这些安全产品对系统较低级别的关键部分(如内核空间、引导进程环境和固件)的可见性较低。如果攻击者获得对系统的特权访问权限并在此级别安装恶意组件,则用户的安全产品将无法检测和阻止威胁,尤其是针对内核较低级别的威胁,例如rootkit ,这是一个程序(或程序集合),为恶意软件在受感染的系统中执行提供隐蔽环境。2 本研究论文讨论了影响Windows平台的低级别威胁的当前状态。它还将展示这些威胁在过去七年中的演变情况,以及它们在当今恶意软件环境中的位置。我们还将根据行业在该领域提供的分析威胁数据展示我们观察到的主要恶意软件类别。 我们确定了三种类型的低级别威胁,它们直接(加载内核驱动程序)或间接(通过在堆栈中操作内核低一级来危害内核)在当今的威胁环境中影响Windows内核: •Windows内核级rootkit–操作系统完全初始化时启动的威胁 •引导工具包/引导加载程序–在操作系统引导过程中启动的威胁 •固件/BIOS(基本输入/输出系统)植入物–在预引导环境和固件初始化过程中。 通过这项研究,我们将展示这些威胁的当前性质,并根据我们的数据集分析讨论研究结果,该数据集包括自2015年以来在野外观察到的60多个最值得注意的低级威胁。我们还将讨论高级威胁参与者如何适应现代系统中的当前防御机制,以及他们如何发展其技术。 Windows内核体系结构 在Windows系统中,内核(也称为“环0”)具有最强大的访问和特权功能。3内核是一个高特权级别,用于处理操作系统提供的不同类型的硬件接口和基元系统组件,例如进程、线程、句柄、模块、注册表和其他对象。 通过授予Windows内核的访问级别,在内核级别执行的代码能够进行广泛的监视和过滤机制。可以使用适当的内核级代码截获重要的系统事件或任何数据流。如果通过已注册的内核代码和回调进行筛选,则此级别的代码执行可以防止某些事件的发生。 除了设计为在内核空间中执行的核心子系统之外,Windows内核还为需要访问此特权执行级别的任何第三方组件提供了可扩展性。通过适当的过程,这些第三方组件可以作为软件插件插入Windows内核,也称为内核驱动程序。这些较低级别的驱动程序设计为在环0中运行,以提供特定的硬件相关和非硬件相关功能。 Windows内核被建模为由多个层组成的复合系统。每一层都为依赖于它的下一层提供服务,并假定信任它下面的层才能正常运行。如果单个层受到威胁,堆栈中的所有后续层也将受到损害。这是因为后续层的信任来自最初受损的层,该层为其他层提供执行环境和所需的服务。 API调用 服务和用户应用程序 WindowsAPI GDI32.dll Advapi32.dll User32.dll Csrss.exe Kernel32.dll 内核网关 要用到 用户模式 内核模式 Win32K.sys 内核模式驱动程序 执行(ntoskrnl。exentkrnlpa.exe) 内核 I/O管理器 硬件 BOOTVID.DLL 哈尔(HAL。dll,halacpi。dll或halmacpi.dll) 关 一个B模块的进口程序模块B 一 B模块A和模块B相互导入例程 图1.Windows内核子系统的复合模型 来源:Windows内部:系统体系结构、进程、线程、内存管理等,第1部分(开发人员参考)第7版 问题与Windows内核的体系结构 Windows内核具有单个逻辑地址空间(环0),在此空间内执行的任何代码也可以访问内核的整个物理内存。因此,如果在内核中执行恶意代码并且内核空间受到损害,则整个系统也会受到损害。传统上,内核代码以最高级别的特权执行,并且与常规用户应用程序的进程隔离。通常假设内核空间是一个受信任的区域:它以前的架构设计是,它需要为内核内的不同系统操作提供任何第三方代码,并且它被赋予最高级别的特权。但是,这为内核信任模型引入了广泛的攻击面,并显着扩展了它 。为了增强此信任模型,整个Windows内核体系结构要求向内核组件本身添加新边界,我们将在基于虚拟化的安全机制部分中详细讨论。 根据我们将在后续部分中展示的遥测数据和其他第三方存储库数据,每天观察到数万个独特的内核驱动程序模块。图2显示 ,从2015年到2021年,提交到第三方恶意软件存储库的具有吊销签名的唯一内核驱动程序模块的数量呈指数级增长。这些内核驱动程序模块中的每一个都可能在假定的、受信任的和受保护的内核空间中引入大量漏洞,以及攻击者用来进入内核的其他方法,我们还将在本报告的后续部分中介绍这些漏洞。 10k 6,667 5,320 3,774 2,806 3,140 1,892 1,691 1,449 541 365 711 501567 8,690 8k 6k 4k 2k 0 2015201620172018201920202021 撤销为零检测撤销与检测 图2.从2015年到2021年提交到第三方恶意软件存储库的具有吊销签名的内核驱动程序模块的数量 基于此数据,涉及与任何用户模式应用程序篡改尝试完全隔离的小型且受到良好保护的内核空间区域的信任模型远非现实。即使添加了内核边界,它仍然可能被内核中加载的恶意代码或恶意代码破坏,这些代码是在用户模式应用程序完全初始化发生之前在执行环境下运行一层的。在接下来的章节中,本研究将展示最近观察到的滥用这种传统信任模型的内核威胁的汇编 。 另一个Windows内核问题是所有操作系统组件的可见性最低,以及整个系统构建方式的机密性。长期以来,Windows内核一直使用隐蔽安全性(STO)4设计模式来维护其安全性。然而,事实证明,这个过程更有利于攻击者而不是防御者,因为攻击者往往有时间和资源滥用未记录的接口和命令来启动他们的恶意代码。 他们还有能力专注于逆向工程系统组件,以发现Windows内核的安全漏洞。同时,防御者通常遵循正式记录的界面来放置他们的防御机制。 Conti勒索软件家族运营商泄露的对话证明了这种模式的最新示例。5这些对话显示了Conti小组如何积极执行逆向工程和模糊测试技术,以侵入英特尔管理引擎的固件,从而在其系统的软件堆栈中站稳脚跟。这一事件证明了,直到今天,网络犯罪分子仍在滥用STO设计模式来为自己谋取利益。 图3.讨论研究和概念验证(PoC)开发的翻译聊天 来源:Eclypsium.com 研究范围 本研究侧重于影响Windows内核信任模型的低级别威胁的当前状态,以及这些威胁在过去七年中的演变情况。本报告还讨论了这些低级别威胁的特征,包括它们的生命周期(从仅仅是PoC到随后在实际威胁参与者中传播)以及它们被用作复杂的高级持续性威胁(APT)组织感染链的一部分。 最重要的是,当涉及到这些低级攻击时,威胁形势受到操作系统提供的当前本机防御机制的极大影响。当前在现代CPU中使用虚拟化扩展的创新防御正在极大地重塑这些威胁的创建和执行方式。随着每一种新的防御机制的引入,恶意软件参与者被迫适应不同的抽象层,并在内核和启动过程之间转移焦点,以更接近固件和硬件层。因此,讨论这些威胁的历史、安全社区目前在安全方面观察到的情况以及随着现代版本的Windows系统附带的防御解决方案的不断发展,此类威胁在未来的发展轨迹非常重要。 这项研究涵盖了与Windows内核相关的60多种不同的低级威胁。我们分析的样本分为几组,以确定不同威胁类型的主要模式 ,发现追求这种内核级功能的恶意行为者的类型,确定寻求此类特权访问级别的原因,深入了解可能的开发成本,并阐明将内核级功能添加到网络犯罪分子的恶意软件库中的潜在权衡。 我们还介绍了最近发现的rootkit示例中的当前观察到的功能,并根据我们的遥测提供了这些模块的当前检测率的统计分析。最后,我们详细介绍了我们在地下市场中发现的恶意行为者可以使用或外包来滥用Windows内核的内容。本研究侧重于主要在内核空间内或内核空间下方执行的威胁,或者至少有一个组件在Windows内核中运行的威胁。 为什么攻击者追求内核级访问 一旦恶意行为者能够在目标系统的内核级别执行代码,他们就会获得许多优势,包括能够损害受害者的安全防御并保持不被发现,特别是因为rootkit允许恶意行为者的植入物逃避检测更长时间。 以下部分描述了为什么攻击者仍在为其恶意软件系列寻求这种低级别功能,尽管新的防御机制应该保护此执行级别;如果拥有此功能最终最适合恶意行为者的攻击场景和目标,则可能是一条复杂的路线。最后,我们将讨论将内核级恶意软件系列添加到攻击者的恶意软件库中所带来的成本。 优点 证明内核级rootkit和其他低级攻击的高开发成本合理的最明显用例如下: •获得对系统资源的极高特权访问权限 •隐藏设备上的恶意活动,使检测和响应活动更加困难 •保护恶意项目免受正常系统筛选过程的影响 •执行可以长时间绕过检测的隐形操作 •从第三方防病毒产品获得继承的信任 •篡改多个用户模式应用程序所依赖的核心服务数据流 •篡改阻碍恶意活动的第三方安全产品 •实现非常低的检出率。根据情报报告,大多数现代rootkit在很长一段时间内仍未被发现 检测这些威胁的困难在于第三方安全产品对 由在内核边界内运行的大多数内核模块执行的操作。这些恶意的 内核驱动程序经常被忽略,因为它们具有与安全产品驱动程序相同的权限级别。与用户模式应用程序相比,恶意内核驱动程序具有重要的继承信任,这就是内核rootkit能够逃避安全控制和工具的原因。此外,针对部署为独立内核组件的恶意软件类型的缓解技术和安全解决方案较少。图4显示了端点安全解决方案如何在注册的PreProcessThread回调中为内核驱动程序提供隐式信任的示例。 •排除(PID<8和OperationInformation.KernelHandle==1)。 •包括(!OperationInformation.KernelHandle==1andExGetPrevious

你可能感兴趣

hot

朝鲜网络攻击:一种危险且不断演变的威胁

信息技术
美国传统基金会2021-09-15
hot

IT 威胁演变 2017 年第一季度

信息技术
卡巴斯基2017-05-19
hot

IT 威胁演变 : 2013 年第三季度

信息技术
卡巴斯基2013-11-14