一种基于指令监控的APT高级威胁检测方法技术

技术编号:15653036 阅读:272 留言:0更新日期:2017-06-17 07:01
本发明专利技术公开了一种基于指令监控的APT高级威胁检测方法,通过ExKVM和虚拟机自省库LibVMI实现虚拟机在Hypervisor层级上的识别,达到在虚拟机外部监控虚拟机中恶意代码的运行情况,并使用动态离线污点分析方法来发现漏洞利用攻击;在虚拟机外部,使用#BP地址注入方法进行无入侵的用户层API监控和内核层API执行监控;通过注入Windows内核内存分配函数和内核模块结构操作函数实现内核堆分配的跟踪。通过跟踪记录恶意代码执行中内存与寄存器的写、交换和分支等指令,进行离线污点分析和恶意行为发现。本发明专利技术能有效监测APT攻击中的漏洞利用,提升了恶意样本检测率。

【技术实现步骤摘要】
一种基于指令监控的APT高级威胁检测方法
本专利技术涉及一种基于指令监控的APT高级威胁检测方法。
技术介绍
APT攻击破坏性大、隐蔽性强、技术复杂精密:近年来APT攻击层出不穷,增长趋势呈指数级发展,并逐渐演变成各种社会工程学攻击及各类0day漏洞利用的综合体,成为最具威胁的网络攻击方式。利用各种系统漏洞或软件漏洞进行渗透的恶意代码已成为目前APT攻击的主要手段,而利用或盗用合法的认证签名,利用浏览器漏洞和水坑攻击替代邮件攻击将成为APT攻击发展的趋势,与此同时,攻击者也更注重对虚拟环境的反检测技术,从而躲避安全厂商的动态检测。以APT攻击为代表的未知威胁非常容易击穿传统技术手段组成的网络安全防御体系,其威胁远远大于普通的木马病毒。传统安全防御技术手段基本失效:目前对APT攻击的防御现状来看,传统的安全软件多以防范病毒和木马为主,无法有效防范漏洞攻击。只有当漏洞被黑客大规模攻击时,安全厂商才有机会监测到漏洞。而传统的防火墙、入侵检测、安全网关、杀毒软件和反垃圾邮件系统等检测技术也主要是在网络边界和主机边界进行检测,它们均缺乏对未知攻击的检测能力和对流量的深度分析能力。这种滞后响应的方式已经无法适应新的安全形势。
技术实现思路
为了克服现有技术的缺点,本专利技术提供了一种基于指令监控的APT高级威胁检测方法,针对APT攻击中的恶意代码检测,主要解决以下技术问题:(1)漏洞利用检测:传统杀毒软件等安防技术手段大多通过特征或是启发式方法对恶意样本进行特征匹配检测,恶意代码通过加壳、加密以及其他一些免杀手段很难被传统安防手段检测。此外现有沙箱技术大多使用APIHook和Rootkit技术对函数调用进行监测,但是很难监测到通过精心构造指令集发起的漏洞利用。(2)反虚拟机检测:现有大多检测技术都使用APTHook和Rootkit技术,因此必定在虚拟机中遗留分析监控程序痕迹,恶意代码可以通过检测函数是否被Hook、是否存在特定的监控程序等方法来破坏Hook/Rootkit、或是直接不触发恶意行为以逃避检测。(3)通过代理方式运行恶意代码易被检测:现有系统大多都是通过代理程序把恶意样本拷贝到虚拟机,然后再触发样本执行,因此恶意软件可以检测代理程序的特征,如进程、端口、通信等行为,判断是否运行在虚拟环境,从而进行检测逃避。本专利技术所采用的技术方案是:一种基于指令监控的APT高级威胁检测方法,包括如下内容:(一)通过ExKVM和开源虚拟机自省库LibVMI实现虚拟客户机在Hypervisor层上的识别,达到在虚拟机外部监控虚拟客户机中恶意代码的运行;(二)使用动态离线污点分析方法来发现漏洞利用攻击;(三)监控恶意代码运行:(1)监控系统调用和内核执行:在虚拟客户机外部,使用#BP地址注入方法进行无入侵的用户层API监控和内核层API执行监控;(2)内核Rootkit攻击处理:通过#BP地址注入Windows内核内存分配函数和内核模块结构操作函数实现内核堆分配的跟踪;(3)无代理运行恶意代码:通过注入劫持虚拟机中运行的任意进程来启动恶意代码或应用程序。与现有技术相比,本专利技术的积极效果是:(1)有效监测APT攻击中的漏洞利用:本专利技术基于硬件虚拟化技术,结合监控特殊指令运行、污点分析和漏洞利用行为检测算法,能够有效地检测未知漏洞和已知漏洞的触发和利用行为,解决了APT检测的关键性问题。(2)高效可扩展:本专利技术结合硬件虚拟化和ExKVM,大大提高了虚拟机监控运行恶意代码的效率;并且ExKVM原生基于KVM,也继承了KVM的高可靠性和扩展性,提升了恶意样本分析效率。(3)高隐蔽性:本专利技术的所有监控和分析程序位于虚拟机管理层,增加了恶意代码反虚拟检测的难度,避免了恶意代码对监控程序的破坏,提升了自身的安全性和可靠性。附图说明本专利技术将通过例子并参照附图的方式说明,其中:图1为本专利技术的系统架构图;图2为ExKVM初始化流程图;图3为虚拟机自省模型结构示意图;图4为无代理模式启动恶意代码或应用流程图。具体实施方式本专利技术提出的一种新的基于指令级监控的APT高级威胁检测方法,应用KVM虚拟化和Intel硬件虚拟化技术(Intel-VT),对APT攻击中的恶意代码进行函数(API)级和指令级行为监控的深度分析;并使用污点分析和其它漏洞检测方法从根源上有效检测未知和已知漏洞利用行为。本专利技术具有高度可扩展、隐蔽性强和数据高度保真等特点。一、本专利技术的总体架构如图1所示,主要模块包括:自定义的ExKVM(扩展的KVM)、多个虚拟机、虚拟机自省(LibVMI)、污点分析、运行监控和行为日志数据分析模块。本专利技术的设计目标是能够深入高效地动态分析APT攻击中的各种恶意代码,并且最大限度降低被恶意代码发现的概率,其具有高性能可扩展、数据收集完整真实性、隐蔽性和虚拟执行独立性。(一)高性能可扩展目前恶意样本分析面临巨大的性能瓶颈,即动态仿真分析恶意样本的速度远落后于恶意代码增长的速度。本专利技术中的ExKVM基于原生KVM自定义扩展开发而来,使其保留了原有充分利用IntelVT进行处理器和内存虚拟化的优势,又具有支持客户机暂停、内存读写执行、寄存器读写、中断和单步跟踪的事件机制。ExKVM充分利用Intel的处理器虚拟化(VT-x)和直接I/O访问虚拟化(VT-d)技术,使得虚拟机的运行速度接近真机运行,很大程度上提升了恶意代码动态运行的性能。ExKVM初始化流程如图2所示。本专利技术使用QEMU设备的模拟解析运行,主要模拟磁盘和网络设备等外围设备,充分发挥QEMU写时复制技术(CoW),使用qcow2格式的磁盘文件,只有在数据发生变化时才会把数据写入磁盘,极大地提高了多虚拟机并发运行带来的磁盘开销。(二)虚拟机自省本专利技术使用自定扩展的KVM(ExKVM)和开源虚拟机自省库LibVMI实现虚拟客户机到Hypervisor层的语义识别,以此达到在虚拟机外部监控虚拟机客户机中恶意代码的运行。虚拟机自省模型结构如图3所示:原生KVM主要负责CPU虚拟化和内存管理的虚拟化,对虚拟机事件的处理并没有开发外置接口,不能满足通过LibVMI在外部完全掌握虚拟机的运行情况,因此本专利技术独创性的结合Linux系统事件跟踪模块、增加硬件虚拟化指令(VMEnter,VMExit,VMExecution等)的处理扩展KVM的功能即ExKVM,使其能够更全面的支持虚拟机自省的需求。通过ExKVM和LibVMI,可以监控虚拟机的内存操作、寄存器操作和对虚拟CPU(vCPU)指令执行进行单步跟踪,为后续污点分析提供接口支持。(三)污点分析本专利技术使用动态离线污点分析的方法来发现漏洞利用特别是0day的利用攻击。整个污点分析主要分为三个关键部分:污点标记、恶意代码执行轨迹记录和轨迹重放污点分析。(1)污点标记:通过#BP地址注入的形式Hook文件系统调用、网络系统调用来标记污点源;(2)执行轨迹跟踪:依赖于ExKVM和LibVMI,跟踪记录执行轨迹中的内存和寄存器的写、交换,jmp、call、ret等程序分支指令的执行(地址、指令参数);(3)回放(2)中记录的执行轨迹,进行污点分析:当jmp、call、ret等分支指令的目的地址是污点时,则标记为疑似恶意行为;深入污点目的地址附件数据:指令特征扫描、字本文档来自技高网...
一种基于指令监控的APT高级威胁检测方法

