应用程序的防护方法及装置制造方法及图纸

技术编号:15501377 阅读:74 留言:0更新日期:2017-06-03 22:46
本发明专利技术的实施例公开一种应用程序的防护方法及装置,涉及安全防护技术领域,能够有效避免应用程序被恶意DLL文件所破坏。所述应用程序的防护方法,包括:对DLL文件的加载函数的调用进行监视,若调用所述加载函数的进程是要防护的应用程序的进程,则判断要加载的DLL文件是否是恶意的DLL文件,若要加载的DLL文件是恶意的,则返回拒绝加载消息。本发明专利技术适用于防止应用程序被恶意DLL文件所破坏。

Method and device for protecting application program

The embodiment of the invention discloses a protection method and a device for an application program, relating to the technical field of security protection, and effectively preventing an application from being damaged by a malicious DLL file. Including the protection methods of the application: monitor loading function of the DLL file call, if the call of the load function of the application process is to protect the process, it is determined whether the DLL file to load malicious DLL files to load DLL file is malicious, it returns refuse loading message. The invention is applicable to preventing applications from being destroyed by malicious DLL files.

【技术实现步骤摘要】
应用程序的防护方法及装置
本专利技术涉及安全防护
,尤其涉及一种应用程序的防护方法及装置。
技术介绍
在Windows操作系统中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL(DynamicLinkLibrary)文件,放置于系统中。当执行某一个应用程序时,相应的DLL文件就会被调用。一个应用程序可有多个DLL文件,一个DLL文件也可能被几个应用程序所共用,这样的DLL文件被称为共享DLL文件。在一个应用程序的自保护生效前,恶意软件可以通过DLL注入文件的方式,把一个DLL文件注入到应用程序的进程中,这样恶意软件就可以在应用程序的进程空间内为所欲为,破应用程序的功能,比如结束应用程序的进程。
技术实现思路
有鉴于此,本专利技术实施例提供一种应用程序的防护方法及装置,能够有效避免应用程序被恶意DLL文件所破坏。第一方面,本专利技术实施例提供一种应用程序的防护方法,包括:对DLL文件的加载函数的调用进行监视;判断调用所述加载函数的进程是否是要防护的应用程序的进程;若所述进程是要防护的应用程序的进程,则判断所述进程当前要加载的DLL文件是否是恶意的DLL文件;若所述要加载的DLL文件是恶意的DLL文件,则返回拒绝加载消息。结合第一方面,在第一方面的第一种可实施方式中,所述要防护的应用程序为安全防护类应用程序;所述对DLL文件的加载函数的调用进行监视,包括:在windows操作系统开机过程中,通过钩子函数对DLL文件的加载函数的调用进行监视;其中,所述钩子函数包含在所述安全防护类应用程序的防御驱动中。结合第一方面的第一种可实施方式中,在第一方面的第二种可实施方式中,所述判断调用所述加载函数的进程是否是要防护的应用程序的进程,包括:通过所述钩子函数获取所述进程的路径信息,根据所述进程的路径信息,判断所述进程是否是要防护的应用程序目录下的进程。结合第一方面的第二种可实施方式中,在第一方面的第三种可实施方式中,所述若所述进程是要防护的应用程序的进程,则判断所述进程当前要加载的DLL文件是否是恶意的DLL文件,包括:若所述进程是要防护的应用程序的进程,则通过所述钩子函数获取所述进程当前要加载的DLL文件的路径信息;所述钩子函数根据获取的所述DLL文件的路径信息,在拦截规则库中进行匹配查询,判断所述要加载的DLL文件是否是恶意的DLL文件;其中,所述拦截规则库中保存有恶意的DLL文件的路径信息。结合第一方面的第三种可实施方式中,在第一方面的第四种可实施方式中,所述调用所述加载函数,通过所述加载函数完成对所述DLL文件的加载,包括:所述钩子函数根据预先保存的所述加载函数的原始入口地址,调用所述加载函数,通过所述加载函数完成对所述DLL文件的加载。第二方面,本专利技术实施例提供一种应用程序的防护装置,包括:监视模块,用于对DLL文件的加载函数的调用进行监视;第一判断模块,用于判断调用所述加载函数的进程是否是要防护的应用程序的进程;第二判断模块,用于若所述进程是要防护的应用程序的进程,则判断所述进程当前要加载的DLL文件是否是恶意的DLL文件;拒绝加载模块,用于若所述要加载的DLL文件是恶意的DLL文件,则返回拒绝加载消息。结合第二方面,在第二方面的第一种可实施方式中,所述要防护的应用程序为安全防护类应用程序;所述安全防护类应用程序包括防御驱动模块,所述监视模块设于所述安全防护类应用程序的防御驱动模块中;所述监视模块,用于在windows操作系统开机过程中,对DLL文件的加载函数的调用进行监视。结合第二方面的第一种可实施方式,在第二方面的第二种可实施方式中,所述第一判断模块,包括:第一获取子模块,用于获取所述进程的路径信息;第一判断子模块,用于根据所述进程的路径信息,判断所述进程是否是要防护的应用程序目录下的进程;第一通知子模块,用于若所述进程是要防护的应用程序的进程,则通知所述第二判断模块。结合第二方面的第二种可实施方式,在第二方面的第三种可实施方式中,所述第二判断模块,包括:第二获取子模块,用于若所述进程是要防护的应用程序的进程,则获取所述进程当前要加载的DLL文件的路径信息;第二判断子模块,用于根据所述要加载的DLL文件的路径信息,在拦截规则库中进行匹配查询,判断所述要加载的DLL文件是否是恶意的DLL文件;其中,所述拦截规则库中保存有恶意的DLL文件的路径信息;第二通知子模块,用于若所述要加载的DLL文件是恶意的DLL文件,则通知所述拒绝加载模块。本专利技术实施例提供的应用程序的防护方法及装置,通过对DLL文件的加载函数的调用进行监视,判断调用所述加载函数的进程是否是要防护的应用程序的进程,若所述进程是要防护的应用程序的进程,则进一步判断当前要加载的DLL文件是否是恶意的DLL文件,若是,则返回拒绝加载消息,这样能够避免恶意的DLL文件注入到要防护的应用程序的进程中,从而能够使要防护的应用程序免于被恶意的DLL文件所破坏。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本专利技术应用程序的防护方法实施例一的流程示意图;图2为本专利技术应用程序的防护方法实施例二的流程示意图;图3为本专利技术应用程序的防护装置实施例一的结构示意图;图4为本专利技术应用程序的防护装置实施例二的结构示意图。具体实施方式下面结合附图对本专利技术实施例一种应用程序的防护方法及装置进行详细描述。应当明确,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术防护的范围。图1为本专利技术应用程序的防护方法实施例一的流程示意图。参看图1,本专利技术应用程序的防护方法实施例,包括如下步骤:S101、对DLL文件的加载函数的调用进行监视。本实施例中,所述要防护的应用程可以是金山毒霸、金山卫士等安全防护类应用程序,也可以是非安全防护类的普通应用程序,如即时通讯类应用程序、游戏类应用程序等等。安全防护类应用程序通常具有自我防护功能,然而,在安全防护类应用程序的自我防护功能生效之前,一些恶意的DLL文件,如病毒、蠕虫或特洛伊马程序等,会注入到安全防护类应用程序的进程中,通过破坏安全防护类应用程序的进程来实施控制,从而破坏安全防护类应用程序的防御功能。将一个DLL文件的注入某个进程,是指将一个DLL文件放进到该某个进程的地址空间里,使所述DLL文件称为该某个进程的一部分。windows操作系统中,DLL文件的加载函数为NtCreateSection函数,windows操作系统内核中通过调用NtCreateSection函数来加载DLL文件。本实施例中,通过对NtCreateSection函数的调用进行监视,能够捕获到恶意的DLL文件,从而便于阻止其注入到要防护的应用程序的进程中。S102、判断调用所述加载函数的进程是否是要防护的应用程序的进程。本实施例中,可通过获取所述进程的路径信息,根据所述进程的路径信息,判断本文档来自技高网...
应用程序的防护方法及装置

