[发明专利]基于数据流分析的恶意攻击检测方法无效
申请号: | 200710049753.1 | 申请日: | 2007-08-14 |
公开(公告)号: | CN101159732A | 公开(公告)日: | 2008-04-09 |
发明(设计)人: | 曹跃;李毅超;刘丹;钱彦江;崔甲 | 申请(专利权)人: | 电子科技大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/24 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 610054四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 数据流 分析 恶意 攻击 检测 方法 | ||
1.基于数据流分析的恶意攻击检测方法,其特征在于包括如下组成部件:
虚拟执行部件:采用反汇编模块生成目标程序汇编指令流,当遇到控制转移指令,或基本块的累计指令数目超出用户定义的范围时,设置为该基本块的结束。然后,虚拟执行部件以虚拟执行的方式执行基本块中的每条指令。
数据标记部件:将任何来自不安全源头的输入数据标记为被感染数据。默认认为来自网络套接字的输入是不安全的,因为对大多数程序来讲网络是最有可能导致攻击的因素。作为扩展,也可以将其它不安全的源头输入标记为被感染数据,如从某些文件或是输入设备输入的数据。
数据追踪部件:在作好感染数据标记工作后,需要将对感染数据的传播进行跟踪,因为受感染数据在被正当使用时,可能造成其他内存的数据也成为感染数据。在此,将追踪因数据移动指令和算术指令导致的数据移动行为和被感染数据。
误用检测部件:正确的标记感染数据,并实时的跟踪感染数据的传播,就能对攻击行为进行检测。检查被感染数据是否如规则所定义的被非法使用。默认规则包含对格式化字符串攻击、改变跳转对象攻击(如返回地址、函数指针、函数指针偏移)的检测。当检测到被感染数据被非法使用,提示可能有攻击发生,并调用漏洞分析部件进一步分析。
漏洞分析部件:感染数据标记和感染数据追踪两个步骤记录的信息展示了感染数据进入系统入口到它如何被非法使用的相关执行路径。通过被感染数据结构跟踪链,可以提供许多信息,包括原始感染数据的输入缓冲区,感染数据被使用时的程序计数器和调用堆栈,实际溢出地点。可以使用这些信息快速分析程序安全漏洞的真实地址和安全漏洞类型。
2.根据权利要求1所述的基于数据流分析的恶意攻击检测方法,其特征在于:所述虚拟执行部件的结构组成包括:反汇编模块,基本块生成模块,基本块缓存模块,基本块预处理模块和虚拟执行模块。反汇编模块将目标二进制代码流转换成汇编指令。基本块生成模块调用反汇编部件,对获取的二进制代码流进行分析,生成不包含控制转移指令的基本块。这就使得目标代码流的所有执行都能够保持在虚拟执行系统的控制范围内。生成的基本块经过执行预处理后,存放在基本块缓存内。只有存在于基本块缓存内的代码指令才能执行,原始的目标代码流不能直接执行。基本块预处理模块为了提升系统的运行性能,采用了基本块结合技术和标准代码忽略技术,以此减小运行时的延迟。
3.根据权利要求1所述的基于数据流分析的恶意攻击检测方法,其特征在于:所述数据追踪部件的追踪指令类型包括:数据移动指令和数据算术指令。对于数据移动指令,源数据是被感染的,目的数据也是被感染的;对于算术指令,任何操作数被感染,其结果也是被感染的。虽然算术指令会影响处理器的条件标志位,但不跟踪标志位是否被感染,因为不安全数据影响这些标志位是很正常的。注意到对于数据移动指令和算术指令来说,代码上的立即数不会认为是感染数据,因为它们要么来自源程序,要么来自编译器,而不是外部输入。
4.根据权利要求1所述的基于数据流分析的恶意攻击检测方法,其特征在于:所述误用检测部件的检测对象包括:跳转地址、格式化字符串使用、系统调用参数等。默认将检查被感染数据是否用于跳转对象,如返回地址、函数指针、函数指针偏移。攻击者试图覆盖这些对象,使程序控制流要么转向攻击者的代码,要么转到程序的另一个地方。在每个控制流转移指令执行前进行监控,保证跳转对象不是感染数据所在的内存地址。默认也检测感染数据是否用于标准函数的格式化字符串参数。攻击者提供恶意的格式化字符串使程序泄露数据,或者让攻击者在选定的内存写入选定的值。可以检测被感染数据在任何时候用于格式化字符串,甚至不包含恶意格式化的情形,这样可以发现先前没有注意到的格式字符串化漏洞。同时,可以检测特殊系统调用的指定参数是否被感染,这可以用于检测某类攻击,被覆盖的数据以后用于系统调用的参数。
5.根据权利要求1所述基于数据流分析的恶意攻击检测方法,其特征在于:
步骤(1),虚拟执行部件启动被监控程序;
步骤(2),当接收到外部输入的数据时,数据标记部件标记数据来源,生成感染数据结构;
步骤(3),数据追踪部件标记传播的被感染数据;
步骤(4),误用检测部件判断被感染数据的使用是否违反安全规则与配置;
步骤(5),若存在攻击,则报警,提示攻击;
步骤(6),漏洞分析部件收集并分析与安全漏洞相关的信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710049753.1/1.html,转载请声明来源钻瓜专利网。