[发明专利]基于虚拟执行的攻击代码检测方法无效
申请号: | 201110209570.8 | 申请日: | 2011-07-25 |
公开(公告)号: | CN102223384A | 公开(公告)日: | 2011-10-19 |
发明(设计)人: | 林九川;杭强伟;赵帅;宋铮;姚伟 | 申请(专利权)人: | 公安部第三研究所 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;G06F21/00 |
代理公司: | 上海天翔知识产权代理有限公司 31224 | 代理人: | 刘粉宝 |
地址: | 200031*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 虚拟 执行 攻击 代码 检测 方法 | ||
技术领域
本发明涉及一种网络信息安全技术,具体涉及一种网络攻击代码检测方法。
背景技术
缓冲区溢出攻击是近年来最主要的安全问题之一,攻击者利用缓冲区溢出漏洞来执行远程代码,从而达到攻击的目的。
Shellcode作为一段用来发送到攻击目标的代码,常常是缓冲区溢出攻击的载体。因此Shellcode检测是缓冲区溢出攻击检测的有效手段。
传统的Shellcode检测技术可以分为静态和动态两种。静态的检测方式是从数据流中提取出特征,然后根据特征去判断是否有Shellcode存在,如基于签名的检测工具Snort和Bro等,动态的检测方法一般采用模拟执行。
随着多态技术在攻击代码上的应用,静态的检测技术在检测成功率上逐渐显示出不足。而动态的虚拟执行的方式对使用了多态技术的Shellcode有很好的检测效果,但是在检测速度上有一些不足。
由此,提供一种效率高、检测成功率高的检测方法是本领域亟需解决的技术问题。
发明内容
本发明针对现有Shellcode检测技术所存在的不足,而提供了一种基于虚拟执行的攻击代码检测方法,该方法能够达到很好的防御目的。
为了达到上述目的,本发明采用如下的技术方案:
基于虚拟执行的攻击代码检测方法,所述检测方法将网络字节流放到虚拟机中受控执行,监测其执行过程,根据执行过程中出现的特征判断是否存在攻击代码。
在本发明的优选实例中,所述检测方法的具体步骤如下:
(1)对网络字节流进行扫描并判断是否存在重定位指令;
(2)扫描到重定位指令后,初始化虚拟机,从重定位指令开始将网络字节流放入虚拟机中受控执行;
(3)虚拟执行过程中,动态地监测虚拟执行的状态,根据判决条件判断是否存在攻击代码。
进一步的,所述虚拟机是一个填充了nop指令的进程,加载地址可配置。
进一步的,所述步骤(3)通过以下判决条件进行判断:
(1)虚拟执行步长是否达到阈值;
(2)网络字节流自身改变量是否达到阈值;
(3)虚拟执行过程中是否出现访问kernel32基地址的指令。
本技术方案首先通过查找重定位指令确定虚拟执行的开始地址,然后将网络字节流放到虚拟机中受控执行,并监测其执行过程。通过对使用了多态技术的Shellcode进行特征的提取,如果在执行过程中发现了符合该特征的网络数据流,则判定Shellcode存在。
通过该检测方法能够快速、高成率的检测网络攻击代码,能够达到缓冲区溢出攻击防御的目的,尤其是当Shellcode使用了多态技术,有比较好的检测效果。
附图说明
以下结合附图和具体实施方式来进一步说明本发明。
图1为本发明的原理框图;
图2为本发明实施的流程图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
本发明提供的基于虚拟执行的攻击代码检测方法采用动态虚拟执行技术,包括如下步骤:
(1)对网络字节流进行扫描并判断是否存在重定位指令;
(2)扫描到重定位指令后,初始化虚拟机,从这条指令开始将网络字节流放入虚拟机中受控执行,该步骤中的虚拟机是一个填充了nop指令的进程,加载地址可配置;
(3)虚拟执行过程中,动态地监测虚拟执行的状态,根据判决条件判断是否存在攻击代码,判决条件包含如下3个:
(1)虚拟执行步长是否达到阈值;
(2)网络字节流自身改变量是否达到阈值;
(3)虚拟执行过程中是否出现访问kernel32基地址的指令。
以上3个特征符合的越多,则表明出现Shellcode的概率越大。
基于上述方案,本发明的具体实施如下(参见图1和图2):
第1步,由监控模块调用重定位扫描模块对网络字节流进行重定位指令的扫描,查看其中是否包含e8(call)、9b(fstenv)、d9(fnstenv)这样的指令。
第2步,当检测到重定位指令时,监控模块会调用初始化虚拟机模块初始化虚拟机。
第3步,然后从连续数据流中读取下一条指令并调用验证模块判断读取的指令是否合法,如果出现跳转指令目的地址不在允许范围内、写指令地址不在允许范围内、int指令等等则指令不合法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于公安部第三研究所,未经公安部第三研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110209570.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种伺服电机用转子冲片
- 下一篇:电流三相联动切换装置