CN106713277A - 一种目标样本文件的检测方法和装置 - Google Patents

一种目标样本文件的检测方法和装置 Download PDF

Info

Publication number
CN106713277A
CN106713277A CN201611065424.1A CN201611065424A CN106713277A CN 106713277 A CN106713277 A CN 106713277A CN 201611065424 A CN201611065424 A CN 201611065424A CN 106713277 A CN106713277 A CN 106713277A
Authority
CN
China
Prior art keywords
sample file
sandbox
target sample
instruction
function
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.)
Pending
Application number
CN201611065424.1A
Other languages
English (en)
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 Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
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 Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201611065424.1A priority Critical patent/CN106713277A/zh
Publication of CN106713277A publication Critical patent/CN106713277A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种目标样本文件的检测方法和装置,包括:从数据源接收目标样本文件,将所述目标样本文件投放到沙箱中运行;在所述目标样本文件在沙箱中运行的过程中,监听沙箱中用于阻止内核执行用户空间的代码的保护机制是否失效;是则,确定所述目标样本文件是威胁样本文件;否则,确定所述目标样本文件不是威胁样本文件。本方案以沙箱作为虚拟载体运行目标样本文件,能够清晰地检测到目标样本文件的所有运行轨迹,全面分析得到目标样本文件相关的特征信息,根据目标样本文件相关的特征信息可以更为准确地判断所述目标样本文件在虚拟机中运行的过程中是否发生进程属性修改事件,进而确定出威胁样本文件,为后续信息安全防护提供参考和依据。

Description