【技术保护点】
一种应用程序的防护方法,其特征在于,包括:对动态链接库的加载函数的调用进行监视;判断调用所述加载函数的进程是否是要防护的应用程序的进程;若所述进程是要防护的应用程序的进程,则判断所述进程当前要加载的动态链接库是否是恶意的动态链接库;若所述要加载的动态链接库是恶意的动态链接库,则返回拒绝加载消息。

【技术特征摘要】
1.一种应用程序的防护方法,其特征在于,包括:对动态链接库的加载函数的调用进行监视;判断调用所述加载函数的进程是否是要防护的应用程序的进程;若所述进程是要防护的应用程序的进程,则判断所述进程当前要加载的动态链接库是否是恶意的动态链接库;若所述要加载的动态链接库是恶意的动态链接库,则返回拒绝加载消息。2.根据权利要求1所述的应用程序的防护方法,其特征在于,所述要防护的应用程序为安全防护类应用程序;所述对动态链接库的加载函数的调用进行监视,包括:在windows操作系统开机过程中,通过钩子函数对动态链接库的加载函数的调用进行监视;其中,所述钩子函数包含在所述安全防护类应用程序的防御驱动中。3.根据权利要求2所述的应用程序的防护方法,其特征在于,所述判断调用所述加载函数的进程是否是要防护的应用程序的进程,包括:通过所述钩子函数获取所述进程的路径信息,根据所述进程的路径信息,判断所述进程是否是要防护的应用程序目录下的进程。4.根据权利要求3所述的应用程序的防护方法,其特征在于,所述若所述进程是要防护的应用程序的进程,则判断所述进程当前要加载的动态链接库是否是恶意的动态链接库,包括:若所述进程是要防护的应用程序的进程,则通过所述钩子函数获取所述进程当前要加载的动态链接库的路径信息;所述钩子函数根据获取的所述动态链接库的路径信息,在拦截规则库中进行匹配查询,判断所述要加载的动态链接库是否是恶意的动态链接库;其中,所述拦截规则库中保存有恶意的动态链接库的路径信息。5.一种应用程序的防护装置,其特征在于,包括:监视模块,用于对动态链接库...

【专利技术属性】
技术研发人员:杨峰潘建军王云峰
申请(专利权)人:珠海市君天电子科技有限公司北京金山安全软件有限公司
类型:发明
国别省市:广东,44

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

1