CN110737888A - 虚拟化平台操作系统内核数据攻击行为检测方法 - Google Patents

虚拟化平台操作系统内核数据攻击行为检测方法 Download PDF

Info

Publication number
CN110737888A
CN110737888A CN201910864463.5A CN201910864463A CN110737888A CN 110737888 A CN110737888 A CN 110737888A CN 201910864463 A CN201910864463 A CN 201910864463A CN 110737888 A CN110737888 A CN 110737888A
Authority
CN
China
Prior art keywords
kernel
data
operating system
attack
behavior
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910864463.5A
Other languages
English (en)
Other versions
CN110737888B (zh
Inventor
罗森林
张毅飞
潘丽敏
刘望桐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN201910864463.5A priority Critical patent/CN110737888B/zh
Publication of CN110737888A publication Critical patent/CN110737888A/zh
Application granted granted Critical
Publication of CN110737888B publication Critical patent/CN110737888B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及操作系统内核数据攻击行为的检测方法,属于计算机与信息科学技术领域。本发明目的是解决现有操作系统内核数据攻击行为检测方法存在的检测全面性不足、无法拦截攻击行为、依赖内核源代码等问题。本发明首先利用同步检测机制和语义重构技术定位并劫持特定内核函数,从而准确获取内核运行状态,计算当前内核进程的合法数据访问范围;然后利用虚拟化影子页表权限管理机制设置内存页的读写访问权限,将合法访问范围外的内核数据设置为只读或不可读写,对内核进程的数据访问范围进行强约束;最后使用“内存页异常”机制实现对攻击行为的同步检测从而对抗瞬态攻击,并利用虚拟机监视器拦截检测到的内核数据攻击行为。

Description

虚拟化平台操作系统内核数据攻击行为检测方法
技术领域
本发明涉及操作系统内核数据攻击行为的检测方法,属于计算机与信息科学技术领域。
背景技术
操作系统内核数据是内核运行过程中的重要资源,通过攻击内核数据,恶意代码可以实现内核进程隐藏、内核执行流程劫持、规避安全软件查杀等功能。因此针对内核数据的内核级恶意行为一直是数量最多的内核级恶意行为,主要包括以下4类。
1.MEP攻击
Modify Execution Path(MEP)攻击,即可执行路径修改攻击,是指通过修改内存中与函数调用、跳转相关的数据或代码从而篡改内核执行流程。其具体实现方式包括:直接使用call、jmp等跳转指令替换内核代码实现Inlin Hook(内联钩子)、篡改内核中的静态指针(例如中断描述符表IDT中的函数指针)从而劫持系统调用函数。
2.KOH攻击
Kernel Object Hooking(KOH)攻击,即内核对象劫持攻击,是指通过对内核对象的成员函数进行劫持从而篡改内核执行流程。操作系统中的各类内核对象(例如内核进程对象)中包含一些函数指针(例如回调函数指针),这些函数指针所指向的函数在内核对象的部分处理流程中被调用从而完成特定工作。
3.DKOM攻击
Direct Kernel Object Manipulation(DKOM)攻击,即直接内核对象操作攻击,是指对内核对象的成员变量进行篡改的攻击。恶意代码可以通过修改内核对象的成员变量中的部分特定数据(如链表指针),使得其他内核进程无法获取到真实的内核成员信息。
4.ret-to-sched攻击
return-to-schedule(ret-to-sched)攻击,是指通过攻击内核中暂时不在运行中(睡眠、挂起、被切换)的进程的栈内返回地址从而篡改内核执行流程。内核中每个进程都有自己的栈空间,其中保存了内核进程执行过程中发生函数调用时产生的局部变量、参数、返回地址等信息。ret-to-sched攻击通过篡改不在运行中的内核进程的栈内保存的函数返回地址,使得进程重新开始运行后,在函数返回时跳转到攻击者指定的位置,从而实现对内核执行流程的劫持。
以操作系统内核静态数据为目标的攻击主要是MEP攻击,由于内核静态数据的位置和内容在操作系统初始化完成后不再变化,因此检测和保护难度相对较低。以操作系统内核动态数据为目标的攻击方法主要分为KOH、DKOM和ret-to-sched三种,由于攻击类型多、动态数据读写频率高,因此对操作系统内核动态数据攻击行为进行检测和拦截是保护操作系统内核数据安全的重点与难点。
针对不同类型的操作系统内核数据攻击行为,现有的检测方法如下。
1.针对MEP攻击的检测方法
由于MEP攻击主要针对内核中的静态数据,这些静态数据在正常情况下不会在操作系统的运行过程中发生变化,因此安全软件可通过检测这些静态数据是否在运行中发生了改变从而检测是否发生了MEP攻击,也可以利用虚拟化技术将这些数据对应的内存区域设置为只读来阻止MEP攻击。
2.针对KOH攻击的检测方法
KOH攻击以内核中的指针数据为主要目标,通过篡改这些指针数据的内容,当指针被调用时便可以劫持内核的执行流程。因此针对KOH攻击的检测和防御方法的核心思想是根据操作系统内核先验知识建立内核动态数据的合法集合,合法集合包括了动态数据的合法取值范围和可访问动态数据的合法进程、指令地址范围。以此为基础,操作系统内核数据攻击检测方法可以通过同步或异步的方式判断当前内核中的动态数据是否受到了篡改(当前值、修改目标值不合法)。
3.针对DKOM攻击的检测方法
DKOM攻击的攻击目标为内核中关键数据结构体中的数据,例如进程双向链表中的节点指针。对此类攻击的检测方式可分为基于可信不变量交叉视图的检测方法和基于攻击行为的访问合法性检测方法。基于可信不变量交叉视图的检测方法主要针对以内核进程隐藏为目标的DKOM攻击(攻击进程双向链表实现进程隐藏),其核心思想是在内核中的多个位置构建多个进程视图,通过对不同的进程视图进行交叉对比来寻找内核中的隐藏进程,从而检测内核数据攻击行为。基于攻击行为的访问合法性检测方法与KOH攻击检测方法类似,通过构建待检测数据的访问白名单,通过同步检测来判断每次访问的合法性。
4.针对ret-to-sched攻击的检测方法
操作系统内核中的ret-to-sched攻击以内核中睡眠进程的内核栈为目标,通过攻击栈内返回值、局部变量等动态数据劫持内核的执行流程。由于攻击方法提出时间较近、实现困难,因此攻击样本和防御方法的研究还不充分,虽然有一部分检测方法被提出,但是仍然存在着检测全面性和兼容性不足的问题。
现有的内核数据攻击行为检测方法在检测全面性、兼容性等多个方面还有较大的提升空间:
1.针对KOH类型攻击的检测方法需要依靠操作系统内核源代码构建内核数据的可信取值范围、可信函数列表,从而导致检测方法不适用于不提供内核源码的闭源操作系统,兼容性较差。
2.针对DKOM类型攻击的检测方法中,部分检测方法依赖于操作系统内核中的可信不变量,内核级恶意代码可以通过篡改不变量来对抗检测;部分检测方法的性能损耗随着检测范围的扩大而显著升高,导致检测范围受限,且内核级恶意代码可以利用间接攻击技术绕过此类检测。
3.针对ret-to-sched攻击的检测方法中,部分方法只考虑了对部分危险函数的返回地址进行检测,或只考虑了ret-to-sched对栈中函数返回地址的攻击,而忽视了对栈内局部变量、函数指针、非危险函数的检测与保护,检测全面性不足。
4.大多数内核数据攻击行为检测方法只能检测4种已知内核攻击中的2-3种,对攻击行为只能检测不能拦截、无法检测瞬态攻击。
综上所述,现有的操作系统内核数据攻击行为检测方法大多只能检测4种已知内核数据攻击行为中的2-3种,且在检测瞬态攻击、拦截攻击行为和检测兼容性等方面有较大的提升空间。
发明内容
本发明目的是解决现有操作系统内核数据攻击行为检测方法存在的检测全面性不足、无法检测瞬态攻击、无法拦截攻击行为、依赖内核源代码等问题,提出了虚拟化平台操作系统内核数据攻击行为检测方法。
本发明的设计原理为:首先利用同步检测机制和语义重构技术定位并劫持特定内核函数,从而准确获取内核运行状态、计算当前内核进程的合法数据访问范围;然后利用虚拟化影子页表权限管理机制设置内存页的读写访问权限,将合法访问范围外的内核数据设置为只读或不可读写,对内核进程的数据访问范围进行强约束;最后使用“内存页异常”机制实现对攻击行为的同步检测从而对抗瞬态攻击,并利用虚拟机监视器拦截检测到的内核数据攻击行为。设计原理如图1所示。
本发明的技术方案是通过如下步骤实现的:
步骤1,根据目标虚拟机内核运行状态信息进行访问权限决策。
进行访问权限决策的目标是利用专家经验和先验知识,构建可用于在线使用的访问权限动态调整策略,并在虚拟机操作系统的运行过程中,根据操作系统内核中当前运行的进程信息,输出其可访问的内核数据区域列表,以供设置访问权限时使用。访问权限决策流程如图2所示。
步骤1.1,通过虚拟机内核语义重构获取当前操作系统内核进程信息。
获取当前进程信息的步骤由虚拟机内核语义重构完成。由于访问权限决策模块位于虚拟机监视器中,因此拥有读取虚拟机操作系统内核中任意数据的权限。利用这一权限,访问权限决策模块可通过读取虚拟机操作系统内核的寄存器信息、特定位置的内存数据等,找到当前内核中正在执行的进程的进程名、进程ID、内核栈地址范围、内核堆地址范围、内核代码地址范围等信息。
利用语义重构得到的进程信息,可进一步判断当前正在运行或即将运行的内核进程是否需要进行监控,此判断主要针对一些内核白名单进程(如内核异常处理函数)和检测方法植入的监视、保护进程。这些进程具有明确的数据访问权限列表,可直接在攻击行为检测系统启动时进行保护和监控,无需动态调整其数据访问权限,以降低整个检测方法的性能损耗。
步骤1.2,结合获取的内核进程信息生成其对应的访问权限列表。
操作系统内核进程对内核数据的访问行为(A)按访问行为的类型可分为读取(R)和写入(W)2种,可记为A={R,W}。按访问目标数据的类型又可划分为:访问代码AC、访问静态数据ASD、访问动态数据ADD,可记为:A={AC,ASD,ADD}。因此所有内核数据访问行为可以记为公式1。
A={RC,RSD,RDD,WC,WSD,WDD} (1)
根据操作系统内核的运行原理可知,对内核代码、静态数据的读取操作是合法的且不会影响到操作系统内核运行安全、稳定,因此RC和RSD位于所有进程的访问权限列表中。任何内核进程对内核静态代码、静态数据的写入操作都是不合法,因此WC和WSD位于所有进程的访问权限列表之外。
对于剩下RDD和WDD,即对动态数据的读取和写入操作而言,对动态数据的读取操作虽然不会影响到操作系统内核运行的安全,但可能造成敏感数据的泄露;对动态数据的写入操作则是恶意代码攻击内核数据的核心方法。
动态数据(DD)可分为内核进程私有数据(DD-private)和公有数据(DD-public),因此对单个内核进程而言,其对内核动态数据的访问行为又可分为读取公有数据、读取自身私有数据、读取非自身私有数据、写入公有数据、写入自身私有数据、写入非自身私有数据,可记为公式2和公式3。
RDD={RDD-private-own,RDD-private-other,RDD-public} (2)
WDD={WDD-private-own,WDD-private-other,WDD-public} (3)
易知,对公有数据和自身私有数据的读取和写入操作均为合法的,而对非自身私有数据的读取操作RDD-priate-other有一定危险性,对非自身私有数据的写入操作WDD-private-other具有极大危险性。
综上所述,操作系统内核进程对内核数据的访问行为权限列表可表达为:
合法操作:
{RC,RSD,RDD-public,WDD-public,RDD-private-own,WDD-private-own}
危险操作:
{RDD-private-other}
违法操作:
{WC,WSD,WDD-private-other}
访问权限决策模块在访问权限列表生成过程中,将上述分析结果与进程信息获取步骤中获得的进程信息、内核数据信息想结合,生成具体的访问权限列表,将危险操作和违法操作的范围进行记录并提供给内核数据保护模块使用。
访问权限列表每一行有5项,其详细信息如表1所示。
表1 访问权限列表结构信息
Figure BDA0002200852590000061
当虚拟机操作系统内核进程发生变化或内核关键数据区域发生变化时,访问权限列表需要进行更新。
步骤2,设置目标虚拟机操作系统内核数据区域访问权限。
访问权限设置模块的核心功能是根据访问权限决策模块所提供的访问权限列表,为当前虚拟机操作系统内核中正在运行的进程设置访问权限,将危险操作、违法操作对应的数据区域设置为不可读写或只读,使得危险操作和违法操作发生时激活异常行为处理模块并进行相应处理。
内核数据区域的读写权限设置通过虚拟化技术中的虚拟内存映射技术实现,通过在虚拟机监视器中修改所需要设置读写权限的数据所在内存页的属性,可以使超出读写权限的内核数据访问行为发生时触发“页异常”并产生虚拟化陷入,从而使得位于虚拟机监视器中的异常行为处理模块可以截获此次异常操作,并对其进行处理。
步骤2.1,设置操作系统内核栈内数据的访问权限。
栈内数据访问权限的变化具有明显的规律性,只在和栈相关的内核行为发生时才发生变化,因此需要监控所有与内核栈调整相关的行为,并在内核栈发生变化时调整内核栈中数据的访问权限。
具体而言,在虚拟机操作系统内核中构建了一段小型的内核行为监控代码,并利用虚拟机监视器的权限通过修改内核中和栈调整相关的函数实现对相关行为的劫持。当被劫持的栈调整行为发生时,内核行为监控代码将会被触发,并通过虚拟化陷入将栈调整信息传递给位于虚拟机监视器的内核权限设置模块。需要注意的是,内核栈调整行为监控部分代码也需要列入访问权限设置的范围并将其标记为不可读写。
步骤2.2,设置操作系统内核栈外数据的访问权限。
内核栈外数据的访问频率远低于栈内数据,且权限变化频率也较低。栈外数据包括了内核代码、内核静态数据和部分内核动态数据中非当前进程的私有数据。
其中内核代码、内核静态数据由于访问权限不会发生变化,因此在访问决策模块确定所要保护的数据地址范围后即可直接将对应范围的内存区域设置为只读或不可读写,后续不需要动态调整这些数据的访问权限。需要注意的是,通过将其中较为离散的数据重定向至同一内存页可以显著降低后续内核数据攻击行为检测与拦截的性能损耗。
剩下的部分内核动态数据中非当前进程的私有数据主要分为2类,一类是和栈内数据类似,与内核进程相绑定的数据,例如内核进程双向链表中当前进程的相关信息;另一类是和系统相关,仅允许特定进程、特定函数对其进行访问的数据,例如IDT、SSDT等系统动态函数指针。
针对第一类数据,可以使用和栈内数据相同的权限设置、权限更新模式,即通过监控内核进程切换、新建、删除等行为,动态调整对应数据区域的访问权限。
针对第二类数据,可以通过内核源代码分析、数据访问关系图、离线训练等方式获得访问白名单,当白名单内的进程、函数被激活时或退出时,动态修改对应数据区域的访问权限。
步骤3,操作系统内核数据异常访问行为处理。
异常行为处理模块的核心功能是在超出访问权限列表的内核数据访问行为发生时,通过虚拟化异常陷入机制获得虚拟机操作系统的控制权限,并分析发生异常行为的原因、发出异常行为的内核进程等信息,最后对该异常行为进行记录和拦截。
在虚拟化环境中由于存在虚拟化页表机制,当出现对内存页的异常操作,如对不可写页面进行写操作时会触发内存页异常并“陷入”到虚拟机监视器中。当陷入发生时,虚拟机操作系统将被暂停且触发异常的指令处于“处理中”状态。在这一时机下,位于虚拟机监视器中的异常行为处理模块可以利用虚拟机监视器的权限读取虚拟机的内核信息,获取当前正在运行的内核进程状态、触发异常的内核行为信息,并结合访问权限决策模块提供的访问权限列表判断应该如何处理本次异常行为。操作系统内核数据异常访问行为处理流程如图3所示。
步骤3.1,捕获超出访问权限列表的内核数据访问行为并进行记录。
在页异常陷入处理流程中,异常行为处理模块需要记录本次异常行为作为检测结果,需要记录的异常行为信息如表2所示。
表2 异常行为信息项
Figure BDA0002200852590000081
由于异常行为处理模块位于虚拟机监视器中,与虚拟机操作系统内核之间存在“语义断层”,因此需要通过读取和分析虚拟机操作系统内核中的数据来还原所需要的行为信息。
步骤3.2,根据异常行为信息做出对应的响应。
在完成异常访问行为的记录后,还需要对异常行为作出响应,否则在将控制权限交还给上层虚拟机后,由于页异常的触发条件依然存,虚拟机将重新触发页异常从而陷入死循环,甚至引起虚拟机内核崩溃。
对异常操作的响应分为3种:允许异常操作、拦截异常操作且返回操作失败,拦截异常操作且返回操作成功。
允许异常操作是一种不常用的响应方式,主要针对部分可信内核进程,根据先验知识判定此类内核进程不会受到攻击,因此信任其发出的异常操作为正常操作从而允许其对访问权限外的内核数据区域进行访问。但由于内核级恶意代码可能通过潜在的攻击方式实现对这些可信进程的劫持或篡改,因此此类操作应当慎重使用。在提出的虚拟化平台内核数据攻击行为检测方法中,未将任何内核进程列入可信进程中。
拦截异常操作且返回操作失败是最为常用的响应方式,针对大多数异常行为均可以此方式进行响应。上层虚拟机将在恢复执行后收到中断异常处理响应,同时函数结束运行并返回错误码。
拦截异常操作且返回操作成功是一种特殊的响应方式,主要用于处理内核级恶意代码对内核敏感数据的攻击。内核级恶意代码在构建时往往不遵循内核编程规范,当出现访问异常时,如果对其直接进行拦截有可能会由于内核级恶意代码没有撰写与错误响应有关的处理流程从而发生内核错误,进而引起内核崩溃导致虚拟机卡死、“蓝屏”、重启等。因此根据访问权限决策模块提供的访问权限列表,对于部分内核敏感数据的异常操作(如对内核代码段、静态数据段的写操作WC和WSD),需要在拦截异常操作的前提下返回“操作成功”的假信息。
有益效果
本发明能够兼容Windows和Linux操作系统,能够检测和拦截19种内核级恶意代码发起的内核数据攻击行为,通过建立动态可变的数据访问权限控制机制,可有效对抗瞬态攻击,有效地提升了内核数据的安全防护能力。
附图说明
图1为虚拟化平台操作系统内核数据攻击行为检测方法的原理图。
图2为访问权限决策流程图。
图3为操作系统内核数据异常访问行为处理流程图。
具体实施方式
为了更好的说明本发明的目的和优点,下面结合附图和实施例对本发明方法的实施方式做进一步详细说明。
以6种公开的内核级恶意代码NtRootkit、Hacker_Defender、FU Rootkit、HideToolz、phide_ex和FuTo_enhanced作为攻击样本,并构建13种覆盖全部已知内核数据攻击类型(MEP、KOH、DKOM和ret-to-sched)的攻击样本,如表3所示,设计并部署了操作系统内核数据攻击行为的检测。最后与5种操作系统内核数据保护系统KernelGuard(2009年)、Osck(2011年)、VFEP(2014年)、StackSafe(2015年)、NumChecker(2016年)进行对比。
表3 构建的内核数据攻击样本
Figure BDA0002200852590000101
样本1-3为MEP类型攻击。SSDT保存了系统服务描述符,样本1攻击SSDT指针将其指向伪造的SSDT、样本2攻击SSDT中保存的指针地址从而实现系统服务处理流程的劫持;IDT中保存了系统中断描述符,样本3通过攻击IDT中的数据实现系统中断处理流程的劫持。
样本4-6为KOH类型攻击。样本4攻击内核对象中的回调函数指针从而篡改内核对象的调用流程;样本5攻击内核DPC对象中的目标函数指针从而使得DPC对象调用错误的函数;样本6攻击内核对象的处理函数指针,将其替换为伪造函数的指针从而实现内核对象处理流程劫持。
样本7-9为DKOM类型攻击。样本7通过攻击进程双向链表中的指针断开进程双向链表实现内核进程隐藏;样本8攻击EPROCESS中的页目录地址篡改进程和其对应数据之间的关系;样本9攻击内核进程调度函数的参数、篡改内核进程的调度过程从而绕过安全软件的检测。
样本10-12为ret-to-sched类型攻击。样本10直接攻击睡眠进程的栈中的返回地址,使得被攻击的进程被唤醒后返回至错误的地址从而实现进程劫持;样本11通过攻击睡眠进程的栈内的函数参数,使得被攻击的进程被唤醒后执行错误的流程或调用错误的函数;样本12通过替换睡眠进程的栈指针从而间接替换栈中返回地址和参数。
样本13为一种特殊的潜在攻击方式——瞬态攻击,即在短时间内将目标内存数据的内容修改后再还原的攻击。样本13在进程创建、被换入时将目标数据的内容进行修改,并在进程结束、被换出时将目标数据的内容还原。
实验硬件环境为DELL OPTIPLEX 390台式计算机,CPU型号为Intel(R)Core(TM)i5-2400双核处理器,CPU主频3.10GHz,支持Intel-VT硬件虚拟化技术,计算机物理内存(RAM)大小为4GB。软件环境配置如表4所示。
表4 攻击行为检测实验软件配置
以检测查全率R和拦截成功率S作为实验中检测方法对内核数据攻击行为的检测、拦截能力的评价指标,R和S的计算方式如公式4和公式5所示。
Figure BDA0002200852590000111
Figure BDA0002200852590000112
其中,NA是实验中使用的恶意代码和构建的攻击样本所发起的内核数据攻击的次数,NS是其中攻击成功的次数,ND是实验中检测方法正确检测到的内核数据攻击的次数。R和S越高说明检测方法对内核数据攻击行为的检测、拦截效果越好。
实验具体流程为:
1.利用虚拟化快照机制初始化虚拟机的操作系统,保证系统处于未被攻击的安全、可信状态;
2.在虚拟机中激活操作系统内核数据攻击行为检测程序;
3.手动执行各攻击样本,并检查每个攻击样本的攻击行为是否成功,然后记录KPAC的检测结果;
4.多次重复步骤3以消除内核中随机因素对实验结果的影响,并根据公式4和公式5计算检测准确率和拦截成功率的平均值;
使用5种用于对比分析的内核数据攻击检测、防护系统替换步骤2中的KPAC,并重复步骤1-4。
内核数据攻击行为检测与拦截实验结果如表5、表6所示。
表5 内核数据攻击行为检测查全率实验结果
Figure BDA0002200852590000113
Figure BDA0002200852590000121
表6 内核数据攻击行为拦截成功率实验结果
Figure BDA0002200852590000122
其中,带有星号(*)的值表示对应的保护系统与测试样本存在硬件或软件条件不兼容的情况,因此在实验中根据保护系统的保护原理在测试样本环境中进行了复现。
由5、表6的实验结果可知:
1.提出的访问权限动态调整的内核数据攻击行为检测方法(KPAC)可检测并拦截全部6种公开的内核级恶意代码和13种构建的攻击样本对操作系统内核数据的攻击行为;
2.除Osck外,其余4种操作系统内核数据攻击检测系统都只能检测或拦截部分类型的攻击行为,对其他类型的内核数据攻击样本的检测查全率、拦截成功率为0%;
3.部分对比方法对内核数据攻击样本进行检测或拦截的成功率小于95%,存在较为明显的遗漏问题。
下面针对实验结果讨论本发明方法与5种对比方法在内核数据攻击行为的检测能力上展开详细对比分析,如表7所示。
表7 内核数据攻击行为检测能力对比分析结果
其中×表示该检测方法无法检测此类攻击或无法实现此功能,√表示该检测方法能够全面检测此类攻击或实现此功能,O表示该检测方法能够检测此类攻击,但检测全面性不足、存在遗漏问题。
综合上述实验结果,提出的虚拟化平台内核数据攻击行为检测方法能够有效对多种类型的内核数据攻击方法进行检测和拦截,与同类内核数据攻击行为检测方法相比具有检测范围广、可检测瞬态攻击、可拦截攻击行为、不依赖操作系统源代码等优点。

Claims (5)

1.虚拟化平台操作系统内核数据攻击行为检测方法,其特征在于所述方法包括如下步骤:
步骤1,利用同步检测机制和虚拟机内核语义重构技术定位并劫持特定内核函数,获取内核运行状态,计算当前内核进程的合法数据访问范围;
步骤2,利用虚拟化影子页表权限管理机制设置内存页的读写访问权限,将合法访问范围外的内核数据设置为只读或不可读写,对内核进程的数据访问范围进行强约束;
步骤3,使用“内存页异常”机制实现对攻击行为的同步检测从而对抗瞬态攻击,并利用虚拟机监视器拦截检测到的内核数据攻击行为。
2.根据权利要求1所述的虚拟化平台操作系统内核数据攻击行为检测方法,其特征在于:步骤1中利用虚拟机监视器从正在运行的目标虚拟机操作系统内核中重构提取出当前进程的相关信息,对于监控目标进程,利用重构的状态信息,结合专家经验和操作系统内核先验知识,输出当前监控目标进程的访问权限信息。
3.根据权利要求1所述的虚拟化平台操作系统内核数据攻击行为检测方法,其特征在于:步骤1中通过分析操作系统监控目标进程对内核数据访问行为权限的具体情况,结合已获取的进程状态信息,生成当前监控目标进程的访问权限列表,并对危险操作和违法操作的范围进行记录。
4.根据权利要求1所述的虚拟化平台操作系统内核数据攻击行为检测方法,其特征在于:步骤2中通过虚拟化技术中的虚拟内存映射技术为虚拟机操作系统中的监控目标进程设置访问权限,将危险操作、违法操作对应的数据区域设置为不可读写或者只读。
5.根据权利要求1所述的虚拟化平台操作系统内核数据攻击行为检测方法,其特征在于:步骤3中当超出访问权限列表的内核数据访问行为发生时,通过虚拟化异常陷入机制获得虚拟机操作系统的控制权限,读取虚拟机内核进程状态信息、触发异常的内核行为信息,结合生成的监控目标进程访问权限列表,对该异常行为进行记录、允许或拦截等操作。
CN201910864463.5A 2019-09-12 2019-09-12 虚拟化平台操作系统内核数据攻击行为检测方法 Active CN110737888B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910864463.5A CN110737888B (zh) 2019-09-12 2019-09-12 虚拟化平台操作系统内核数据攻击行为检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910864463.5A CN110737888B (zh) 2019-09-12 2019-09-12 虚拟化平台操作系统内核数据攻击行为检测方法

Publications (2)

Publication Number Publication Date
CN110737888A true CN110737888A (zh) 2020-01-31
CN110737888B CN110737888B (zh) 2022-09-20

Family

ID=69267874

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910864463.5A Active CN110737888B (zh) 2019-09-12 2019-09-12 虚拟化平台操作系统内核数据攻击行为检测方法

Country Status (1)

Country Link
CN (1) CN110737888B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112532654A (zh) * 2021-01-25 2021-03-19 黑龙江朝南科技有限责任公司 一种用于Web攻击发现的异常行为检测技术
CN114064212A (zh) * 2021-11-16 2022-02-18 摩尔线程智能科技(北京)有限责任公司 Pci设备的访问地址跟踪方法、设备及计算机可读存储介质
CN115374444A (zh) * 2022-10-27 2022-11-22 北京安帝科技有限公司 基于虚拟主机行为分析的病毒检测方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663312A (zh) * 2012-03-20 2012-09-12 中国科学院信息工程研究所 一种基于虚拟机的rop攻击检测方法及系统
CN103858129A (zh) * 2011-10-13 2014-06-11 迈克菲股份有限公司 用于在系统管理程序环境中进行内核rootkit保护的系统和方法
CN103907101A (zh) * 2011-10-13 2014-07-02 迈克菲公司 用于管理器环境中的内核rootkit防护的系统和方法
US20150033227A1 (en) * 2012-03-05 2015-01-29 The Board Of Regents, The University Of Texas System Automatically bridging the semantic gap in machine introspection
CN105488397A (zh) * 2015-12-02 2016-04-13 国网智能电网研究院 一种基于情境的rop攻击检测系统及方法
CN106778257A (zh) * 2016-12-08 2017-05-31 北京国电通网络技术有限公司 一种虚拟机防逃逸装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103858129A (zh) * 2011-10-13 2014-06-11 迈克菲股份有限公司 用于在系统管理程序环境中进行内核rootkit保护的系统和方法
CN103907101A (zh) * 2011-10-13 2014-07-02 迈克菲公司 用于管理器环境中的内核rootkit防护的系统和方法
US20150033227A1 (en) * 2012-03-05 2015-01-29 The Board Of Regents, The University Of Texas System Automatically bridging the semantic gap in machine introspection
CN102663312A (zh) * 2012-03-20 2012-09-12 中国科学院信息工程研究所 一种基于虚拟机的rop攻击检测方法及系统
CN105488397A (zh) * 2015-12-02 2016-04-13 国网智能电网研究院 一种基于情境的rop攻击检测系统及方法
CN106778257A (zh) * 2016-12-08 2017-05-31 北京国电通网络技术有限公司 一种虚拟机防逃逸装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
YANG CAI ET AL: "SuiT: Secure User Interface Based on TrustZone", 《IEEE》 *
张英骏等: "基于TrustZone的开放环境中敏感应用防护方案", 《计算机研究与发展》 *
张英骏等: "基于Trustzone的强安全需求环境下可信代码执行方案", 《计算机研究与发展》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112532654A (zh) * 2021-01-25 2021-03-19 黑龙江朝南科技有限责任公司 一种用于Web攻击发现的异常行为检测技术
CN114064212A (zh) * 2021-11-16 2022-02-18 摩尔线程智能科技(北京)有限责任公司 Pci设备的访问地址跟踪方法、设备及计算机可读存储介质
CN114064212B (zh) * 2021-11-16 2022-07-29 摩尔线程智能科技(北京)有限责任公司 Pci设备的访问地址跟踪方法、设备及计算机可读存储介质
CN115374444A (zh) * 2022-10-27 2022-11-22 北京安帝科技有限公司 基于虚拟主机行为分析的病毒检测方法和装置

Also Published As

Publication number Publication date
CN110737888B (zh) 2022-09-20

Similar Documents

Publication Publication Date Title
US10977370B2 (en) Method of remediating operations performed by a program and system thereof
US11625485B2 (en) Method of malware detection and system thereof
US11886591B2 (en) Method of remediating operations performed by a program and system thereof
Dinaburg et al. Ether: malware analysis via hardware virtualization extensions
EP3885951B1 (en) Method of remediating operations performed by a program and system thereof
CN110737888B (zh) 虚拟化平台操作系统内核数据攻击行为检测方法
CN103310152B (zh) 基于系统虚拟化技术的内核态Rootkit检测方法
Rhee et al. Data-centric OS kernel malware characterization
Eresheim et al. The evolution of process hiding techniques in malware-current threats and possible countermeasures
Huang et al. Return-oriented vulnerabilities in ARM executables
Xuan et al. Toward revealing kernel malware behavior in virtual execution environments
Nadim et al. Characteristic features of the kernel-level rootkit for learning-based detection model training
Li et al. Virtual wall: Filtering rootkit attacks to protect linux kernel functions
Ortolani et al. KLIMAX: Profiling memory write patterns to detect keystroke-harvesting malware
Mahapatra et al. An online cross view difference and behavior based kernel rootkit detector
Neugschwandtner et al. d Anubis–Dynamic Device Driver Analysis Based on Virtual Machine Introspection
Dong et al. Kims: kernel integrity measuring system based on trustzone
Nadim et al. Kernel-level rootkit detection, prevention and behavior profiling: a taxonomy and survey
CN110941477A (zh) 一种基于Xen平台的虚拟机检测方法
Dai et al. Holography: a hardware virtualization tool for malware analysis
US12026257B2 (en) Method of malware detection and system thereof
CN117725583A (zh) 基于虚拟机自省的Linux恶意代码检测方法与系统
Zhang et al. FindEvasion: an effective environment-sensitive malware detection system for the cloud
Yu-Tao et al. HPDBF: A forensics method for hidden process based on memory analysis
Oh et al. A system for analyzing advance bot behavior

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant