《一种运行应用程序的系统.pdf》由会员分享,可在线阅读,更多相关《一种运行应用程序的系统.pdf(25页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104268475 A (43)申请公布日 2015.01.07 CN 104268475 A (21)申请号 201410521988.6 (22)申请日 2014.09.30 G06F 21/56(2013.01) G06F 21/51(2013.01) (71)申请人 北京奇虎科技有限公司 地址 100088 北京市西城区新街口外大街 28 号 D 座 112 室 (德胜园区) 申请人 奇智软件 (北京) 有限公司 (72)发明人 葛山 王力 何孟东 谢京辉 (74)专利代理机构 北京润泽恒知识产权代理有 限公司 11319 代理人 赵娟 (54) 发明名称 一。
2、种运行应用程序的系统 (57) 摘要 本发明实施例提供了一种运行应用程序的系 统, 所述系统包括驱动组件和进程组件, 所述进程 组件适于扫描到当前操作系统中指定类型的应用 程序 ; 所述驱动组件和 / 或所述进程组件适于检 测到指定类型的应用程序的启动操作 ; 所述驱动 组件和所述进程组件适于在所述应用程序启动 前, 对所述应用程序所在运行环境的进行第一安 全检测 ; 所述驱动组件适于在第一安全检测的结 果为所述运行环境安全后, 启动所述应用程序 ; 所述驱动组件适于检测到所述应用程序运行过程 中的预定事件 ; 所述驱动组件和所述进程组件适 于触发对所述应用程序中的预定事件的第二安全 检测。本。
3、发明实施例为应用程序提供了全面的安 全保护, 使应用程序安全地启动、 运行。 (51)Int.Cl. 权利要求书 2 页 说明书 20 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书20页 附图2页 (10)申请公布号 CN 104268475 A CN 104268475 A 1/2 页 2 1. 一种运行应用程序的系统, 所述系统包括驱动组件和进程组件, 所述所述驱动组件 位于第 0 特权级 Ring0, 所述进程组件位于第 3 特权级 Ring3 ; 其中, 所述进程组件适于扫描到当前操作系统中指定类型的应用程序 ; 所述驱动组件和 。
4、/ 或所述进程组件适于检测到指定类型的应用程序的启动操作 ; 所述驱动组件和所述进程组件适于在所述应用程序启动前, 对所述应用程序所在运行 环境的进行第一安全检测 ; 所述驱动组件适于在第一安全检测的结果为所述运行环境安全后, 启动所述应用程 序 ; 所述驱动组件适于检测到所述应用程序运行过程中的预定事件 ; 所述驱动组件和所述进程组件适于触发对所述应用程序中的预定事件的第二安全检 测。 2. 如权利要求 1 所述的系统, 其特征在于, 所述进程组件还适于 : 获取被触发的当前应用程序的进程的名称 ; 判断所述名称是否与预设的第一文件名相同 ; 若是, 则采用所述应用程序的指定属性 判断所述应。
5、用程序是否为指定类型的应用程序。 3. 如权利要求 2 所述的系统, 其特征在于, 所述指定属性包括注册表信息 ; 所述进程组件还适于 : 判断所述应用程序的注册表信息是否与预置的特征注册表信息匹配 ; 若是, 则判断所 述应用程序为指定类型的应用程序。 4. 如权利要求 2 所述的系统, 其特征在于, 所述指定属性包括图标 ; 所述进程组件还适 于 : 判断所述应用程序的注册表信息是否与预置的特征图标匹配 ; 若是, 则判断所述应用 程序为指定类型的应用程序。 5. 如权利要求 2 所述的系统, 其特征在于, 所述指定属性包括第二文件名和所属的平 台名称 ; 所述进程组件还适于 : 判断预置。
6、的第二文件名是否在所述应用程序的文件中存在, 且, 所述平台名称与预置 的特征平台名称匹配 ; 若是, 则判断所述应用程序为指定类型的应用程序。 6. 如权利要求 1 所述的系统, 其特征在于, 所述驱动组件还适于 : 获取待检测应用程序在启动时的进程信息 ; 判断所述进程信息与预置的第一特征进程信息是否匹配 ; 若是, 则将所述进程信息发 送至所述进程组件 ; 所述进程组件还适于 : 判断所述进程信息与预置的第二特征进程信息是否匹配 ; 当所述进程信息与预置的第二特征进程信息匹配时, 判断检测到指定类型的应用程序 的启动操作。 7. 如权利要求 1 所述的系统, 其特征在于, 所述指定类型的。
7、应用程序包括浏览器 ; 所述 进程组件还适于 : 接收到一网址安全组件拦截到的、 所述浏览器所请求的网页标识 ; 权 利 要 求 书 CN 104268475 A 2 2/2 页 3 判断所述网页标识是否与预置的特征网页标识匹配 ; 若是, 则判断检测到浏览器的启 动操作。 8. 如权利要求 1 所述的系统, 其特征在于, 所述驱动组件还适于阻断所述应用程序的 启动操作, 将阻断所述应用程序的启动操作的信息通知所述进程组件 ; 所述进程组件还适于对阻断启动操作的应用程序所在的运行环境进行第一安全检测。 9. 如权利要求 8 所述的系统, 其特征在于, 所述进程组件还适于判断所述应用程序启 动操。
8、作对应的启动方式, 将所述启动方式通知所述驱动组件 ; 所述驱动组件还适于在所述启动方式为由一特定程序以外的方式启动时, 阻断所述应 用程序的进程的启动。 10. 如权利要求 8 所述的系统, 其特征在于, 所述进程组件还适于 : 调用内置的云安全组件对阻断启动操作的应用程序所在的运行环境进行第一安全检 测。 权 利 要 求 书 CN 104268475 A 3 1/20 页 4 一种运行应用程序的系统 技术领域 0001 本发明涉及计算机的技术领域, 特别是涉及一种运行应用程序的系统。 背景技术 0002 目前, 随着互联网的高速发展, 网络应用趋向多元化, 诸如即时通讯工具、 电子邮 箱、。
9、 网上银行等等应用程序, 被广泛应用在用户生活和工作的各个方面。 0003 用户若想在多种应用程序的应用中获取更多的个性化服务, 通常需要注册对应服 务器的账号, 为了保证账号的安全, 则需要用户编辑一个与账号对应的密码。 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、 用户模式中应用程序在网络通信。
11、时的数据可能被截取或被篡改。 发明内容 0012 鉴于上述问题, 提出了本发明以便提供一种克服上述问题或者至少部分地解决上 述问题的一种运行应用程序的系统。 0013 依据本发明的一个方面, 提供了一种运行应用程序的系统, 所述系统包括驱动组 件和进程组件, 所述所述驱动组件位于第 0 特权级 Ring0, 所述进程组件位于第 3 特权级 Ring3 ; 其中, 0014 所述进程组件适于扫描到当前操作系统中指定类型的应用程序 ; 0015 所述驱动组件和 / 或所述进程组件适于检测到指定类型的应用程序的启动操作 ; 0016 所述驱动组件和所述进程组件适于在所述应用程序启动前, 对所述应用程。
12、序所在 运行环境的进行第一安全检测 ; 0017 所述驱动组件适于在第一安全检测的结果为所述运行环境安全后, 启动所述应用 程序 ; 0018 所述驱动组件适于检测到所述应用程序运行过程中的预定事件 ; 0019 所述驱动组件和所述进程组件适于触发对所述应用程序中的预定事件的第二安 说 明 书 CN 104268475 A 4 2/20 页 5 全检测。 0020 可选地, 所述进程组件还适于 : 0021 获取被触发的当前应用程序的进程的名称 ; 0022 判断所述名称是否与预设的第一文件名相同 ; 若是, 则采用所述应用程序的指定 属性判断所述应用程序是否为指定类型的应用程序。 0023 。
13、可选地, 所述指定属性包括注册表信息 ; 0024 所述进程组件还适于 : 0025 判断所述应用程序的注册表信息是否与预置的特征注册表信息匹配 ; 若是, 则判 断所述应用程序为指定类型的应用程序。 0026 可选地, 所述指定属性包括图标 ; 所述进程组件还适于 : 0027 判断所述应用程序的注册表信息是否与预置的特征图标匹配 ; 若是, 则判断所述 应用程序为指定类型的应用程序。 0028 可选地, 所述指定属性包括第二文件名和所属的平台名称 ; 所述进程组件还适 于 : 0029 判断预置的第二文件名是否在所述应用程序的文件中存在, 且, 所述平台名称与 预置的特征平台名称匹配 ; 。
14、若是, 则判断所述应用程序为指定类型的应用程序。 0030 可选地, 所述驱动组件还适于 : 0031 获取待检测应用程序在启动时的进程信息 ; 0032 判断所述进程信息与预置的第一特征进程信息是否匹配 ; 若是, 则将所述进程信 息发送至所述进程组件 ; 0033 所述进程组件还适于 : 0034 判断所述进程信息与预置的第二特征进程信息是否匹配 ; 0035 当所述进程信息与预置的第二特征进程信息匹配时, 判断检测到指定类型的应用 程序的启动操作。 0036 可选地, 所述指定类型的应用程序包括浏览器 ; 所述进程组件还适于 : 0037 接收到一网址安全组件拦截到的、 所述浏览器所请求。
15、的网页标识 ; 0038 判断所述网页标识是否与预置的特征网页标识匹配 ; 若是, 则判断检测到浏览器 的启动操作。 0039 可选地, 所述驱动组件还适于阻断所述应用程序的启动操作, 将阻断所述应用程 序的启动操作的信息通知所述进程组件 ; 0040 所述进程组件还适于对阻断启动操作的应用程序所在的运行环境进行第一安全 检测。 0041 可选地, 所述进程组件还适于判断所述应用程序启动操作对应的启动方式, 将所 述启动方式通知所述驱动组件 ; 0042 所述驱动组件还适于在所述启动方式为由一特定程序以外的方式启动时, 阻断所 述应用程序的进程的启动。 0043 可选地, 所述进程组件还适于 。
16、: 0044 调用内置的云安全组件对阻断启动操作的应用程序所在的运行环境进行第一安 全检测。 说 明 书 CN 104268475 A 5 3/20 页 6 0045 可选地, 所述进程组件还适于 : 0046 调用第三方的安全组件对阻断启动操作的应用程序所在的运行环境进行第一安 全检测。 0047 可选地, 所述第一安全检测包括木马检测和病毒检测中的至少一种检测。 0048 可选地, 所述进程组件还适于 : 0049 根据所述第一安全检测的结果判断所述操作系统的安全等级 ; 0050 展示所述第一安全检测的结果和所述操作系统的安全等级。 0051 可选地, 所述驱动组件还适于 : 0052 。
17、接收所述进程组件发送的第一安全检测为所述运行环境安全的信息的结果 ; 0053 触发所述扫描到的应用程序在操作系统界面中的快捷启动方式, 从而启动所述应 用程序 ; 或者 0054 触发所述扫描到的应用程序在一特定程序中的启动入口, 从而启动所述应用程 序。 0055 可选地, 所述预定事件包括指定的窗口事件 ; 所述驱动组件还适于 : 0056 遍历当前操作系统中的窗口是否存在预置的特征值 ; 若是, 则判断检测到所述应 用程序运行过程中的指定的窗口事件。 0057 可选地, 所述进程组件还适于 : 0058 接收所述驱动组件发送的判断检测到的指定的窗口事件的信息 ; 0059 触发对所述应。
18、用程序中的窗口事件关联加载的业务对象的第二安全检测。 0060 可选地, 所述第二安全检测包括木马检测。 0061 可选地, 所述进程组件还适于 : 0062 根据所述第二安全检测的结果判断所述应用程序的安全等级 ; 0063 展示所述第二安全检测的结果和所述应用程序的安全等级。 0064 可选地, 所述预定事件包括注入操作事件 ; 所述驱动组件还适于 : 0065 挂钩指定的系统函数 ; 0066 在所述系统函数调用时, 判断所述系统函数是否为外部的应用程序调用 ; 若是, 则 判断检测到所述应用程序运行过程中的注入操作事件。 0067 可选地, 所述驱动组件还适于阻断执行针对所述应用程序的。
19、注入操作, 将所述注 入操作的信息发送至所述进程组件 ; 0068 所述进程组件还适于触发对所述应用程序中的注入操作进行第二安全检测 ; 0069 所述驱动组件还适于 : 0070 接收所述进程组件发送的对所述应用程序中的注入操作进行第二安全检测的检 测结果 ; 0071 当所述注入操作通过所述第二安全检测时, 允许执行针对所述应用程序的进程的 注入操作 ; 0072 当所述注入操作未通过所述第二安全检测时, 过滤执行针对所述应用程序的进程 的注入操作。 0073 可选地, 所述进程组件还适于 : 0074 当所述外部的应用程序在预置的白名单中匹配成功时, 判断所述注入操作通过所 说 明 书 。
20、CN 104268475 A 6 4/20 页 7 述第二安全检测 ; 0075 当所述外部的应用程序在预置的黑名单中匹配成功时, 判断所述注入操作未通过 所述第二安全检测。 0076 可选地, 所述进程组件还适于 : 0077 展示对所述应用程序中的注入操作的第二安全检测的结果。 0078 可选地, 所述预定事件包括内存读写操作事件 ; 所述驱动组件还适于 : 0079 在预置的函数表中查找所述定类型的应用程序对应的系统函数 ; 0080 挂钩所述应用程序对应的系统函数 ; 0081 在所述应用程序对应的系统函数被调用时, 判断所述系统函数是否为外部的应用 程序调用 ; 若是, 则判断检测到。
21、所述应用程序运行过程中的内存读写操作事件。 0082 可选地, 所述驱动组件还适于阻断执行针对所述应用程序的内存读写操作, 将所 述内存读写操作的信息发送至所述进程组件 ; 0083 所述进程组件还适于触发对所述应用程序中的读写操作的第二安全检测 ; 0084 所述驱动组件还适于 : 0085 接收所述进程组件发送的对所述应用程序中的读写操作的第二安全检测的检测 结果 ; 0086 当所述内存读写操作通过所述第二安全检测时, 允许执行针对所述应用程序的读 写操作 ; 0087 当所述内存读写操作未通过所述第二安全检测时, 过滤执行针对所述应用程序的 读写操作。 0088 可选地, 所述进程组件。
22、还适于 : 0089 当所述外部的应用程序在预置的白名单中匹配成功时, 判断所述内存读写操作通 过所述第二安全检测 ; 0090 当所述外部的应用程序在预置的黑名单中匹配成功时, 判断所述内存读写操作未 通过所述第二安全检测。 0091 可选地, 所述进程组件还适于 : 0092 展示对所述应用程序的内存读写操作的第二安全检测的结果。 0093 本发明实施例识别出指定类型的应用程序, 在该应用程序启动之前进行第一安全 检测, 有效保证了应用程序在启动时的运行环境的安全性, 在安全的运行环境中启动应用 程序, 在检测到应用程序运行过程中的预定事件时, 触发对应用程序中的预定事件的第二 安全检测,。
23、 有效保证了应用程序在运行时的安全性, 为应用程序提供了全面的安全保护, 使 应用程序安全地启动、 运行。 0094 本发明实施例在通过第一文件名识别指定类型的应用程序的基础之上, 配合注册 表信息、 图标、 第二文件名与所述平台的名称等指定属性进行识别指定类型的应用程序, 可 以有效识别篡改伪装的应用程序, 大大提高了指定类型的应用程序的识别成功率。 0095 本发明实施例在应用程序启动前, 对应用程序所在运行环境的进行快速扫描, 减 少挂钩键盘的木马/病毒、 其他恶意应用程序、 拦截或吸怪通信数据包的目标/病毒等运行 环境中存在的危险, 提高了应用程序在启动时的运行环境的安全性。 0096。
24、 本发明实施例触发述应用程序中的窗口事件关联加载的业务对象的专项扫描, 对 说 明 书 CN 104268475 A 7 5/20 页 8 快速扫描进行补充, 在应用程序运行之后, 在支付、 登录、 收发数据等操作之前, 对应用程序 加载的功能模块进行扫描, 确保了木马不会随应用程序启动, 由于很多木马会修改应用程 序文件, 并随应用程序启动, 实施盗取账号、 密码、 关键数据等恶意行为, 专项扫描可以有效 解决木马岁应用程序启动的问题, 避免盗取账号、 密码、 关键数据等恶意行为, 大大提高了 应用程序在支付、 登录、 网络通信等操作的安全性。 0097 本发明实施例在检测对到应用程序进行注。
25、入操作时, 对注入操作进行安全检测, 在判断注入操作安全时, 允许注入操作继续执行, 在判断该注入操作危险时, 过滤该注入操 作, 防止应用程序被恶意注入, 大大提高了应用程序运行中的安全性。 0098 本发明实施例在检测对到应用程序进行内存读写操作时, 对内存读写操作进行安 全检测, 在判断内存读写操作安全时, 允许内存读写操作继续执行, 在判断内存读写操作危 险时, 过滤内存读写操作, 防止内存被恶意读写, 提高了应用程序在运行中内存及其他私有 信息的安全性, 大大提高了应用程序运行中的安全性。 0099 上述说明仅是本发明技术方案的概述, 为了能够更清楚了解本发明的技术手段, 而可依照说。
26、明书的内容予以实施, 并且为了让本发明的上述和其它目的、 特征和优点能够 更明显易懂, 以下特举本发明的具体实施方式。 附图说明 0100 通过阅读下文优选实施方式的详细描述, 各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的, 而并不认为是对本发明 的限制。而且在整个附图中, 用相同的参考符号表示相同的部件。在附图中 : 0101 图 1 示意性示出了一种操作系统的架构图 ; 0102 图 2 示意性示出了根据本发明一个实施例的一种运行应用程序的系统实施例的 结构框图 ; 以及 0103 图 3 示意性示出了根据本发明一个实施例的一种操作系统的架构。
27、图。 具体实施方式 0104 下面将参照附图更详细地描述本公开的示例性实施例。 虽然附图中显示了本公开 的示例性实施例, 然而应当理解, 可以以各种形式实现本公开而不应被这里阐述的实施例 所限制。 相反, 提供这些实施例是为了能够更透彻地理解本公开, 并且能够将本公开的范围 完整的传达给本领域的技术人员。 0105 参照图 2, 示出了根据本发明一个实施例的一种运行应用程序的系统实施例的结 构框图 ; 0106 所述系统可以包括驱动组件 201 和进程组件 202, 所述所述驱动组件 201 位于第 0 特权级 Ring0, 所述进程组件 202 位于第 3 特权级 Ring3 ; 0107 。
28、其中, 所述进程组件 202 适于扫描到当前操作系统中指定类型的应用程序 ; 0108 需要说明的是, 本发明实施例可以应用于一特定程序, 如图 3 所示, 该特定程序可 形象地称为保险箱, 以保护指定类型的应用程序, 具体可以包括两部分, 一部分为位于用户 模式(即第3特权级Ring3)的进程组件202, 也可以称为保险箱进程, 另一部分为位于内核 模式 ( 即第 0 特权级 Ring0) 的驱动组件 201, 也可以称为的保险箱驱动。 说 明 书 CN 104268475 A 8 6/20 页 9 0109 在保险箱进程中, 可以识别当前操作系统中指定类型的应用程序, 即可以在第 3 特权。
29、级 Ring3 中扫描到当前操作系统中指定类型的应用程序。 0110 应用本发明实施例, 可以自动识别出当前操作系统中指定类型的应用程序, 例如, 通讯类的应用程序(如即时通讯工具、 邮箱客户端等等)、 游戏、 银行类的应用程序(如支付 工具、 U 盾等等 )、 浏览器或者其他应用程序, 从而为之后的该应用程序的进程主动或者被 动的某些行为进行保护。 0111 在本发明的一种可选实施例中, 所述进程组件 202 还可以适于 : 0112 获取被触发的当前应用程序的进程的名称 ; 0113 在具体实现中, 当操作系统中任意一个应用程序的进程被触发开启时, 可以对判 断该进程对应的应用程序是否为指。
30、定类型的应用程序。 0114 其中, 该应用程序的进程可以为用户主动触发, 例如, 用户点击该应用程序的快捷 方式 ; 该应用程序的进程也可以为其他应用程序 / 服务所调用触发, 例如, 用户点击在即时 通讯工具的会话窗口中接收的网址, 即时通讯工具调用浏览器加载该网址指示的网页。 0115 判断所述名称是否与预设的第一文件名相同 ; 若是, 则采用所述应用程序的指定 属性判断所述应用程序是否为指定类型的应用程序。 0116 在具体实现中, 获取被触发的当前应用程序的进程的名称, 则可以检测当前应用 程序的进程的名称是否与预设的第一文件名相同 ; 若相同, 则可以继续进行指定属性的扫 描 ; 。
31、若不相同, 则可以认为当前被触发的应用程序不为指定类型的应用程序。 0117 应用本发明实施例, 可以在本地预置一文件名列表, 在该文件名列表存储有一个 或多个第一文件名, 将获取被触发的当前应用程序的进程的名称在该文件名列表中进行匹 配, 以检测当前应用程序的进程的名称是否与预设的第一文件名相同。 0118 在本发明实施例的一种可选示例中, 对于游戏类的应用程序, 第一文件名可以包 括两种类型 : 0119 预设的游戏的主程序的名称或者预设的浏览器进程的名称, 分别可以运行游戏和 网页游戏。 0120 例如, 若当前应用程序的进程的名称为 “war.exe” , 该名称为一游戏的主程序的名 。
32、称, 可以表明当前可能打开了魔兽争霸这款游戏 ; 0121 又例如, 若当前应用程序的进程的名称为 “360se.exe” , 该名称为一浏览器进程的 名称, 可以表明可能打开了浏览器。 0122 当然, 本发明实施例也可以预设通讯类的应用程序的进程名称、 银行类的应用程 序的进程名称等等, 本发明实施例对此不加以限制。 0123 由于程序的名称容易被修改, 因此通过进程的名称一般不能十分准确地判断是否 扫描到指定类型的应用程序。 0124 本发明实施例中, 可以在检测应用程序的进程的名称的基础之上, 采用应用程序 所特有的性质(即指定属性)继续判断, 以保障对游戏、 浏览器等指定类型的应用程。
33、序的识 别的准确率。 0125 在本发明实施例的一种可选示例中, 所述指定属性可以包括注册表信息 ; 则在本 示例中, 所述进程组件 202 还可以适于 : 0126 判断所述应用程序的注册表信息是否与预置的特征注册表信息匹配 ; 若是, 则判 说 明 书 CN 104268475 A 9 7/20 页 10 断所述应用程序为指定类型的应用程序。 0127 注册表 (Registry, 又称登录档 ) 是操作系统中的一个重要的数据库, 可以用于存 储系统和应用程序的设置信息。 0128 当准备运行一个应用程序时, 注册表可以提供应用程序信息给操作系统, 这样应 用程序可以被找到, 正确数据文件。
34、的位置被规定, 其他设置也都可以被使用。 0129 应用本发明实施例, 可以预先采集指定类型的应用程序的注册表信息 ( 即特征注 册表信息 ), 通过应用程序的注册表信息与预置的特征注册表进行匹配, 从而可以快速识别 出指定类型的应用程序。 0130 由于应用程序在操作系统安装时, 其注册表路径可以是唯一的。 因此, 当该应用程 序的注册表路径与特征注册表信息匹配时, 说明在操作系统中安装有该应用程序, 若注册 表路径与特征注册表信息不匹配, 则被触发的应用程序不一定是指定类型的应用程序。 0131 在本发明实施例的一种可选示例中, 所述指定属性可以包括图标 ; 则在本示例中, 所述进程组件 。
35、202 还可以适于 : 0132 判断所述应用程序的注册表信息是否与预置的特征图标匹配 ; 若是, 则判断所述 应用程序为指定类型的应用程序。 0133 图标 ( 如 Icon), 可以指计算机软件编程中为使人机界面更加易于操作和人性化 而设计出的标识特定功能的图形标志。 0134 一般而言, 每个应用程序的图标 ( 如 Icon) 可以是独特、 唯一的, 即不同的应用程 序采用的图标 ( 如 Icon) 可以不相同, 因此, 可以依靠图标 ( 如 Icon) 作为指定类型的应用 程序的识别手段。 0135 应用本发明实施例, 可以预先采集指定类型的应用程序的图标 ( 即特征图标 ), 通 过。
36、应用程序的图标 ( 如 Icon) 与预置的特征图标进行匹配, 从而可以快速识别出指定类型 的应用程序。 0136 在实际应用中, 可以解析当前应用程序的图标, 获得第一矩阵, 解析特征图标, 获 得第二矩阵, 判断第一矩阵和第二矩阵是否匹配 ; 若匹配, 则可以判断当前应用程序的图标 与特征图标匹配 ; 若不匹配, 则可以判断当前应用程序的图标与特征图标不匹配。 0137 其中, 第一矩阵中可以保存有当前应用程序的图标的颜色值, 第二矩阵保存有特 征图标的颜色值。 0138 在本发明实施例的一种可选示例中, 所述指定属性可以包括第二文件名和所属的 平台名称 ; 则在本示例中, 所述进程组件 。
37、202 还可以适于 : 0139 判断预置的第二文件名是否在所述应用程序的文件中存在, 且, 所述平台名称与 预置的特征平台名称匹配 ; 若是, 则判断所述应用程序为指定类型的应用程序。 0140 在具体实现中, 第二文件可以为与当前进程对应的应用程序中唯一存在的文件。 0141 例如, 在某个射击类游戏中, 第二文件可以为某一预置的地图文件,“cs_ bloodstrike.nav” 。 0142 应用程序所属的平台可以为开发或者拥有该应用程序的公司。 0143 应用本发明实施例, 可以预先采集指定类型的应用程序的第二文件名和所属的平 台名称, 通过应用程序的所属的平台与预置的特征图标进行匹。
38、配, 以及, 查找第二文件名是 否在应用程序的文件中存在, 从而可以快速识别出指定类型的应用程序。 说 明 书 CN 104268475 A 10 8/20 页 11 0144 需要说明的是, 本发明实施例可以应用注册表信息、 图标、 第二文件名与所属平台 名称中的至少一个进行匹配, 判断应用程序是否为指定类型的应用程序。 0145 例如, 先匹配注册表, 若判断应用程序的注册表信息与预置的特征注册表信息不 匹配, 则可以匹配图标, 若判断应用程序的图标与预置的特征图标不匹配, 则可以匹配第二 文件名和所属的平台名称。 0146 当然, 上述指定属性只是作为示例, 在实施本发明实施例时, 可以。
39、根据实际情况设 置其他指定属性, 本发明实施例对此不加以限制。另外, 除了上述指定属性外, 本领域技术 人员还可以根据实际需要采用其指定属性, 本发明实施例对此也不加以限制。 0147 本发明实施例在通过第一文件名识别指定类型的应用程序的基础之上, 配合注册 表信息、 图标、 第二文件名与所述平台的名称等指定属性进行识别指定类型的应用程序, 可 以有效识别篡改伪装的应用程序, 大大提高了指定类型的应用程序的识别成功率。 0148 所述驱动组件 201 和 / 或所述进程组件 202 适于检测到指定类型的应用程序的启 动操作 ; 0149 在保险箱中, 可以检测到指定类型的应用程序的启动操作, 。
40、即可以在第 0 特权级 Ring0 和第 3 特权级 Ring3 的交互中检测到指定类型的应用程序的启动操作。 0150 在本发明的一种可选实施例中, 所述驱动组件 201 还可以适于 : 0151 获取待检测应用程序在启动时的进程信息 ; 0152 判断所述进程信息与预置的第一特征进程信息是否匹配 ; 若是, 则将所述进程信 息发送至所述进程组件 ; 0153 所述进程组件 202 还可以适于 : 0154 判断所述进程信息与预置的第二特征进程信息是否匹配 ; 0155 当所述进程信息与预置的第二特征进程信息匹配时, 判断检测到指定类型的应用 程序的启动操作。 0156 在具体实现中, 保险。
41、箱驱动可以获取到应用程序的进程启动的时机和信息。 0157 例 如,保 险 箱 驱 动 可 以 通 过 回 调 操 作 系 统 中 指 定 的 系 统 函 数,如 PsSetCreateProcessNotifyRoutine 等, 让操作系统通知该系统函数, 以获知应用程序的进 程启动、 退出等信息。 0158 当然, 本发明实施例中还可以挂钩 (Hook)CreateProcess 等系统函数获取到应用 程序的进程启动的时机和信息, 本发明实施例对此不加以限制。 0159 该特定程序可以在启动时把一些已经识别到的进程信息随保险箱驱动存入到驱 动层 ( 即第 0 特权级 Ring0) 的内存。
42、中。 0160 例如, 已经识别到已经识别到的进程信息可以包括的一些进程的名称, 如 A.exe、 B.exe 等。 0161 保险箱驱动本身运行在系统内核层 ( 即第 0 特权级 Ring0), 可以在得到某个应用 程序启动时获取到其进程将要启动的进程信息, 包括进程 ID、 进程全路径、 进程名称等等, 和之前存入的进程信息进行过滤。 0162 如果保险箱驱动判断第一特征进程信息 ( 如进程名称等 ) 一样, 则将进程信息传 输到应用层 ( 第 3 特权级 Ring3) 的保险箱进程进行第二特征信息 ( 如进程全路径等 ) 的 判断, 如果第一特征进程信息和第二特征进程信息都匹配, 那么可。
43、以判断启动的应用程序 说 明 书 CN 104268475 A 11 9/20 页 12 是已经识别过的, 即检测到指定类型的应用程序启动。 0163 在本发明的一种可选实施例中, 所述指定类型的应用程序可以包括浏览器 ; 所述 进程组件 202 还可以适于 : 0164 接收到一网址安全组件拦截到的、 所述浏览器所请求的网页标识 ; 0165 判断所述网页标识是否与预置的特征网页标识匹配 ; 若是, 则判断检测到浏览器 的启动操作。 0166 在保险箱进程中可以接收到一网址安全组件拦截到的、 所述浏览器所请求的网页 标识, 判断所述网页标识是否与预置的特征网页标识匹配 ; 若是, 则判断检测。
44、到浏览器的启 动操作。 0167 即可以在第 3 特权级 Ring3 中接收到一网址安全组件拦截到的、 所述浏览器所请 求的网页标识, 判断所述网页标识是否与预置的特征网页标识匹配 ; 若是, 则判断检测到浏 览器的启动操作。 0168 需要说明的是, 该网址安全组件可以集成在该特定程序中, 也是可以单独作为另 一个安全程序中的一个网址安全组件, 本发明实施例对此不加以限制。 0169 网页标识可以是能够代表一个唯一确定的网页的信息, 例如统一资源标识符 (Uniform Resource Identifi er, URI), 统一资源标识符又具体可以包括统一资源定位符 (Uniform Re。
45、source Locator, URL), 或者统一资源名称 (Uniform Resource Name, URN) 等 等。 0170 应用本发明实施例, 可以预先采集浏览器中加载的网页标识 ( 即特征网页标识 ), 例如, 网页游戏的网页、 网上银行的网页等等, 通过在浏览器请求的网页标识与预置的特征 网页标识匹配, 从而可以快速检测到指定类型的应用程序的启动操作。 0171 所述驱动组件 201 和所述进程组件 202 适于在所述应用程序启动前, 对所述应用 程序所在运行环境的进行第一安全检测 ; 0172 本发明实施例中, 对即将运行的应用程序 ( 包括从桌面启动或者应用程序被自动 。
46、运行的 ), 为确保应用程序的运行环境安全, 可以采取对当前系统环境进行安全检测, 又可 以称为快速扫描。 0173 在保险箱中, 可以在所述应用程序启动前, 对所述应用程序所在运行环境的进行 第一安全检测, 即可以在第 0 特权级 Ring0 和第 3 特权级 Ring3 的交互中对所述应用程序 所在运行环境的进行第一安全检测。 0174 在本发明的一种可选实施例中, 所述驱动组件 201 还可以适于阻断所述应用程序 的启动操作, 将阻断所述应用程序的启动操作的信息通知所述进程组件 ; 0175 在保险箱驱动中, 可以阻断所述应用程序的启动操作, 即可以在第 0 特权级 Ring0 中阻断所。
47、述应用程序的启动操作。 0176 在本发明实施例的一种可选示例中, 所述进程组件 202 还可以适于判断所述应用 程序启动操作对应的启动方式, 将所述启动方式通知所述驱动组件 201 ; 0177 所述驱动组件 201 还可以适于在所述启动方式为由一特定程序以外的方式启动 时, 阻断所述应用程序的进程的启动。 0178 保险箱进程可以在后台判断应用程序启动操作对应的启动方式, 是由该特定程序 启动的, 还是外部 ( 如桌面, 快捷方式, 其它程序调用等特定程序以外的方式 ) 启动的。 说 明 书 CN 104268475 A 12 10/20 页 13 0179 如果是外部启动, 则保险箱驱动。
48、可以调用对应的操作系统的 API(Application Programming Interface, 应用程序编程接口 ) 阻断该应用程序的进程的启动。 0180 所述进程组件 202 还可以适于对阻断启动操作的应用程序所在的运行环境进行 第一安全检测。 0181 保险箱进程可以对阻断启动操作的应用程序所在的运行环境进行第一安全检测, 即可以在第3特权级Ring3中对阻断启动操作的应用程序所在的运行环境进行第一安全检 测。 0182 在本发明实施例的一种可选示例中, 所述进程组件 202 还可以适于 : 0183 调用内置的云安全组件对阻断启动操作的应用程序所在的运行环境进行第一安 全检测。 0184 在本发明实施例中, 进行第一安全检测的云安全组件可以内置在特定进程中。 0185 在本发明实施例的一种可选示例中, 所述进程组件 202 还可以适于 : 0186 调用第三方的安全组件对阻断启动操作的应用程序所在的运行环境进行第一安 全检测。 0187 在本发明实施例中, 进行第一安全检测的安全组件可以位于在第三方中, 特定程 序可以通过指定的 API 接口进行调用。 0188 在实际应用中, 安全组件 ( 如云安全组件或第三方的安。