一种目标样本文件的检测方法和装置
技术领域
本发明涉及互联网技术领域,具体涉及一种目标样本文件的检测方法和装置。
背景技术
随着互联网技术的不断发展,人们对于网络的使用愈加频繁,通过网络可以进行工作、学习、生活、娱乐等多方面的事宜,给人们带来了极大的便利。然而,当前互联网技术中存在系统级的内核漏洞,这些漏洞给恶意开发者以可乘之机,恶意开发者们通过威胁样本文件利用这些漏洞对各种客户端、服务端所在的终端进行攻击,获取用户的个人信息,威胁用户的信息安全,给用户的人身、财产等方面损失。其中特别地,恶意开发者们在通过威胁样本文件进行漏洞利用的过程中,常常采用绕过系统中用于阻止内核执行用户控件的代码的保护机制的手段来获取系统级权限以执行非法操作。
因此,如何有效、全面地对互联网中进行漏洞利用攻击的可疑样本进行挖掘、检测和处理,是当前亟待解决的重要问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的目标样本文件的检测方法和装置。
依据本发明的一个方面,提供了一种目标样本文件的检测方法,包括:
从数据源接收目标样本文件,将所述目标样本文件投放到沙箱中运行;
在所述目标样本文件在沙箱中运行的过程中,监听沙箱中用于阻止内核执行用户空间的代码的保护机制是否失效;
是则,确定所述目标样本文件是威胁样本文件;
否则,确定所述目标样本文件不是威胁样本文件。
可选地,所述监听沙箱中用于阻止内核执行用户空间的代码的保护机制是否失效包括:
监听对所述保护机制进行禁止操作的事件;
当监听到对所述保护机制进行禁止操作的事件时,确定沙箱中用于阻止内核执行用户空间的代码的保护机制失效。
可选地,所述监听对所述保护机制进行禁止操作的事件包括:
在对所述保护机制进行操作的函数上挂载钩子函数;
当该函数被调用时,利用所述钩子函数拦截该函数的调用指令;
判断所述调用指令是否指示对所述保护机制进行禁用操作,是则,确定监听到对所述保护机制进行禁止操作的事件,利用所述钩子函数强制结束所述调用指令;否则,利用所述钩子函数放行所述调用指令。
可选地,沙箱中用于阻止内核执行用户空间的代码的保护机制包括:SMEP机制;对所述保护机制进行禁止操作的事件包括:对SMEP机制进行禁止操作的事件;
所述监听对所述保护机制进行禁止操作的事件包括:
监听对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令;
当监听到所述指令时,确定监听到对SMEP机制进行禁止操作的事件。
可选地,所述监听对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令包括:
在对沙箱中的CR4寄存器进行操作的函数上挂载钩子函数;
当所述函数被调用时,利用所述钩子函数拦截对所述函数进行调用的指令;
如果所拦截的指令指示对CR4寄存器的SMEP位的数据进行修改,确定监听到对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令,利用所述钩子函数强制结束所拦截的指令;否则利用钩子函数放行所拦截的指令。
可选地,所述监听对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令包括:
在沙箱中的Ntoskrnl.exe进程中查找对CR4寄存器进行操作的参考点,在所述参考点上挂载钩子函数;
当所述参考点被调起时,利用所述钩子函数拦截相应的调起指令;
如果所拦截的调起指令指示对CR4寄存器的SMEP位的数据进行修改,确定监听到对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令,利用所述钩子函数强制结束所拦截的调起指令;否则利用钩子函数放行所拦截的调起指令。
可选地,所述监听对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令包括:
监测沙箱中的调用栈是否为正常调用修改CR4寄存器的指令所在函数的调用栈;
如果否,确定监听到对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令。
可选地,该方法进一步包括:
记录所述目标样本文件在沙箱中运行的运行日志;
当确定所述目标样本文件是威胁样本文件时,根据所述目标样本文件在沙箱中运行的运行日志获得所述目标样本文件相关的特征信息;
将所述目标样本相关的特征信息放入威胁数据库中。
可选地,所述目标样本文件相关的特征信息包括:
目标样本文件的静态特征信息,
和/或,
目标样本文件的行为特征信息。
可选地,该方法进一步包括:
将所述目标样本相关的特征信息反馈给数据源。
依据本发明的另一个方面,提供了一种目标样本文件的检测装置,包括:
样本接收单元,适于从数据源接收目标样本文件;
检测处理单元,适于将所述目标样本文件投放到沙箱中运行;在所述目标样本文件在沙箱中运行的过程中,监听沙箱中用于阻止内核执行用户空间的代码的保护机制是否失效;是则,确定所述目标样本文件是威胁样本文件;否则,确定所述目标样本文件不是威胁样本文件。
可选地,所述检测处理单元,适于监听对所述保护机制进行禁止操作的事件;当监听到对所述保护机制进行禁止操作的事件时,确定沙箱中用于阻止内核执行用户空间的代码的保护机制失效。
可选地,所述检测处理单元,适于在对所述保护机制进行操作的函数上挂载钩子函数;当该函数被调用时,利用所述钩子函数拦截该函数的调用指令;判断所述调用指令是否指示对所述保护机制进行禁用操作,是则,确定监听到对所述保护机制进行禁止操作的事件,利用所述钩子函数强制结束所述调用指令;否则,利用所述钩子函数放行所述调用指令。
可选地,沙箱中用于阻止内核执行用户空间的代码的保护机制包括:SMEP机制;对所述保护机制进行禁止操作的事件包括:对SMEP机制进行禁止操作的事件;
所述检测处理单元,适于监听对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令;当监听到所述指令时,确定监听到对SMEP机制进行禁止操作的事件。
可选地,所述检测处理单元,适于在对沙箱中的CR4寄存器进行操作的函数上挂载钩子函数;当所述函数被调用时,利用所述钩子函数拦截对所述函数进行调用的指令;如果所拦截的指令指示对CR4寄存器的SMEP位的数据进行修改,确定监听到对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令,利用所述钩子函数强制结束所拦截的指令;否则利用钩子函数放行所拦截的指令。
可选地,所述检测处理单元,适于在沙箱中的Ntoskrnl.exe进程中查找对CR4寄存器进行操作的参考点,在所述参考点上挂载钩子函数;当所述参考点被调起时,利用所述钩子函数拦截相应的调起指令;如果所拦截的调起指令指示对CR4寄存器的SMEP位的数据进行修改,确定监听到对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令,利用所述钩子函数强制结束所拦截的调起指令;否则利用钩子函数放行所拦截的调起指令。
可选地,所述检测处理单元,适于监测沙箱中的调用栈是否为正常调用修改CR4寄存器的指令所在函数的调用栈;如果否,确定监听到对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令。
可选地,所述检测处理单元,进一步适于记录所述目标样本文件在沙箱中运行的运行日志;当确定所述目标样本文件是威胁样本文件时,根据所述目标样本文件在沙箱中运行的运行日志获得所述目标样本文件相关的特征信息;将所述目标样本相关的特征信息放入威胁数据库中。
可选地,所述目标样本文件相关的特征信息包括:
目标样本文件的静态特征信息,
和/或,
目标样本文件的行为特征信息。
可选地,所述检测处理单元,进一步适于将所述目标样本相关的特征信息反馈给数据源。
由上述可知,本发明的技术方案将从数据源接收的目标样本文件投放到沙箱中进行检测,当检测出目标样本文件在沙箱中运行的过程中发生沙箱中用于阻止内核执行用户空间的代码的保护机制失效的事件时,确定目标样本文件为威胁样本文件。本方案以沙箱作为虚拟载体运行目标样本文件,能够清晰地检测到目标样本文件的所有运行轨迹,全面分析得到目标样本文件相关的特征信息,根据目标样本文件相关的特征信息可以更为准确地判断所述目标样本文件在虚拟机中运行的过程中是否发生进程属性修改事件,进而确定出威胁样本文件,为后续信息安全防护提供参考和依据。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种目标样本文件的检测方法的流程图;
图2示出了根据本发明一个实施例的一种目标样本文件的检测装置的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的一种目标样本文件的检测方法的流程图。如图1所示,该方法包括:
步骤S110,从数据源接收目标样本文件,将所述目标样本文件投放到沙箱中运行。
步骤S120,在所述目标样本文件在沙箱中运行的过程中,监听沙箱中用于阻止内核执行用户空间的代码的保护机制是否失效。
步骤S130,是则,确定所述目标样本文件是威胁样本文件。
步骤S140,否则,确定所述目标样本文件不是威胁样本文件。
可见,图1所示的方法将从数据源接收的目标样本文件投放到沙箱中进行检测,当检测出目标样本文件在沙箱中运行的过程中发生沙箱中用于阻止内核执行用户空间的代码的保护机制失效的事件时,确定目标样本文件为威胁样本文件。本方案以沙箱作为虚拟载体运行目标样本文件,能够清晰地检测到目标样本文件的所有运行轨迹,全面分析得到目标样本文件相关的特征信息,根据目标样本文件相关的特征信息可以更为准确地判断所述目标样本文件在虚拟机中运行的过程中是否发生进程属性修改事件,进而确定出威胁样本文件,为后续信息安全防护提供参考和依据。
在本发明的一个实施例中,图1所示的方法进一步包括:记录所述目标样本文件在沙箱中运行的运行日志;当确定所述目标样本文件是威胁样本文件时,根据所述目标样本文件在沙箱中运行的运行日志获得所述目标样本文件相关的特征信息;将所述目标样本相关的特征信息放入威胁数据库中。
其中,通过分析目标样本文件对应的运行日志得到的目标样本文件相关的特征信息包括:目标样本文件的静态特征信息,和/或,目标样本文件的行为特征信息。也就是说,对于放入沙箱中运行的目标样本文件,无论是该目标样本文件的静态特征,还是该目标样本文件在运行过程中的动态行为特征,均可以被解构出来,均可以从本方案的视角观察到,即掌握了一个目标样本文件的完整的档案,进而对于该目标样本文件是不是具有威胁的威胁样本、如果是威胁样本如何对该可疑样本进行预防、查杀等问题均可以找到准确的答案。
随着本方案的不断实施,所掌握的目标样本文件的档案不断被完善,即威胁数据库中的数据不断被完善。在本发明的一个实施例中,上述将判定为威胁样本的目标样本文件相关的特征信息放入威胁数据库中包括:根据所述判定为威胁样本的可疑样本相关的特征信息对威胁数据库中原有的数据进行更新。
进一步地,图1所述的方法还可以将所述目标样本相关的特征信息反馈给数据源。可以看到,在本方案中,从数据源接收目标样本文件,对目标样本文件进行检测实现对威胁数据库的补充更新,威胁数据库向数据源推送补目标样本文件相关的特征信息,数据源根据该推送的目标样本文件相关的特征信息进行打点记录,更精确地拦截、记录目标样本文件,以及向威胁数据库反馈推送结果,形成了正反馈闭环,能够不断地扩充完善各种类型的目标样本文件的完整的特征信息的管理,目标样本文件的特征信息越完善清晰,越能够找到预防查杀威胁样本的策略,并可以及时将预防查杀威胁样本的策略统一推送到数据源中对于各个数据源的预防查杀策略进行统一的调整,建立起非常严密的安全防护机制,从更高的格局保障互联网信息安全。
在本发明的一个实施例中,图1所示方法的步骤S120监听沙箱中用于阻止内核执行用户空间的代码的保护机制是否失效包括:监听对所述保护机制进行禁止操作的事件;当监听到对所述保护机制进行禁止操作的事件时,确定沙箱中用于阻止内核执行用户空间的代码的保护机制失效。
具体地,上述监听对所述保护机制进行禁止操作的事件包括:
步骤S121,在对所述保护机制进行操作的函数上挂载钩子函数。
步骤S122,当该函数被调用时,利用所述钩子函数拦截该函数的调用指令。
步骤S123,判断所述调用指令是否指示对所述保护机制进行禁用操作,是则,确定监听到对所述保护机制进行禁止操作的事件,利用所述钩子函数强制结束所述调用指令;否则,利用所述钩子函数放行所述调用指令。
以一个具体的例子来说明本方案的实施过程,在系统内核中,管理模式执行保护机制SMEP(Supervisor Mode Execution Protection Enable)——用于阻止内核执行用户空间的代码的保护机制,系统内核处理正常状态时该保护机制维持开启状态,确保内核无法执行位于低权限层的代码(比如用户空间的应用程序代码),从而保证内核代码的完整性,保证内核无法在内核代码中引入特权指令或执行其他地方的特权指令。恶意攻击者在发现这一保护机制时,为了实现其恶意的内核利用提权的目的,常常在引入恶意攻击程序之前首先尝试关闭系统内核中的上述阻止内核执行用户空间的代码的保护机制,以实现程序重定向到可控的用户态地址空间,并以ring0权限执行可控代码的最终攻击方式。具体地,恶意攻击者可以通过以下方式绕过SEMP保护机制:一种方式是通过ROP编程令SMEP的强制保护失效(改变CR4寄存器中的相关位),这种方法实现时需要保证栈是可控的;另一种方式是在以内存页为单位的空间内关闭SMEP,这种方法是通过在页级的转换映射入口(translation mapping entries)处做出相应的修改,将用户态的页标为内核态的页来实现的;此外,还有一种方式在理论上应该是可行的,这种方法通过跳转(通过指针或回调函数表)至一处已存在的函数执行(从而令SMEP失效,同时也绕过KASLR),同时又有某种方法令攻击者能够获取到程序的控制权(并非通过ROP),当然迄今为止还没有人找到过这样一个已存在的函数。这样的方法应该是一种面向跳转的编程方法(JOP)。
针对上述攻击规律,本方案提出对用于阻止内核执行用户控件的代码的保护机制进行禁用的事件进行监听,当发现目标样本文件要执行对用于阻止内核执行用户控件的代码的保护机制进行禁用的操作时,确定这是目标样本文件想要获得系统级权限的第一步,进而确定目标样本文件是威胁样本文件。
由于SMEP保护机制存在于CR4寄存器的第20bit位,将该位称作为CR4寄存器的SMEP位,当CR4寄存器的SMEP位被修改时,SMEP保护机制的状态发生变化,从默认的开启状态变为关闭状态,则本方案所要监听的是对SMEP保护机制进行禁止操作的事件,包括:监听对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令;当监听到所述指令时,确定监听到对SMEP机制进行禁止操作的事件。具体地,上述监听对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令包括:在对沙箱中的CR4寄存器进行操作的函数上挂载钩子函数;当所述函数被调用时,利用所述钩子函数拦截对所述函数进行调用的指令;如果所拦截的指令指示对CR4寄存器的SMEP位的数据进行修改,确定监听到对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令,利用所述钩子函数强制结束所拦截的指令;否则利用钩子函数放行所拦截的指令。
其中,CR0~CR4是一组控制寄存器,控制寄存器是改变或者控制CPU和其他一些数字设备一般行为的寄存器,通过这些控制寄存器可以完成像中断、寻址方式切换、分页控制等任务。CR0~CR3都可以通过mov操作获取到相应的值,然而并不存在mov eax,cr4的操作,不能够直接获取到CR4的值。CR4寄存器用于保护模式,通过CR4可以获取到诸如是否开启分页模式、是否有物理地址扩展、是否开启保护模式等信息,如果需要获取到这些信息,就需要访问CR4了,这里给出2种访问的方法:一种是通过内联汇编的方法(x86),另一种是通过_KSPECIAL_REGISTERS结构,_KSPECIAL_REGISTERS结构体中记录了内核的特殊寄存器的值,通过该结构可以获取到诸如CR0、CR2、CR3、CR4等寄存器的值。
在本发明的另一个实施例中,由于用于存储SEMP保护机制的设置数据的CR4寄存器的地址能够从系统的Ntoskrnl.exe进程中查找到,那么,上述监听对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令包括:在沙箱中的Ntoskrnl.exe进程中查找对CR4寄存器进行操作的参考点,在所述参考点上挂载钩子函数;当所述参考点被调起时,利用所述钩子函数拦截相应的调起指令;如果所拦截的调起指令指示对CR4寄存器的SMEP位的数据进行修改,确定监听到对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令,利用所述钩子函数强制结束所拦截的调起指令;否则利用钩子函数放行所拦截的调起指令。
又由于判断CR4寄存器的SMEP位是否被修改的过程等效于判断对应的调用栈的变化状态,因此,上述监听对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令包括:监测沙箱中的调用栈是否为正常调用修改CR4寄存器的指令所在函数的调用栈;如果否,确定监听到对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令。
在另一个具体的例子中,基于现有技术中恶意的威胁样本文件通常采取对系统保护机制进行禁用的方式获得系统权限,进而执行恶意操作危害用户信息安全的手段,本方案旨在于服务器侧创建沙箱作为目标样本文件的虚拟运行载体,通过监控目标样本文件在沙箱中运行的过程中是否发生进程属性修改事件来获知是否发生内核漏洞利用的事件,即通过威胁样本文件在沙箱中的行为特征来动态地确定目标样本文件是否为威胁样本文件。本例中,沙箱中包括4个模块:Agent.exe,虚拟机通信代理模块,负责检测模块和样本文件的接收,Analyzer进程的创建,与虚拟机外部服务器端进程实时数据交互、日志和文件传递。Analyzer.exe,内部调度管控模块,负责样本文件类型识别、LoadHP进程的创建,内部检测超时设定和限制,操作系统屏幕模拟点击实现,屏幕截取实现,与Agent的数据通信。LoadHP.exe,检测辅助操作模块,负责加载检测主模块驱动程序,通过配置文件选项控制各检测功能开关,与核心模块驱动程序之间通信和交互,样本文件进程的启动。Honeypot.sys,检测实现核心模块,驱动程序实现。在操作系统内核中设置进程创建回调通知、对指定的内核API挂钩,在HOOK处理函数中判定进程是否提权,打点并生成检测结果日志等。
在Honeypot日志记录线程中,持续不断地检查日志缓冲LIST中是否又新的日志Buffer插入。将新的日志Buffer追加写入到配置选项中指定路径的配置文件中,并释放日志缓冲LIST中该日志Buffer的节点。
对本例中生成检测结果日志的细节进行说明:该方案打点检出日志生成形式为缓存方式打点。检出日志被暂存于日志缓冲LIST中。日志记录线程轮询该日志缓冲LIST并依照FIFO的方式依次处理各日志节点,将检测结果日志内容追加写入日志记录文件actions.log中,在检测完成后由外部相关调度模块进程获取并处理该日志文件。其中,检测结果日志中的打点数据包括:环境和文件基本信息,检出功能点触发数据等。其中环境和文件基本信息以流水日志等形式输出,检出功能点触发数据以行为日志actions.log的形式输出。
在本发明的一个实施例中,除了检测所述目标样本文件在虚拟机中运行的过程中是否发生内核漏洞利用之外,还有相关的辅助检测流程,包括检测进程保护机制和检测文件保护机制:
检测进程保护机制用于保护检测模块相关进程地址空间,防止被虚拟机沙箱逃逸的恶意样本进程访问、释放或泄漏,导致检测模块机密信息失窃。初步的准备工作包括:1.LoadHP.exe,在LoadHP进程加载驱动阶段完成后,读取Honeypot.ini配置文件中的“ourproc”等字段的值,并解析获得1个或多个检测模块的进程名,通过进程名获取检测模块各进程的PID,依次通过IO控制码方式发送给Honeypot驱动程序。2.Honeypot.sys,Honeypot在接收到标记为“进程ID过滤”的IO控制码时,从输入Buffer中获取当次传递的PID的值,并根据PID获取对应进程EPROCESS地址,将该EPROCESS指针插入进程过滤LIST。在此基础上,辅助检测过程包括:HOOK对进程、线程、内存地址空间操作的关键NTAPI,在Fake函数中针对上下背景文所在进程的EPROCESS地址和操作目标进程的EPROCESS地址,在上述进程过滤LIST中进行匹配。如果上下背景文进程EPROCESS地址不在进程过滤LIST中,而操作目标进程EPROCESS地址在进程过滤LIST中成功匹配,则可判定其他进程试图访问检测模块各进程集中的某个进程。进行阻止,返回拒绝访问的状态码,不继续向下调用,以终止当前上下背景文进程对该API的调用。如果未能成功匹配,则属于对应API正常调用的其他情况。不进行阻止,继续调用原API向下执行,并向Caller返回其返回的值。
检测文件保护机制用于保护检测模块和检测结果日志相关各文件目录,防止被某些样本进程访问、篡改、加密、损毁,造成检测失败或结果异常,影响沙箱系统稳定和性能。初步的准备工作包括:1.LoadHP.exe,在LoadHP进程加载驱动阶段完成后,读取Honeypot.ini配置文件中的“ourpath”等字段的值,并解析获得1个或多个检测结果日志的目录路径名,将各路径Buffer依次通过IO控制码方式发送给Honeypot驱动程序。2.Honeypot.sys,Honeypot在接收到标记为“私有目录”的IO控制码时,从输入Buffer中获取当次传递的目录路径的Buffer,并根据Buffer构造UNICODE_STRING字符串对象,将该字符串对象插入私有目录LIST。在此基础上,辅助检测过程包括:注册文件系统过滤,实现各主要IRP分发函数。在READ,WRITE,CREATE,SET_INFORMATION,DIRECTORY_CONTROL等分发函数的自实现函数体中,判断当前IRP中FILE_OBJECT的文件路径UNICODE_STRING对象是否能够在私有目录LIST中成功匹配。如果未能成功匹配,则当前操作不是对检测日志目录或检测模块目录进行的,跳过当前栈单元,并将IRP继续向下分发。如果成功匹配,意味着当前文件操作确实是针对检测日志目录或检测模块目录进行的。这时获取上下背景文进程的EPROCESS地址,并判断该EPROCESS地址是否能够在“检测进程保护”机制中的进程过滤LIST中成功匹配。如果成功匹配,则判定属于检测模块进程自身对检测日志目录和检测模块目录的访问,跳过当前栈单元,并将IRP继续向下分发。如果未能成功匹配,意味着属于第三方的进程访问检测日志目录或检测模块目录。赋值IRP的IO状态域拒绝访问等错误码,完成IRP的IO请求,返回当前IRP分发函数,使当前的文件访问操作失败。
图2示出了根据本发明一个实施例的一种目标样本文件的检测装置的示意图。如图2所示,目标样本文件的检测装置200包括:
样本接收单元210,适于从数据源接收目标样本文件。
检测处理单元220,适于将所述目标样本文件投放到沙箱中运行;在所述目标样本文件在沙箱中运行的过程中,监听沙箱中用于阻止内核执行用户空间的代码的保护机制是否失效;是则,确定所述目标样本文件是威胁样本文件;否则,确定所述目标样本文件不是威胁样本文件。
可见,图2所示的装置将从数据源接收的目标样本文件投放到沙箱中进行检测,当检测出目标样本文件在沙箱中运行的过程中发生沙箱中用于阻止内核执行用户空间的代码的保护机制失效的事件时,确定目标样本文件为威胁样本文件。本方案以沙箱作为虚拟载体运行目标样本文件,能够清晰地检测到目标样本文件的所有运行轨迹,全面分析得到目标样本文件相关的特征信息,根据目标样本文件相关的特征信息可以更为准确地判断所述目标样本文件在虚拟机中运行的过程中是否发生进程属性修改事件,进而确定出威胁样本文件,为后续信息安全防护提供参考和依据。
在本发明的一个实施例中,检测处理单元220,适于监听对所述保护机制进行禁止操作的事件;当监听到对所述保护机制进行禁止操作的事件时,确定沙箱中用于阻止内核执行用户空间的代码的保护机制失效。
其中,检测处理单元220,适于在对所述保护机制进行操作的函数上挂载钩子函数;当该函数被调用时,利用所述钩子函数拦截该函数的调用指令;判断所述调用指令是否指示对所述保护机制进行禁用操作,是则,确定监听到对所述保护机制进行禁止操作的事件,利用所述钩子函数强制结束所述调用指令;否则,利用所述钩子函数放行所述调用指令。
在本发明的一个实施例中,沙箱中用于阻止内核执行用户空间的代码的保护机制包括:SMEP机制;对所述保护机制进行禁止操作的事件包括:对SMEP机制进行禁止操作的事件;检测处理单元220,适于监听对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令;当监听到所述指令时,确定监听到对SMEP机制进行禁止操作的事件。
在本发明的一个实施例中,检测处理单元220,适于在对沙箱中的CR4寄存器进行操作的函数上挂载钩子函数;当所述函数被调用时,利用所述钩子函数拦截对所述函数进行调用的指令;如果所拦截的指令指示对CR4寄存器的SMEP位的数据进行修改,确定监听到对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令,利用所述钩子函数强制结束所拦截的指令;否则利用钩子函数放行所拦截的指令。
具体地,在本发明的一个实施例中,检测处理单元220,适于在沙箱中的Ntoskrnl.exe进程中查找对CR4寄存器进行操作的参考点,在所述参考点上挂载钩子函数;当所述参考点被调起时,利用所述钩子函数拦截相应的调起指令;如果所拦截的调起指令指示对CR4寄存器的SMEP位的数据进行修改,确定监听到对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令,利用所述钩子函数强制结束所拦截的调起指令;否则利用钩子函数放行所拦截的调起指令。
在本发明的一个实施例中,检测处理单元220,适于监测沙箱中的调用栈是否为正常调用修改CR4寄存器的指令所在函数的调用栈;如果否,确定监听到对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令。
进一步地,在本发明的一个实施例中,检测处理单元220,进一步适于记录所述目标样本文件在沙箱中运行的运行日志;当确定所述目标样本文件是威胁样本文件时,根据所述目标样本文件在沙箱中运行的运行日志获得所述目标样本文件相关的特征信息;将所述目标样本相关的特征信息放入威胁数据库中。其中,所述目标样本文件相关的特征信息包括:目标样本文件的静态特征信息,和/或,目标样本文件的行为特征信息。
在本发明的一个实施例中,检测处理单元220,进一步适于将所述目标样本相关的特征信息反馈给数据源。
需要说明的是,图2所示装置的具体实施例与图1所示方法的各实施例对应相同,上文中已进行了详细说明,在此不再赘述。
综上所述,本发明的技术方案将从数据源接收的目标样本文件投放到沙箱中进行检测,当检测出目标样本文件在沙箱中运行的过程中发生沙箱中用于阻止内核执行用户空间的代码的保护机制失效的事件时,确定目标样本文件为威胁样本文件。本方案以沙箱作为虚拟载体运行目标样本文件,能够清晰地检测到目标样本文件的所有运行轨迹,全面分析得到目标样本文件相关的特征信息,根据目标样本文件相关的特征信息可以更为准确地判断所述目标样本文件在虚拟机中运行的过程中是否发生进程属性修改事件,进而确定出威胁样本文件,为后续信息安全防护提供参考和依据。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的目标样本文件的检测装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种目标样本文件的检测方法,其中,包括:
从数据源接收目标样本文件,将所述目标样本文件投放到沙箱中运行;
在所述目标样本文件在沙箱中运行的过程中,监听沙箱中用于阻止内核执行用户空间的代码的保护机制是否失效;
是则,确定所述目标样本文件是威胁样本文件;
否则,确定所述目标样本文件不是威胁样本文件。
A2、如A1所述的方法,其中,所述监听沙箱中用于阻止内核执行用户空间的代码的保护机制是否失效包括:
监听对所述保护机制进行禁止操作的事件;
当监听到对所述保护机制进行禁止操作的事件时,确定沙箱中用于阻止内核执行用户空间的代码的保护机制失效。
A3、如A2所述的方法,其中,所述监听对所述保护机制进行禁止操作的事件包括:
在对所述保护机制进行操作的函数上挂载钩子函数;
当该函数被调用时,利用所述钩子函数拦截该函数的调用指令;
判断所述调用指令是否指示对所述保护机制进行禁用操作,是则,确定监听到对所述保护机制进行禁止操作的事件,利用所述钩子函数强制结束所述调用指令;否则,利用所述钩子函数放行所述调用指令。
A4、如A2所述的方法,其中,沙箱中用于阻止内核执行用户空间的代码的保护机制包括:SMEP机制;对所述保护机制进行禁止操作的事件包括:对SMEP机制进行禁止操作的事件;
所述监听对所述保护机制进行禁止操作的事件包括:
监听对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令;
当监听到所述指令时,确定监听到对SMEP机制进行禁止操作的事件。
A5、如A4所述的方法,其中,所述监听对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令包括:
在对沙箱中的CR4寄存器进行操作的函数上挂载钩子函数;
当所述函数被调用时,利用所述钩子函数拦截对所述函数进行调用的指令;
如果所拦截的指令指示对CR4寄存器的SMEP位的数据进行修改,确定监听到对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令,利用所述钩子函数强制结束所拦截的指令;否则利用钩子函数放行所拦截的指令。
A6、如A4所述的方法,其中,所述监听对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令包括:
在沙箱中的Ntoskrnl.exe进程中查找对CR4寄存器进行操作的参考点,在所述参考点上挂载钩子函数;
当所述参考点被调起时,利用所述钩子函数拦截相应的调起指令;
如果所拦截的调起指令指示对CR4寄存器的SMEP位的数据进行修改,确定监听到对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令,利用所述钩子函数强制结束所拦截的调起指令;否则利用钩子函数放行所拦截的调起指令。
A7、如A5所述的方法,其中,所述监听对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令包括:
监测沙箱中的调用栈是否为正常调用修改CR4寄存器的指令所在函数的调用栈;
如果否,确定监听到对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令。
A8、如A1所述的方法,其中,该方法进一步包括:
记录所述目标样本文件在沙箱中运行的运行日志;
当确定所述目标样本文件是威胁样本文件时,根据所述目标样本文件在沙箱中运行的运行日志获得所述目标样本文件相关的特征信息;
将所述目标样本相关的特征信息放入威胁数据库中。
A9、如A8所述的方法,其中,所述目标样本文件相关的特征信息包括:
目标样本文件的静态特征信息,
和/或,
目标样本文件的行为特征信息。
A10、如A8所述的方法,其中,该方法进一步包括:
将所述目标样本相关的特征信息反馈给数据源。
本发明还公开了B11、一种目标样本文件的检测装置,其中,包括:
样本接收单元,适于从数据源接收目标样本文件;
检测处理单元,适于将所述目标样本文件投放到沙箱中运行;在所述目标样本文件在沙箱中运行的过程中,监听沙箱中用于阻止内核执行用户空间的代码的保护机制是否失效;是则,确定所述目标样本文件是威胁样本文件;否则,确定所述目标样本文件不是威胁样本文件。
B12、如B11所述的装置,其中,
所述检测处理单元,适于监听对所述保护机制进行禁止操作的事件;当监听到对所述保护机制进行禁止操作的事件时,确定沙箱中用于阻止内核执行用户空间的代码的保护机制失效。
B13、如B12所述的装置,其中,
所述检测处理单元,适于在对所述保护机制进行操作的函数上挂载钩子函数;当该函数被调用时,利用所述钩子函数拦截该函数的调用指令;判断所述调用指令是否指示对所述保护机制进行禁用操作,是则,确定监听到对所述保护机制进行禁止操作的事件,利用所述钩子函数强制结束所述调用指令;否则,利用所述钩子函数放行所述调用指令。
B14、如B12所述的装置,其中,沙箱中用于阻止内核执行用户空间的代码的保护机制包括:SMEP机制;对所述保护机制进行禁止操作的事件包括:对SMEP机制进行禁止操作的事件;
所述检测处理单元,适于监听对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令;当监听到所述指令时,确定监听到对SMEP机制进行禁止操作的事件。
B15、如B14所述的装置,其中,
所述检测处理单元,适于在对沙箱中的CR4寄存器进行操作的函数上挂载钩子函数;当所述函数被调用时,利用所述钩子函数拦截对所述函数进行调用的指令;如果所拦截的指令指示对CR4寄存器的SMEP位的数据进行修改,确定监听到对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令,利用所述钩子函数强制结束所拦截的指令;否则利用钩子函数放行所拦截的指令。
B16、如B14所述的装置,其中,
所述检测处理单元,适于在沙箱中的Ntoskrnl.exe进程中查找对CR4寄存器进行操作的参考点,在所述参考点上挂载钩子函数;当所述参考点被调起时,利用所述钩子函数拦截相应的调起指令;如果所拦截的调起指令指示对CR4寄存器的SMEP位的数据进行修改,确定监听到对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令,利用所述钩子函数强制结束所拦截的调起指令;否则利用钩子函数放行所拦截的调起指令。
B17、如B15所述的装置,其中,
所述检测处理单元,适于监测沙箱中的调用栈是否为正常调用修改CR4寄存器的指令所在函数的调用栈;如果否,确定监听到对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令。
B18、如B11所述的装置,其中,
所述检测处理单元,进一步适于记录所述目标样本文件在沙箱中运行的运行日志;当确定所述目标样本文件是威胁样本文件时,根据所述目标样本文件在沙箱中运行的运行日志获得所述目标样本文件相关的特征信息;将所述目标样本相关的特征信息放入威胁数据库中。
B19、如B18所述的装置,其中,所述目标样本文件相关的特征信息包括:
目标样本文件的静态特征信息,
和/或,
目标样本文件的行为特征信息。
B20、如B18所述的装置,其中,
所述检测处理单元,进一步适于将所述目标样本相关的特征信息反馈给数据源。

