著录项信息
专利名称 | 一种保护指定应用程序的方法及装置 |
申请号 | CN201110005074.0 | 申请日期 | 2011-01-04 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2011-06-01 | 公开/公告号 | CN102081722A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F21/56 | IPC分类号 | G;0;6;F;2;1;/;5;6查看分类表>
|
申请人 | 奇智软件(北京)有限公司 | 申请人地址 | 北京市西城区新街口外大街28号D座112室(德胜园区)
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京奇虎科技有限公司,奇智软件(北京)有限公司 | 当前权利人 | 北京奇虎科技有限公司,奇智软件(北京)有限公司 |
发明人 | 周云峰;姚彤;郑文彬 |
代理机构 | 北京国昊天诚知识产权代理有限公司 | 代理人 | 许志勇 |
摘要
本发明提供了一种保护指定应用程序的方法及装置,其中所述方法包括:监测到一应用程序启动,识别其为指定的应用程序,对所述应用程序进行检测,如果所述应用程序不合法,修复所述应用程序,如果所述应用程序合法,放行或保持所述应用程序的启动运行;监控所述应用程序的运行,发现外部应用程序对所述应用程序的行为时,检测所述外部应用程序和/或所述行为,所述行为不安全和/或所述外部应用程序不合法时拦截所述行为。本发明可以在指定应用程序运行前或运行后对指定应用程序进行快速扫描,这样不延迟应用程序的启动,用户体验更好,也可以在发现恶意程序时及时发现拦截并清除,给用户一个安全的游戏环境和网络环境。
1.一种保护指定应用程序的方法,其特征在于,包括:
监测到一应用程序启动,识别其为指定的应用程序,对所述应用程序进行检测,如果所述应用程序不合法,修复所述应用程序,如果所述应用程序合法,放行或保持所述应用程序的启动运行;识别其为指定的应用程序,包括:获取所述应用程序的特征标识,并读取由系统设定或者由用户设定的程序列表,根据所述应用程序的特征标识遍历所述程序列表,如果命中,则将所述应用程序识别为指定的应用程序;所述特征标识包括以下至少一个:所述应用程序的名称、在系统中的位置、注册表项目、所包含的公司信息;对所述应用程序进行检测,包括:根据所述应用程序的一个或一组特征码以及所述应用程序所使用的除数据文件之外的文件的一个或一组特征码在云端服务器或者本地数据库的黑/白色特征码库中进行遍历;其中,所述黑/白色特征码库中分别保存的是不合法/合法的应用程序的特征码;修复所述应用程序,包括:根据不合法的应用程序中不安全的文件或者不合法的应用程序,通过访问本地服务器或云端服务器获取安全的相应文件对所述不安全的文件进行替换或者获取安全的安装文件对所述不合法的应用程序重新安装从而修复所述应用程序为安全的版本;
监控所述应用程序的运行,发现外部应用程序对所述应用程序发生行为时,检测所述外部应用程序和/或所述行为,所述行为不安全和/或所述外部应用程序不合法时拦截所述行为;监控所述应用程序的运行,包括:对所述应用程序启动后自动加载在操作系统中的文件、变量数据和/或所述应用程序启动后关联引用的操作系统内的链接库文件的信息进行监控,所述链接库文件的信息包括:所述链接库文件的位置、类型;检测所述外部应用程序和/或所述行为,包括:依据所述行为的一个或一组行为特征到云端服务器或者本地数据库的黑/白色行为特征库中进行遍历,其中,所述黑/白色行为特征库中分别保存的是不合法/合法的行为特征;依据做出所述行为的外部应用程序的一个或一组特征码到云端服务器或者本地数据库的黑/白色特征码库中进行遍历。
2.如权利要求1所述的方法,其特征在于,对所述应用程序进行检测,如果检测到所述应用程序不合法,修复所述应用程序,如果检测到所述应用程序合法,放行所述应用程序的步骤,包括:
暂停所述应用程序启动并对其进行检测,如果检测到所述应用程序合法,放行所述应用程序的启动;如果检测到所述应用程序不合法,修复所述应用程序,重新执行所述当前步骤,对所述修复后的应用程序进行再次检测。
3.如权利要求2所述的方法,其特征在于,暂停所述应用程序启动并对其进行检测的步骤,进一步包括:
暂停所述应用程序启动并对所述应用程序本身进行检测。
4.如权利要求1所述的方法,其特征在于,对所述应用程序进行检测,如果检测到所述应用程序不合法,修复所述应用程序,如果检测到所述应用程序合法,放行所述应用程序的步骤,包括:
所述应用程序启动后对其进行检测,如果检测到所述应用程序合法,保持所述应用程序的运行;如果检测到所述应用程序不合法,停止所述应用程序的运行,修复所述应用程序,重新执行所述当前步骤,对所述修复后的应用程序进行再次检测。
5.如权利要求4所述的方法,其特征在于,所述应用程序启动后对其进行检测的步骤,进一步包括:
所述应用程序启动后对所述应用程序本身以及所述应用程序所使用的除数据文件外的文件进行检测;所述文件至少包括:所述应用程序所使用的动态链接库和/或驱动程序。
6.如权利要求1所述的方法,其特征在于,
被拦截的所述行为,至少包括以下之一或多个的组合:被不合法的外部应用程序注入、侦听并记录击键信息、读取相应的内存信息、修改所述应用程序运行状态和/或侦听网络数据包。
7.一种保护指定应用程序的装置,其特征在于,包括:静态保护模块和动态防护模块,其中,
所述静态保护模块,监测到一应用程序启动,识别其为指定的应用程序;对所述应用程序进行检测,所述应用程序合法时放行或保持所述应用程序的启动运行,所述应用程序不合法时修复所述应用程序;进一步用于获取所述应用程序的特征标识,并读取由系统设定或者由用户设定的程序列表,根据所述应用程序的特征标识遍历所述程序列表,如果命中,则将所述应用程序识别为指定的应用程序;所述特征标识包括以下至少一个:所述应用程序的名称、在系统中的位置、注册表项目、所包含的公司信息;进一步用于根据所述应用程序的一个或一组特征码以及所述应用程序所使用的除数据文件之外的文件的一个或一组特征码在云端服务器或者本地数据库的黑/白色特征码库中进行遍历;其中,所述黑/白色特征码库中分别保存的是不合法/合法的应用程序的特征码;并且,进一步用于根据不合法的应用程序中不安全的文件或者不合法的应用程序,通过访问本地服务器或云端服务器获取安全的相应文件对所述不安全的文件进行替换或者获取安全的安装文件对所述不合法的应用程序重新安装从而修复所述应用程序为安全的版本;
所述动态防护模块,在所述应用程序启动后用于监控所述应用程序的运行,在发现外部应用程序对所述应用程序发生行为时,判断所述行为和/或所述外部应用程序是否安全合法,所述行为不安全和/或所述外部应用程序不合法时拦截所述行为;进一步用于对所述应用程序启动后自动加载在操作系统中的文件、变量数据和/或所述应用程序启动后关联引用的操作系统内的链接库文件的信息进行监控,所述链接库文件的信息包括:所述链接库文件的位置、类型;进一步用于依据所述行为的一个或一组行为特征到云端服务器或者本地数据库的黑/白色行为特征库中进行遍历,其中,所述黑/白色行为特征库中分别保存的是不合法/合法的行为特征;依据做出所述行为的外部应用程序的一个或一组特征码到云端服务器或者本地数据库的黑/白色特征码库中进行遍历。
8.如权利要求7所述的装置,其特征在于,
所述静态保护模块,用于暂停指定的应用程序启动,并检测所述应用程序,所述应用程序合法时放行所述应用程序的启动,所述应用程序不合法时修复所述应用程序。
9.如权利要求8所述的装置,其特征在于,
所述静态保护模块,用于检测所述应用程序本身。
10.如权利要求7所述的装置,其特征在于,
所述静态保护模块,用于所述应用程序启动后检测所述应用程序,所述应用程序合法时保持所述应用程序的运行,所述应用程序不合法时停止所述应用程序的运行并修复所述应用程序。
11.如权利要求10所述的装置,其特征在于,
所述静态保护模块,还用于检测所述应用程序本身以及所述应用程序所使用的除数据文件外的文件进行检测;所述文件至少包括:所述应用程序所使用的动态链接库和/或驱动程序。
12.如权利要求7所述的装置,其特征在于,
所述动态防护模块,拦截的所述行为至少包括以下之一或多个的组合:被不合法的外部应用程序注入、侦听并记录击键信息、读取相应的内存信息、修改所述应用程序运行状态、侦听网络数据包。
一种保护指定应用程序的方法及装置\n技术领域\n[0001] 本发明属于计算机数据安全领域,具体地说,涉及一种保护指定应用程序的方法及装置。\n背景技术\n[0002] 由于互联网的发展,现有的恶意程序并不是以破坏个人电脑的软硬件为目的,而是潜伏在正常的应用程序内,随这些正常的应用程序启动该恶意程序也启动从而对用户的资料进行窃取。当这些应用程序是用户使用频率高或者使用时间长的软件,比如一天之内反复启动若干次,或者一次启动后持续使用时间超过数小时的软件,特别是涉及虚拟资产和真实资产的软件时,如即时通讯软件、网络游戏客户端、网络银行客户端、证券业务客户端等等,这些恶意程序(比如盗号木马)专门对网游帐号、聊天帐号、网银帐号、炒股帐号等等用户的私密信息进行盗取,而用户对于此种恶意程序往往疏于防范。而且因为这些应用程序对于用户本身的特殊性,如交互流量较大、防范意识降低、过频过长使用,都增大了恶意程序传播感染的可能,这些往往也导致用户防不胜防,使用户由于帐号丢失导致虚拟资产和真实资产受到损失,这些专门施加于某种应用程序并意图窃取资料的恶意程序对于社会的危害程度更高。\n[0003] 这就需要提出一种对于指定的应用程序进行专门保护的装置,尤其是对于涉及虚拟资产和真实资产的应用程序,以解决用户对于这类应用程序所要求的额外保护。\n发明内容\n[0004] 有鉴于此,本发明所要解决的技术问题是提供了一种保护指定应用程序的方法及装置,解决了用户对于指定应用程序所要求的额外保护。\n[0005] 为了解决上述技术问题,本发明提供了一种保护指定应用程序的方法,包括:监测到一应用程序启动,识别其为指定的应用程序,对所述应用程序进行检测,如果所述应用程序不合法,修复所述应用程序,如果所述应用程序合法,放行或保持所述应用程序的启动运行;监控所述应用程序的运行,发现外部应用程序对所述应用程序的行为时,检测所述外部应用程序和/或所述行为,所述行为不安全和/或所述外部应用程序不合法时拦截所述行为。\n[0006] 进一步地,包括:读取由系统初始设定或者由用户在使用中手动添加所得到的程序列表;根据所述应用程序的标识在所述程序列表中遍历,命中则识别其为指定的应用程序;所述程序列表中记录所有指定的应用程序的标识。\n[0007] 进一步地,对所述应用程序进行检测,如果检测到所述应用程序不合法,修复所述应用程序,如果检测到所述应用程序合法,放行所述应用程序的步骤,包括:暂停所述应用程序启动并对其进行检测,如果检测到所述应用程序合法,放行所述应用程序的启动;如果检测到所述应用程序不合法,修复所述应用程序,重新执行所述当前步骤,对所述修复后的应用程序进行再次检测。\n[0008] 进一步地,暂停所述应用程序启动并对其进行检测的步骤,包括:暂停所述应用程序启动并对所述应用程序本身进行检测。\n[0009] 进一步地,对所述应用程序进行检测,如果检测到所述应用程序不合法,修复所述应用程序,如果检测到所述应用程序合法,放行所述应用程序的步骤,包括:所述应用程序启动后对其进行检测,如果检测到所述应用程序合法,保持所述应用程序的运行;如果检测到所述应用程序不合法,停止所述应用程序的运行,修复所述应用程序,重新执行所述当前步骤,对所述修复后的应用程序进行再次检测。\n[0010] 进一步地,所述应用程序启动后对其进行检测的步骤,包括:所述应用程序启动后对所述应用程序本身以及所述应用程序所使用的除数据文件外的文件进行检测;所述文件至少包括:所述应用程序所使用的动态链接库和/或驱动程序。\n[0011] 进一步地,包括:根据不合法的应用程序中不安全的文件或者不合法的应用程序,获取安全的相应文件对所述不安全的文件进行替换或者获取安全的安装文件对所述不合法的应用程序重新安装从而修复所述应用程序为安全的版本。\n[0012] 进一步地,被拦截的所述行为,至少包括以下之一或多个的组合:被不合法的外部应用程序注入、侦听并记录击键信息、读取相应的内存信息、修改所述应用程序运行状态和/或侦听网络数据包。\n[0013] 为了解决上述技术问题,本发明还提供了一种保护指定应用程序的装置,包括:静态保护模块和动态防护模块,其中,所述静态保护模块,监测到一应用程序启动,识别其为指定的应用程序;对所述应用程序进行检测,所述应用程序合法时放行或保持所述应用程序的启动运行,所述应用程序不合法时修复所述应用程序;所述动态防护模块,在所述应用程序启动后用于监控所述应用程序的运行,在发现外部应用程序对所述应用程序的行为时,判断所述行为和/或所述外部应用程序是否安全合法,所述行为不安全和/或所述外部应用程序不合法时拦截所述行为。\n[0014] 进一步地,所述静态保护模块,用于读取由系统初始设定或者由用户在使用中手动添加所得到的记录的所有指定的应用程序的标识的程序列表,根据所述应用程序的标识在所述程序列表中遍历,命中则识别其为指定的应用程序。\n[0015] 进一步地,所述静态保护模块,用于暂停指定的应用程序启动,并检测所述应用程序,所述应用程序合法时放行所述应用程序的启动,所述应用程序不合法时修复所述应用程序。\n[0016] 进一步地,所述静态保护模块,用于检测所述应用程序本身。\n[0017] 进一步地,所述静态保护模块,用于所述应用程序启动后检测所述应用程序,所述应用程序合法时保持所述应用程序的运行,所述应用程序不合法时停止所述应用程序的运行并修复所述应用程序。\n[0018] 进一步地,所述静态保护模块,还用于检测所述应用程序本身以及所述应用程序所使用的除数据文件外的文件进行检测;所述文件至少包括:所述应用程序所使用的动态链接库和/或驱动程序。\n[0019] 进一步地,所述静态保护模块,根据不合法的应用程序中不安全的文件或者不合法的应用程序,获取安全的相应文件对所述不安全的文件进行替换或者获取安全的安装文件对所述不合法的应用程序重新安装从而修复所述应用程序为安全的版本。\n[0020] 进一步地,所述动态防护模块,拦截的所述行为至少包括以下之一或多个的组合:\n被不合法的外部应用程序注入、侦听并记录击键信息、读取相应的内存信息、修改所述应用程序运行状态、侦听网络数据包。\n[0021] 与现有的方案相比,本发明所获得的技术效果:\n[0022] 1)本发明可以在指定应用程序运行前,整合云技术、主动防御技术及黑/白名单对指定应用程序进行快速扫描,在发现恶意程序时及时发现拦截并清除,给用户一个安全的游戏环境和网络环境;本发明也可以在指定应用程序运行后,整合云技术、主动防御技术及黑/白名单对指定应用程序进行快速扫描,这样不延迟应用程序的启动,用户体验更好,也可以在发现恶意程序时及时发现拦截并清除,给用户一个安全的游戏环境和网络环境;\n[0023] 2)同时本发明的方式根据恶意程序(特别是盗号木马)的常用手段(行为),对系统关键位置进行实时监测,一旦发现异常行为,立即阻止;\n[0024] 3)并且在清除已知恶意程序后,还可以及时对指定应用程序进行修复,以保证指定应用程序的正常安全使用。\n附图说明\n[0025] 图1为本发明的方法总流程图;\n[0026] 图2为本发明第一实施例的方法流程图;\n[0027] 图3为本发明第二实施例的方法流程图;\n[0028] 图4为本发明实施例的装置结构示意图;\n[0029] 图5为本发明实施例的静态保护模块的结构示意图。\n具体实施方式\n[0030] 以下将配合图式及实施例来详细说明本发明的实施方式,藉此对本发明如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。\n[0031] 本发明的核心构思在于:监测到一应用程序启动,识别其为指定的应用程序(对应步骤S1);对所述应用程序进行检测(对应步骤S2),如果所述应用程序不合法,修复所述应用程序(对应步骤S3),如果所述应用程序合法,放行或保持所述应用程序的启动运行(对应步骤S4);监控所述应用程序的运行,检测外部应用程序对所述应用程序的行为,拦截其中不安全的行为(对应步骤S5),参考图1。\n[0032] 具体来说,“对所述应用程序进行检测,如果检测到所述应用程序不合法,修复所述应用程序,如果检测到所述应用程序合法,放行所述应用程序”的操作有两种实现方式:\n在应用程序启动前检测该应用程序(以下简称启动前检测)或者在应用程序启动后检测该应用程序(以下简称启动后检测)。\n[0033] 启动前检测——暂停所述应用程序启动并对其进行检测,如果检测到所述应用程序不合法,修复所述应用程序,对所述修复后的应用程序进行再次检测;如果检测到所述应用程序合法,放行所述应用程序启动;\n[0034] 启动后检测——在所述应用程序启动后对其进行检测,如果检测到所述应用程序不合法,停止所述应用程序的运行,修复所述应用程序后进行再次检测;如果检测到所述应用程序合法,保持所述应用程序的运行。\n[0035] 如图2所示,为本发明第一实施例的方法流程图,应用启动前检测的实现方式,其中,步骤S101-S107为在应用程序启动前对该应用程序实施静态保护,静态保护实质上是检测该应用程序本身,步骤S108-S110为在应用程序启动后对该应用程序实施动态保护,动态保护实质上是检测外部应用程序对该应用程序的攻击,包括:\n[0036] 步骤S101,安装在电脑上的一应用程序启动,静态保护模块监测到该应用程序的启动;\n[0037] 步骤S102,静态保护模块识别所述应用程序是否是指定的需要保护的应用程序,如果不需要保护,则执行步骤S103;如果需要保护,则执行步骤S104;\n[0038] 在实际操作中,静态保护模块获取所述应用程序的特征标识,并读取程序列表,根据所述应用程序的特征标识遍历所述程序列表,如果没有命中,说明所述应用程序不需要保护,则执行步骤S103,如果命中,则执行步骤S104;\n[0039] 所述程序列表一般存储在本地数据库中(也可以是云端服务器),可以是根据系统初始设定的保护的应用程序得到的默认列表,通过加载即可读取该程序列表,也可以是用户在使用中将自己想保护的应用程序手动添加得到的列表;特征标识可以是所述应用程序的名称、在系统中的位置、注册表项目和/或所包含的公司信息等等;\n[0040] 步骤S103,静态保护模块判定所述应用程序不是指定的需要保护的应用程序,对所述应用程序放行,流程结束;\n[0041] 步骤S104,经判定所述应用程序是指定的需要保护的应用程序,静态保护模块暂停所述应用程序的启动,执行步骤S105;此时所述应用程序并未将文件和/或变量数据加载进操作系统的相应位置,并且在运行时还没有关联引用的操作系统内的链接库文件等等;\n[0042] 步骤S105,静态保护模块检测所述应用程序是否合法,如果合法,则执行步骤S107,如果不合法,则执行步骤S106;\n[0043] 检测所述应用程序是否合法时需要检测的对象包括该应用程序本身;\n[0044] 在实际操作中,静态保护模块使用本地查杀的方式进行合法甄别,到本地数据库中读取白色特征码库,根据所述应用程序的一个或一组特征码在所述白色特征码库中进行遍历,如果命中,则说明所述应用程序是合法的,执行步骤S107;如果没有命中,则说明未命中的部分(一般是文件)不安全,所述应用程序是不合法的,执行步骤S106;白色特征码库中保存的是合法的应用程序的特征码;\n[0045] 或者,在实际操作中,静态保护模块使用另一种本地查杀的方式进行合法甄别,到本地数据库中读取黑色特征码库,根据所述应用程序的一个或一组特征码在所述黑色特征码库中进行遍历,如果未命中,则说明所述应用程序合法,执行步骤S107;如果命中,说明未命中的部分(一般是文件)不安全,所述应用程序不合法,执行步骤S106;黑色特征码库中保存的是不合法的应用程序的特征码;\n[0046] 或者,对于以上两种方式是基于本地数据库的黑/白色特征码库,除此以外静态保护模块还可以使用云查杀的方式进行合法甄别,静态保护模块将所述应用程序的一个或一组特征码分别上报至云端服务器,由云端服务器在其数据库内的黑/白色特征码库依据以上两种方式进行查询,如果所述应用程序是合法的,执行步骤S107;如果所述应用程序是不合法的,执行步骤S106;\n[0047] 需要说明的是,对于以上本地查杀方式和云查杀方式,优先使用白色特征码库方式;除上述本地查杀方式和云查杀方式外,还可以使用其它查杀方式,本发明并不限于此,本发明的构思并不因查杀方式的改变而受影响,其他一切符合本发明构想的查杀方式都可应用于本发明;\n[0048] 步骤S106,判定所述应用程序不合法,静态保护模块对所述应用程序进行修复后,执行步骤S105;\n[0049] 在实际操作中,静态保护模块可以根据所述应用程序的不安全的文件的特征标识,通过访问本地服务器或上报云端服务器的备份文件库获取安全的相应文件对所述不安全的文件进行替换,从而修复所述应用程序为安全的版本,执行步骤S105;\n[0050] 或者,静态保护模块可以直接对所述不合法的应用程序进行卸载,根据不合法的应用程序的特征标识,通过访问本地服务器或上报云端服务器的备份文件库获取安全的应用程序安装文件对所述不安全的应用程序进行重新安装,执行步骤S105;\n[0051] 步骤S107,判定所述应用程序合法,静态保护模块放行所述应用程序,所述应用程序正常启动;此时,开启动态防护,执行步骤S108;\n[0052] 所述应用程序正常启动后,所述应用程序将其文件和/或变量数据加载进操作系统的相应位置,并且在运行时还需要关联引用的操作系统内的链接库文件等等;\n[0053] 步骤S108,动态防护模块实时监控所述应用程序的运行;\n[0054] 一般随所述应用程序启动由所述操作系统生成一文件列表,其中记录有所述应用程序启动后自动加载在所述操作系统中的文件、变量数据的信息和/或所述应用程序启动后关联引用的操作系统内的链接库文件的信息,比如所处位置、类型等等;动态防护模块通过读取所述文件列表得到这些信息,并对这些文件、变量数据和/或链接库文件进行监控。\n[0055] 此时如果有外部应用程序对所述应用程序发生行为,例如对这些文件、变量数据和/或链接库文件进行访问或者调用,此时动态防护模块检测到所述行为;\n[0056] 步骤S109,动态防护模块判定所述外部应用程序和/或所述行为,如果为不安全的行为或者不合法的外部应用程序,则执行步骤S110,如果为安全的行为或者合法的外部应用程序,则返回执行步骤S108;\n[0057] 动态防护模块可以依据所述行为的一个或一组行为特征到云端服务器或者本地数据库的白色行为特征库中进行遍历,如果命中,则说明所述行为安全、做出所述行为的所述外部应用程序合法,放行所述外部应用程序执行所述行为,并返回执行步骤S108;如果没有命中,则说明所述行为不安全、做出所述行为的所述外部应用程序不合法,执行步骤S110;白色行为特征库中保存的是合法的行为特征;\n[0058] 动态防护模块还可以依据所述行为的一个或一组行为特征到云端服务器或者本地数据库的黑色行为特征库中进行遍历,如果没有命中,则说明所述行为安全、做出所述行为的所述外部应用程序合法,放行所述外部应用程序执行所述行为,并返回执行步骤S108;\n如果命中,则说明所述行为不安全、做出所述行为的所述外部应用程序不合法,执行步骤S110;黑色行为特征库中保存的是不合法的行为特征;\n[0059] 动态防护模块还可以依据做出所述行为的外部应用程序的一个或一组特征码到云端服务器或者本地数据库的白色特征码库中进行遍历,如果命中,则说明做出所述行为的外部应用程序合法,放行所述外部应用程序执行所述行为,并返回执行步骤S108;如果没有命中,则说明做出所述行为的外部应用程序不合法,执行步骤S110;白色特征码库中保存的是合法的应用程序的特征码;\n[0060] 动态防护模块还可以依据做出所述行为的外部应用程序的一个或一组特征码到云端服务器或者本地数据库的黑色特征码库中进行遍历,如果没有命中,则说明做出所述行为的外部应用程序合法,放行所述外部应用程序执行所述行为,并返回执行步骤S108;\n如果命中,则说明做出所述行为的外部应用程序不合法,执行步骤S110;黑色特征码库中保存的是不合法的应用程序的特征码;\n[0061] 需要说明的是,对于以上方式,优先使用白色行为特征库/白色特征码库;\n[0062] 步骤S110,拦截所述外部应用程序对所述应用程序的行为。\n[0063] 动态防护模块拦截的行为主要包括但不限于以下之一或多个的组合:应用程序被其他未知或恶意程序注入、侦听并记录击键信息、读取相应的内存信息、修改程序运行状态、侦听网络数据包。\n[0064] 如图3所示,为本发明第二实施例的方法流程图,应用启动后检测的实现方式,其中,步骤S201-S207为在应用程序启动后对该应用程序实施静态保护,静态保护实质上是检测该应用程序本身以及应用程序所使用的除数据文件(数据文件包括图片文件、音效文件等等)外的其它文件,其他文件包括但不限于所述应用程序使用的动态链接库、驱动程序,所述动态链接库包括:应用程序自身的动态链接库和系统的动态链接库,步骤S208-S210为在应用程序启动后对该应用程序实施动态保护,动态保护实质上是检测外部应用程序对该应用程序的攻击,包括:\n[0065] 步骤S201,安装在电脑上的一应用程序启动,静态保护模块监测到该应用程序的启动;\n[0066] 步骤S202,静态保护模块识别所述应用程序是否是指定的需要保护的应用程序,如果不需要保护,则执行步骤S203;如果需要保护,则执行步骤S204;\n[0067] 在实际操作中,静态保护模块获取所述应用程序的特征标识,并读取程序列表,根据所述应用程序的特征标识遍历所述程序列表,如果没有命中,说明所述应用程序不需要保护,则执行步骤S203,如果命中,则执行步骤S204;\n[0068] 所述程序列表一般存储在本地数据库中(也可以是云端服务器),可以是根据系统初始设定的保护的应用程序得到的默认列表,通过加载即可读取该程序列表,也可以是用户在使用中将自己想保护的应用程序手动添加得到的列表;特征标识可以是所述应用程序的名称、在系统中的位置、注册表项目和/或所包含的公司信息等等;\n[0069] 步骤S203,静态保护模块判定所述应用程序不是指定的需要保护的应用程序,对所述应用程序放行,流程结束;\n[0070] 步骤S204,经判定所述应用程序是指定的需要保护的应用程序,静态保护模块检测所述应用程序已启动后,执行步骤S205;\n[0071] 此时所述应用程序正常启动后,所述应用程序将其文件和/或变量数据加载进操作系统的相应位置,并且在运行时还需要关联引用的操作系统内的链接库文件等等;一般随所述应用程序启动由所述操作系统生成一文件列表,其中记录有所述应用程序启动后自动加载在所述操作系统中的文件、变量数据的信息和/或所述应用程序启动后关联引用的操作系统内及应用程序的动态链接库文件的信息,比如所处位置、类型等等;\n[0072] 步骤S205,静态保护模块检测所述应用程序是否合法,如果合法,则执行步骤S207,如果不合法,则执行步骤S206;\n[0073] 检测所述应用程序是否合法时需要检测的对象包括:该应用程序本身以及应用程序所使用的除数据文件(数据文件包括图片文件、音效文件等等)外的其它文件,其他文件包括但不限于所述应用程序使用的动态链接库、驱动程序;所述动态链接库包括:应用程序自身的动态链接库和系统的动态链接库;静态保护模块通过读取所述文件得到其中记载的文件、变量数据和/或链接库文件的信息,并据此找到检测的对象并进行检测;\n[0074] 在实际操作中,静态保护模块使用本地查杀的方式进行合法甄别,到本地数据库中读取白色特征码库,根据所述应用程序的一个或一组特征码以及所述应用程序所使用的动态链接库文件的一个或一组特征码在所述白色特征码库中进行遍历,如果命中,则说明所述应用程序是合法的,执行步骤S207;如果没有命中,则说明未命中的部分(一般是文件)不安全,所述应用程序是不合法的,执行步骤S206;白色特征码库中保存的是合法的应用程序的特征码;\n[0075] 或者,在实际操作中,静态保护模块使用另一种本地查杀的方式进行合法甄别,到本地数据库中读取黑色特征码库,根据所述应用程序的一个或一组特征码以及所述应用程序所使用的动态链接库文件的一个或一组特征码在所述黑色特征码库中进行遍历,如果未命中,则说明所述应用程序合法,执行步骤S207;如果命中,说明未命中的部分(一般是文件)不安全,所述应用程序不合法,执行步骤S206;黑色特征码库中保存的是不合法的应用程序的特征码;\n[0076] 或者,对于以上两种方式是基于本地数据库的黑/白色特征码库,除此以外静态保护模块还可以使用云查杀的方式进行合法甄别,静态保护模块将所述应用程序的一个或一组特征码以及所述应用程序所使用的动态链接库文件的一个或一组特征码分别上报至云端服务器,由云端服务器在其数据库内的黑/白色特征码库依据以上两种方式进行查询,如果所述应用程序是合法的,执行步骤S207;如果所述应用程序是不合法的,执行步骤S206;\n[0077] 需要说明的是,对于以上本地查杀方式和云查杀方式,优先使用白色特征码库方式;除上述本地查杀方式和云查杀方式外,还可以使用其它查杀方式,本发明并不限于此,本发明的构思并不因查杀方式的改变而受影响,其他一切符合本发明构想的查杀方式都可应用于本发明;\n[0078] 步骤S206,判定所述应用程序不合法,静态保护模块停止所述应用程序的运行并进行修复,重新启动所述修复后的应用程序,执行步骤S205;\n[0079] 在实际操作中,静态保护模块可以根据应用程序的不安全的文件的特征标识,通过访问本地服务器或上报云端服务器的备份文件库获取安全的相应文件对所述不安全的文件进行替换,从而修复所述应用程序为安全的版本,执行步骤S205;\n[0080] 或者,静态保护模块可以直接对所述不合法的应用程序进行卸载,根据不合法的应用程序的特征标识,通过访问本地服务器或上报云端服务器的备份文件库获取安全的应用程序安装文件对所述不安全的应用程序进行重新安装,执行步骤S205;\n[0081] 步骤S207,判定所述应用程序合法,静态保护模块保持所述应用程序的运行;此时,开启动态防护,执行步骤S208;\n[0082] 步骤S208,动态防护模块实时监控所述应用程序的运行;\n[0083] 动态防护模块通过读取所述文件列表找到其中记录的所述应用程序启动后自动加载在所述操作系统中的文件、变量数据的信息和/或所述应用程序启动后关联引用的操作系统内及应用程序的动态链接库文件的信息,比如所处位置、类型等等,并对这些文件、变量数据和/或链接库文件进行监控。\n[0084] 此时如果有外部应用程序对所述应用程序发生行为,例如对这些文件、变量数据和/或链接库文件进行访问或者调用,此时动态防护模块检测到所述行为;\n[0085] 步骤S209,动态防护模块判定所述外部应用程序和/或所述行为,如果为不安全的行为或者不合法的外部应用程序,则执行步骤S210,如果为安全的行为或者合法的外部应用程序,则返回执行步骤S208;\n[0086] 动态防护模块可以依据所述行为的一个或一组行为特征到云端服务器或者本地数据库的白色行为特征库中进行遍历,如果命中,则说明所述行为安全、做出所述行为的所述外部应用程序合法,放行所述外部应用程序执行所述行为,并返回执行步骤S208;如果没有命中,则说明所述行为不安全、做出所述行为的所述外部应用程序不合法,执行步骤S210;白色行为特征库中保存的是合法的行为特征;\n[0087] 动态防护模块还可以依据所述行为的一个或一组行为特征到云端服务器或者本地数据库的黑色行为特征库中进行遍历,如果没有命中,则说明所述行为安全、做出所述行为的所述外部应用程序合法,放行所述外部应用程序执行所述行为,并返回执行步骤S208;\n如果命中,则说明所述行为不安全、做出所述行为的所述外部应用程序不合法,执行步骤S210;黑色行为特征库中保存的是不合法的行为特征;\n[0088] 动态防护模块还可以依据做出所述行为的外部应用程序的一个或一组特征码到云端服务器或者本地数据库的白色特征码库中进行遍历,如果命中,则说明做出所述行为的外部应用程序合法,放行所述外部应用程序执行所述行为,并返回执行步骤S208;如果没有命中,则说明做出所述行为的外部应用程序不合法,执行步骤S210;白色特征码库中保存的是合法的应用程序的特征码;\n[0089] 动态防护模块还可以依据做出所述行为的外部应用程序的一个或一组特征码到云端服务器或者本地数据库的黑色特征码库中进行遍历,如果没有命中,则说明做出所述行为的外部应用程序合法,放行所述外部应用程序执行所述行为,并返回执行步骤S208;\n如果命中,则说明做出所述行为的外部应用程序不合法,执行步骤S210;黑色特征码库中保存的是不合法的应用程序的特征码;\n[0090] 需要说明的是,对于以上方式,优先使用白色行为特征库/白色特征码库;除上述本地查杀方式和云查杀方式外,还可以使用其它查杀方式,本发明并不限于此,本发明的构思并不因查杀方式的改变而受影响,其他一切符合本发明构想的查杀方式都可应用于本发明;\n[0091] 步骤S210,拦截所述外部应用程序对所述应用程序的行为。\n[0092] 动态防护模块拦截的行为包括但不限于以下之一或多个的组合:应用程序被其他未知或恶意程序注入、侦听并记录击键信息、读取相应的内存信息、修改程序运行状态、侦听网络数据包。\n[0093] 如图4所示,为本发明第三实施例的装置结构示意图,包括:静态保护模块2、动态防护模块1、云端服务器3或本地数据库4;\n[0094] 静态保护模块2,监测安装在电脑上的应用程序启动情况,检测指定的该应用程序本身,使操作系统免收恶意程序的侵害,具体来说,用于监测到一应用程序启动,通过访问所述本地数据库4或者上报云端服务器3以识别其为指定的应用程序,暂停所述应用程序启动并通过访问所述本地数据库4或者上报云端服务器3对所述应用程序进行检测,检测到所述应用程序不合法时,修复后再进行检测;检测到所述应用程序合法时,放行所述应用程序启动;还可以用于在监测到一应用程序启动,通过访问所述本地数据库4或者上报云端服务器3以识别其为指定的应用程序,检测到所述应用程序已启动后通过访问所述本地数据库4或者上报云端服务器3对所述应用程序进行检测,检测到所述应用程序不合法,停止所述应用程序的运行并修复后进行再次检测;如果检测到所述应用程序合法,保持所述应用程序运行;\n[0095] 动态防护模块1,在应用程序启动后用于监控所述应用程序的运行,在发现外部应用程序(可能安装在电脑上,也可能是处于网络另一端的其他电脑上)对所述应用程序的行为时,根据云端服务器3或本地数据库4判断所述行为和/或所述外部应用程序的合法性,所述行为不安全和/或所述外部应用程序不合法时拦截所述行为;拦截的所述行为至少包括以下之一或多个的组合:被不合法的外部应用程序注入、侦听并记录击键信息、读取相应的内存信息、修改所述应用程序运行状态、侦听网络数据包;\n[0096] 云端服务器3和/或本地数据库4,用于存储需要保护或者不需要保护的应用程序的列表(包括:程序列表)、应用程序/行为和应用程序所使用的动态链接库文件的黑/白名单(包括:黑/白色特征码库、黑\白色行为特征库)、修复不合法的应用程序使用的备份文件库。\n[0097] 如图5所示,为本发明实施例的静态保护模块的结构示意图,具体包括:监测单元\n21、识别单元22、检测单元23和修复单元24,其中,\n[0098] 监测单元21,用于监测安装在电脑上的应用程序启动情况,在监测到有应用程序启动时,通知所述识别单元22;\n[0099] 识别单元22,用于通过云端服务器3或本地数据库4识别所述应用程序,放行不需要保护的应用程序,识别所述应用程序为指定的应用程序时通知所述检测单元23;\n[0100] 检测单元23,用于暂停需要保护的应用程序的启动,通过云端服务器3或本地数据库4检测所述应用程序,所述应用程序合法时放行其启动,所述应用程序不合法时通知所述修复单元24;还用于检测到需要保护的应用程序已启动后,通过云端服务器3或本地数据库4检测所述应用程序,所述应用程序合法时保持其运行,所述应用程序不合法时停止所述应用程序的运行并通知所述修复单元24;\n[0101] 修复单元24,用于通过云端服务器3或本地数据库4修复不合法的应用程序,重新启动修复后的应用程序,通知检测单元23。\n[0102] 所述检测单元23暂停需要保护的应用程序的启动时检测所述应用程序是否合法时需要检测的对象包括该应用程序本身;\n[0103] 所述检测单元23检测到需要保护的应用程序已启动后,检测所述应用程序是否合法时需要检测的对象包括:该应用程序本身以及应用程序所使用的除数据文件(数据文件包括图片文件、音效文件等等)外的其它文件,其他文件包括但不限于所述应用程序使用的动态链接库、驱动程序;所述动态链接库包括:应用程序自身的动态链接库和系统的动态链接库。\n[0104] 在实际操作中,识别单元22获取所述应用程序的特征标识,并读取本地数据库\n4(也可以是通过云端服务器3)中由系统初始设定或者由用户在使用中手动添加所得到的记录的所有指定的应用程序的标识的程序列表,根据所述应用程序的标识遍历所述程序列表,如果没有命中,放行所述应用程序,如果命中则识别其为指定的应用程序,通知所述检测单元23。出于运行效率考虑,优先使用本地数据库4的程序列表。\n[0105] 在实际操作中,修复单元24,可以根据检测单元23发来的不安全的文件的特征标识或者不合法的应用程序的安装文件的标识,通过访问云端服务器3或本地数据库4的备份文件库获取安全的相应文件对所述不安全的文件进行替换或者获取安全的安装文件对所述不合法的应用程序重新安装,从而修复所述应用程序为安全的版本,通知检测单元23再次检测修复后的该应用程序是否合法。出于安全性考虑,优先使用云端服务器3的备份文件库。\n[0106] 在实际操作中,动态防护模块1,通过读取文件列表得到其中记载的文件、变量数据和/或链接库文件的信息,并据此对这些文件、变量数据和/或链接库文件进行监控;静态保护模块2,通过读取所述文件列表得到其中记载的文件、变量数据和/或链接库文件的信息,并据此找到检测的对象并进行检测。\n[0107] 所述文件列表,一般随所述应用程序启动由所述电脑的操作系统生成,其中记录有所述应用程序启动后自动加载在所述操作系统中的文件和/或变量数据的信息以及在运行时还没有关联引用的操作系统内的链接库文件的信息,比如所处位置、类型等等。\n[0108] 上述装置与前述的方法的特征对应,不足之处可以参考前述方法部分。\n[0109] 上述说明示出并描述了本发明的若干优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
法律信息
- 2022-04-08
专利权的转移
登记生效日: 2022.03.25
专利权人由北京奇虎科技有限公司变更为三六零数字安全科技集团有限公司
地址由100088 北京市西城区新街口外大街28号D座112室(德胜园区)变更为100020 北京市朝阳区酒仙桥路甲10号3号楼15层17层1773
专利权人由奇智软件(北京)有限公司 变更为空
- 2015-09-23
专利权的转移
登记生效日: 2015.09.02
专利权人由奇智软件(北京)有限公司变更为北京奇虎科技有限公司
地址由100016 北京市朝阳区酒仙桥路14号兆维大厦4层东侧单元变更为100088 北京市西城区新街口外大街28号D座112室(德胜园区)
专利权人变更为奇智软件(北京)有限公司
- 2015-07-08
著录事项变更
发明人由郑文斌 周云峰 姚彤变更为郑文彬 周云峰 姚彤
- 2015-02-04
- 2011-07-20
实质审查的生效
IPC(主分类): G06F 21/22
专利申请号: 201110005074.0
申请日: 2011.01.04
- 2011-06-01
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2005-06-01
|
2005-01-10
| | |
2
| |
2010-04-14
|
2009-10-13
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |