一种运行应用程序的方法.pdf

上传人:r7 文档编号:4528896 上传时间:2018-10-18 格式:PDF 页数:26 大小:1.60MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410523202.4

申请日:

2014.09.30

公开号:

CN104268476A

公开日:

2015.01.07

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 21/56申请日:20140930|||公开

IPC分类号:

G06F21/56(2013.01)I

主分类号:

G06F21/56

申请人:

北京奇虎科技有限公司; 奇智软件(北京)有限公司

发明人:

葛山; 王力; 何孟东; 谢京辉

地址:

100088 北京市西城区新街口外大街28号D座112室(德胜园区)

优先权:

专利代理机构:

北京润泽恒知识产权代理有限公司 11319

代理人:

赵娟

PDF下载: PDF下载
内容摘要

本发明实施例提供了一种运行应用程序的方法,包括:扫描到当前操作系统中指定类型的应用程序;检测到指定类型的应用程序的启动操作;在所述应用程序启动前,对所述应用程序所在运行环境的进行第一安全检测;在第一安全检测的结果为所述运行环境安全后,启动所述应用程序;检测到所述应用程序运行过程中的预定事件,触发对所述应用程序中的预定事件的第二安全检测。本发明实施例有效保证了应用程序在启动时的运行环境的安全性,有效保证了应用程序在运行时的安全性,为应用程序提供了全面的安全保护,使应用程序安全地启动、运行。

权利要求书

权利要求书
1.  一种运行应用程序的方法,包括:
扫描到当前操作系统中指定类型的应用程序;
检测到指定类型的应用程序的启动操作;
在所述应用程序启动前,对所述应用程序所在运行环境的进行第一安全检测;
在第一安全检测的结果为所述运行环境安全后,启动所述应用程序;
检测到所述应用程序运行过程中的预定事件,触发对所述应用程序中的预定事件的第二安全检测。

2.  如权利要求1所述的方法,其特征在于,所述扫描到当前操作系统中指定类型的应用程序的步骤包括:
获取被触发的当前应用程序的进程的名称;
判断所述名称是否与预设的第一文件名相同;若是,则采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程序。

3.  如权利要求2所述的方法,其特征在于,所述指定属性包括注册表信息;
所述采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程序的步骤包括:
判断所述应用程序的注册表信息是否与预置的特征注册表信息匹配;若是,则判断所述应用程序为指定类型的应用程序。

4.  如权利要求2所述的方法,其特征在于,所述指定属性包括图标;
所述采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程序的步骤包括:
判断所述应用程序的图标是否与预置的特征图标匹配;若是,则判断所述应用程序为指定类型的应用程序。

5.  如权利要求2所述的方法,其特征在于,所述指定属性包括第二文件名和所属的平台名称;
所述采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程序的步骤包括:
判断预置的第二文件名是否在所述应用程序的文件中存在,且,所述应用程序所属的平台名称与预置的特征平台名称匹配;若是,则判断所述应用程序为指定类型的应用程序。

6.  如权利要求1所述的方法,其特征在于,所述检测到指定类型的应用程序的启动操作的步骤包括:
获取待检测应用程序在启动时的进程信息;
判断所述进程信息与预置的第一特征进程信息是否匹配;若是,则判断所述进程信息与预置的第二特征进程信息是否匹配;
当所述进程信息与预置的第二特征进程信息匹配时,判断检测到指定类型的应用程序的启动操作。

7.  如权利要求1所述的方法,其特征在于,所述指定类型的应用程序包括浏览器;所述检测到指定类型的应用程序的启动操作的步骤包括:
接收到一网址安全组件拦截到的、所述浏览器所请求的网页标识;
判断所述网页标识是否与预置的特征网页标识匹配;若是,则判断检测到浏览器的启动操作。

8.  如权利要求1所述的方法,其特征在于,所述在所述应用程序启动前,对所述应用程序所在运行环境的进行第一安全检测的步骤包括:
阻断所述应用程序的启动操作;
对阻断启动操作的应用程序所在的运行环境进行第一安全检测。

9.  如权利要求8所述的方法,其特征在于,所述阻断所述应用程序的启动操作的步骤包括:
判断所述应用程序启动操作对应的启动方式;
当所述启动方式为由一特定程序以外的方式启动时,阻断所述应用程序的进程的启动。

10.  如权利要求8所述的方法,其特征在于,所述对阻断启动操作的应用程序所在的运行环境进行第一安全检测的步骤包括:
调用内置的云安全组件对阻断启动操作的应用程序所在的运行环境进行第一安全检测。

说明书