Claims (10)

1.一种目标样本文件的检测方法,其中,包括:
从数据源接收目标样本文件,将所述目标样本文件投放到沙箱中运行;
在所述目标样本文件在沙箱中运行的过程中,监听沙箱中用于阻止内核执行用户空间的代码的保护机制是否失效;
是则,确定所述目标样本文件是威胁样本文件;
否则,确定所述目标样本文件不是威胁样本文件。
2.如权利要求1所述的方法,其中,所述监听沙箱中用于阻止内核执行用户空间的代码的保护机制是否失效包括:
监听对所述保护机制进行禁止操作的事件;
当监听到对所述保护机制进行禁止操作的事件时,确定沙箱中用于阻止内核执行用户空间的代码的保护机制失效。
3.如权利要求2所述的方法,其中,所述监听对所述保护机制进行禁止操作的事件包括:
在对所述保护机制进行操作的函数上挂载钩子函数;
当该函数被调用时,利用所述钩子函数拦截该函数的调用指令;
判断所述调用指令是否指示对所述保护机制进行禁用操作,是则,确定监听到对所述保护机制进行禁止操作的事件,利用所述钩子函数强制结束所述调用指令;否则,利用所述钩子函数放行所述调用指令。
4.如权利要求2所述的方法,其中,沙箱中用于阻止内核执行用户空间的代码的保护机制包括:SMEP机制;对所述保护机制进行禁止操作的事件包括:对SMEP机制进行禁止操作的事件;
所述监听对所述保护机制进行禁止操作的事件包括:
监听对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令;
当监听到所述指令时,确定监听到对SMEP机制进行禁止操作的事件。
5.如权利要求4所述的方法,其中,所述监听对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令包括:
在对沙箱中的CR4寄存器进行操作的函数上挂载钩子函数;
当所述函数被调用时,利用所述钩子函数拦截对所述函数进行调用的指令;
如果所拦截的指令指示对CR4寄存器的SMEP位的数据进行修改,确定监听到对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令,利用所述钩子函数强制结束所拦截的指令;否则利用钩子函数放行所拦截的指令。
6.一种目标样本文件的检测装置,其中,包括:
样本接收单元,适于从数据源接收目标样本文件;
检测处理单元,适于将所述目标样本文件投放到沙箱中运行;在所述目标样本文件在沙箱中运行的过程中,监听沙箱中用于阻止内核执行用户空间的代码的保护机制是否失效;是则,确定所述目标样本文件是威胁样本文件;否则,确定所述目标样本文件不是威胁样本文件。
7.如权利要求6所述的装置,其中,
所述检测处理单元,适于监听对所述保护机制进行禁止操作的事件;当监听到对所述保护机制进行禁止操作的事件时,确定沙箱中用于阻止内核执行用户空间的代码的保护机制失效。
8.如权利要求7所述的装置,其中,
所述检测处理单元,适于在对所述保护机制进行操作的函数上挂载钩子函数;当该函数被调用时,利用所述钩子函数拦截该函数的调用指令;判断所述调用指令是否指示对所述保护机制进行禁用操作,是则,确定监听到对所述保护机制进行禁止操作的事件,利用所述钩子函数强制结束所述调用指令;否则,利用所述钩子函数放行所述调用指令。
9.如权利要求7所述的装置,其中,沙箱中用于阻止内核执行用户空间的代码的保护机制包括:SMEP机制;对所述保护机制进行禁止操作的事件包括:对SMEP机制进行禁止操作的事件;
所述检测处理单元,适于监听对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令;当监听到所述指令时,确定监听到对SMEP机制进行禁止操作的事件。
10.如权利要求9所述的装置,其中,
所述检测处理单元,适于在对沙箱中的CR4寄存器进行操作的函数上挂载钩子函数;当所述函数被调用时,利用所述钩子函数拦截对所述函数进行调用的指令;如果所拦截的指令指示对CR4寄存器的SMEP位的数据进行修改,确定监听到对沙箱中的CR4寄存器的SMEP位的数据进行修改的指令,利用所述钩子函数强制结束所拦截的指令;否则利用钩子函数放行所拦截的指令。
CN201611065424.1A 2016-11-28 2016-11-28 一种目标样本文件的检测方法和装置 Pending CN106713277A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611065424.1A CN106713277A (zh) 2016-11-28 2016-11-28 一种目标样本文件的检测方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611065424.1A CN106713277A (zh) 2016-11-28 2016-11-28 一种目标样本文件的检测方法和装置