【技术保护点】
一种基于指令监控的APT高级威胁检测方法,其特征在于:包括如下内容:(一)通过ExKVM和虚拟机自省库LibVMI实现在Hypervisor层级上的虚拟机执行行为识别,达到在虚拟机外部监控虚拟机中恶意代码的运行;(二)使用动态离线污点分析方法来发现漏洞利用攻击;(三)监控恶意代码运行:(1)监控系统调用和内核执行:在虚拟机外部,使用#BP地址注入方法进行无入侵的用户层API监控和内核层API执行监控;(2)内核Rootkit攻击处理:通过#BP地址注入Windows内核内存分配函数和内核模块结构操作函数实现内核堆分配的跟踪;(3)无代理运行恶意代码:通过注入劫持虚拟机中运行的任意进程来启动恶意代码或应用程序。

【技术特征摘要】
1.一种基于指令监控的APT高级威胁检测方法,其特征在于:包括如下内容:(一)通过ExKVM和虚拟机自省库LibVMI实现在Hypervisor层级上的虚拟机执行行为识别,达到在虚拟机外部监控虚拟机中恶意代码的运行;(二)使用动态离线污点分析方法来发现漏洞利用攻击;(三)监控恶意代码运行:(1)监控系统调用和内核执行:在虚拟机外部,使用#BP地址注入方法进行无入侵的用户层API监控和内核层API执行监控;(2)内核Rootkit攻击处理:通过#BP地址注入Windows内核内存分配函数和内核模块结构操作函数实现内核堆分配的跟踪;(3)无代理运行恶意代码:通过注入劫持虚拟机中运行的任意进程来启动恶意代码或应用程序。2.根据权利要求1所述的一种基于指令监控的APT高级威胁检测方法,其特征在于:所述动态离线污点分析方法包括:(1)污点标记:通过#BP地址注入的形式Hook文件系统调用、网络系统调用来标记污点源;(2)执行轨迹跟踪:依赖于ExKVM和LibVMI,跟踪记录执行轨迹中的内存和寄存器的写、交换和程序分支指令的执行;(3)当程序分支指令的目的地址是污点时,则标记为疑似恶意行为;深入污点目的地址附件数据,对指令特征和字符串扫描,若匹配则产生可疑恶意行为报警。3.根据权利要求1所述的一种基于指令监控的APT高级威胁检测方法,其特征在于:通过注入劫持虚拟机中运行的任意进程来启动恶意代码或应用程序的流程为:1)在虚拟机启动时监控CR3寄存器;2)从CR3寄存器中获取启动进程的上下文,查询加载了kernel32.dll模块的进程procA;3)当procA执行到用户层时,陷入监控程序:...

【专利技术属性】
技术研发人员:孙成胜魏勇魏涌涛
申请(专利权)人:中国电子科技网络信息安全有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1