系统恶意程序检测方法及装置制造方法

文档序号:6488508阅读:122来源:国知局
系统恶意程序检测方法及装置制造方法
【专利摘要】本发明公开一种系统恶意程序检测方法及装置,其方法包括:遍历系统内核空间,获取活跃的驱动程序列表;从驱动程序列表中取出驱动程序,获取驱动程序信息;基于驱动程序信息将所述驱动程序与预先建立的恶意代码特征库中的特征组合进行特征匹配,以检测驱动程序是否为恶意程序。本发明在驱动级检查系统内核的安全状况,检测系统的关键调用路径是否被顽固恶意程序篡改与破坏,并进一步对Rootkit木马等恶意程序选择对应的清除修复策略进行清除修复,具有针对性强、误报率低、修复准确、防止重复感染的特点,能彻底清除Rootkit类木马,且保证用户系统的正常使用,极大的提高了系统的安全性。
【专利说明】系统恶意程序检测方法及装置
【技术领域】
[0001]本发明涉及互联网及网络安全【技术领域】,尤其涉及一种针对Rootkit类顽固木马的系统恶意程序检测方法及装置。
【背景技术】
[0002]目前,一些恶意木马利用游戏外挂、视频播放器捆绑或者伪装成系统软件等方式在用户系统上安装木马,释放内核驱动,通过驱动来破坏安全软件的防护功能,阻止安全软件对该木马的相关文件、注册表项的扫描操作,保护木马进程不被安全软件结束,从而在用户电脑上安全的隐蔽下来,给用户造成木马反复清除不掉的严重后果。
[0003]随着木马病毒、恶意软件的大肆泛滥,各种安全软件越来越重视自身的主动行为防御能力,旨在木马发作前拦截木马的恶意行为,从而保护用户的系统免受破坏。在这种形势下,一些木马作者为了对抗安全软件的主动防御,使用欺骗、伪装等方式诱导用户放过主动防御对木马文件的拦截,然后释放内核驱动,在内核级与安全软件展开对抗。这样,当木马具备了驱动级能力之后,通常能够达到防止木马文件被安全软件识别、防止木马进程被安全软件终止的目的。
[0004]Rootkit类木马是一种内核级木马技术,其使用内核驱动隐藏自身,对抗安全软件,达到破坏用户系统的目的。
[0005]目前,针对Rootkit类顽固木马,安全软件的应对方法主要有主动防御和文件扫描两种,其中:
[0006]主动防御是安全软件用于对付Rootkit类木马的最通用做法,当检测到内核驱动即将在用户机器上释放或执行时,会触发安全软件的检测逻辑,包括驱动释放者的可信度、驱动文件自身的可信度,如果无法确定驱动文件是否安全,安软将会弹出问询窗口由用户决策对该驱动的放行或阻止。
[0007]文件扫描是指查询用户系统上安装的内核驱动,对这些内核驱动对应的文件体进行特征码扫描,以识别文件的安全性。
[0008]但是,上述两种传统技术方案在应对Rootkit类木马时存在以下缺陷:
[0009]在主动防御方案中,当对驱动释放者和驱动文件本身进行的可信度检测未果时,需要询问用户的意见,但是用户不具备准确判定驱动程序是否可信的专业知识,且这些木马文件会依附于游戏外挂、专用播放器中,用户多会选择放行,因此木马漏过的几率极高。
[0010]在文件扫描方案中,由于Rootkit类木马运行在内核级,具备对整个系统的完全控制权,能够轻易的对系统内核进行篡改,因此可以很容易的躲避杀毒软件对木马文件的扫描,或者阻止扫描程序的启动,造成杀毒软件无法扫到木马的假象。
[0011]因此,现有的Rootkit防范方法虽然能够应对一部分内核级木马,但是出现漏毒、无法识别隐蔽木马的可能性高,导致木马检测准确率不高。