Publications (1)

Publication Number Publication Date
CN106713277A true CN106713277A (zh) 2017-05-24

Family

ID=58934086

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611065424.1A Pending CN106713277A (zh) 2016-11-28 2016-11-28 一种目标样本文件的检测方法和装置

Country Status (1)

Country Link
CN (1) CN106713277A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110874303A (zh) * 2018-09-03 2020-03-10 阿里巴巴集团控股有限公司 数据采集方法、装置以及设备
CN110889113A (zh) * 2019-10-30 2020-03-17 泰康保险集团股份有限公司 一种日志分析方法、服务器、电子设备及存储介质
CN112182561A (zh) * 2020-09-24 2021-01-05 百度在线网络技术(北京)有限公司 一种后门的检测方法、装置、电子设备和介质
CN112580116A (zh) * 2019-09-30 2021-03-30 北京国双科技有限公司 一种数据保护方法及装置
US11070573B1 (en) 2018-11-30 2021-07-20 Capsule8, Inc. Process tree and tags

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080163188A1 (en) * 2006-11-10 2008-07-03 Jeffrey Mark Siskind Map-closure: a general purpose mechanism for nonstandard interpretation
CN102663312A (zh) * 2012-03-20 2012-09-12 中国科学院信息工程研究所 一种基于虚拟机的rop攻击检测方法及系统
CN103902885A (zh) * 2014-03-04 2014-07-02 重庆邮电大学 面向多安全等级虚拟桌面系统虚拟机安全隔离系统及方法
CN106055975A (zh) * 2016-05-16 2016-10-26 杭州华三通信技术有限公司 文件检测方法及沙箱

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080163188A1 (en) * 2006-11-10 2008-07-03 Jeffrey Mark Siskind Map-closure: a general purpose mechanism for nonstandard interpretation
CN102663312A (zh) * 2012-03-20 2012-09-12 中国科学院信息工程研究所 一种基于虚拟机的rop攻击检测方法及系统
CN103902885A (zh) * 2014-03-04 2014-07-02 重庆邮电大学 面向多安全等级虚拟桌面系统虚拟机安全隔离系统及方法
CN106055975A (zh) * 2016-05-16 2016-10-26 杭州华三通信技术有限公司 文件检测方法及沙箱

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MJ0011、PGBOY: "Hacking Team攻击代码分析Part5:字体0day第二弹+Win32k KALSR绕过漏洞", 《HTTPS://WWW.FREEBUF.COM/ARTICLES/SYSTEM/72332.HTML》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110874303A (zh) * 2018-09-03 2020-03-10 阿里巴巴集团控股有限公司 数据采集方法、装置以及设备
CN110874303B (zh) * 2018-09-03 2023-05-26 阿里巴巴集团控股有限公司 数据采集方法、装置以及设备
US11070573B1 (en) 2018-11-30 2021-07-20 Capsule8, Inc. Process tree and tags
US11080395B1 (en) 2018-11-30 2021-08-03 Capsule8, Inc. Interactive shell event detection
US11106800B1 (en) * 2018-11-30 2021-08-31 Capsule8, Inc. Detecting kernel exploits
US11720669B1 (en) 2018-11-30 2023-08-08 Capsule8, Inc. Interactive shell event detection
US11943238B1 (en) 2018-11-30 2024-03-26 Capsule8, Inc. Process tree and tags
CN112580116A (zh) * 2019-09-30 2021-03-30 北京国双科技有限公司 一种数据保护方法及装置
CN110889113A (zh) * 2019-10-30 2020-03-17 泰康保险集团股份有限公司 一种日志分析方法、服务器、电子设备及存储介质
CN112182561A (zh) * 2020-09-24 2021-01-05 百度在线网络技术(北京)有限公司 一种后门的检测方法、装置、电子设备和介质
CN112182561B (zh) * 2020-09-24 2024-04-30 百度在线网络技术(北京)有限公司 一种后门的检测方法、装置、电子设备和介质