说明书一种运行应用程序的方法
技术领域
本发明涉及计算机的技术领域,尤其涉及一种运行应用程序的方法。
背景技术
目前,随着互联网的高速发展,网络应用趋向多元化,诸如即时通讯工具、电子邮箱、网上银行等等应用程序,被广泛应用在用户生活和工作的各个方面。
用户若想在多种应用程序的应用中获取更多的个性化服务,通常需要注册对应服务器的账号,为了保证账号的安全,则需要用户编辑一个与账号对应的密码。
如图1所示,支持应用程序运行的Windows操作系统按照可访问内存地址的权限为Ring0,Ring1,Ring2,Ring3四层。之后逐渐衍生为Ring0,Ring3两层。应用程序通常运行在Ring3层,即用户模式;驱动程序通常运行在Ring0层,即内核模式。
Windows操作系统借助分层的设计思想解决复杂的问题,这一做法带来了可移植性、可扩展性等优点。不过,由于在设计理论上存在着安全性缺陷(例如缺乏完整性校验机制等),高可扩展性的另一方面也意味着系统存在大量的被篡改可能。
通常恶意程序会以用户模式的应用程序为主,对已经或或将启动的应用程序进行破坏和非法盗取应用程序中的信息等,主要表现在:
1、用户模式下的进程或应用程序易被破坏;
2、用户模式下的进程或应用程序中的信息易被盗取;
3、恶意程序启动不受限制;
4、用户模式中运行的应用程序可能会被恶意程序注入;
5、用户模式中应用程序在网络通信时的数据可能被截取或被篡改。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种运行应用程序的方法。
依据本发明的一个方面,提供了一种运行应用程序的方法,包括:
扫描到当前操作系统中指定类型的应用程序;
检测到指定类型的应用程序的启动操作;
在所述应用程序启动前,对所述应用程序所在运行环境的进行第一安全检测;
在第一安全检测的结果为所述运行环境安全后,启动所述应用程序;
检测到所述应用程序运行过程中的预定事件,触发对所述应用程序中的预定事件的第二安全检测。
可选地,所述扫描到当前操作系统中指定类型的应用程序的步骤包括:
获取被触发的当前应用程序的进程的名称;
判断所述名称是否与预设的第一文件名相同;若是,则采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程序。
可选地,所述指定属性包括注册表信息;
所述采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程序的步骤包括:
判断所述应用程序的注册表信息是否与预置的特征注册表信息匹配;若是,则判断所述应用程序为指定类型的应用程序。
可选地,所述指定属性包括图标;
所述采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程序的步骤包括:
判断所述应用程序的图标是否与预置的特征图标匹配;若是,则判断所述应用程序为指定类型的应用程序。
可选地,所述指定属性包括第二文件名和所属的平台名称;
所述采用所述应用程序的指定属性判断所述应用程序是否为指定类型 的应用程序的步骤包括:
判断预置的第二文件名是否在所述应用程序的文件中存在,且,所述应用程序所属的平台名称与预置的特征平台名称匹配;若是,则判断所述应用程序为指定类型的应用程序。
可选地,所述检测到指定类型的应用程序的启动操作的步骤包括:
获取待检测应用程序在启动时的进程信息;
判断所述进程信息与预置的第一特征进程信息是否匹配;若是,则判断所述进程信息与预置的第二特征进程信息是否匹配;
当所述进程信息与预置的第二特征进程信息匹配时,判断检测到指定类型的应用程序的启动操作。
可选地,所述指定类型的应用程序包括浏览器;所述检测到指定类型的应用程序的启动操作的步骤包括:
接收到一网址安全组件拦截到的、所述浏览器所请求的网页标识;
判断所述网页标识是否与预置的特征网页标识匹配;若是,则判断检测到浏览器的启动操作。
可选地,所述在所述应用程序启动前,对所述应用程序所在运行环境的进行第一安全检测的步骤包括:
阻断所述应用程序的启动操作;
对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
可选地,所述阻断所述应用程序的启动操作的步骤包括:
判断所述应用程序启动操作对应的启动方式;
当所述启动方式为由一特定程序以外的方式启动时,阻断所述应用程序的进程的启动。
可选地,所述对阻断启动操作的应用程序所在的运行环境进行第一安全检测的步骤包括:
调用内置的云安全组件对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
可选地,所述对阻断启动操作的应用程序所在的运行环境进行第一安全 检测的步骤包括:
调用第三方的安全组件对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
可选地,所述第一安全检测包括木马检测和病毒检测中的至少一种检测。
可选地,所述对所述应用程序所在运行环境的进行第一安全检测的步骤还包括:
根据所述第一安全检测的结果判断所述操作系统的安全等级;
展示所述第一安全检测的结果和所述操作系统的安全等级。
可选地,所述启动所述应用程序的步骤包括:
触发所述扫描到的应用程序在操作系统界面中的快捷启动方式,从而启动所述应用程序;或者
触发所述扫描到的应用程序在一特定程序中的启动入口,从而启动所述应用程序。
可选地,所述预定事件包括指定的窗口事件;所述检测到所述应用程序运行过程中的预定事件的步骤包括:
遍历当前操作系统中的窗口是否存在预置的特征值;若是,则判断检测到所述应用程序运行过程中的指定的窗口事件。
可选地,所述触发对所述应用程序中的预定事件的第二安全检测的步骤包括:
触发对所述应用程序中的窗口事件关联加载的业务对象的第二安全检测。
可选地,所述第二安全检测包括木马检测。
可选地,所述触发对所述应用程序中的预定事件的第二安全检测的步骤还包括:
根据所述第二安全检测的结果判断所述应用程序的安全等级;
展示所述第二安全检测的结果和所述应用程序的安全等级。
可选地,所述预定事件包括注入操作事件;所述检测到所述应用程序运 行过程中的预定事件的步骤包括:
挂钩指定的系统函数;
在所述系统函数调用时,判断所述系统函数是否为外部的应用程序调用;若是,则判断检测到所述应用程序运行过程中的注入操作事件。
可选地,所述触发对所述应用程序中的预定事件的第二安全检测的步骤包括:
阻断执行针对所述应用程序的注入操作;
触发对所述应用程序中的注入操作进行第二安全检测;
当所述注入操作通过所述第二安全检测时,允许执行针对所述应用程序的进程的注入操作;
当所述注入操作未通过所述第二安全检测时,过滤执行针对所述应用程序的进程的注入操作。
可选地,所述触发对所述应用程序中的注入操作进行第二安全检测的步骤包括:
当所述外部的应用程序在预置的白名单中匹配成功时,判断所述注入操作通过所述第二安全检测;
当所述外部的应用程序在预置的黑名单中匹配成功时,判断所述注入操作未通过所述第二安全检测。
可选地,所述触发对所述应用程序中的注入操作进行第二安全检测的步骤还包括:
展示对所述应用程序中的注入操作的第二安全检测的结果。
可选地,所述预定事件包括内存读写操作事件;所述检测到所述应用程序运行过程中的预定事件的步骤包括:
在预置的函数表中查找所述定类型的应用程序对应的系统函数;
挂钩所述应用程序对应的系统函数;
在所述应用程序对应的系统函数被调用时,判断所述系统函数是否为外部的应用程序调用;若是,则判断检测到所述应用程序运行过程中的内存读写操作事件。
可选地,所述触发对所述应用程序中的预定事件的第二安全检测的步骤包括:
阻断执行针对所述应用程序的内存读写操作;
触发对所述应用程序中的读写操作的第二安全检测;
当所述内存读写操作通过所述第二安全检测时,允许执行针对所述应用程序的内存读写操作;
当所述内存读写操作未通过所述第二安全检测时,过滤执行针对所述应用程序的内存读写操作。
可选地,所述触发对所述应用程序中的读写操作的第二安全检测的步骤包括:
当所述外部的应用程序在预置的白名单中匹配成功时,判断所述内存读写操作通过所述第二安全检测;
当所述外部的应用程序在预置的黑名单中匹配成功时,判断所述内存读写操作未通过所述第二安全检测。
可选地,所述触发对所述应用程序中的读写操作的第二安全检测的步骤还包括:
展示对所述应用程序的内存读写操作的第二安全检测的结果。
本发明实施例识别出指定类型的应用程序,在该应用程序启动之前进行第一安全检测,有效保证了应用程序在启动时的运行环境的安全性,在安全的运行环境中启动应用程序,在检测到应用程序运行过程中的预定事件时,触发对应用程序中的预定事件的第二安全检测,有效保证了应用程序在运行时的安全性,为应用程序提供了全面的安全保护,使应用程序安全地启动、运行。
本发明实施例在通过第一文件名识别指定类型的应用程序的基础之上,配合注册表信息、图标、第二文件名与所述平台的名称等指定属性进行识别指定类型的应用程序,可以有效识别篡改伪装的应用程序,大大提高了指定类型的应用程序的识别成功率。
本发明实施例在应用程序启动前,对应用程序所在运行环境的进行快速扫描,减少挂钩键盘的木马/病毒、其他恶意应用程序、拦截或吸怪通信数据包的目标/病毒等运行环境中存在的危险,提高了应用程序在启动时的运行环境的安全性。
本发明实施例触发述应用程序中的窗口事件关联加载的业务对象的专项扫描,对快速扫描进行补充,在应用程序运行之后,在支付、登录、收发数据等操作之前,对应用程序加载的功能模块进行扫描,确保了木马不会随应用程序启动,由于很多木马会修改应用程序文件,并随应用程序启动,实施盗取账号、密码、关键数据等恶意行为,专项扫描可以有效解决木马岁应用程序启动的问题,避免盗取账号、密码、关键数据等恶意行为,大大提高了应用程序在支付、登录、网络通信等操作的安全性。
本发明实施例在检测对到应用程序进行注入操作时,对注入操作进行安全检测,在判断注入操作安全时,允许注入操作继续执行,在判断该注入操作危险时,过滤该注入操作,防止应用程序被恶意注入,大大提高了应用程序运行中的安全性。
本发明实施例在检测对到应用程序进行内存读写操作时,对内存读写操作进行安全检测,在判断内存读写操作安全时,允许内存读写操作继续执行,在判断内存读写操作危险时,过滤内存读写操作,防止内存被恶意读写,提高了应用程序在运行中内存及其他私有信息的安全性,大大提高了应用程序运行中的安全性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文可选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出可选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符 号表示相同的部件。在附图中:
图1示意性示出了一种操作系统的架构图;
图2示意性示出了根据本发明一个实施例的一种运行应用程序的方法实施例的步骤流程图;以及
图3示意性示出了根据本发明一个实施例的一种操作系统的架构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图2,示意性示出了根据本发明一个实施例的一种运行应用程序的方法实施例的步骤流程图,具体可以包括如下步骤:
步骤201,扫描到当前操作系统中指定类型的应用程序;
需要说明的是,本发明实施例可以应用于一特定程序,如图3所示,该特定程序可形象地称为保险箱,以保护指定类型的应用程序,具体可以包括两部分,一部分为位于用户模式(即第3特权级Ring3)的保险箱进程,另一部分为位于内核模式(即第0特权级Ring0)的保险箱驱动。
在保险箱进程中,可以识别当前操作系统中指定类型的应用程序,即可以在第3特权级Ring3中扫描到当前操作系统中指定类型的应用程序。
应用本发明实施例,可以自动识别出当前操作系统中指定类型的应用程序,例如,通讯类的应用程序(如即时通讯工具、邮箱客户端等等)、游戏、银行类的应用程序(如支付工具、U盾等等)、浏览器或者其他应用程序,从而为之后的该应用程序的进程主动或者被动的某些行为进行保护。
在本发明的一种可选实施例中,步骤201可以包括如下子步骤:
子步骤S11,获取被触发的当前应用程序的进程的名称;
在具体实现中,当操作系统中任意一个应用程序的进程被触发开启时,可以对判断该进程对应的应用程序是否为指定类型的应用程序。
其中,该应用程序的进程可以为用户主动触发,例如,用户点击该应用程序的快捷方式;该应用程序的进程也可以为其他应用程序/服务所调用触发,例如,用户点击在即时通讯工具的会话窗口中接收的网址,即时通讯工具调用浏览器加载该网址指示的网页。
子步骤S12,判断所述名称是否与预设的第一文件名相同;若是,则执行子步骤S13;
在具体实现中,获取被触发的当前应用程序的进程的名称,则可以检测当前应用程序的进程的名称是否与预设的第一文件名相同;若相同,则可以继续进行指定属性的扫描;若不相同,则可以认为当前被触发的应用程序不为指定类型的应用程序。
应用本发明实施例,可以在本地预置一文件名列表,在该文件名列表存储有一个或多个第一文件名,将获取被触发的当前应用程序的进程的名称在该文件名列表中进行匹配,以检测当前应用程序的进程的名称是否与预设的第一文件名相同。
在本发明实施例的一种可选示例中,对于游戏类的应用程序,第一文件名可以包括两种类型:
预设的游戏的主程序的名称或者预设的浏览器进程的名称,分别可以运行游戏和网页游戏。
例如,若当前应用程序的进程的名称为“war.exe”,该名称为一游戏的主程序的名称,可以表明当前可能打开了魔兽争霸这款游戏;
又例如,若当前应用程序的进程的名称为“360se.exe”,该名称为一浏览器进程的名称,可以表明可能打开了浏览器。
当然,本发明实施例也可以预设通讯类的应用程序的进程名称、银行类的应用程序的进程名称等等,本发明实施例对此不加以限制。
子步骤S13,采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程序。
由于程序的名称容易被修改,因此通过进程的名称一般不能十分准确地判断是否扫描到指定类型的应用程序。
本发明实施例中,可以在检测应用程序的进程的名称的基础之上,采用应用程序所特有的性质(即指定属性)继续判断,以保障对游戏、浏览器等指定类型的应用程序的识别的准确率。
在本发明实施例的一种可选示例中,所述指定属性可以包括注册表信息,则在本示例中,子步骤S13可以包括如下子步骤:
子步骤S131,判断所述应用程序的注册表信息是否与预置的特征注册表信息匹配;若是,则执行子步骤S132;
子步骤S132,判断所述应用程序为指定类型的应用程序。
注册表(Registry,又称登录档)是操作系统中的一个重要的数据库,可以用于存储系统和应用程序的设置信息。
当准备运行一个应用程序时,注册表可以提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。
应用本发明实施例,可以预先采集指定类型的应用程序的注册表信息(即特征注册表信息),通过应用程序的注册表信息与预置的特征注册表进行匹配,从而可以快速识别出指定类型的应用程序。
由于应用程序在操作系统安装时,其注册表路径可以是唯一的。因此,当该应用程序的注册表路径与特征注册表信息匹配时,说明在操作系统中安装有该应用程序,若注册表路径与特征注册表信息不匹配,则被触发的应用程序不一定是指定类型的应用程序。
在本发明实施例的一种可选示例中,所述指定属性可以包括图标,则在本示例中,子步骤S13可以包括如下子步骤:
子步骤S133,判断所述应用程序的图标是否与预置的特征图标匹配;若是,则执行子步骤S134;
子步骤S134,判断所述应用程序为指定类型的应用程序。
图标(如Icon),可以指计算机软件编程中为使人机界面更加易于操作和人性化而设计出的标识特定功能的图形标志。
一般而言,每个应用程序的图标(如Icon)可以是独特、唯一的,即不 同的应用程序采用的图标(如Icon)可以不相同,因此,可以依靠图标(如Icon)作为指定类型的应用程序的识别手段。
应用本发明实施例,可以预先采集指定类型的应用程序的图标(即特征图标),通过应用程序的图标(如Icon)与预置的特征图标进行匹配,从而可以快速识别出指定类型的应用程序。
在实际应用中,可以解析当前应用程序的图标,获得第一矩阵,解析特征图标,获得第二矩阵,判断第一矩阵和第二矩阵是否匹配;若匹配,则可以判断当前应用程序的图标与特征图标匹配;若不匹配,则可以判断当前应用程序的图标与特征图标不匹配。
其中,第一矩阵中可以保存有当前应用程序的图标的颜色值,第二矩阵保存有特征图标的颜色值。
在本发明实施例的一种可选示例中,所述指定属性可以包括第二文件名和所属的平台名称,则在本示例中,子步骤S13可以包括如下子步骤:
子步骤S135,判断预置的第二文件名是否在所述应用程序的文件中存在,且,所述应用程序所属的平台名称与预置的特征平台名称匹配;若是,则执行子步骤S136;
子步骤S136,判断所述应用程序为指定类型的应用程序。
在具体实现中,第二文件可以为与当前进程对应的应用程序中唯一存在的文件。
例如,在某个射击类游戏中,第二文件可以为某一预置的地图文件,“cs_bloodstrike.nav”。
应用程序所属的平台可以为开发或者拥有该应用程序的公司。
应用本发明实施例,可以预先采集指定类型的应用程序的第二文件名和所属的平台名称,通过应用程序的所属的平台与预置的特征图标进行匹配,以及,查找第二文件名是否在应用程序的文件中存在,从而可以快速识别出指定类型的应用程序。
需要说明的是,本发明实施例可以应用注册表信息、图标、第二文件名与所属平台名称中的至少一个进行匹配,判断应用程序是否为指定类型的应 用程序。
例如,先匹配注册表,若判断应用程序的注册表信息与预置的特征注册表信息不匹配,则可以匹配图标,若判断应用程序的图标与预置的特征图标不匹配,则可以匹配第二文件名和所属的平台名称。
当然,上述指定属性只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他指定属性,本发明实施例对此不加以限制。另外,除了上述指定属性外,本领域技术人员还可以根据实际需要采用其指定属性,本发明实施例对此也不加以限制。
本发明实施例在通过第一文件名识别指定类型的应用程序的基础之上,配合注册表信息、图标、第二文件名与所述平台的名称等指定属性进行识别指定类型的应用程序,可以有效识别篡改伪装的应用程序,大大提高了指定类型的应用程序的识别成功率。
步骤202,检测到指定类型的应用程序的启动操作;
在保险箱中,可以检测到指定类型的应用程序的启动操作,即可以在第0特权级Ring0和第3特权级Ring3的交互中检测到指定类型的应用程序的启动操作。
在本发明的一种可选实施例中,步骤202可以包括如下子步骤:
子步骤S21,获取待检测应用程序在启动时的进程信息;
子步骤S22,判断所述进程信息与预置的第一特征进程信息是否匹配;若是,则判断所述进程信息与预置的第二特征进程信息是否匹配;
子步骤S23,当所述进程信息与预置的第二特征进程信息匹配时,判断检测到指定类型的应用程序的启动操作。
在具体实现中,保险箱驱动可以获取到应用程序的进程启动的时机和信息。
例如,保险箱驱动可以通过回调操作系统中指定的系统函数,如PsSetCreateProcessNotifyRoutine等,让操作系统通知该系统函数,以获知应用程序的进程启动、退出等信息。
当然,本发明实施例中还可以挂钩(Hook)CreateProcess等系统函数获 取到应用程序的进程启动的时机和信息,本发明实施例对此不加以限制。
该特定程序可以在启动时把一些已经识别到的进程信息随保险箱驱动存入到驱动层(即第0特权级Ring0)的内存中。
例如,已经识别到已经识别到的进程信息可以包括的一些进程的名称,如A.exe、B.exe等。
保险箱驱动本身运行在系统内核层(即第0特权级Ring0),可以在得到某个应用程序启动时获取到其进程将要启动的进程信息,包括进程ID、进程全路径、进程名称等等,和之前存入的进程信息进行过滤。
如果保险箱驱动判断第一特征进程信息(如进程名称等)一样,则将进程信息传输到应用层(第3特权级Ring3)的保险箱进程进行第二特征信息(如进程全路径等)的判断,如果第一特征进程信息和第二特征进程信息都匹配,那么可以判断启动的应用程序是已经识别过的,即检测到指定类型的应用程序启动。
在本发明的一种可选实施例中,所述指定类型的应用程序可以包括浏览器;步骤202可以包括如下子步骤:
子步骤S41,接收到一网址安全组件拦截到的、所述浏览器所请求的网页标识;
子步骤S42,判断所述网页标识是否与预置的特征网页标识匹配;若是,则判断检测到浏览器的启动操作。
在保险箱进程中可以接收到一网址安全组件拦截到的、所述浏览器所请求的网页标识,判断所述网页标识是否与预置的特征网页标识匹配;若是,则判断检测到浏览器的启动操作。
即可以在第3特权级Ring3中接收到一网址安全组件拦截到的、所述浏览器所请求的网页标识,判断所述网页标识是否与预置的特征网页标识匹配;若是,则判断检测到浏览器的启动操作。
需要说明的是,该网址安全组件可以集成在该特定程序中,也是可以单独作为另一个安全程序中的一个网址安全组件,本发明实施例对此不加以限制。
网页标识可以是能够代表一个唯一确定的网页的信息,例如统一资源标识符(Uniform Resource Identifier,URI),统一资源标识符又具体可以包括统一资源定位符(Uniform Resource Locator,URL),或者统一资源名称(Uniform Resource Name,URN)等等。
应用本发明实施例,可以预先采集浏览器中加载的网页标识(即特征网页标识),例如,网页游戏的网页、网上银行的网页等等,通过在浏览器请求的网页标识与预置的特征网页标识匹配,从而可以快速检测到指定类型的应用程序的启动操作。
步骤203,在所述应用程序启动前,对所述应用程序所在运行环境的进行第一安全检测;
本发明实施例中,对即将运行的应用程序(包括从桌面启动或者应用程序被自动运行的),为确保应用程序的运行环境安全,可以采取对当前系统环境进行安全检测,又可以称为快速扫描。
在保险箱中,可以在所述应用程序启动前,对所述应用程序所在运行环境的进行第一安全检测,即可以在第0特权级Ring0和第3特权级Ring3的交互中对所述应用程序所在运行环境的进行第一安全检测。
在本发明的一种可选实施例中,步骤203可以包括如下子步骤:
子步骤S51,阻断所述应用程序的启动操作;
在保险箱驱动中,可以阻断所述应用程序的启动操作,即可以在第0特权级Ring0中阻断所述应用程序的启动操作。
在本发明实施例的一种可选示例中,子步骤S51可以包括如下子步骤:
子步骤S511,判断所述应用程序启动操作对应的启动方式;
子步骤S512,当所述启动方式为由一特定程序以外的方式启动时,阻断所述应用程序的进程的启动。
保险箱进程可以在后台判断应用程序启动操作对应的启动方式,是由该特定程序启动的,还是外部(如桌面,快捷方式,其它程序调用等特定程序以外的方式)启动的。
如果是外部启动,则保险箱驱动可以调用对应的操作系统的API (Application Programming Interface,应用程序编程接口)阻断该应用程序的进程的启动。
子步骤S52,对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
保险箱进程可以对阻断启动操作的应用程序所在的运行环境进行第一安全检测,即可以在第3特权级Ring3中对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
在本发明实施例的一种可选示例中,子步骤S52可以包括如下子步骤:
子步骤S521,调用内置的云安全组件对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
在本发明实施例中,进行第一安全检测的云安全组件可以内置在特定进程中。
在本发明实施例的另一种可选示例中,子步骤S52可以包括如下子步骤:
子步骤S522,调用第三方的安全组件对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
在本发明实施例中,进行第一安全检测的安全组件可以位于在第三方中,特定程序可以通过指定的API接口进行调用。
在实际应用中,安全组件(如云安全组件或第三方的安全组件)可以把操作系统的环境信息(例如,操作系统版本,系统补丁安装信息,软件安装信息,驱动安装信息,活动进程和服务等)发送给服务器,服务器端根据安全组件发送的系统环境信息与服务器中预先配置的条件进行判断,然后决定给安全组件返回哪些扫描内容,扫描内容通常是本领域技术人员根据新生恶意程序利用的位置(如某游戏安装目录、常用软件的安装目录等)编写的一段文本或脚本,安全组件收到服务器端返回的扫描内容后执行扫描,扫描本地引擎内置的扫描位置和服务器返回的个性化的扫描内容。为了加快扫描效率,服务器端返回给安全组件的扫描内容中可以指定扫描条件,只有满足条件时客户端才扫描指定的内容。
安全组件把扫描到的程序文件的特征信息发送给服务器,该特征信息可以是程序文件的MD5(Message Digest Algorithm,消息摘要算法第五版)、SHA1(Secure Hash Algorithm,安全哈希算法)或从文件中抽取某些内容计算出的特征信息,安全组件端根据客户端发来的程序文件的特征信息在其数据库中进行分析比对,如果发现匹配记录就把对应的查杀方法返回给安全组件,安全组件根据服务器端返回的查杀方法执行相应的动作。
如果服务器根据安全组件发来的程序文件的特征信息无法准确匹配,会把进一步需要检查的条件(判断条件可以是指定文件/目录是否存在,文件属性是否满足条件,如文件的MD5是否为指定的值;指定注册表键/值是否存在,注册表键/值内容是否满足条件,指定进程/服务是否存在等)发送给安全组件,安全组件根据服务器端返回的检查条件收集需要的程序文件的属性和其上下文环境的属性,然后发送给服务器端,服务器端再根据这些属性在其数据库中进行分析比对,如果发现匹配记录就把对应的查杀方法返回给客户端,安全组件根据服务器端返回的查杀方法执行相应的动作。
其中,查杀方法是技术人员根据恶意程序的行为特征编写的一段脚本,用于检测和修复恶意程序。查杀方法分为扫描/判定动作和修复动作,扫描/判定动作即对程序文件属性及程序文件的上下文环境的扫描和判定,当判定为恶意程序时执行相应的修复动作,修复动作包括删除指定的注册表键/值、修改注册表键/值为指定内容、删除指定系统服务项、修复/删除指定程序文件等。
在具体实现中,所述第一安全检测可以包括木马检测和病毒检测中的至少一种检测。
具体而言,病毒是指编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码。
木马是一种经过伪装的欺骗性程序,它通过将自身伪装吸引用户下载执行,从而破坏或窃取使用者的重要文件和资料。木马与一般的病毒不同,它不会自我繁殖,也并不“刻意”地去感染其他文件,它的主要 作用是向施种木马者打开被种者电脑的门户,使对方可以任意毁坏、窃取你的文件,甚至远程操控用户的电脑。
则第一安全监测扫描的位置可以包括:
1、键盘钩子(很多木马会利用此方式来监控键盘输入,盗取密码);
2、正在运行的除该指定类型的应用程序之外的其它应用程序;
3、网络通信模块(很多高级木马会监控网络访问,通过截获或者修改电脑发送出去的数据包的方式来盗取密码)。
在本发明的一种可选实施例中,步骤203还可以包括如下子步骤:
子步骤S53,根据所述第一安全检测的结果判断所述操作系统的安全等级;
子步骤S54,展示所述第一安全检测的结果和所述操作系统的安全等级。
保险箱进程可以根据所述第一安全检测的结果判断所述操作系统的安全等级,以及,展示所述第一安全检测的结果和所述操作系统的安全等级,即可以在第3特权级Ring3中根据所述第一安全检测的结果判断所述操作系统的安全等级,以及,展示所述第一安全检测的结果和所述操作系统的安全等级。
在具体实现中,可以根据所述第一安全检测的结果按照预置的积分规则计算安全评分,而安全等级可以具有一个分数范围,安全评分归属的分数范围即为当前操作系统的安全等级。
例如,预置的计分规则为,设置满分为100分,出现上述任一危险项目信息则扣10分,若当前检测出两个危险项目,则安全评分参数为80分,若第二档的安全等级的范围为70-85,则当前操作系统的安全等级为第二档。
在扫描完毕之后,可以会给展示相关的扫描结果,并同时判断给出当前操作系统环境安全与否及安全等级的提醒,以提示用户。
本发明实施例在应用程序启动前,对应用程序所在运行环境的进行快速扫描,减少挂钩键盘的木马/病毒、其他恶意应用程序、拦截或吸怪通信数 据包的目标/病毒等运行环境中存在的危险,提高了应用程序在启动时的运行环境的安全性。
步骤204,在第一安全检测的结果为所述运行环境安全后,启动所述应用程序;
保险箱驱动可以在第一安全检测的结果为所述运行环境安全后,启动所述应用程序,即可以在第0特权级Ring0中启动所述应用程序。
需要说明的是,本领域技术人员可以根据实际需求设置哪些安全等级表示当前运行环境安全,哪些安全等级表示当前运行环境存在风险,哪些安全等级表示当前运行环境危险等等。
在本发明的一种可选实施例中,步骤204可以包括如下子步骤:
子步骤S61,触发所述扫描到的应用程序在操作系统界面中的快捷启动方式,从而启动所述应用程序;或者
子步骤S62,触发所述扫描到的应用程序在一特定程序中的启动入口,从而启动所述应用程序。
由于在先可以在获取待检测应用程序在启动时的进程信息,识别了启动应用程序的进程的全路径,在阻断后可以启动该全路径的对应的指定类型的应用程序。
步骤205,检测到所述应用程序运行过程中的预定事件;
保险箱驱动可以在检测到所述应用程序运行过程中的预定事件,即可以在第0特权级Ring0中检测到所述应用程序运行过程中的预定事件。
步骤206,触发对所述应用程序中的预定事件的第二安全检测。
在保险箱中,可以触发对所述应用程序中的预定事件的第二安全检测,即可以在第0特权级Ring0和第3特权级Ring3的交互中触发对所述应用程序中的预定事件的第二安全检测。
在本发明的一种可选实施例中,所述预定事件可以包括指定的窗口事件;步骤205可以包括如下子步骤:
子步骤S71,遍历当前操作系统中的窗口是否存在预置的特征值;若是,则执行子步骤S72;
子步骤S72,判断检测到所述应用程序运行过程中的指定的窗口事件。
在具体实现中,可以通过指定的操作系统的API遍历当前窗口,查找具有特征值的窗口,其中,特征值可以指窗口的名字、窗口的类名等等。
在本发明实施例的一种优选示例中,该指定的窗口事件可以包括登录的窗口事件、支付的窗口事件、收发数据的窗口事件等等。
在本发明的一种可选实施例中,步骤206可以包括如下子步骤:
子步骤S81,触发对所述应用程序中的窗口事件关联加载的业务对象的第二安全检测。
在本发明实施例中,窗口事件关联加载的业务对象可以包括应用程序中的功能模块,具体可以指独立完成一定功能的代码集合。
由于第二安全检测是针对窗口事件关联加载的业务对象,因此,本发明实施例中,第二安全检测也可以称为专项扫描。
在具体实现中,所述第二安全检测可以包括木马检测。
本发明实施例触发述应用程序中的窗口事件关联加载的业务对象的专项扫描,对快速扫描进行补充,在应用程序运行之后,在支付、登录、网络通信等操作之前,对应用程序加载的功能模块进行扫描,确保了木马不会随应用程序启动,由于很多木马会修改应用程序文件,并随应用程序启动,实施盗取账号、密码、关键数据等恶意行为,专项扫描可以有效解决木马岁应用程序启动的问题,避免盗取账号、密码、关键数据等恶意行为,大大提高了应用程序在支付、登录、网络通信等操作的安全性。
在本发明的一种可选实施例中,步骤206还可以包括如下子步骤:
子步骤S82,根据所述第二安全检测的结果判断所述应用程序的安全等级;
子步骤S83,展示所述第二安全检测的结果和所述应用程序的安全等级。
在保险箱进程中,可以根据所述第二安全检测的结果判断所述应用程序的安全等级,以及,展示所述第二安全检测的结果和所述应用程序的安全等级,即可以在第3特权级Ring3中根据所述第二安全检测的结果判断所述应 用程序的安全等级,以及,展示所述第二安全检测的结果和所述应用程序的安全等级。
在具体实现中,可以根据所述第二安全检测的结果按照预置的积分规则计算安全评分,而安全等级可以具有一个分数范围,安全评分归属的分数范围即为当前操作系统的安全等级。
在扫描完毕之后,可以会给展示相关的扫描结果,并同时判断给出当前操作系统环境安全与否及安全等级的提醒,以提示用户。
在本发明的一种可选实施例中,所述预定事件可以包括注入操作事件;步骤205可以包括如下子步骤:
子步骤S91,挂钩指定的系统函数;
子步骤S92,在所述系统函数调用时,判断所述系统函数是否为外部外部的调用;若是,则执行子步骤S93;
子步骤S93,判断检测到所述应用程序运行过程中的注入操作事件。
注入操作可以指一个应用程序对另一个应用程序进行的读写虚拟内存等敏感操作。
在具体实现中,可以特定进程启动时,通过保险箱驱动将所有注入方法的入口进行内核的挂钩(Hook),具体可以枚举可能注入用到操作系统的API函数,例如NtReadVirtualMemory、SetThreadContext、NtQueueAPCThread等等。
这样在外部的应用程序试图在保护的应用程序的地址空间中使用了这些API函数都将会被感知。
钩子本身可以在执行过程中先加入自己的操作,在继续执行或者直接退出。比如当拦截住了这些API函数在使用时,马上判断是不是本应用程序的进程操作的,如果不是,即系统函数为外部的应用程序调用,则可以判断检测到注入操作事件。
在本发明的一种可选实施例中,步骤206可以包括如下子步骤:
子步骤S101,阻断执行针对所述应用程序的注入操作;
在具体实现中,保险箱驱动可以阻断执行针对应用程序的注入操作,即 可以在第0特权级Ring0中阻断执行针对应用程序的注入操作。
子步骤S102,触发对所述应用程序中的注入操作进行第二安全检测;
当保险箱驱动检测到注入操作时,可以通知保险箱进程,保险箱进程触发对应用程序中的注入操作进行第二安全检测,即可以在第3特权级Ring3中触发对应用程序中的注入操作进行第二安全检测。
在本发明的一种可选实施例中,子步骤S102可以包括如下子步骤:
子步骤S1021,当所述外部的应用程序在预置的白名单中匹配成功时,判断所述注入操作通过所述第二安全检测;
虽然注入操作具有一定的危险性,但是并不是所有的注入都是危险的,有些正常的应用程序也会有注入操作的。
本发明实施例中,可以通过白名单识别安全的应用程序的注入操作。
白名单可以用于描述安全的应用程序的集合,集合中的应用程序可以被认为是安全的。白名单通常可以为应用程序在操作系统中的路径,具体可以包括默认的、手动加入到该集合中的应用程序。
子步骤S1022,当所述外部的应用程序在预置的黑名单中匹配成功时,判断所述注入操作未通过所述第二安全检测。
本发明实施例中,可以通过黑名单识别安全的应用程序的注入操作。
黑名单可以用于描述危险的应用程序的集合,集合中的应用程序可以被认为是危险的。黑名单通常可以为应用程序在操作系统中的路径,具体可以包括默认的、手动加入到该集合中的应用程序。
需要说明的是,白名单、黑名单可以由云安全中心进行维护,并下发至特定程序中。
在本发明的一种可选实施例中,子步骤S102还可以包括如下子步骤:
子步骤S1023,展示对所述应用程序中的注入操作的第二安全检测的结果。
在具体实现中,保险箱进程可以展示对所述应用程序中的注入操作的第二安全检测的结果,即可以在第3特权级Ring3中展示对所述应用程序中的注入操作的第二安全检测的结果,以提示用户。
子步骤S103,当所述注入操作通过所述第二安全检测时,允许执行针对所述应用程序的进程的注入操作;
子步骤S104,当所述注入操作未通过所述第二安全检测时,过滤执行针对所述应用程序的进程的注入操作。
等扫描完成,保险箱进程可以通知保险箱驱动扫描的结果,即注入操作是否通过第二安全检测,若通过,则可以表示该注入操作安全,若未通过,则可以保湿该注入操作危险。
保险箱驱动可以依据扫描的结果允许执行针对所述应用程序的进程的注入操作,或者,过滤执行针对所述应用程序的进程的注入操作,即可以在第0特权级Ring0中允许执行针对所述应用程序的进程的注入操作,或者,过滤执行针对所述应用程序的进程的注入操作。
本发明实施例在检测对到应用程序进行注入操作时,对注入操作进行安全检测,在判断注入操作安全时,允许注入操作继续执行,在判断该注入操作危险时,过滤该注入操作,防止应用程序被恶意注入,大大提高了应用程序运行中的安全性。
在本发明的一种可选实施例中,所述预定事件可以包括内存读写操作事件;步骤205可以包括如下子步骤:
子步骤S111,在预置的函数表中查找所述定类型的应用程序对应的系统函数;
子步骤S112,挂钩所述应用程序对应的系统函数;
子步骤S113,在所述应用程序对应的系统函数被调用时,判断所述系统函数是否为外部的应用程序调用;若是,则执行子步骤S114;
子步骤S114,判断检测到所述应用程序运行过程中的内存读写操作事件。
对于不同的指定类型的应用程序,其进行内存读写操作的系统函数可以是不相同的,所以需要一个函数表来确定指定类型的应用程序的哪个读写函数需要被挂钩(Hook)。
这样在外部的应用程序试图在保护的应用程序的地址空间中使用了这 些系统函数都将会被感知。
钩子本身可以在执行过程中先加入自己的操作,在继续执行或者直接退出。比如当拦截住了这些系统函数在使用时,马上判断是不是本应用程序的进程操作的,如果不是,即系统函数为外部的应用程序调用,则可以判断检测到内存读写操作事件。
在本发明的一种可选实施例中,步骤206可以包括如下子步骤:
子步骤S121,阻断执行针对所述应用程序的内存读写操作;
在具体实现中,保险箱驱动可以阻断执行针对所述应用程序的内存读写操作,即可以在第0特权级Ring0中阻断执行针对所述应用程序的内存读写操作。
子步骤S122,触发对所述应用程序中的读写操作的第二安全检测;
当保险箱驱动检测到内存读写操作时,可以通知保险箱进程,保险箱进程触发对所述应用程序中的读写操作的第二安全检测,即可以在第3特权级Ring3中触发对所述应用程序中的读写操作的第二安全检测。
在本发明的一种可选实施例中,子步骤S122可以包括如下子步骤:
子步骤S1221,当所述外部的应用程序在预置的白名单中匹配成功时,判断所述读写操作通过所述第二安全检测;
虽然内存读写操作具有一定的危险性,但是并不是所有的内存读写操作都是危险的,有些正常的应用程序也会有内存读写操作的。
本发明实施例中,可以通过白名单识别安全的应用程序的内存读写操作。
白名单可以用于描述安全的应用程序的集合,集合中的应用程序可以被认为是安全的。白名单通常可以为应用程序在操作系统中的路径,具体可以包括默认的、手动加入到该集合中的应用程序。
子步骤S1222,当所述外部的应用程序在预置的黑名单中匹配成功时,判断所述读写操作未通过所述第二安全检测。
本发明实施例中,可以通过黑名单识别安全的应用程序的内存读写操作。
黑名单可以用于描述危险的应用程序的集合,集合中的应用程序可以被认为是危险的。黑名单通常可以为应用程序在操作系统中的路径,具体可以包括默认的、手动加入到该集合中的应用程序。
需要说明的是,白名单、黑名单可以由云安全中心进行维护,并下发至特定程序中。
在本发明的一种可选实施例中,子步骤S122还可以包括如下子步骤:
子步骤S1223,展示对所述应用程序的内存读写操作的第二安全检测的结果。
在具体实现中,保险箱进程可以展示对所述应用程序中读写操作的第二安全检测的结果,即可以在第3特权级Ring3中展示对所述应用程序中读写操作的第二安全检测的结果,以提示用户。
子步骤S123,当所述内存读写操作通过所述第二安全检测时,允许执行针对所述应用程序的内存读写操作;
子步骤S124,当所述内存读写操作未通过所述第二安全检测时,过滤执行针对所述应用程序的内存读写操作。
等扫描完成,保险箱进程可以通知保险箱驱动扫描的结果,即注入操作是否通过第二安全检测,若通过,则可以表示该注入操作安全,若未通过,则可以保湿该注入操作危险。
保险箱驱动可以依据扫描的结果允许执行针对所述应用程序的内存读写操作,或者,过滤执行针对所述应用程序的内存读写操作,即可以在第0特权级Ring0中允许执行针对所述应用程序的内存读写操作,或者,过滤执行针对所述应用程序的内存读写操作。
本发明实施例在检测对到应用程序进行内存读写操作时,对内存读写操作进行安全检测,在判断内存读写操作安全时,允许内存读写操作继续执行,在判断内存读写操作危险时,过滤内存读写操作,防止内存被恶意读写,提高了应用程序在运行中内存及其他私有信息的安全性,大大提高了应用程序运行中的安全性。
当然,上述预定事件方法只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他预定事件,本发明实施例对此不加以限制。另外,除了上述预定事件外,本领域技术人员还可以根据实际需要采用其它预定事件,本发明实施例对此也不加以限制。
本发明实施例识别出指定类型的应用程序,在该应用程序启动之前进行第一安全检测,有效保证了应用程序在启动时的运行环境的安全性,在安全的运行环境中启动应用程序,在检测到应用程序运行过程中的预定事件时,触发对应用程序中的预定事件的第二安全检测,有效保证了应用程序在运行时的安全性,为应用程序提供了全面的安全保护,使应用程序安全地启动、运行。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作并不一定是本发明实施例所必须的。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将 该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的运行应用程序的设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明实施例公开了A1、一种运行应用程序的方法,包括:
扫描到当前操作系统中指定类型的应用程序;
检测到指定类型的应用程序的启动操作;
在所述应用程序启动前,对所述应用程序所在运行环境的进行第一安全检测;
在第一安全检测的结果为所述运行环境安全后,启动所述应用程序;
检测到所述应用程序运行过程中的预定事件,触发对所述应用程序中的预定事件的第二安全检测。
A2、如A1所述的方法,所述扫描到当前操作系统中指定类型的应用程序的步骤包括:
获取被触发的当前应用程序的进程的名称;
判断所述名称是否与预设的第一文件名相同;若是,则采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程序。
A3、如A2所述的方法,所述指定属性包括注册表信息;
所述采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程序的步骤包括:
判断所述应用程序的注册表信息是否与预置的特征注册表信息匹配;若是,则判断所述应用程序为指定类型的应用程序。
A4、如A2所述的方法,所述指定属性包括图标;
所述采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程序的步骤包括:
判断所述应用程序的图标是否与预置的特征图标匹配;若是,则判断所述应用程序为指定类型的应用程序。
A5、如A2所述的方法,所述指定属性包括第二文件名和所属的平台名称;
所述采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程序的步骤包括:
判断预置的第二文件名是否在所述应用程序的文件中存在,且,所述应用程序所属的平台名称与预置的特征平台名称匹配;若是,则判断所述应用程序为指定类型的应用程序。
A6、如A1所述的方法,所述检测到指定类型的应用程序的启动操作的步骤包括:
获取待检测应用程序在启动时的进程信息;
判断所述进程信息与预置的第一特征进程信息是否匹配;若是,则判断所述进程信息与预置的第二特征进程信息是否匹配;
当所述进程信息与预置的第二特征进程信息匹配时,判断检测到指定类型的应用程序的启动操作。
A7、如A1所述的方法,所述指定类型的应用程序包括浏览器;所述检测到指定类型的应用程序的启动操作的步骤包括:
接收到一网址安全组件拦截到的、所述浏览器所请求的网页标识;
判断所述网页标识是否与预置的特征网页标识匹配;若是,则判断检测到浏览器的启动操作。
A8、如A1所述的方法,所述在所述应用程序启动前,对所述应用程序所在运行环境的进行第一安全检测的步骤包括:
阻断所述应用程序的启动操作;
对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
A9、如A8所述的方法,所述阻断所述应用程序的启动操作的步骤包括:
判断所述应用程序启动操作对应的启动方式;
当所述启动方式为由一特定程序以外的方式启动时,阻断所述应用程序的进程的启动。
A10、如A8所述的方法,所述对阻断启动操作的应用程序所在的运行环境进行第一安全检测的步骤包括:
调用内置的云安全组件对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
A11、如A8所述的方法,所述对阻断启动操作的应用程序所在的运行环境进行第一安全检测的步骤包括:
调用第三方的安全组件对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
A12、如A1或A8或A10或A11所述的方法,所述第一安全检测包括木马检测和病毒检测中的至少一种检测。
A13、如A8或A10或A11所述的方法,所述对所述应用程序所在运行环境的进行第一安全检测的步骤还包括:
根据所述第一安全检测的结果判断所述操作系统的安全等级;
展示所述第一安全检测的结果和所述操作系统的安全等级。
A14、如A1所述的方法,所述启动所述应用程序的步骤包括:
触发所述扫描到的应用程序在操作系统界面中的快捷启动方式,从而启动所述应用程序;或者
触发所述扫描到的应用程序在一特定程序中的启动入口,从而启动所述应用程序。
A15、如A1所述的方法,所述预定事件包括指定的窗口事件;所述检测到所述应用程序运行过程中的预定事件的步骤包括:
遍历当前操作系统中的窗口是否存在预置的特征值;若是,则判断检测到所述应用程序运行过程中的指定的窗口事件。
A16、如A15所述的方法,所述触发对所述应用程序中的预定事件的第二安全检测的步骤包括:
触发对所述应用程序中的窗口事件关联加载的业务对象的第二安全检测。
A17、如A15或A16所述的方法,所述第二安全检测包括木马检测。
A18、如A16所述的方法,所述触发对所述应用程序中的预定事件的第二安全检测的步骤还包括:
根据所述第二安全检测的结果判断所述应用程序的安全等级;
展示所述第二安全检测的结果和所述应用程序的安全等级。
A19、如A1所述的方法,所述预定事件包括注入操作事件;所述检测到所述应用程序运行过程中的预定事件的步骤包括:
挂钩指定的系统函数;
在所述系统函数调用时,判断所述系统函数是否为外部的应用程序调用;若是,则判断检测到所述应用程序运行过程中的注入操作事件。
A20、如A19所述的方法,所述触发对所述应用程序中的预定事件的第二安全检测的步骤包括:
阻断执行针对所述应用程序的注入操作;
触发对所述应用程序中的注入操作进行第二安全检测;
当所述注入操作通过所述第二安全检测时,允许执行针对所述应用程序的进程的注入操作;
当所述注入操作未通过所述第二安全检测时,过滤执行针对所述应用程序的进程的注入操作。
A21、如A20所述的方法,所述触发对所述应用程序中的注入操作进行第二安全检测的步骤包括:
当所述外部的应用程序在预置的白名单中匹配成功时,判断所述注入操作通过所述第二安全检测;
当所述外部的应用程序在预置的黑名单中匹配成功时,判断所述注入操作未通过所述第二安全检测。
A22、如A21所述的方法,所述触发对所述应用程序中的注入操作进行第二安全检测的步骤还包括:
展示对所述应用程序中的注入操作的第二安全检测的结果。
A23、如A1所述的方法,所述预定事件包括内存读写操作事件;所述检测到所述应用程序运行过程中的预定事件的步骤包括:
在预置的函数表中查找所述定类型的应用程序对应的系统函数;
挂钩所述应用程序对应的系统函数;
在所述应用程序对应的系统函数被调用时,判断所述系统函数是否为外部的应用程序调用;若是,则判断检测到所述应用程序运行过程中的内存读写操作事件。
A24、如A23所述的方法,所述触发对所述应用程序中的预定事件的第二安全检测的步骤包括:
阻断执行针对所述应用程序的内存读写操作;
触发对所述应用程序中的读写操作的第二安全检测;
当所述内存读写操作通过所述第二安全检测时,允许执行针对所述应用程序的内存读写操作;
当所述内存读写操作未通过所述第二安全检测时,过滤执行针对所述应用程序的内存读写操作。
A25、如A24所述的方法,所述触发对所述应用程序中的读写操作的第二安全检测的步骤包括:
当所述外部的应用程序在预置的白名单中匹配成功时,判断所述内存读写操作通过所述第二安全检测;
当所述外部的应用程序在预置的黑名单中匹配成功时,判断所述内存读写操作未通过所述第二安全检测。
A26、如A25所述的方法,所述触发对所述应用程序中的读写操作的第二安全检测的步骤还包括:
展示对所述应用程序的内存读写操作的第二安全检测的结果。

