主动防御恶意程序的方法和装置制造方法及图纸

技术编号:8656127 阅读:161 留言:0更新日期:2013-05-01 23:50
本发明专利技术涉及计算机网络安全领域,公开了主动防御恶意程序的方法和装置,该方法包括:在待保护的设备创建进程时,根据与该创建的进程相关的进程文件判断该创建的进程是否具有危险性,如果是,则拦截创建的进程加载该进程的动态链接库DLL文件的操作,并将该DLL文件记录到内存的进程信息中;在待保护的设备启动进程后,当进程执行的操作为危险操作时,检测记录的该进程的DLL文件是否安全,如果不安全,则阻止待保护的设备执行该进程的操作。本发明专利技术能够解决恶意程序将恶意DLL文件与可信任的白程序打包在一起,当白程序被执行时,加载恶意DLL文件,从而突破主动防御的技术问题。

【技术实现步骤摘要】

本专利技术涉及计算机网络安全领域,具体涉及一种主动防御恶意程序的方法和装置
技术介绍
恶意程序是一个概括性的术语,指任何故意创建用来执行未经授权并通常是有害行为的程序。恶意程序可以包括病毒、木马、恶意脚本、恶意插件、恶评软件或流氓软件等。计算机病毒、后门程序、键盘记录器、密码盗取者、Word和Excel宏病毒、引导区病毒、脚本病毒、木马、犯罪程序、间谍程序和广告程序等,都为恶意程序的例子。现有技术中,恶意程序防杀主要依赖于特征库模式。特征库由杀毒产品提供商收集到的恶意程序样本的特征码组成,而特征码为分析工程师从恶意程序中找到的和正当程序的不同之处,截取一段类似于“搜索关键词”的程序代码。在查杀过程中,引擎会读取文件并与特征库中的所有特征码“关键词”进行匹配,如果发现文件程序代码被命中,则可以判定该文件程序为恶意程序。特征库匹配是现有技术中查杀已知恶意程序的常用技术。但是现今全球恶意程序数量呈几何级增长,基于这种爆发式的增速,特征库的生成与更新相对于病毒的产生通常滞后,导致恶意程序防杀方式无法防杀不断产生的未知恶意程序。现有技术中,随之出现了主动防御技术,其是基于程序行为自主分析判断的实时防护技术,不以特征码作为判断恶意程序的依据,而是从设置的规则出发,直接将程序的行为作为判断程序是否为恶意程序的依据,其中衍生出在本地使用特征库、在本地设置行为阈值以及在本地启发式杀毒的方式来判别、拦截恶意程序的行为,从而在一定程度上达到保护设备的目的。在现有技术中,出于对性能的考虑,设备中的主动防御模块只检查程序的可执行文件(例如,exe文件)是否可以信任,而不检查程序加载的DLL (Dynamic Link Library,动态链接库)文件。现有技术中主动防御的上述特点被一些恶意程序所利用,恶意程序使用DLL劫持技术将木马DLL与可信任的白程序打包在一起,当白程序被执行时,木马DLL就会被加载,从而实现利用白程序突破主动防御的目的。
技术实现思路
鉴于上述问题,本专利技术提出了主动防御恶意程序的方法和装置。依据本专利技术的一个方面,提供了一种主动防御恶意程序的方法,该方法包括在待保护的设备创建进程时,根据与该创建的进程相关的进程文件判断该创建的进程是否具有危险性,如果是,则拦截创建的进程加载该进程的动态链接库DLL文件的操作,并将该DLL文件记录到内存的进程信息中;在待保护的设备启动进程后,当进程执行的操作为危险操作时,检测记录的该进程的DLL文件是否安全,如果不安全,则阻止待保护的设备执行该进程。其中,所述根据与该创建的进程相关的进程文件判断该创建的进程是否具有危险性具体包括查询该创建的进程所在进程链中各个进程的进程文件的来源,根据所述各个进程的进程文件的来源判断该创建的进程是否具有危险性;所述创建的进程所在进程链为进程树中从该创建的进程到根进程的进程链。其中,所述根据所述各个进程的进程文件的来源判断该创建的进程是否具有危险性具体包括判断所述各个进程的进程文件中是否存在来自网络下载的文件,如果存在,则该创建的进程具有危险性。其中,所述根据所述各个进程的进程文件的来源判断该创建的进程是否具有危险性具体包括判断所述各个进程的进程文件中是否存在来自压缩包的文件,如果存在,则该创建的进程具有危险性。其中,所述判断所述各个进程的进程文件中是否存在来自压缩包的文件具体包括对于所述各个进程链中每个进程进行判定,如果该进程的父进程为解压缩应用,并且该解压缩应用直接执行压缩包中的可执行文件或者该解压缩应用解压缩的压缩包中包含该进程的进程文件,则判定该进程的进程文件为来自压缩包的文件。其中,所述根据与该创建的进程相关的进程文件判断该创建的进程是否具有危险性具体包括判断创建的进程的进程文件是否满足预设的匹配条件,如果满足,则创建的进程具有危险性。其中,所述检测记录的该进程的DLL文件是否安全,如果不安全,则阻止待保护的设备执行该进程具体包括使用本地安全引擎和/或云安全引擎对该进程的DLL文件进行检测,如果DLL文件为病毒文件,则阻止待保护的设备执行该进程。其中,所述使用本地安全引擎和/或云安全引擎对该进程的DLL文件进行检测后还包括如果该进程的可执行文件和DLL文件都为安全文件,则确定该进程安全。其中,所述使用本地安全引擎和/或云安全引擎对该进程的DLL文件进行检测后还包括如果该进程的DLL文件的危险等级高于该进程的可执行文件的危险等级,则修改该进程的可执行文件的危险等级为所述DLL文件的危险等级,并呈现危险提示。其中,所述检测记录的该进程的DLL文件是否安全后还包括如果该进程的DLL文件为安全文件,则删除该DLL文件的记录,并在该DLL文件没有发生变化的情况下,不进行拦截创建的进程加载该DLL文件的操作。其中,所述危险操作至少包括下列操作中的一种 写入注册表进行自动加载;修改注册表;修改系统文件;修改指定的应用文件;执行进程间注入;结束进程;修改浏览器中网页内容;以及记录键盘操作。根据本专利技术的另一方面,本专利技术提供了一种主动防御恶意程序的装置,该装置包括危险判断单元,适于在待保护的设备创建进程时,根据与该创建的进程相关的进程文件判断该创建的进程是否具有危险性,如果判断结果为进程具有危险性,则指示加载拦截单元进行拦截操作;加载拦截单元,适于在创建的进程具有危险性时,拦截创建的进程加载动态链接库DLL文件的操作;指示记录单元将该DLL文件记录到内存的进程信息中;记录单元,适于根据指示将DLL文件记录到内存的进程信息中;安全检测单元,适于在待保护的设备启动进程后,当进程执行的操作为危险操作时,检测记录的该进程的DLL文件是否安全,如果检测结果为进程的DLL文件不安全,则指示执行阻止单元进行阻止操作;执行阻止单元,适于对于DLL文件不安全的进程,阻止待保护的设备执行该进程。其中,所述危险判断单元,具体适于查询该创建的进程所在进程链中各个进程的进程文件的来源,根据所述各个进程的进程文件的来源判断该创建的进程是否具有危险性;所述创建的进程所在进程链为进程树中从该创建的进程到根进程的进程链。其中,所述危险判断单元,具体适于判断所述各个进程的进程文件中是否存在来自网络下载的文件,如果存在,则该创建的进程具有危险性。其中,所述危险判断单元,具体适于判断所述各个进程的进程文件中是否存在来自压缩包的文件,如果存在,则该创建的进程具有危险性。其中,所述危险判断单元,具体适于对于所述进程链中每个进程进行判定,如果该进程的父进程为解压缩应用,并且该解压缩应用直接执行压缩包中的可执行文件或者该解压缩应用解压缩的压缩包中包含该进程的进程文件,则判定该进程的进程文件为来自压缩包的文件。其中,所述危险判断单元,具体适于判断创建的进程的进程文件是否满足预设的匹配条件,如果满足,则创建的进程具有危险性。其中,所述安全检测单元,具体适于使用本地安全引擎和/或云安全引擎对该进程的DLL文件进行检测,如果DLL文件为病毒文件,则检测出记录的该进程的DLL文件不安全。其中,所述安全检测单元,还适于如果该进程的可执行文件和DLL文件都为安全文件,则确定该进程安全。其中,所述安全检测单元,还适于如果检测出该进程的DLL文件的危险等级高于该进程的可执行文件的危险等级,则修改该进程的可执行本文档来自技高网
...

