著录项信息
专利名称 | 一种监控与清除广义未知病毒的方法 |
申请号 | CN200710030108.5 | 申请日期 | 2007-09-05 |
法律状态 | 撤回 | 申报国家 | 中国 |
公开/公告日 | 2008-07-23 | 公开/公告号 | CN101226570 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F21/00 | IPC分类号 | G06F21/00查看分类表>
|
申请人 | 江启煜 | 申请人地址 | 广东省广州市白云区机场路12号广州中医药大学学生宿舍2栋***
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 江启煜 | 当前权利人 | 江启煜 |
发明人 | 江启煜 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
本发明涉及一种监控与清除广义未知病毒的方法,即通过大量计算机病毒的分析研究,归纳出由若干行为因子组成的基本病毒行为,确定出每个行为因子与每个基本病毒行为的特异性,构造出一个特异性可调节性病毒行为数据库,该数据库用于判断一个程序是否属于病毒;同时根据发生了伪病毒行为的正常程序构造出可调节性正常程序伪病毒行为数据库,该数据库用于判断一个程序是否属于正常程序。并且对上述方法监测出的病毒进行病毒分类与处理。本发明能够提高识别未知病毒的特异性,减少行为分析的误报率,保证病毒行为特异性的可调节性,增加能够识别未知病毒的数量与范围。与现有计算机病毒监控技术相比,有明显优势。
1.一种监控与清除广义未知病毒的方法,其特征在于:
通过大量计算机病毒的分析研究,归纳出由若干行为因子组成的基本病毒行为,确定出 每个行为因子与每个基本病毒行为的特异性,构造出一个特异性可调节性病毒行为数据库, 该数据库主要用于判断一个程序是否属于病毒;同时根据发生了“伪病毒行为”的正常程序 构造出可调节性正常程序伪病毒行为数据库,该数据库主要用于判断一个程序是否属于正常 程序。并且对上述方法监测出的病毒进行病毒分类与处理;
在本发明中,广义上的未知病毒包括一切传统意义上的病毒,木马,蠕虫,间谍程序, 恶意程序,流氓程序,以及行为异常的正常程序;
在本发明中,计算机病毒行为是指大部分计算机病毒共有的,正常程序极少发生的若干 个非线性指令序列及其参数的集合;伪病毒行为是指正常程序在没有受到病毒感染的情况下 触发的病毒行为集合中的行为,伪病毒行为仅针对于正常程序而言;行为因子是指一个关键 的指令及其参数的组合;
在本发明中,临界调定点分为内部调定点与外部调定点,内部调定点是各行为因子对其 构成的一个行为的特异性的调定点,外部调定点是一个行为在整个行为数据库中的特异性的 调定点;内部调定点与外部调定点可自定义或动态调节。
2.按照权利要求1所述,监控与清除广义未知病毒的方法,其特征在于:
特异性可调节性病毒行为数据库包括指令结构,参数组合,文件特征结构,发生环境结 构,调定点参数结构,病毒行为序号;文件特征结构包括文件属性,PF文件入口,文件大小; 指令结构包括指令集合,指令顺序,各行为因子特异性值,指令执行次数域值;调定点参数 结构包括外部调定点极限值,内部调定点极限值,该病毒行为特异性值;发生环境结构为保 留值;
可调节性正常程序伪病毒行为数据库包括文件特征结构,特征码结构,伪病毒行为序号, 发生环境结构;文件特征结构包括文件属性,PE文件入口,文件大小;特征码结构包括第一 采样偏移位置,第一采样特征码,第二采样偏移位置,第二采样特征码;发生环境结构包括 发生P1前的第一条指令,发生P1前的第二条指令,发生P1前的第三条指令,远程线程计 数。
3.按照权利要求1所述,监控与清除广义未知病毒的方法,其特征在于,其过程步骤为:
(1)可调节性病毒行为数据库的构造:
1)基本病毒行为集合的确定;
2)通过一个行为因子在较大病毒样本数中出现的频率确定其对某个病毒行为的特异性,内 部调定点用于控制一个病毒行为的内部特异性,设定一个内部调定点极限值;
3)通过一个病毒行为在较大病毒样本数中出现的频率确定该病毒行为在病毒行为集合中的 特异性,外部调定点用于控制整个病毒行为集合的特异性,设定一个外部调定点极限值;
4)将一个抽象的病毒行为转化为相应的数据库记录,一条记录包括序列指令,参数组合, 文件特征,发生环境,调定点参数,病毒行为序号;
(2)可调节性正常程序伪病毒行为数据库的构造:
1)根据每个病毒行为的内部调定点极限值对大样本的正常程序进行病毒行为数据库的行为 测试,将发生伪病毒行为的正常程序进行记录;
2)建立数据库记录,一条记录包括发生伪病毒行为的正常程序的特征码与偏移位置组合, 文件特征,发生环境,伪病毒行为序号;
(3)一个程序的监控过程:记录一个程序的关键API指令及其参数,根据可调节性病毒行为 数据库与可调节性正常程序伪病毒行为数据库判定其是否病毒或者是否正常的程序受到了病 毒的修改或控制;
(4)发现一个病毒的分类:根据病毒行为指令临时记录数据库查询该程序在发生病毒行为的 行为因子,对各行为因子所属病毒类别的各个权值求总和,最大者即为所属类别;如果有两 个或者以上的类别的总权值相同,同时属于多个类别;
(5)发现一个病毒的处理:
1)尝试终止其进程:对于一般的病毒,直接在操作系统内核态终止其进程,如果该进程是 系统进程模块或者是被病毒修改或控制的正常程序则阻止病毒行为指令的执行;
2)智能处理与用户交互:在输出到用户态与用户交互之前通过智能模块的处理计算出最佳 操作,用户只需要确定即可完成处理,当然用户也可以选择其它处理方式;
4.按照权利要求3所述,基本病毒行为集合,其特征在于:
基本病毒行为包括:
1)一个程序模块释放出一些执行体,其中至少有一个执行体冒充系统文件;
2)一个程序模块释放出一些执行体,其中至少有一个执行体具有隐蔽性质;
3)一个程序模块释放出一些执行体,其中至少将其中一个执行体写进注册表关键启动 项(正常程序几乎不会写进这些位置);
4)一个程序模块释放出一些执行体,其中至少将其中一个执行体写进注册表常规启动 项;
5)一个程序模块在后台开始激活时对系统程序进行远程线程插入;
6)一个程序模块尝试多次对其它程序进行远程线程插入;
7)一个程序模块连续尝试多次创建或激活同一个执行体;
8)一个程序模块连续尝试多次写进同一个注册表启动项;
9)一个程序模块释放出一些执行体,在后台至少为其中一个执行体创建系统服务,该 服务路径位于WINDOWS系统关键文件夹内,并马上启动该系统服务;
10)一个程序模块释放出一些执行体,尝试后台激活其中一个执行体,并且该执行体 路径位于WINDOWS系统关键文件夹内;
11)一个程序模块释放出一些执行体,并马上激活与自身大小相同的一个执行体;
12)一个程序模块复制出多个与自身大小相同的可执行体;
13)一个程序模块尝试创建一个AUTORUN配置文件,并将自身复制到驱动器根目录下;
14)一个程序模块多次调用搜索函数,并选择性地对可执行文件进行写操作;
15)一个程序模块尝试HOOK相关API函数对自身及其释放的执行体进行保护;
16)一个程序模块以后台模式打开多个IE或者CMD进程;
17)一个程序模块以后台模式尝试修改其它进程模块的内存代码空间;
18)一个程序模块以后台模式进行FTP或者TELNET或者WWW服务;
5.按照权利要求1所述,行为因子与病毒行为的特异性,其特征在于:
一个行为因子的特异性的计算方法为:一个病毒行为包括构成行为必要条件的必要行为 因子与非必要行为因子,必要行为因子的特异性为内部调定点极限值,其等于行为因子数目 的倒数,根据非必要行为因子在一个病毒行为中出现的频率进行排序,以内部调定点极限值 为基数,一个行为因子的特异性为其排序的顺序与该基数之积;
一个病毒行为的特异性的计算方法为:根据病毒行为在较大病毒样本数出现的频率与其 在较大正常程序样本数出现的频率之比进行排序,外部调定点极限值等于基本病毒行为数目 的倒数,以外部调定点极限值为基数,一个病毒行为的特异性为其排序的顺序与该基数之积。
6.按照权利要求3所述,一个程序的监控过程,其特征在于,其步骤包括:
1)如果程序调用关键指令,将关键指令及其参数记录到病毒行为指令临时记录数据库,
并且判断是否触发可调节性病毒行为数据库中的记录,如果是,进入第2)步;
2)根据当前调定点判断是否构成病毒行为。如果是,进入第3)步;
3)判断是否在可调节性正常程序伪病毒行为数据库存在该文件的记录,如果是,进入第 4)步,否则直接进入第5)步;
4)根据相应记录中的发生环境与伪病毒行为序号判断该程序是否被病毒修改或控制,如 果相应记录中的发生环境与伪病毒行为序号与该程序相同,说明该程序没有被病毒修改 或控制,只是正常程序发生的伪病毒行为,否则,说明该正常程序被病毒修改或控制, 进入第5)步;
5)进入病毒的分类与处理阶段。
7.按照权利要求3所述,一个病毒的分类,其特征在于:
广义病毒的分类包括传统病毒,木马程序,蠕虫程序,恶意程序,间谍程序,流氓程序;
传统病毒主要表现为感染可执行文件:如果行为因子是写文件,并且参数对象是可执行 文件,或者行为因子是将文件映射进内存,并且参数是可执行文件与可写性,此时的行为因 子对“传统病毒”类的权值为1,对其它类型的权值为0;
木马程序主要表现为对外连接端口发送与接受数据:如果行为因子调用了连接端口的接 口函数,此时的行为因子对“木马程序”类的权值为1,对其它类型的权值为0;
蠕虫程序主要表现为自我复制性:如果行为因子是写文件,并且参数对象是与自身大小 相同的可执行文件,此时的行为因子对“蠕虫程序”类的权值为0.5,对其它类型的权值为 0.1;
恶意程序主要表现为执行高危指令:如果行为因子是强行终止进程,并且参数是系统关 键进程;或者行为因子是删除注册表项值,并且参数是系统关键项值;或者行为因子是删除 文件,并且参数是关键系统文件,此时的行为因子对“恶意程序”类的权值为1,对其它类 型的权值为0;
间谍程序主要表现为数据偷窃性:如果行为因子是建立系统范围钩子;或者行为因子是 写文件,并且参数是来源于可移动设备的文件,此时的行为因子对“间谍程序”类的权值为 1,对其它类型的权值为0;如果行为因子是建立远程线程,并且参数不是系统程序,此时的 行为因子对“间谍程序”类的权值为0.5,对其它类型的权值为0.1;
流氓程序主要表现为自我保护性:如果行为因子是挂钩(HOOK)删除文件API,或者行 为因子是挂钩(HOOK)结束进程API,或者行为因子是挂钩(HOOK)删除注册表项值API,此 时的行为因子对“流氓程序”类的权值为1,对其它类型的权值为0;
其它的行为因子对六种病毒类型的权值均为16%(100%/6取整数值);
对各行为因子所属病毒类别的各个权值求总和,最大者即为所属类别,如果有两个或者 以上的类别的总权值相同,同时属于多个类别。
8.按照权利要求3所述,智能处理模块,其特征在于:
智能处理模块主要根据可疑病毒的文件特征来确定最佳操作;对于文件具有隐藏属性或 者冒充系统文件或者既有多个PE文件头,这些特征使得可疑程序属于病毒的可能性大大增 加,此时智能处理模块推荐的最佳操作是清除。对于是系统关键进程,智能处理模块将会禁 用清除与结束进程操作,防止系统崩溃;对于可疑文件的路径处于程序的安装文件夹,智能 处理模块推荐的最佳操作是允许,其它情况推荐的最佳操作是拒绝。
9.按照权利要求3所述,判断是否触发可调节性病毒行为数据库中的记录,其特征在于:
当一个程序模块激活,调用一个关键的API时,病毒行为指令临时记录数据库将会增加或 者改写一条记录,将该记录与可调节性病毒行为数据库中的记录进行比较;如果该记录中的 行为因子集合构成的特异性大于等于可调节性病毒行为数据库某一条记录中的内部调定点极 限值,则为触发可调节性病毒行为数据库中的记录。
10.按照权利要求3所述,根据当前调定点判断是否构成病毒行为,其特征在于:
如果病毒行为指令临时记录数据库中的某条记录触发了一条可调节性病毒行为数据库中的 记录,判断被触发的病毒行为记录的特异性是否大于等于外部调定点,如果是,继续判断病 毒行为指令临时记录数据库中的可疑病毒记录的行为因子集合构成的特异性是否大于等于被 触发的病毒行为记录的内部调定点,如果是,判定其发生病毒行为。
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2008-10-20 | 2008-10-20 | | |
2 | | 2010-04-12 | 2010-04-12 | | |
3 | | 2012-12-21 | 2012-12-21 | | |
4 | | 2014-11-20 | 2014-11-20 | | |
5 | | 2012-12-21 | 2012-12-21 | | |
6 | | 2012-10-17 | 2012-10-17 | | |
7 | | 2012-10-14 | 2012-10-14 | | |
8 | | 2014-06-27 | 2014-06-27 | | |
9 | | 2012-05-25 | 2012-05-25 | | |
10 | | 2013-11-29 | 2013-11-29 | | |
11 | | 2012-08-23 | 2012-08-23 | | |
12 | | 2011-11-29 | 2011-11-29 | | |
13 | | 2016-02-19 | 2016-02-19 | | |
14 | | 2012-11-29 | 2012-11-29 | | |
15 | | 2011-10-28 | 2011-10-28 | | |
16 | | 2012-10-14 | 2012-10-14 | | |
17 | | 2010-04-12 | 2010-04-12 | | |
18 | | 2016-05-24 | 2016-05-24 | | |
19 | | 2013-03-04 | 2013-03-04 | | |
20 | | 2013-02-06 | 2013-02-06 | | |
21 | | 2012-05-25 | 2012-05-25 | | |
22 | | 2012-08-23 | 2012-08-23 | | |
23 | | 2014-12-19 | 2014-12-19 | | |
24 | | 2012-10-17 | 2012-10-17 | | |
25 | | 2013-11-29 | 2013-11-29 | | |