Similar Documents

Publication Publication Date Title
CN106713277A (zh) 一种目标样本文件的检测方法和装置
CN103559446B (zh) 一种基于安卓系统的设备的动态病毒检测方法和装置
US7587724B2 (en) Kernel validation layer
EP1891520B1 (en) Constraint injection system for immunizing software programs against vulnerabilities and attacks
US9454659B1 (en) Software vulnerabilities detection system and methods
US7877802B2 (en) System and method for proactive computer virus protection
US7603704B2 (en) Secure execution of a computer program using a code cache
US8402547B2 (en) Apparatus and method for detecting, prioritizing and fixing security defects and compliance violations in SAP® ABAP™ code
US20040133777A1 (en) Secure execution of a computer program
US20170017789A1 (en) High Performance Software Vulnerabilities Detection System and Methods
CN107851155A (zh) 用于跨越多个软件实体跟踪恶意行为的系统及方法
US20060053492A1 (en) Software tracking protection system
CN107408176A (zh) 恶意对象的执行剖析检测
CN109255235B (zh) 基于用户态沙箱的移动应用第三方库隔离方法
CN106778243A (zh) 基于虚拟机的内核漏洞检测文件保护方法及装置
CN108604271A (zh) 用于控制有界指针的使用的设备及方法
CN106778242A (zh) 基于虚拟机的内核漏洞检测方法及装置
CN106778244A (zh) 基于虚拟机的内核漏洞检测进程保护方法及装置
CN106682513A (zh) 一种目标样本文件的检测方法和装置
CN106650423A (zh) 一种目标样本文件的检测方法和装置
Kayacik et al. On evolving buffer overflow attacks using genetic programming
CN106650424A (zh) 一种目标样本文件的检测方法和装置
Xu et al. BofAEG: Automated stack buffer overflow vulnerability detection and exploit generation based on symbolic execution and dynamic analysis
Piromsopa et al. Survey of protections from buffer-overflow attacks
CN111475168A (zh) 一种代码编译方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170524