一种运行应用程序的方法.pdf_第1页
第1页 / 共26页
一种运行应用程序的方法.pdf_第2页
第2页 / 共26页
一种运行应用程序的方法.pdf_第3页
第3页 / 共26页
点击查看更多>>
资源描述

《一种运行应用程序的方法.pdf》由会员分享,可在线阅读,更多相关《一种运行应用程序的方法.pdf(26页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 104268476 A (43)申请公布日 2015.01.07 CN 104268476 A (21)申请号 201410523202.4 (22)申请日 2014.09.30 G06F 21/56(2013.01) (71)申请人 北京奇虎科技有限公司 地址 100088 北京市西城区新街口外大街 28 号 D 座 112 室 (德胜园区) 申请人 奇智软件 (北京) 有限公司 (72)发明人 葛山 王力 何孟东 谢京辉 (74)专利代理机构 北京润泽恒知识产权代理有 限公司 11319 代理人 赵娟 (54) 发明名称 一种运行应用程序的方法 (57) 摘要 本。

2、发明实施例提供了一种运行应用程序的 方法, 包括 : 扫描到当前操作系统中指定类型的 应用程序 ; 检测到指定类型的应用程序的启动操 作 ; 在所述应用程序启动前, 对所述应用程序所 在运行环境的进行第一安全检测 ; 在第一安全检 测的结果为所述运行环境安全后, 启动所述应用 程序 ; 检测到所述应用程序运行过程中的预定事 件, 触发对所述应用程序中的预定事件的第二安 全检测。本发明实施例有效保证了应用程序在启 动时的运行环境的安全性, 有效保证了应用程序 在运行时的安全性, 为应用程序提供了全面的安 全保护, 使应用程序安全地启动、 运行。 (51)Int.Cl. 权利要求书 2 页 说明书。

3、 20 页 附图 3 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书20页 附图3页 (10)申请公布号 CN 104268476 A CN 104268476 A 1/2 页 2 1. 一种运行应用程序的方法, 包括 : 扫描到当前操作系统中指定类型的应用程序 ; 检测到指定类型的应用程序的启动操作 ; 在所述应用程序启动前, 对所述应用程序所在运行环境的进行第一安全检测 ; 在第一安全检测的结果为所述运行环境安全后, 启动所述应用程序 ; 检测到所述应用程序运行过程中的预定事件, 触发对所述应用程序中的预定事件的第 二安全检测。 2. 如权利要求 1。

4、 所述的方法, 其特征在于, 所述扫描到当前操作系统中指定类型的应 用程序的步骤包括 : 获取被触发的当前应用程序的进程的名称 ; 判断所述名称是否与预设的第一文件名相同 ; 若是, 则采用所述应用程序的指定属性 判断所述应用程序是否为指定类型的应用程序。 3. 如权利要求 2 所述的方法, 其特征在于, 所述指定属性包括注册表信息 ; 所述采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程序的 步骤包括 : 判断所述应用程序的注册表信息是否与预置的特征注册表信息匹配 ; 若是, 则判断所 述应用程序为指定类型的应用程序。 4. 如权利要求 2 所述的方法, 其特征在于, 所述指。

5、定属性包括图标 ; 所述采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程序的 步骤包括 : 判断所述应用程序的图标是否与预置的特征图标匹配 ; 若是, 则判断所述应用程序为 指定类型的应用程序。 5. 如权利要求 2 所述的方法, 其特征在于, 所述指定属性包括第二文件名和所属的平 台名称 ; 所述采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程序的 步骤包括 : 判断预置的第二文件名是否在所述应用程序的文件中存在, 且, 所述应用程序所属的 平台名称与预置的特征平台名称匹配 ; 若是, 则判断所述应用程序为指定类型的应用程序。 6. 如权利要求 1 所述的方法。

6、, 其特征在于, 所述检测到指定类型的应用程序的启动操 作的步骤包括 : 获取待检测应用程序在启动时的进程信息 ; 判断所述进程信息与预置的第一特征进程信息是否匹配 ; 若是, 则判断所述进程信息 与预置的第二特征进程信息是否匹配 ; 当所述进程信息与预置的第二特征进程信息匹配时, 判断检测到指定类型的应用程序 的启动操作。 7. 如权利要求 1 所述的方法, 其特征在于, 所述指定类型的应用程序包括浏览器 ; 所述 检测到指定类型的应用程序的启动操作的步骤包括 : 接收到一网址安全组件拦截到的、 所述浏览器所请求的网页标识 ; 判断所述网页标识是否与预置的特征网页标识匹配 ; 若是, 则判断。

7、检测到浏览器的启 权 利 要 求 书 CN 104268476 A 2 2/2 页 3 动操作。 8. 如权利要求 1 所述的方法, 其特征在于, 所述在所述应用程序启动前, 对所述应用程 序所在运行环境的进行第一安全检测的步骤包括 : 阻断所述应用程序的启动操作 ; 对阻断启动操作的应用程序所在的运行环境进行第一安全检测。 9. 如权利要求 8 所述的方法, 其特征在于, 所述阻断所述应用程序的启动操作的步骤 包括 : 判断所述应用程序启动操作对应的启动方式 ; 当所述启动方式为由一特定程序以外的方式启动时, 阻断所述应用程序的进程的启 动。 10. 如权利要求 8 所述的方法, 其特征在于。

8、, 所述对阻断启动操作的应用程序所在的运 行环境进行第一安全检测的步骤包括 : 调用内置的云安全组件对阻断启动操作的应用程序所在的运行环境进行第一安全检 测。 权 利 要 求 书 CN 104268476 A 3 1/20 页 4 一种运行应用程序的方法 技术领域 0001 本发明涉及计算机的技术领域, 尤其涉及一种运行应用程序的方法。 背景技术 0002 目前, 随着互联网的高速发展, 网络应用趋向多元化, 诸如即时通讯工具、 电子邮 箱、 网上银行等等应用程序, 被广泛应用在用户生活和工作的各个方面。 0003 用户若想在多种应用程序的应用中获取更多的个性化服务, 通常需要注册对应服 务器。

9、的账号, 为了保证账号的安全, 则需要用户编辑一个与账号对应的密码。 0004 如图 1 所示, 支持应用程序运行的 Windows 操作系统按照可访问内存地址的权限 为 Ring0, Ring1, Ring2, Ring3 四层。之后逐渐衍生为 Ring0, Ring3 两层。应用程序通常 运行在 Ring3 层, 即用户模式 ; 驱动程序通常运行在 Ring0 层, 即内核模式。 0005 Windows 操作系统借助分层的设计思想解决复杂的问题, 这一做法带来了可移植 性、 可扩展性等优点。不过, 由于在设计理论上存在着安全性缺陷 ( 例如缺乏完整性校验机 制等 ), 高可扩展性的另一方。

10、面也意味着系统存在大量的被篡改可能。 0006 通常恶意程序会以用户模式的应用程序为主, 对已经或或将启动的应用程序进行 破坏和非法盗取应用程序中的信息等, 主要表现在 : 0007 1、 用户模式下的进程或应用程序易被破坏 ; 0008 2、 用户模式下的进程或应用程序中的信息易被盗取 ; 0009 3、 恶意程序启动不受限制 ; 0010 4、 用户模式中运行的应用程序可能会被恶意程序注入 ; 0011 5、 用户模式中应用程序在网络通信时的数据可能被截取或被篡改。 发明内容 0012 鉴于上述问题, 提出了本发明以便提供一种克服上述问题或者至少部分地解决上 述问题的一种运行应用程序的方法。

11、。 0013 依据本发明的一个方面, 提供了一种运行应用程序的方法, 包括 : 0014 扫描到当前操作系统中指定类型的应用程序 ; 0015 检测到指定类型的应用程序的启动操作 ; 0016 在所述应用程序启动前, 对所述应用程序所在运行环境的进行第一安全检测 ; 0017 在第一安全检测的结果为所述运行环境安全后, 启动所述应用程序 ; 0018 检测到所述应用程序运行过程中的预定事件, 触发对所述应用程序中的预定事件 的第二安全检测。 0019 可选地, 所述扫描到当前操作系统中指定类型的应用程序的步骤包括 : 0020 获取被触发的当前应用程序的进程的名称 ; 0021 判断所述名称是。

12、否与预设的第一文件名相同 ; 若是, 则采用所述应用程序的指定 属性判断所述应用程序是否为指定类型的应用程序。 说 明 书 CN 104268476 A 4 2/20 页 5 0022 可选地, 所述指定属性包括注册表信息 ; 0023 所述采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程 序的步骤包括 : 0024 判断所述应用程序的注册表信息是否与预置的特征注册表信息匹配 ; 若是, 则判 断所述应用程序为指定类型的应用程序。 0025 可选地, 所述指定属性包括图标 ; 0026 所述采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程 序的步骤包括 : 00。

13、27 判断所述应用程序的图标是否与预置的特征图标匹配 ; 若是, 则判断所述应用程 序为指定类型的应用程序。 0028 可选地, 所述指定属性包括第二文件名和所属的平台名称 ; 0029 所述采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程 序的步骤包括 : 0030 判断预置的第二文件名是否在所述应用程序的文件中存在, 且, 所述应用程序所 属的平台名称与预置的特征平台名称匹配 ; 若是, 则判断所述应用程序为指定类型的应用 程序。 0031 可选地, 所述检测到指定类型的应用程序的启动操作的步骤包括 : 0032 获取待检测应用程序在启动时的进程信息 ; 0033 判断所述。

14、进程信息与预置的第一特征进程信息是否匹配 ; 若是, 则判断所述进程 信息与预置的第二特征进程信息是否匹配 ; 0034 当所述进程信息与预置的第二特征进程信息匹配时, 判断检测到指定类型的应用 程序的启动操作。 0035 可选地, 所述指定类型的应用程序包括浏览器 ; 所述检测到指定类型的应用程序 的启动操作的步骤包括 : 0036 接收到一网址安全组件拦截到的、 所述浏览器所请求的网页标识 ; 0037 判断所述网页标识是否与预置的特征网页标识匹配 ; 若是, 则判断检测到浏览器 的启动操作。 0038 可选地, 所述在所述应用程序启动前, 对所述应用程序所在运行环境的进行第一 安全检测的。

15、步骤包括 : 0039 阻断所述应用程序的启动操作 ; 0040 对阻断启动操作的应用程序所在的运行环境进行第一安全检测。 0041 可选地, 所述阻断所述应用程序的启动操作的步骤包括 : 0042 判断所述应用程序启动操作对应的启动方式 ; 0043 当所述启动方式为由一特定程序以外的方式启动时, 阻断所述应用程序的进程的 启动。 0044 可选地, 所述对阻断启动操作的应用程序所在的运行环境进行第一安全检测的步 骤包括 : 0045 调用内置的云安全组件对阻断启动操作的应用程序所在的运行环境进行第一安 全检测。 说 明 书 CN 104268476 A 5 3/20 页 6 0046 可选。

16、地, 所述对阻断启动操作的应用程序所在的运行环境进行第一安全检测的步 骤包括 : 0047 调用第三方的安全组件对阻断启动操作的应用程序所在的运行环境进行第一安 全检测。 0048 可选地, 所述第一安全检测包括木马检测和病毒检测中的至少一种检测。 0049 可选地, 所述对所述应用程序所在运行环境的进行第一安全检测的步骤还包括 : 0050 根据所述第一安全检测的结果判断所述操作系统的安全等级 ; 0051 展示所述第一安全检测的结果和所述操作系统的安全等级。 0052 可选地, 所述启动所述应用程序的步骤包括 : 0053 触发所述扫描到的应用程序在操作系统界面中的快捷启动方式, 从而启动。

17、所述应 用程序 ; 或者 0054 触发所述扫描到的应用程序在一特定程序中的启动入口, 从而启动所述应用程 序。 0055 可选地, 所述预定事件包括指定的窗口事件 ; 所述检测到所述应用程序运行过程 中的预定事件的步骤包括 : 0056 遍历当前操作系统中的窗口是否存在预置的特征值 ; 若是, 则判断检测到所述应 用程序运行过程中的指定的窗口事件。 0057 可选地, 所述触发对所述应用程序中的预定事件的第二安全检测的步骤包括 : 0058 触发对所述应用程序中的窗口事件关联加载的业务对象的第二安全检测。 0059 可选地, 所述第二安全检测包括木马检测。 0060 可选地, 所述触发对所述。

18、应用程序中的预定事件的第二安全检测的步骤还包括 : 0061 根据所述第二安全检测的结果判断所述应用程序的安全等级 ; 0062 展示所述第二安全检测的结果和所述应用程序的安全等级。 0063 可选地, 所述预定事件包括注入操作事件 ; 所述检测到所述应用程序运行过程中 的预定事件的步骤包括 : 0064 挂钩指定的系统函数 ; 0065 在所述系统函数调用时, 判断所述系统函数是否为外部的应用程序调用 ; 若是, 则 判断检测到所述应用程序运行过程中的注入操作事件。 0066 可选地, 所述触发对所述应用程序中的预定事件的第二安全检测的步骤包括 : 0067 阻断执行针对所述应用程序的注入操。

19、作 ; 0068 触发对所述应用程序中的注入操作进行第二安全检测 ; 0069 当所述注入操作通过所述第二安全检测时, 允许执行针对所述应用程序的进程的 注入操作 ; 0070 当所述注入操作未通过所述第二安全检测时, 过滤执行针对所述应用程序的进程 的注入操作。 0071 可选地, 所述触发对所述应用程序中的注入操作进行第二安全检测的步骤包括 : 0072 当所述外部的应用程序在预置的白名单中匹配成功时, 判断所述注入操作通过所 述第二安全检测 ; 0073 当所述外部的应用程序在预置的黑名单中匹配成功时, 判断所述注入操作未通过 说 明 书 CN 104268476 A 6 4/20 页 。

20、7 所述第二安全检测。 0074 可选地, 所述触发对所述应用程序中的注入操作进行第二安全检测的步骤还包 括 : 0075 展示对所述应用程序中的注入操作的第二安全检测的结果。 0076 可选地, 所述预定事件包括内存读写操作事件 ; 所述检测到所述应用程序运行过 程中的预定事件的步骤包括 : 0077 在预置的函数表中查找所述定类型的应用程序对应的系统函数 ; 0078 挂钩所述应用程序对应的系统函数 ; 0079 在所述应用程序对应的系统函数被调用时, 判断所述系统函数是否为外部的应用 程序调用 ; 若是, 则判断检测到所述应用程序运行过程中的内存读写操作事件。 0080 可选地, 所述触。

21、发对所述应用程序中的预定事件的第二安全检测的步骤包括 : 0081 阻断执行针对所述应用程序的内存读写操作 ; 0082 触发对所述应用程序中的读写操作的第二安全检测 ; 0083 当所述内存读写操作通过所述第二安全检测时, 允许执行针对所述应用程序的内 存读写操作 ; 0084 当所述内存读写操作未通过所述第二安全检测时, 过滤执行针对所述应用程序的 内存读写操作。 0085 可选地, 所述触发对所述应用程序中的读写操作的第二安全检测的步骤包括 : 0086 当所述外部的应用程序在预置的白名单中匹配成功时, 判断所述内存读写操作通 过所述第二安全检测 ; 0087 当所述外部的应用程序在预置。

22、的黑名单中匹配成功时, 判断所述内存读写操作未 通过所述第二安全检测。 0088 可选地, 所述触发对所述应用程序中的读写操作的第二安全检测的步骤还包括 : 0089 展示对所述应用程序的内存读写操作的第二安全检测的结果。 0090 本发明实施例识别出指定类型的应用程序, 在该应用程序启动之前进行第一安全 检测, 有效保证了应用程序在启动时的运行环境的安全性, 在安全的运行环境中启动应用 程序, 在检测到应用程序运行过程中的预定事件时, 触发对应用程序中的预定事件的第二 安全检测, 有效保证了应用程序在运行时的安全性, 为应用程序提供了全面的安全保护, 使 应用程序安全地启动、 运行。 009。

23、1 本发明实施例在通过第一文件名识别指定类型的应用程序的基础之上, 配合注册 表信息、 图标、 第二文件名与所述平台的名称等指定属性进行识别指定类型的应用程序, 可 以有效识别篡改伪装的应用程序, 大大提高了指定类型的应用程序的识别成功率。 0092 本发明实施例在应用程序启动前, 对应用程序所在运行环境的进行快速扫描, 减 少挂钩键盘的木马/病毒、 其他恶意应用程序、 拦截或吸怪通信数据包的目标/病毒等运行 环境中存在的危险, 提高了应用程序在启动时的运行环境的安全性。 0093 本发明实施例触发述应用程序中的窗口事件关联加载的业务对象的专项扫描, 对 快速扫描进行补充, 在应用程序运行之后。

24、, 在支付、 登录、 收发数据等操作之前, 对应用程序 加载的功能模块进行扫描, 确保了木马不会随应用程序启动, 由于很多木马会修改应用程 序文件, 并随应用程序启动, 实施盗取账号、 密码、 关键数据等恶意行为, 专项扫描可以有效 说 明 书 CN 104268476 A 7 5/20 页 8 解决木马岁应用程序启动的问题, 避免盗取账号、 密码、 关键数据等恶意行为, 大大提高了 应用程序在支付、 登录、 网络通信等操作的安全性。 0094 本发明实施例在检测对到应用程序进行注入操作时, 对注入操作进行安全检测, 在判断注入操作安全时, 允许注入操作继续执行, 在判断该注入操作危险时, 过。

25、滤该注入操 作, 防止应用程序被恶意注入, 大大提高了应用程序运行中的安全性。 0095 本发明实施例在检测对到应用程序进行内存读写操作时, 对内存读写操作进行安 全检测, 在判断内存读写操作安全时, 允许内存读写操作继续执行, 在判断内存读写操作危 险时, 过滤内存读写操作, 防止内存被恶意读写, 提高了应用程序在运行中内存及其他私有 信息的安全性, 大大提高了应用程序运行中的安全性。 0096 上述说明仅是本发明技术方案的概述, 为了能够更清楚了解本发明的技术手段, 而可依照说明书的内容予以实施, 并且为了让本发明的上述和其它目的、 特征和优点能够 更明显易懂, 以下特举本发明的具体实施方。

26、式。 附图说明 0097 通过阅读下文可选实施方式的详细描述, 各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用于示出可选实施方式的目的, 而并不认为是对本发明 的限制。而且在整个附图中, 用相同的参考符号表示相同的部件。在附图中 : 0098 图 1 示意性示出了一种操作系统的架构图 ; 0099 图 2 示意性示出了根据本发明一个实施例的一种运行应用程序的方法实施例的 步骤流程图 ; 以及 0100 图 3 示意性示出了根据本发明一个实施例的一种操作系统的架构图。 具体实施方式 0101 下面将参照附图更详细地描述本公开的示例性实施例。 虽然附图中显示了本公开 的示例性。

27、实施例, 然而应当理解, 可以以各种形式实现本公开而不应被这里阐述的实施例 所限制。 相反, 提供这些实施例是为了能够更透彻地理解本公开, 并且能够将本公开的范围 完整的传达给本领域的技术人员。 0102 参照图 2, 示意性示出了根据本发明一个实施例的一种运行应用程序的方法实施 例的步骤流程图, 具体可以包括如下步骤 : 0103 步骤 201, 扫描到当前操作系统中指定类型的应用程序 ; 0104 需要说明的是, 本发明实施例可以应用于一特定程序, 如图 3 所示, 该特定程序可 形象地称为保险箱, 以保护指定类型的应用程序, 具体可以包括两部分, 一部分为位于用 户模式 ( 即第 3 特。

28、权级 Ring3) 的保险箱进程, 另一部分为位于内核模式 ( 即第 0 特权级 Ring0) 的保险箱驱动。 0105 在保险箱进程中, 可以识别当前操作系统中指定类型的应用程序, 即可以在第 3 特权级 Ring3 中扫描到当前操作系统中指定类型的应用程序。 0106 应用本发明实施例, 可以自动识别出当前操作系统中指定类型的应用程序, 例如, 通讯类的应用程序(如即时通讯工具、 邮箱客户端等等)、 游戏、 银行类的应用程序(如支付 工具、 U 盾等等 )、 浏览器或者其他应用程序, 从而为之后的该应用程序的进程主动或者被 说 明 书 CN 104268476 A 8 6/20 页 9 动。

29、的某些行为进行保护。 0107 在本发明的一种可选实施例中, 步骤 201 可以包括如下子步骤 : 0108 子步骤 S11, 获取被触发的当前应用程序的进程的名称 ; 0109 在具体实现中, 当操作系统中任意一个应用程序的进程被触发开启时, 可以对判 断该进程对应的应用程序是否为指定类型的应用程序。 0110 其中, 该应用程序的进程可以为用户主动触发, 例如, 用户点击该应用程序的快捷 方式 ; 该应用程序的进程也可以为其他应用程序 / 服务所调用触发, 例如, 用户点击在即时 通讯工具的会话窗口中接收的网址, 即时通讯工具调用浏览器加载该网址指示的网页。 0111 子步骤 S12, 判。

30、断所述名称是否与预设的第一文件名相同 ; 若是, 则执行子步骤 S13 ; 0112 在具体实现中, 获取被触发的当前应用程序的进程的名称, 则可以检测当前应用 程序的进程的名称是否与预设的第一文件名相同 ; 若相同, 则可以继续进行指定属性的扫 描 ; 若不相同, 则可以认为当前被触发的应用程序不为指定类型的应用程序。 0113 应用本发明实施例, 可以在本地预置一文件名列表, 在该文件名列表存储有一个 或多个第一文件名, 将获取被触发的当前应用程序的进程的名称在该文件名列表中进行匹 配, 以检测当前应用程序的进程的名称是否与预设的第一文件名相同。 0114 在本发明实施例的一种可选示例中,。

31、 对于游戏类的应用程序, 第一文件名可以包 括两种类型 : 0115 预设的游戏的主程序的名称或者预设的浏览器进程的名称, 分别可以运行游戏和 网页游戏。 0116 例如, 若当前应用程序的进程的名称为 “war.exe” , 该名称为一游戏的主程序的名 称, 可以表明当前可能打开了魔兽争霸这款游戏 ; 0117 又例如, 若当前应用程序的进程的名称为 “360se.exe” , 该名称为一浏览器进程的 名称, 可以表明可能打开了浏览器。 0118 当然, 本发明实施例也可以预设通讯类的应用程序的进程名称、 银行类的应用程 序的进程名称等等, 本发明实施例对此不加以限制。 0119 子步骤 S。

32、13, 采用所述应用程序的指定属性判断所述应用程序是否为指定类型的 应用程序。 0120 由于程序的名称容易被修改, 因此通过进程的名称一般不能十分准确地判断是否 扫描到指定类型的应用程序。 0121 本发明实施例中, 可以在检测应用程序的进程的名称的基础之上, 采用应用程序 所特有的性质(即指定属性)继续判断, 以保障对游戏、 浏览器等指定类型的应用程序的识 别的准确率。 0122 在本发明实施例的一种可选示例中, 所述指定属性可以包括注册表信息, 则在本 示例中, 子步骤 S13 可以包括如下子步骤 : 0123 子步骤 S131, 判断所述应用程序的注册表信息是否与预置的特征注册表信息匹。

33、 配 ; 若是, 则执行子步骤 S132 ; 0124 子步骤 S132, 判断所述应用程序为指定类型的应用程序。 0125 注册表 (Registry, 又称登录档 ) 是操作系统中的一个重要的数据库, 可以用于存 说 明 书 CN 104268476 A 9 7/20 页 10 储系统和应用程序的设置信息。 0126 当准备运行一个应用程序时, 注册表可以提供应用程序信息给操作系统, 这样应 用程序可以被找到, 正确数据文件的位置被规定, 其他设置也都可以被使用。 0127 应用本发明实施例, 可以预先采集指定类型的应用程序的注册表信息 ( 即特征注 册表信息 ), 通过应用程序的注册表信。

34、息与预置的特征注册表进行匹配, 从而可以快速识别 出指定类型的应用程序。 0128 由于应用程序在操作系统安装时, 其注册表路径可以是唯一的。 因此, 当该应用程 序的注册表路径与特征注册表信息匹配时, 说明在操作系统中安装有该应用程序, 若注册 表路径与特征注册表信息不匹配, 则被触发的应用程序不一定是指定类型的应用程序。 0129 在本发明实施例的一种可选示例中, 所述指定属性可以包括图标, 则在本示例中, 子步骤 S13 可以包括如下子步骤 : 0130 子步骤 S133, 判断所述应用程序的图标是否与预置的特征图标匹配 ; 若是, 则执 行子步骤 S134 ; 0131 子步骤 S13。

35、4, 判断所述应用程序为指定类型的应用程序。 0132 图标 ( 如 Icon), 可以指计算机软件编程中为使人机界面更加易于操作和人性化 而设计出的标识特定功能的图形标志。 0133 一般而言, 每个应用程序的图标 ( 如 Icon) 可以是独特、 唯一的, 即不同的应用程 序采用的图标 ( 如 Icon) 可以不相同, 因此, 可以依靠图标 ( 如 Icon) 作为指定类型的应用 程序的识别手段。 0134 应用本发明实施例, 可以预先采集指定类型的应用程序的图标 ( 即特征图标 ), 通 过应用程序的图标 ( 如 Icon) 与预置的特征图标进行匹配, 从而可以快速识别出指定类型 的应用。

36、程序。 0135 在实际应用中, 可以解析当前应用程序的图标, 获得第一矩阵, 解析特征图标, 获 得第二矩阵, 判断第一矩阵和第二矩阵是否匹配 ; 若匹配, 则可以判断当前应用程序的图标 与特征图标匹配 ; 若不匹配, 则可以判断当前应用程序的图标与特征图标不匹配。 0136 其中, 第一矩阵中可以保存有当前应用程序的图标的颜色值, 第二矩阵保存有特 征图标的颜色值。 0137 在本发明实施例的一种可选示例中, 所述指定属性可以包括第二文件名和所属的 平台名称, 则在本示例中, 子步骤 S13 可以包括如下子步骤 : 0138 子步骤 S135, 判断预置的第二文件名是否在所述应用程序的文件。

37、中存在, 且, 所述 应用程序所属的平台名称与预置的特征平台名称匹配 ; 若是, 则执行子步骤 S136 ; 0139 子步骤 S136, 判断所述应用程序为指定类型的应用程序。 0140 在具体实现中, 第二文件可以为与当前进程对应的应用程序中唯一存在的文件。 0141 例如, 在某个射击类游戏中, 第二文件可以为某一预置的地图文件,“cs_ bloodstrike.nav” 。 0142 应用程序所属的平台可以为开发或者拥有该应用程序的公司。 0143 应用本发明实施例, 可以预先采集指定类型的应用程序的第二文件名和所属的平 台名称, 通过应用程序的所属的平台与预置的特征图标进行匹配, 以。

38、及, 查找第二文件名是 否在应用程序的文件中存在, 从而可以快速识别出指定类型的应用程序。 说 明 书 CN 104268476 A 10 8/20 页 11 0144 需要说明的是, 本发明实施例可以应用注册表信息、 图标、 第二文件名与所属平台 名称中的至少一个进行匹配, 判断应用程序是否为指定类型的应用程序。 0145 例如, 先匹配注册表, 若判断应用程序的注册表信息与预置的特征注册表信息不 匹配, 则可以匹配图标, 若判断应用程序的图标与预置的特征图标不匹配, 则可以匹配第二 文件名和所属的平台名称。 0146 当然, 上述指定属性只是作为示例, 在实施本发明实施例时, 可以根据实际。

39、情况设 置其他指定属性, 本发明实施例对此不加以限制。另外, 除了上述指定属性外, 本领域技术 人员还可以根据实际需要采用其指定属性, 本发明实施例对此也不加以限制。 0147 本发明实施例在通过第一文件名识别指定类型的应用程序的基础之上, 配合注册 表信息、 图标、 第二文件名与所述平台的名称等指定属性进行识别指定类型的应用程序, 可 以有效识别篡改伪装的应用程序, 大大提高了指定类型的应用程序的识别成功率。 0148 步骤 202, 检测到指定类型的应用程序的启动操作 ; 0149 在保险箱中, 可以检测到指定类型的应用程序的启动操作, 即可以在第 0 特权级 Ring0 和第 3 特权级。

40、 Ring3 的交互中检测到指定类型的应用程序的启动操作。 0150 在本发明的一种可选实施例中, 步骤 202 可以包括如下子步骤 : 0151 子步骤 S21, 获取待检测应用程序在启动时的进程信息 ; 0152 子步骤 S22, 判断所述进程信息与预置的第一特征进程信息是否匹配 ; 若是, 则判 断所述进程信息与预置的第二特征进程信息是否匹配 ; 0153 子步骤 S23, 当所述进程信息与预置的第二特征进程信息匹配时, 判断检测到指定 类型的应用程序的启动操作。 0154 在具体实现中, 保险箱驱动可以获取到应用程序的进程启动的时机和信息。 0155 例 如,保 险 箱 驱 动 可 以。

41、 通 过 回 调 操 作 系 统 中 指 定 的 系 统 函 数,如 PsSetCreateProcessNotifyRoutine 等, 让操作系统通知该系统函数, 以获知应用程序的进 程启动、 退出等信息。 0156 当然, 本发明实施例中还可以挂钩 (Hook)CreateProcess 等系统函数获取到应用 程序的进程启动的时机和信息, 本发明实施例对此不加以限制。 0157 该特定程序可以在启动时把一些已经识别到的进程信息随保险箱驱动存入到驱 动层 ( 即第 0 特权级 Ring0) 的内存中。 0158 例如, 已经识别到已经识别到的进程信息可以包括的一些进程的名称, 如 A.ex。

42、e、 B.exe 等。 0159 保险箱驱动本身运行在系统内核层 ( 即第 0 特权级 Ring0), 可以在得到某个应用 程序启动时获取到其进程将要启动的进程信息, 包括进程 ID、 进程全路径、 进程名称等等, 和之前存入的进程信息进行过滤。 0160 如果保险箱驱动判断第一特征进程信息 ( 如进程名称等 ) 一样, 则将进程信息传 输到应用层 ( 第 3 特权级 Ring3) 的保险箱进程进行第二特征信息 ( 如进程全路径等 ) 的 判断, 如果第一特征进程信息和第二特征进程信息都匹配, 那么可以判断启动的应用程序 是已经识别过的, 即检测到指定类型的应用程序启动。 0161 在本发明的。

43、一种可选实施例中, 所述指定类型的应用程序可以包括浏览器 ; 步骤 202 可以包括如下子步骤 : 说 明 书 CN 104268476 A 11 9/20 页 12 0162 子步骤 S41, 接收到一网址安全组件拦截到的、 所述浏览器所请求的网页标识 ; 0163 子步骤 S42, 判断所述网页标识是否与预置的特征网页标识匹配 ; 若是, 则判断检 测到浏览器的启动操作。 0164 在保险箱进程中可以接收到一网址安全组件拦截到的、 所述浏览器所请求的网页 标识, 判断所述网页标识是否与预置的特征网页标识匹配 ; 若是, 则判断检测到浏览器的启 动操作。 0165 即可以在第 3 特权级 R。

44、ing3 中接收到一网址安全组件拦截到的、 所述浏览器所请 求的网页标识, 判断所述网页标识是否与预置的特征网页标识匹配 ; 若是, 则判断检测到浏 览器的启动操作。 0166 需要说明的是, 该网址安全组件可以集成在该特定程序中, 也是可以单独作为另 一个安全程序中的一个网址安全组件, 本发明实施例对此不加以限制。 0167 网页标识可以是能够代表一个唯一确定的网页的信息, 例如统一资源标识符 (Uniform Resource Identifi er, URI), 统一资源标识符又具体可以包括统一资源定位符 (Uniform Resource Locator, URL), 或者统一资源名称。

45、 (Uniform Resource Name, URN) 等 等。 0168 应用本发明实施例, 可以预先采集浏览器中加载的网页标识 ( 即特征网页标识 ), 例如, 网页游戏的网页、 网上银行的网页等等, 通过在浏览器请求的网页标识与预置的特征 网页标识匹配, 从而可以快速检测到指定类型的应用程序的启动操作。 0169 步骤 203, 在所述应用程序启动前, 对所述应用程序所在运行环境的进行第一安全 检测 ; 0170 本发明实施例中, 对即将运行的应用程序 ( 包括从桌面启动或者应用程序被自动 运行的 ), 为确保应用程序的运行环境安全, 可以采取对当前系统环境进行安全检测, 又可 以称。

46、为快速扫描。 0171 在保险箱中, 可以在所述应用程序启动前, 对所述应用程序所在运行环境的进行 第一安全检测, 即可以在第 0 特权级 Ring0 和第 3 特权级 Ring3 的交互中对所述应用程序 所在运行环境的进行第一安全检测。 0172 在本发明的一种可选实施例中, 步骤 203 可以包括如下子步骤 : 0173 子步骤 S51, 阻断所述应用程序的启动操作 ; 0174 在保险箱驱动中, 可以阻断所述应用程序的启动操作, 即可以在第 0 特权级 Ring0 中阻断所述应用程序的启动操作。 0175 在本发明实施例的一种可选示例中, 子步骤 S51 可以包括如下子步骤 : 0176。

47、 子步骤 S511, 判断所述应用程序启动操作对应的启动方式 ; 0177 子步骤 S512, 当所述启动方式为由一特定程序以外的方式启动时, 阻断所述应用 程序的进程的启动。 0178 保险箱进程可以在后台判断应用程序启动操作对应的启动方式, 是由该特定程序 启动的, 还是外部 ( 如桌面, 快捷方式, 其它程序调用等特定程序以外的方式 ) 启动的。 0179 如果是外部启动, 则保险箱驱动可以调用对应的操作系统的 API(Application Programming Interface, 应用程序编程接口 ) 阻断该应用程序的进程的启动。 0180 子步骤 S52, 对阻断启动操作的应用。

48、程序所在的运行环境进行第一安全检测。 说 明 书 CN 104268476 A 12 10/20 页 13 0181 保险箱进程可以对阻断启动操作的应用程序所在的运行环境进行第一安全检测, 即可以在第3特权级Ring3中对阻断启动操作的应用程序所在的运行环境进行第一安全检 测。 0182 在本发明实施例的一种可选示例中, 子步骤 S52 可以包括如下子步骤 : 0183 子步骤 S521, 调用内置的云安全组件对阻断启动操作的应用程序所在的运行环境 进行第一安全检测。 0184 在本发明实施例中, 进行第一安全检测的云安全组件可以内置在特定进程中。 0185 在本发明实施例的另一种可选示例中, 子步骤 S52 可以包括如下子步骤 : 0186 子步骤 S522, 调用第三方的安全组件对阻断启动操作的应用程序所在的运行环境 进行第一安全检测。 0187 在本发明实施例中, 进行第一安全检测的安全组件可以位于在第三方中, 特定程 序可以通过指定的 API 接口进行调用。 0188 在实际应用中, 安全组件 ( 如云安全组件或第三方的安全组件 ) 可以把操作系统 的环境信息 ( 例如, 操作系统版本, 系统补丁安装信息, 软件安装信息, 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1