【技术保护点】
一种主动防御恶意程序的方法,该方法包括:在待保护的设备创建进程时,根据与该创建的进程相关的进程文件判断该创建的进程是否具有危险性,如果是,则拦截创建的进程加载该进程的动态链接库DLL文件的操作,并将该DLL文件记录到内存的进程信息中;在待保护的设备启动进程后,当进程执行的操作为危险操作时,检测记录的该进程的DLL文件是否安全,如果不安全,则阻止待保护的设备执行该进程的操作。

【技术特征摘要】
1.一种主动防御恶意程序的方法,该方法包括: 在待保护的设备创建进程时,根据与该创建的进程相关的进程文件判断该创建的进程是否具有危险性,如果是,则拦截创建的进程加载该进程的动态链接库DLL文件的操作,并将该DLL文件记录到内存的进程信息中; 在待保护的设备启动进程后,当进程执行的操作为危险操作时,检测记录的该进程的DLL文件是否安全,如果不安全,则阻止待保护的设备执行该进程的操作。2.根据权利要求1所述的方法,其中, 所述根据与该创建的进程相关的进程文件判断该创建的进程是否具有危险性具体包括: 查询该创建的进程所在进程链中各个进程的进程文件的来源,根据所述各个进程的进程文件的来源判断该创建的进程是否具有危险性; 所述创建的进程所在进程链为进程树中从该创建的进程到根进程的进程链。3.根据权利要求2所述的方法,其中, 所述根据所述各个进程的进程文件的来源判断该创建的进程是否具有危险性具体包括: 判断所述各个进程的进程文件中是否存在来自网络下载的文件,如果存在,则该创建的进程具有危险性。4.根据权利要求2所述的方法,其中, 所述根据所述各个进程的进程文件的来源判断该创建的进程是否具有危险性具体包括: 判断所述各个进程的进程文件中是否存在来自压缩包的文件,如果存在,则该创建的进程具有危险性。5.根据权利要求4所述的方法,其中, 所述判断所述各个进程的进程文件中是否存在来自压缩包的文件具体包括: 对于所述各个进程链中每个进程进行判定,如果该进程的父进程为解压缩应用,并且该解压缩应用直接执行压缩包中的可执行文件或者该解压缩应用解压缩的压缩包中包含该进程的进程文件,则判定该进程的进程文件为来自压缩包的文件。6.根据权利要求1所述的方法,其中, 所述根据与该创建的进程相关的进程文件判断该创建的进程的操作是否具有危险性具体包括: 判断创建的进程的进程文件是否满足预设的匹配条件,如果满足,则创建的进程具有危险性。7.根据权利要求1至6任一项所述的方法,其中, 所述检测记录的该进程的DLL文件是否安全,如果不安全,则阻止待保护的设备执行该进程的操作具体包括: 使用本地安全引擎和/或云安全引擎对该进程的DLL文件进行检测,如果DLL文件为病毒文件,则阻止待保护的设备执行该进程。8.根据权利要求7所述的方法,其中, 所述使用本地安全引擎和/或云安全引擎对该进程的DLL文件进行检测后还包括:如果该进程的可执行文件和DLL文件都为安全文件,则确定该进程安全。9.根据权利要求8所述的方法,其中, 所述使用本地安全引擎和/或云安全引擎对该进程的DLL文件进行检测后还包括:如果该进程的DLL文件的危险等级高于该进程的可执行文件的危险等级,则修改该进程的可执行文件的危险等级为所述DLL文件的危险等级,并呈现危险提示。10.根据权利要求1至9任一项所述的方法,其中, 所述检测记录的该进程的DLL文件是否安全后还包括: 如果该进程的DLL文件为安全文件,则删除该DLL文件的记录,并在该DLL文件没有发生变化的情况下,不进行拦截创建的进程加载该DLL文件的操作。11.根据权利要求1至10任一项所述的方法,其中, 所述危险操作至少包括下列操作中的一种: 写入注册表进行自动加载; 修改注册表; 修改系统文件; 修改指定的应用文件; 执行进程间注入; 结束进程; 修改...

【专利技术属性】
技术研发人员:张晓霖董杰
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:

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

1