【发明内容】
[0012]本发明的主要目的在于提供一种系统恶意程序检测方法及装置,旨在提高系统安全性。
[0013]为了达到上述目的,本发明提出一种系统恶意程序检测方法,包括:
[0014]遍历系统内核空间,获取活跃的驱动程序列表;
[0015]从所述驱动程序列表中取出驱动程序,获取驱动程序信息;
[0016]基于所述驱动程序信息将所述驱动程序与预先建立的恶意代码特征库中的特征组合进行特征匹配,以检测所述驱动程序是否为恶意程序。
[0017]本发明还提出一种系统恶意程序检测装置,包括:
[0018]驱动程序列表获取模块,用于遍历系统内核空间,获取活跃的驱动程序列表;
[0019]驱动程序信息获取模块,用于从所述驱动程序列表中取出驱动程序,获取驱动程序信息;
[0020]检测模块,用于将所述驱动程序信息与预先建立的恶意代码特征库中的特征组合进行特征匹配,以检测所述驱动程序是否为恶意程序。
[0021]本发明提出的一种系统恶意程序检测方法及装置,通过获取系统内核空间内活跃的驱动程序,将驱动程序信息与恶意代码特征库中的特征组合进行特征匹配,以检测该驱动程序是否为恶意程序,由此在驱动级检查系统内核的安全状况,检测系统的关键调用路径是否被顽固恶意程序篡改与破坏,并进一步对Rootkit木马等恶意程序选择对应的清除修复策略进行清除修复,极大的提高了系统恶意程序的检测准确率,进而提高了系统的安全性。
【专利附图】

【附图说明】
[0022]图1是本发明系统恶意程序检测方法第一实施例的流程示意图;
[0023]图2是本发明系统恶意程序检测方法第一实施例中基于所述驱动程序信息将所述驱动程序与预先建立的恶意代码特征库中的特征组合进行特征匹配,以检测所述驱动程序是否为恶意程序的流程示意图;
[0024]图3是本发明系统恶意程序检测方法第二实施例的流程示意图;
[0025]图4是本发明系统恶意程序检测方法第三实施例的流程示意图;
[0026]图5是本发明系统恶意程序检测装置第一实施例的结构示意图;
[0027]图6是本发明系统恶意程序检测装置第一实施例中检测模块的结构示意图;
[0028]图7是本发明系统恶意程序检测装置第二实施例的结构示意图;
[0029]图8是本发明系统恶意程序检测装置第二实施例中修复模块的结构示意图;
[0030]图9是本发明系统恶意程序检测装置第三实施例的结构示意图。
[0031]为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
【具体实施方式】
[0032]本发明实施例的解决方案主要是:获取系统内核空间内活跃的驱动程序,将驱动程序信息与恶意代码特征库中的特征组合进行特征匹配,在驱动级检查系统内核的安全状况,检测系统的关键调用路径是否被顽固恶意程序篡改与破坏,并进一步对Rootkit木马等恶意程序选择对应的清除修复策略进行清除修复,以提高系统恶意程序的检测准确率,提高系统的安全性。
[0033]如图1所示,本发明第一实施例提出一种系统恶意程序检测方法,包括:
[0034]步骤S101,遍历系统内核空间,获取活跃的驱动程序列表;
[0035]本实施例使用内核特征检测技术对系统内核进行安全性扫描,绕过常规的系统调用路径,以解决扫描驱动文件会被Rootkit木马等恶意程序躲避的问题。
[0036]首先,遍历系统内核空间,获取系统内核空间内所有活跃的驱动程序列表,以便对驱动程序列表中的各驱动程序进行检测。
[0037]步骤S102,从所述驱动程序列表中取出驱动程序,获取驱动程序信息;
[0038]从驱动程序列表中依次取出一个驱动程序开始进行检测,获取该驱动程序信息,包括该驱动程序的内存起始地址、驱动程序大小、该驱动程序创建的设备名称等。
[0039]步骤S103,基于所述驱动程序信息将所述驱动程序与预先建立的恶意代码特征库中的特征组合进行特征匹配,以检测所述驱动程序是否为恶意程序。
[0040]本实施例预先建立有恶意代码特征库,恶意代码特征库中存储有通过对预先收集到的恶意类样本进行特征提取获取的特征组合,每一特征组合分配有唯一的一个规则ID。
[0041]恶意代码特征库中存储的特征组合用于与系统内核空间内的驱动程序进行特征匹配,以检测所述驱动程序是否为恶意程序。
[0042]在进行特征匹配时,首先根据所述驱动程序信息中的驱动程序的内存起始地址、驱动程序大小获取所述驱动程序的自身代码特征;然后根据该驱动程序信息中驱动程序的内存起始地址、驱动程序大小、该驱动程序创建的设备名称等进行系统关键调用路径的扫描检测;当该驱动程序篡改系统内核关键调用路径时,获取该驱动程序篡改的系统内核关键调用路径。
[0043]最后,将所述驱动程序的自身代码特征和该驱动程序篡改的系统内核关键调用路径依次与恶意代码特征库中的特征组合进行匹配,当所述驱动程序的自身代码特征和该驱动程序篡改的系统内核关键调用路径与恶意代码特征库中的某一特征组合匹配时,表明该驱动程序为恶意程序,若均不匹配,则表明该驱动程序不是恶意程序。
[0044]依据上述检测原理,对系统内核空间中活跃的驱动程序列表中所有的驱动程序进行检测,以此判断系统内核空间中所有的驱动程序是否为恶意程序,提高系统的安全性。
[0045]具体地,如图2所示,上述步骤S103可以包括:
[0046]步骤S1031,根据所述驱动程序信息获取所述驱动程序的自身代码特征,并进行系统关键调用路径的扫描检测;
[0047]首先根据所述驱动程序信息中的驱动程序的内存起始地址、驱动程序大小获取所述驱动程序的自身代码特征;然后根据该驱动程序信息中驱动程序的内存起始地址、驱动程序大小、该驱动程序创建的设备名称等进行系统关键调用路径的扫描检测,检测该驱动程序是否篡改系统内核关键调用路径。
[0048]步骤S1032,当该驱动程序篡改系统内核关键调用路径时,获取该驱动程序篡改的系统内核关键调用路径;
[0049]步骤S1033,将所述驱动程序的自身代码特征和该驱动程序篡改的系统内核关键调用路径与预先建立的恶意代码特征库中的第一条特征组合进行匹配;
[0050]步骤S1034,判断匹配是否成功;若是,则进入步骤S1035 ;否则,进入步骤S1036 ;[0051]步骤S1035,检测出所述驱动程序为恶意程序;
[0052]步骤S1036,判断所述驱动程序与所述恶意代码特征库中所有特征组合是否匹配完;若是,则进入步骤S1038 ;否则,进入步骤S1037 ;
[0053]步骤S1037,将所述驱动程序的自身代码特征和该驱动程序篡改的系统内核关键调用路径与预先建立的恶意代码特征库中的下一条特征组合进行匹配;并返回步骤S1034 ;
[0054]步骤S1038,检测出所述驱动程序不是恶意程序。
[0055]本发明使用内核特征检测技术对系统内核进行安全性扫描,绕过常规的系统调用路径,解决了扫描驱动文件会被Rootkit木马等恶意程序躲避的问题,由此,通过在驱动级检查系统内核的安全状况,检测系统的关键调用路径是否被顽固恶意程序篡改与破坏,以便对Rootkit木马等恶意程序采用相应的清除修复策略进行清除修复,极大的提高了系统恶意程序的检测准确率,提高了系统的安全性。
[0056]如图3所示,本发明第二实施例提出一种系统恶意程序检测方法,在上述第一实施例的基础上,在上述步骤S103之后,还包括:
[0057]步骤S104,当检测出所述驱动程序为恶意程序时,从预先建立的恶意修复方法库中获取对应的清除修复策略,对所述驱动程序进行清除修复。
[0058]本实施例与上述第一实施例的区别在于,本实施例还包括对上述实施例中检测出的恶意程序进行清除修复的方案。
[0059]具体地,在本实施例中,还预先建立了恶意修复方法库,该恶意修复方法库中针对每一特征组合对应设置有一种清除修复策略。
[0060]当检测出某个驱动程序为恶意程序时,根据与所述驱动程序匹配的特征组合的规则ID,从所述恶意修复方法库中获取对应的清除修复策略,采用所述对应的清除修复策略,对所述驱动程序进行清除修复。
[0061]其中,对驱动程序进行清除修复的方式可以为:清除所述驱动程序自身在系统内存中的恶意指令;修复被所述驱动程序篡改的系统内核关键调用路径;删除所述驱动程序对应的文件体,以及删除所述驱动程序注册的系统服务项。
[0062]本实施例通过上述方案,在驱动级检查系统内核的安全状况,检测系统的关键调用路径是否被顽固恶意程序篡改与破坏,不仅解决了扫描驱动文件会被Rootkit木马等恶意程序躲避的问题,并进一步对Rootkit木马等恶意程序选择对应的清除修复策略进行清除修复,在清除Rootkit木马等恶意程序后恢复系统内核的完整性,极大的提高了系统恶意程序的检测准确率,进而提高了系统的安全性。
[0063]如图4所示,本发明第三实施例提出一种系统恶意程序检测方法,在上述第二实施例的基础上,在上述步骤SlOl之前,还包括:
[0064]步骤S90,对采集的恶意类样本进行特征组合提取,建立恶意代码特征库,并为每一特征组合分配对应的规则ID。
[0065]步骤S100,建立恶意修复方法库,为每一规则ID的特征组合对应分配一清除修复策略。
[0066]本实施例与上述第二实施例的区别在于,本实施例还包括建立恶意代码特征库和恶意修复方法库的方案。[0067]具体地,在本实施例中,在建立恶意代码特征库时,首先对收集到的Rootkit木马等恶意类样本进行特征提取,其提取规则为:
[0068]1、提取恶意驱动程序运行后的自身代码特征,即自身的内存代码典型特征,如一些特殊的指令序列、敏感的字符串组合、创建的特殊设备名称等。
[0069]2、提取恶意驱动程序运行后篡改的系统内核关键位置,即篡改的系统内核关键调用路径,比如对目录遍历、文件读取、注册表读取、结束进程等系统调用路径的修改。
[0070]以Rootkit木马为例,每一特征组合对应一种Rootkit木马,因此,在建立恶意代码特征库时,为每一特征组合分配唯一一个规则ID,该规则ID作为索引,便于对系统内核空间中对应的驱动程序进行检测。同时也便于对系统内核空间中检测出的恶意驱动程序选择相应的修复策略进行清除修复。
[0071]在建立恶意修复方法库时,对应每个规则ID代表的特征组合,均有一个清除修复方法与之配对,当该特征组合在用户系统上命中时,使用这个配对的修复方法对该Rootkit木马进行彻底的清除修复,其中,修复方式包括:清除Rootkit驱动程序自身在内存中的恶意指令;修复被Rootkit驱动程序篡改的系统关键调用路径;删除Rootkit驱动程序对应的文件体;删除Rootkit驱动程序注册的系统服务项等。
[0072]本实施例通过建立恶意代码特征库和恶意修复方法库,使用内核特征检测技术对系统内核进行安全性扫描,绕过常规的系统调用路径,解决了扫描驱动文件会被Rootkit木马躲避的问题;同时配合内核级清除和修复手段,在清除Rootkit木马等恶意程序后恢复系统内核的完整性,具有针对性强、误报率低、修复准确、防止重复感染的特点,能彻底清除Rootkit类木马,且保证用户系统的正常使用,极大的提高了系统的安全性。
[0073]如图5所示,本发明第一实施例提出一种系统恶意程序检测装置,包括:驱动程序列表获取模块501、驱动程序信息获取模块502以及检测模块503,其中:
[0074]驱动程序列表获取模块501,用于遍历系统内核空间,获取活跃的驱动程序列表;
[0075]驱动程序信息获取模块502,用于从所述驱动程序列表中取出驱动程序,获取驱动程序信息;
[0076]检测模块503,用于基于所述驱动程序信息将所述驱动程序与预先建立的恶意代码特征库中的特征组合进行特征匹配,以检测所述驱动程序是否为恶意程序。
[0077]本实施例使用内核特征检测技术对系统内核进行安全性扫描,绕过常规的系统调用路径,以解决扫描驱动文件会被Rootkit木马等恶意程序躲避的问题。
[0078]首先,驱动程序列表获取模块501遍历系统内核空间,获取系统内核空间内所有活跃的驱动程序列表,以便后续对驱动程序列表中的各驱动程序进行检测。
[0079]然后驱动程序信息获取模块502从驱动程序列表中依次取出一个驱动程序开始进行检测,获取该驱动程序信息,包括该驱动程序的内存起始地址、驱动程序大小、该驱动程序创建的设备名称等。
[0080]本实施例预先建立有恶意代码特征库,恶意代码特征库中存储有通过对预先收集到的恶意类样本进行特征提取获取的特征组合,每一特征组合分配有唯一的一个规则ID。
[0081]恶意代码特征库中存储的特征组合用于与系统内核空间内的驱动程序进行特征匹配,以检测所述驱动程序是否为恶意程序。
[0082]在驱动程序信息获取模块502获取到驱动程序信息后,检测模块503基于所述驱动程序信息将所述驱动程序与预先建立的恶意代码特征库中的特征组合进行特征匹配,以检测所述驱动程序是否为恶意程序。
[0083]检测模块503在进行特征匹配时,首先根据所述驱动程序信息中的驱动程序的内存起始地址、驱动程序大小获取所述驱动程序的自身代码特征;然后根据该驱动程序信息中驱动程序的内存起始地址、驱动程序大小、该驱动程序创建的设备名称等进行系统关键调用路径的扫描检测;当该驱动程序篡改系统内核关键调用路径时,获取该驱动程序篡改的系统内核关键调用路径。
[0084]最后,将所述驱动程序的自身代码特征和该驱动程序篡改的系统内核关键调用路径依次与恶意代码特征库中的特征组合进行匹配,当所述驱动程序的自身代码特征和该驱动程序篡改的系统内核关键调用路径与恶意代码特征库中的某一特征组合匹配时,表明该驱动程序为恶意程序,若均不匹配,则表明该驱动程序不是恶意程序。
[0085]依据上述检测原理,对系统内核空间中活跃的驱动程序列表中所有的驱动程序进行检测,以此判断系统内核空间中所有的驱动程序是否为恶意程序,提高系统的安全性。
[0086]具体地,如图6所示,所述检测模块503包括:特征获取单元5030、匹配单元5031以及检测单元5032,其中:
[0087]特征获取单元5030,用于根据所述驱动程序信息获取所述驱动程序的自身代码特征,并进行系统关键调用路径的扫描检测;当该驱动程序篡改系统内核关键调用路径时,获取该驱动程序篡改的系统内核关键调用路径;
[0088]匹配单元5031,用于将所述驱动程序的自身代码特征和该驱动篡改的系统内核关键调用路径与预先建立的恶意代码特征库中的第一条特征组合进行匹配;
[0089]检测单元5032,用于当所述匹配单元匹配成功时,检测出所述驱动程序为恶意程序;否则,由所述匹配单元将所述驱动程序的自身代码特征和该驱动篡改的系统内核关键调用路径与预先建立的恶意代码特征库中的下一条特征组合进行匹配;直至匹配成功;或者,用于当所述驱动程序与所述恶意代码特征库中所有特征组合均不匹配时,检测出所述驱动程序不是恶意程序。
[0090]本发明使用内核特征检测技术对系统内核进行安全性扫描,绕过常规的系统调用路径,解决了扫描驱动文件会被Rootkit木马等恶意程序躲避的问题,由此,通过在驱动级检查系统内核的安全状况,检测系统的关键调用路径是否被顽固恶意程序篡改与破坏,以便对Rootkit木马等恶意程序采用相应的清除修复策略进行清除修复,极大的提高了系统恶意程序的检测准确率,提高了系统的安全性。
[0091]如图7所示,本发明第二实施例提出一种系统恶意程序检测装置,在上述第一实施例的基础上,还包括:
[0092]修复模块504,用于当检测出所述驱动程序为恶意程序时,从预先建立的恶意修复方法库中获取对应的清除修复策略,对所述驱动程序进行清除修复。
[0093]本实施例与上述第一实施例的区别在于,本实施例还包括对上述实施例中检测出的恶意程序进行清除修复的方案。
[0094]具体地,在本实施例中,还预先建立了恶意修复方法库,该恶意修复方法库中针对每一特征组合对应设置有一种清除修复策略。
[0095]当检测出某个驱动程序为恶意程序时,修复模块504根据与所述驱动程序匹配的特征组合的规则ID,从所述恶意修复方法库中获取对应的清除修复策略,采用所述对应的清除修复策略,对所述驱动程序进行清除修复。
[0096]具体地,如图8所示,所述修复模块504包括:策略获取单元5041和修复单元5042,其中:
[0097]策略获取单元5041,用于根据与所述驱动程序匹配的特征组合的规则ID,从所述恶意修复方法库中获取对应的清除修复策略;
[0098]修复单元5042,用于采用所述对应的清除修复策略,对所述驱动程序进行清除修复。
[0099]其中,所述修复单元5042对所述驱动程序进行清除修复的方式包括:清除所述驱动程序自身在系统内存中的恶意指令;修复被所述驱动程序篡改的系统内核关键调用路径;删除所述驱动程序对应的文件体;和/或删除所述驱动程序注册的系统服务项。
[0100]本实施例通过上述方案,在驱动级检查系统内核的安全状况,检测系统的关键调用路径是否被顽固恶意程序篡改与破坏,不仅解决了扫描驱动文件会被Rootkit木马等恶意程序躲避的问题,并进一步对Rootkit木马等恶意程序选择对应的清除修复策略进行清除修复,在清除Rootkit木马等恶意程序后恢复系统内核的完整性,极大的提高了系统恶意程序的检测准确率,进而提高了系统的安全性。
[0101]如图9所示,本发明第三实施例提出一种系统恶意程序检测装置,在上述第二实施例的基础上,还包括:
[0102]特征库建立模块505,用于对采集的恶意类样本进行特征组合提取,建立恶意代码特征库,并为每一特征组合分配对应的规则ID。
[0103]修复方法库建立模块506,用于建立恶意修复方法库,为每一规则ID的特征组合对应分配一清除修复策略。
[0104]本实施例与上述第二实施例的区别在于,本实施例还包括建立恶意代码特征库和恶意修复方法库的方案。
[0105]具体地,在本实施例中,特征库建立模块505在建立恶意代码特征库时,首先对收集到的Rootkit木马等恶意类样本进行特征提取,其提取规则为:
[0106]1、提取恶意驱动程序运行后的自身代码特征,即自身的内存代码典型特征,如一些特殊的指令序列、敏感的字符串组合、创建的特殊设备名称等。
[0107]2、提取恶意驱动程序运行后篡改的系统内核关键位置,即篡改的系统内核关键调用路径,比如对目录遍历、文件读取、注册表读取、结束进程等系统调用路径的修改。
[0108]以Rootkit木马为例,每一特征组合对应一种Rootkit木马,因此,在建立恶意代码特征库时,为每一特征组合分配唯一一个规则ID,该规则ID作为索引,便于对系统内核空间中对应的驱动程序进行检测。同时也便于对系统内核空间中检测出的恶意驱动程序选择相应的修复策略进行清除修复。
[0109]修复方法库建立模块506在建立恶意修复方法库时,对应每个规则ID代表的特征组合,均有一个清除修复方法与之配对,当该特征组合在用户系统上命中时,使用这个配对的修复方法对该Rootkit木马进行彻底的清除修复,其中,修复方式包括:清除Rootkit驱动程序自身在内存中的恶意指令;修复被Rootkit驱动程序篡改的系统关键调用路径;删除Rootkit驱动程序对应的文件体;删除Rootkit驱动程序注册的系统服务项等。[0110]本实施例通过建立恶意代码特征库和恶意修复方法库,使用内核特征检测技术对系统内核进行安全性扫描,绕过常规的系统调用路径,解决了扫描驱动文件会被Rootkit木马躲避的问题;同时配合内核级清除和修复手段,在清除Rootkit木马等恶意程序后恢复系统内核的完整性,具有针对性强、误报率低、修复准确、防止重复感染的特点,能彻底清除Rootkit类木马,且保证用户系统的正常使用,极大的提高了系统的安全性。
[0111]本发明实施例系统恶意程序检测方法及装置,通过获取系统内核空间内活跃的驱动程序,将驱动程序信息与恶意代码特征库中的特征组合进行特征匹配,以检测该驱动程序是否为恶意程序,由此在驱动级检查系统内核的安全状况,检测系统的关键调用路径是否被顽固恶意程序篡改与破坏,并进一步对Rootkit木马等恶意程序选择对应的清除修复策略进行清除修复。由于本发明使用精确的内核特征检测方法,辅以系统调用路径的修复技术,因此具有针对性强、误报率低、修复准确、防止重复感染的特点,能彻底清除Rootkit类木马,且保证用户系统的正常使用,极大的提高了系统的安全性。
[0112]需要说明的是,本发明实施例中检测及修复方案适用的恶意程序可以为各种顽固木马,尤其针对Rootkit木马等恶意程序。
[0113]以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的【技术领域】,均同理包括在本发明的专利保护范围内。
【权利要求】
1.一种系统恶意程序检测方法,其特征在于,包括: 遍历系统内核空间,获取活跃的驱动程序列表; 从所述驱动程序列表中取出驱动程序,获取驱动程序信息; 基于所述驱动程序信息将所述驱动程序与预先建立的恶意代码特征库中的特征组合进行特征匹配,以检测所述驱动程序是否为恶意程序。
2.根据权利要求1所述的方法,其特征在于,所述基于驱动程序信息将所述驱动程序与预先建立的恶意代码特征库中的特征组合进行特征匹配,以检测所述驱动程序是否为恶意程序的步骤包括: 根据所述驱动程序信息获取所述驱动程序的自身代码特征,并进行系统关键调用路径的扫描检测; 当该驱动程序篡改系统内核关键调用路径时,获取该驱动程序篡改的系统内核关键调用路径; 将所述驱动程序的自身代码特征和该驱动程序篡改的系统内核关键调用路径与预先建立的恶意代码特征库中的第一条特征组合进行匹配; 若匹配成功,则检测出所述驱动程序为恶意程序; 否则,将所述驱动程序的自身代码特征和该驱动篡改的系统内核关键调用路径与预先建立的恶意代码特征库中的下一条特征组合进行匹配;直至匹配成功;或者,当所述驱动程序与所述恶意代码特征库中所有特征组合均不匹配时,检测出所述驱动程序不是恶意程序。`
3.根据权利要求1或2所述的方法,其特征在于,还包括: 当检测出所述驱动程序为恶意程序时,从预先建立的恶意修复方法库中获取对应的清除修复策略,对所述驱动程序进行清除修复。
4.根据权利要求3所述的方法,其特征在于,所述遍历系统内核空间,获取活跃的驱动程序列表的步骤之前还包括: 对采集的恶意类样本进行特征组合提取,建立恶意代码特征库,并为每一特征组合分配对应的规则ID。
5.根据权利要求4所述的方法,其特征在于,所述遍历系统内核空间,获取活跃的驱动程序列表的步骤之前还包括: 建立恶意修复方法库,为每一规则ID的特征组合对应分配一清除修复策略。
6.根据权利要求5所述的方法,其特征在于,所述从预先建立的恶意修复方法库中获取对应的清除修复策略,对所述驱动程序进行清除修复的步骤包括: 根据与所述驱动程序匹配的特征组合的规则ID,从所述恶意修复方法库中获取对应的清除修复策略; 采用所述对应的清除修复策略,对所述驱动程序进行清除修复。
7.根据权利要求6所述的方法,其特征在于,对所述驱动程序进行清除修复的方式包括: 清除所述驱动程序自身在系统内存中的恶意指令;修复被所述驱动程序篡改的系统内核关键调用路径;删除所述驱动程序对应的文件体;和/或删除所述驱动程序注册的系统服务项。
8.一种系统恶意程序检测装置,其特征在于,包括: 驱动程序列表获取模块,用于遍历系统内核空间,获取活跃的驱动程序列表; 驱动程序信息获取模块,用于从所述驱动程序列表中取出驱动程序,获取驱动程序信息; 检测模块,用于将所述驱动程序信息与预先建立的恶意代码特征库中的特征组合进行特征匹配,以检测所述驱动程序是否为恶意程序。
9.根据权利要求8所述的装置,其特征在于,所述检测模块包括: 特征获取单元,用于根据所述驱动程序信息获取所述驱动程序的自身代码特征,并进行系统关键调用路径的扫描检测;当该驱动程序篡改系统内核关键调用路径时,获取该驱动程序篡改的系统内核关键调用路径; 匹配单元,用于将所述驱动程序的自身代码特征和该驱动程序篡改的系统内核关键调用路径与预先建立的恶意代码特征库中的第一条特征组合进行匹配; 检测单元,用于当所述匹配单元匹配成功时,检测出所述驱动程序为恶意程序;否则,由所述匹配单元将所述驱动程序的自身代码特征和该驱动篡改的系统内核关键调用路径与预先建立的恶意代码特征库中的下一条特征组合进行匹配;直至匹配成功;或者,用于当所述驱动程序与所述恶意代码特征库中所有特征组合均不匹配时,检测出所述驱动程序不是恶意程序。
10.根据权利要求8所 述的装置,其特征在于,还包括: 修复模块,用于当检测出所述驱动程序为恶意程序时,从预先建立的恶意修复方法库中获取对应的清除修复策略,对所述驱动程序进行清除修复。
11.根据权利要求10所述的装置,其特征在于,还包括: 特征库建立模块,用于对采集的恶意类样本进行特征组合提取,建立恶意代码特征库,并为每一特征组合分配对应的规则ID。
12.根据权利要求11所述的装置,其特征在于,还包括: 修复方法库建立模块,用于建立恶意修复方法库,为每一规则ID的特征组合对应分配一清除修复策略。
13.根据权利要求12所述的装置,其特征在于,所述修复模块包括: 策略获取单元,用于根据与所述驱动程序匹配的特征组合的规则ID,从所述恶意修复方法库中获取对应的清除修复策略; 修复单元,用于采用所述对应的清除修复策略,对所述驱动程序进行清除修复。
14.根据权利要求13所述的装置,其特征在于,所述修复单元对所述驱动程序进行清除修复的方式包括:清除所述驱动程序自身在系统内存中的恶意指令;修复被所述驱动程序篡改的系统内核关键调用路径;删除所述驱动程序对应的文件体;和/或删除所述驱动程序注册的系统服务项。
【文档编号】G06F21/56GK103679013SQ201210321551
【公开日】2014年3月26日 申请日期:2012年9月3日 优先权日:2012年9月3日
【发明者】刘桂泽 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1