一种运行应用程序的装置和终端设备的制作方法

文档序号:6629272阅读:147来源:国知局
一种运行应用程序的装置和终端设备的制作方法
【专利摘要】本发明实施例提供了一种运行应用程序的装置和终端设备,所述装置包括:扫描模块,适于扫描到当前操作系统中指定类型的应用程序;启动操作检测模块,适于检测到指定类型的应用程序的启动操作;第一安全检测模块,适于在所述应用程序启动前,对所述应用程序所在运行环境的进行第一安全检测;启动模块,适于在第一安全检测的结果为所述运行环境安全后,启动所述应用程序;事件检测模块,适于检测到所述应用程序运行过程中的预定事件;第二安全检测模块,适于触发对所述应用程序中的预定事件的第二安全检测。本发明实施例有效保证了应用程序在启动时的运行环境的安全性,有效保证了应用程序在运行时的安全性。
【专利说明】一种运行应用程序的装置和终端设备

【技术领域】
[0001]本发明涉及计算机的【技术领域】,特别是涉及一种运行应用程序的装置和一种终端设备。

【背景技术】
[0002]目前,随着互联网的高速发展,网络应用趋向多元化,诸如即时通讯工具、电子邮箱、网上银行等等应用程序,被广泛应用在用户生活和工作的各个方面。
[0003]用户若想在多种应用程序的应用中获取更多的个性化服务,通常需要注册对应服务器的账号,为了保证账号的安全,则需要用户编辑一个与账号对应的密码。
[0004]如图1所示,支持应用程序运行的Windows操作系统按照可访问内存地址的权限为RingO, Ringl, Ring2, Ring3四层。之后逐渐衍生为RingO, Ring3两层。应用程序通常运行在Ring3层,即用户模式;驱动程序通常运行在RingO层,即内核模式。
[0005]Windows操作系统借助分层的设计思想解决复杂的问题,这一做法带来了可移植性、可扩展性等优点。不过,由于在设计理论上存在着安全性缺陷(例如缺乏完整性校验机制等),高可扩展性的另一方面也意味着系统存在大量的被篡改可能。
[0006]通常恶意程序会以用户模式的应用程序为主,对已经或或将启动的应用程序进行破坏和非法盗取应用程序中的信息等,主要表现在:
[0007]1、用户模式下的进程或应用程序易被破坏;
[0008]2、用户模式下的进程或应用程序中的信息易被盗取;
[0009]3、恶意程序启动不受限制;
[0010]4、用户模式中运行的应用程序可能会被恶意程序注入;
[0011]5、用户模式中应用程序在网络通信时的数据可能被截取或被篡改。


【发明内容】

[0012]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种应用程序的运行装置和一种终端设备。
[0013]依据本发明的一个方面,提供了一种运行应用程序的装置,包括:
[0014]扫描模块,适于扫描到当前操作系统中指定类型的应用程序;
[0015]启动操作检测模块,适于检测到指定类型的应用程序的启动操作;
[0016]第一安全检测模块,适于在所述应用程序启动前,对所述应用程序所在运行环境的进行第一安全检测;
[0017]启动模块,适于在第一安全检测的结果为所述运行环境安全后,启动所述应用程序;
[0018]事件检测模块,适于检测到所述应用程序运行过程中的预定事件;
[0019]第二安全检测模块,适于触发对所述应用程序中的预定事件的第二安全检测。
[0020]可选地,所述扫描模块还适于:
[0021]获取被触发的当前应用程序的进程的名称;
[0022]判断所述名称是否与预设的第一文件名相同;若是,则采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程序。
[0023]可选地,所述指定属性包括注册表信息;所述扫描模块还适于:
[0024]判断所述应用程序的注册表信息是否与预置的特征注册表信息匹配;若是,则判断所述应用程序为指定类型的应用程序。
[0025]可选地,所述指定属性包括图标;所述扫描模块还适于:
[0026]判断所述应用程序的注册表信息是否与预置的特征图标匹配;若是,则判断所述应用程序为指定类型的应用程序。
[0027]可选地,所述指定属性包括第二文件名和所属的平台名称;所述扫描模块还适于:
[0028]判断预置的第二文件名是否在所述应用程序的文件中存在,且,所述平台名称与预置的特征平台名称匹配;若是,则判断所述应用程序为指定类型的应用程序。
[0029]可选地,所述启动操作检测模块还适于:
[0030]获取待检测应用程序在启动时的进程信息;
[0031]判断所述进程信息与预置的第一特征进程信息是否匹配;若是,则判断所述进程信息与预置的第二特征进程信息是否匹配;
[0032]当所述进程信息与预置的第二特征进程信息匹配时,判断检测到指定类型的应用程序的启动操作。
[0033]可选地,所述指定类型的应用程序包括浏览器;所述启动操作检测模块还适于:
[0034]接收到一网址安全组件拦截到的、所述浏览器所请求的网页标识;
[0035]判断所述网页标识是否与预置的特征网页标识匹配;若是,则判断检测到浏览器的启动操作。
[0036]可选地,所述第一安全检测模块还适于:
[0037]阻断所述应用程序的启动操作;
[0038]对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
[0039]可选地,所述第一安全检测模块还适于:
[0040]判断所述应用程序启动操作对应的启动方式;
[0041]当所述启动方式为由一特定程序以外的方式启动时,阻断所述应用程序的进程的启动。
[0042]可选地,所述第一安全检测模块还适于:
[0043]调用内置的云安全组件对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
[0044]可选地,所述第一安全检测模块还适于:
[0045]调用第三方的安全组件对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
[0046]可选地,所述第一安全检测包括木马检测和病毒检测中的至少一种检测。
[0047]可选地,所述第一安全检测模块还适于:
[0048]根据所述第一安全检测的结果判断所述操作系统的安全等级;
[0049]展示所述第一安全检测的结果和所述操作系统的安全等级。
[0050]可选地,所述启动模块还适于:
[0051]触发所述扫描到的应用程序在操作系统界面中的快捷启动方式,从而启动所述应用程序;或者
[0052]触发所述扫描到的应用程序在一特定程序中的启动入口,从而启动所述应用程序。
[0053]可选地,所述预定事件包括指定的窗口事件;所述事件检测模块还适于:
[0054]遍历当前操作系统中的窗口是否存在预置的特征值;若是,则判断检测到所述应用程序运行过程中的指定的窗口事件。
[0055]可选地,所述第二安全检测模块还适于:
[0056]触发对所述应用程序中的窗口事件关联加载的业务对象的第二安全检测。
[0057]可选地,所述第二安全检测包括木马检测。
[0058]可选地,所述第二安全检测模块还适于:
[0059]根据所述第二安全检测的结果判断所述应用程序的安全等级;
[0060]展示所述第二安全检测的结果和所述应用程序的安全等级。
[0061]可选地,所述预定事件包括注入操作事件;所述事件检测模块还适于:
[0062]挂钩指定的系统函数;
[0063]在所述系统函数调用时,判断所述系统函数是否为外部的应用程序调用;若是,则判断检测到所述应用程序运行过程中的注入操作事件。
[0064]可选地,所述第二安全检测模块还适于:
[0065]阻断执行针对所述应用程序的注入操作;
[0066]触发对所述应用程序中的注入操作进行第二安全检测;
[0067]当所述注入操作通过所述第二安全检测时,允许执行针对所述应用程序的进程的注入操作;
[0068]当所述注入操作未通过所述第二安全检测时,过滤执行针对所述应用程序的进程的注入操作。
[0069]可选地,所述第二安全检测模块还适于:
[0070]当所述外部的应用程序在预置的白名单中匹配成功时,判断所述注入操作通过所述第二安全检测;
[0071]当所述外部的应用程序在预置的黑名单中匹配成功时,判断所述注入操作未通过所述第二安全检测。
[0072]可选地,所述第二安全检测模块还适于:
[0073]展示对所述应用程序中的注入操作的第二安全检测的结果。
[0074]可选地,所述预定事件包括内存读写操作事件;所述事件检测模块还适于:
[0075]在预置的函数表中查找所述定类型的应用程序对应的系统函数;
[0076]挂钩所述应用程序对应的系统函数;
[0077]在所述应用程序对应的系统函数被调用时,判断所述系统函数是否为外部的应用程序调用;若是,则判断检测到所述应用程序运行过程中的内存读写操作事件。
[0078]可选地,所述第二安全检测模块还适于:
[0079]阻断执行针对所述应用程序的内存读写操作;
[0080]触发对所述应用程序中的读写操作的第二安全检测;
[0081]当所述内存读写操作通过所述第二安全检测时,允许执行针对所述应用程序的内存读写操作;
[0082]当所述内存读写操作未通过所述第二安全检测时,过滤执行针对所述应用程序的内存读写操作。
[0083]可选地,所述第二安全检测模块还适于:
[0084]当所述外部的应用程序在预置的白名单中匹配成功时,判断所述内存读写操作通过所述第二安全检测;
[0085]当所述外部的应用程序在预置的黑名单中匹配成功时,判断所述内存读写操作未通过所述第二安全检测。
[0086]可选地,所述第二安全检测模块还适于:
[0087]展示对所述应用程序的内存读写操作的第二安全检测的结果。
[0088]根据本发明的另一方面,提供了一种终端设备,包括:
[0089]一个或多个处理器;
[0090]一个或多个存储器;以及
[0091]一个或多个模块,所述一个或多个模块存储于所述一个或多个存储器中并被配置成由一个或多个处理器执行,其中,所述一个或多个模块包括:
[0092]扫描模块,适于扫描到当前操作系统中指定类型的应用程序;
[0093]启动操作检测模块,适于检测到指定类型的应用程序的启动操作;
[0094]第一安全检测模块,适于在所述应用程序启动前,对所述应用程序所在运行环境的进行第一安全检测;
[0095]启动模块,适于在第一安全检测的结果为所述运行环境安全后,启动所述应用程序;
[0096]事件检测模块,适于检测到所述应用程序运行过程中的预定事件;
[0097]第二安全检测模块,适于触发对所述应用程序中的预定事件的第二安全检测。
[0098]可选地,所述扫描模块还适于:
[0099]获取被触发的当前应用程序的进程的名称;
[0100]判断所述名称是否与预设的第一文件名相同;若是,则采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程序。
[0101]可选地,所述指定属性包括注册表信息;所述扫描模块还适于:
[0102]判断所述应用程序的注册表信息是否与预置的特征注册表信息匹配;若是,则判断所述应用程序为指定类型的应用程序。
[0103]可选地,所述指定属性包括图标;所述扫描模块还适于:
[0104]判断所述应用程序的注册表信息是否与预置的特征图标匹配;若是,则判断所述应用程序为指定类型的应用程序。
[0105]可选地,所述指定属性包括第二文件名和所属的平台名称;所述扫描模块还适于:
[0106]判断预置的第二文件名是否在所述应用程序的文件中存在,且,所述平台名称与预置的特征平台名称匹配;若是,则判断所述应用程序为指定类型的应用程序。
[0107]可选地,所述启动操作检测模块还适于:
[0108]获取待检测应用程序在启动时的进程信息;
[0109]判断所述进程信息与预置的第一特征进程信息是否匹配;若是,则判断所述进程信息与预置的第二特征进程信息是否匹配;
[0110]当所述进程信息与预置的第二特征进程信息匹配时,判断检测到指定类型的应用程序的启动操作。
[0111]可选地,所述指定类型的应用程序包括浏览器;所述启动操作检测模块还适于:
[0112]接收到一网址安全组件拦截到的、所述浏览器所请求的网页标识;
[0113]判断所述网页标识是否与预置的特征网页标识匹配;若是,则判断检测到浏览器的启动操作。
[0114]可选地,所述第一安全检测模块还适于:
[0115]阻断所述应用程序的启动操作;
[0116]对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
[0117]可选地,所述第一安全检测模块还适于:
[0118]判断所述应用程序启动操作对应的启动方式;
[0119]当所述启动方式为由一特定程序以外的方式启动时,阻断所述应用程序的进程的启动。
[0120]可选地,所述第一安全检测模块还适于:
[0121]调用内置的云安全组件对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
[0122]可选地,所述第一安全检测模块还适于:
[0123]调用第三方的安全组件对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
[0124]可选地,所述第一安全检测包括木马检测和病毒检测中的至少一种检测。
[0125]可选地,所述第一安全检测模块还适于:
[0126]根据所述第一安全检测的结果判断所述操作系统的安全等级;
[0127]展示所述第一安全检测的结果和所述操作系统的安全等级。
[0128]可选地,所述启动模块还适于:
[0129]触发所述扫描到的应用程序在操作系统界面中的快捷启动方式,从而启动所述应用程序;或者
[0130]触发所述扫描到的应用程序在一特定程序中的启动入口,从而启动所述应用程序。
[0131]可选地,所述预定事件包括指定的窗口事件;所述事件检测模块还适于:
[0132]遍历当前操作系统中的窗口是否存在预置的特征值;若是,则判断检测到所述应用程序运行过程中的指定的窗口事件。
[0133]可选地,所述第二安全检测模块还适于:
[0134]触发对所述应用程序中的窗口事件关联加载的业务对象的第二安全检测。
[0135]可选地,所述第二安全检测包括木马检测。
[0136]可选地,所述第二安全检测模块还适于:
[0137]根据所述第二安全检测的结果判断所述应用程序的安全等级;
[0138]展示所述第二安全检测的结果和所述应用程序的安全等级。
[0139]可选地,所述预定事件包括注入操作事件;所述事件检测模块还适于:
[0140]挂钩指定的系统函数;
[0141]在所述系统函数调用时,判断所述系统函数是否为外部的应用程序调用;若是,则判断检测到所述应用程序运行过程中的注入操作事件。
[0142]可选地,所述第二安全检测模块还适于:
[0143]阻断执行针对所述应用程序的注入操作;
[0144]触发对所述应用程序中的注入操作进行第二安全检测;
[0145]当所述注入操作通过所述第二安全检测时,允许执行针对所述应用程序的进程的注入操作;
[0146]当所述注入操作未通过所述第二安全检测时,过滤执行针对所述应用程序的进程的注入操作。
[0147]可选地,所述第二安全检测模块还适于:
[0148]当所述外部的应用程序在预置的白名单中匹配成功时,判断所述注入操作通过所述第二安全检测;
[0149]当所述外部的应用程序在预置的黑名单中匹配成功时,判断所述注入操作未通过所述第二安全检测。
[0150]可选地,所述第二安全检测模块还适于:
[0151]展示对所述应用程序中的注入操作的第二安全检测的结果。
[0152]可选地,所述预定事件包括内存读写操作事件;所述事件检测模块还适于:
[0153]在预置的函数表中查找所述定类型的应用程序对应的系统函数;
[0154]挂钩所述应用程序对应的系统函数;
[0155]在所述应用程序对应的系统函数被调用时,判断所述系统函数是否为外部的应用程序调用;若是,则判断检测到所述应用程序运行过程中的内存读写操作事件。
[0156]可选地,所述第二安全检测模块还适于:
[0157]阻断执行针对所述应用程序的内存读写操作;
[0158]触发对所述应用程序中的读写操作的第二安全检测;
[0159]当所述内存读写操作通过所述第二安全检测时,允许执行针对所述应用程序的内存读写操作;
[0160]当所述内存读写操作未通过所述第二安全检测时,过滤执行针对所述应用程序的内存读写操作。
[0161]可选地,所述第二安全检测模块还适于:
[0162]当所述外部的应用程序在预置的白名单中匹配成功时,判断所述内存读写操作通过所述第二安全检测;
[0163]当所述外部的应用程序在预置的黑名单中匹配成功时,判断所述内存读写操作未通过所述第二安全检测。
[0164]可选地,所述第二安全检测模块还适于:
[0165]展示对所述应用程序的内存读写操作的第二安全检测的结果。
[0166]本发明实施例识别出指定类型的应用程序,在该应用程序启动之前进行第一安全检测,有效保证了应用程序在启动时的运行环境的安全性,在安全的运行环境中启动应用程序,在检测到应用程序运行过程中的预定事件时,触发对应用程序中的预定事件的第二安全检测,有效保证了应用程序在运行时的安全性,为应用程序提供了全面的安全保护,使应用程序安全地启动、运行。
[0167]本发明实施例在通过第一文件名识别指定类型的应用程序的基础之上,配合注册表信息、图标、第二文件名与所述平台的名称等指定属性进行识别指定类型的应用程序,可以有效识别篡改伪装的应用程序,大大提高了指定类型的应用程序的识别成功率。
[0168]本发明实施例在应用程序启动前,对应用程序所在运行环境的进行快速扫描,减少挂钩键盘的木马/病毒、其他恶意应用程序、拦截或吸怪通信数据包的目标/病毒等运行环境中存在的危险,提高了应用程序在启动时的运行环境的安全性。
[0169]本发明实施例触发述应用程序中的窗口事件关联加载的业务对象的专项扫描,对快速扫描进行补充,在应用程序运行之后,在支付、登录、收发数据等操作之前,对应用程序加载的功能模块进行扫描,确保了木马不会随应用程序启动,由于很多木马会修改应用程序文件,并随应用程序启动,实施盗取账号、密码、关键数据等恶意行为,专项扫描可以有效解决木马岁应用程序启动的问题,避免盗取账号、密码、关键数据等恶意行为,大大提高了应用程序在支付、登录、网络通信等操作的安全性。
[0170]本发明实施例在检测对到应用程序进行注入操作时,对注入操作进行安全检测,在判断注入操作安全时,允许注入操作继续执行,在判断该注入操作危险时,过滤该注入操作,防止应用程序被恶意注入,大大提高了应用程序运行中的安全性。
[0171]本发明实施例在检测对到应用程序进行内存读写操作时,对内存读写操作进行安全检测,在判断内存读写操作安全时,允许内存读写操作继续执行,在判断内存读写操作危险时,过滤内存读写操作,防止内存被恶意读写,提高了应用程序在运行中内存及其他私有信息的安全性,大大提高了应用程序运行中的安全性。
[0172]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。

【专利附图】

【附图说明】
[0173]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0174]图1示意性示出了一种操作系统的架构图;
[0175]图2示意性示出了根据本发明一个实施例的一种运行应用程序的装置实施例的结构框图;
[0176]图3示意性示出了根据本发明一个实施例的一种操作系统的架构图;以及
[0177]图4示意性示出了根据本发明一个实施例的一种终端设备的结构框图。

【具体实施方式】
[0178]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0179]参照图2,示出了根据本发明一个实施例的一种运行应用程序的装置实施例的结构框图,具体可以包括如下模块:
[0180]扫描模块201,适于扫描到当前操作系统中指定类型的应用程序;
[0181]需要说明的是,本发明实施例可以应用于一特定程序,如图3所示,该特定程序可形象地称为保险箱,以保护指定类型的应用程序,具体可以包括两部分,一部分为位于用户模式(即第3特权级Ring3)的保险箱进程,另一部分为位于内核模式(即第O特权级RingO)的保险箱驱动。
[0182]该特定程序可以安装在诸如PC (Personal Computer,个人计算机)、手持电脑等终端设备上。
[0183]在保险箱进程中,可以识别当前操作系统中指定类型的应用程序,即可以在第3特权级Ring3中扫描到当前操作系统中指定类型的应用程序。
[0184]应用本发明实施例,可以自动识别出当前操作系统中指定类型的应用程序,例如,通讯类的应用程序(如即时通讯工具、邮箱客户端等等)、游戏、银行类的应用程序(如支付工具、U盾等等)、浏览器或者其他应用程序,从而为之后的该应用程序的进程主动或者被动的某些行为进行保护。
[0185]在本发明的一种可选实施例中,扫描模块201还可以适于:
[0186]获取被触发的当前应用程序的进程的名称;
[0187]在具体实现中,当操作系统中任意一个应用程序的进程被触发开启时,可以对判断该进程对应的应用程序是否为指定类型的应用程序。
[0188]其中,该应用程序的进程可以为用户主动触发,例如,用户点击该应用程序的快捷方式;该应用程序的进程也可以为其他应用程序/服务所调用触发,例如,用户点击在即时通讯工具的会话窗口中接收的网址,即时通讯工具调用浏览器加载该网址指示的网页。
[0189]判断所述名称是否与预设的第一文件名相同;若是,则采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程序。
[0190]在具体实现中,获取被触发的当前应用程序的进程的名称,则可以检测当前应用程序的进程的名称是否与预设的第一文件名相同;若相同,则可以继续进行指定属性的扫描;若不相同,则可以认为当前被触发的应用程序不为指定类型的应用程序。
[0191]应用本发明实施例,可以在本地预置一文件名列表,在该文件名列表存储有一个或多个第一文件名,将获取被触发的当前应用程序的进程的名称在该文件名列表中进行匹配,以检测当前应用程序的进程的名称是否与预设的第一文件名相同。
[0192]在本发明实施例的一种可选示例中,对于游戏类的应用程序,第一文件名可以包括两种类型:
[0193]预设的游戏的主程序的名称或者预设的浏览器进程的名称,分别可以运行游戏和网页游戏。
[0194]例如,若当前应用程序的进程的名称为“war.exe”,该名称为一游戏的主程序的名称,可以表明当前可能打开了魔兽争霸这款游戏;
[0195]又例如,若当前应用程序的进程的名称为“360se.exe”,该名称为一浏览器进程的名称,可以表明可能打开了浏览器。
[0196]当然,本发明实施例也可以预设通讯类的应用程序的进程名称、银行类的应用程序的进程名称等等,本发明实施例对此不加以限制。
[0197]由于程序的名称容易被修改,因此通过进程的名称一般不能十分准确地判断是否扫描到指定类型的应用程序。
[0198]本发明实施例中,可以在检测应用程序的进程的名称的基础之上,采用应用程序所特有的性质(即指定属性)继续判断,以保障对游戏、浏览器等指定类型的应用程序的识别的准确率。
[0199]在发明实施例的一种可选示例中,所述指定属性可以包括注册表信息;则在本示例中,扫描模块201还可以适于:
[0200]判断所述应用程序的注册表信息是否与预置的特征注册表信息匹配;若是,则判断所述应用程序为指定类型的应用程序。
[0201]注册表(Registry,又称登录档)是操作系统中的一个重要的数据库,可以用于存储系统和应用程序的设置信息。
[0202]当准备运行一个应用程序时,注册表可以提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。
[0203]应用本发明实施例,可以预先采集指定类型的应用程序的注册表信息(即特征注册表信息),通过应用程序的注册表信息与预置的特征注册表进行匹配,从而可以快速识别出指定类型的应用程序。
[0204]由于应用程序在操作系统安装时,其注册表路径可以是唯一的。因此,当该应用程序的注册表路径与特征注册表信息匹配时,说明在操作系统中安装有该应用程序,若注册表路径与特征注册表信息不匹配,则被触发的应用程序不一定是指定类型的应用程序。
[0205]在发明实施例的一种可选示例中,所述指定属性可以包括图标;则在本示例中,扫描模块201还可以适于:
[0206]判断所述应用程序的注册表信息是否与预置的特征图标匹配;若是,则判断所述应用程序为指定类型的应用程序。
[0207]图标(如Icon),可以指计算机软件编程中为使人机界面更加易于操作和人性化而设计出的标识特定功能的图形标志。
[0208]一般而言,每个应用程序的图标(如Icon)可以是独特、唯一的,即不同的应用程序采用的图标(如Icon)可以不相同,因此,可以依靠图标(如Icon)作为指定类型的应用程序的识别手段。
[0209]应用本发明实施例,可以预先采集指定类型的应用程序的图标(即特征图标),通过应用程序的图标(如Icon)与预置的特征图标进行匹配,从而可以快速识别出指定类型的应用程序。
[0210]在实际应用中,可以解析当前应用程序的图标,获得第一矩阵,解析特征图标,获得第二矩阵,判断第一矩阵和第二矩阵是否匹配;若匹配,则可以判断当前应用程序的图标与特征图标匹配;若不匹配,则可以判断当前应用程序的图标与特征图标不匹配。
[0211]其中,第一矩阵中可以保存有当前应用程序的图标的颜色值,第二矩阵保存有特征图标的颜色值。
[0212]在发明实施例的一种可选示例中,所述指定属性可以包括第二文件名和所属的平台名称;则在本示例中,扫描模块201还可以适于:
[0213]判断预置的第二文件名是否在所述应用程序的文件中存在,且,所述平台名称与预置的特征平台名称匹配;若是,则判断所述应用程序为指定类型的应用程序。
[0214]在具体实现中,第二文件可以为与当前进程对应的应用程序中唯一存在的文件。
[0215]例如,在某个射击类游戏中,第二文件可以为某一预置的地图文件,“cs_bloodstrike.nav,,。
[0216]应用程序所属的平台可以为开发或者拥有该应用程序的公司。
[0217]应用本发明实施例,可以预先采集指定类型的应用程序的第二文件名和所属的平台名称,通过应用程序的所属的平台与预置的特征图标进行匹配,以及,查找第二文件名是否在应用程序的文件中存在,从而可以快速识别出指定类型的应用程序。
[0218]需要说明的是,本发明实施例可以应用注册表信息、图标、第二文件名与所属平台名称中的至少一个进行匹配,判断应用程序是否为指定类型的应用程序。
[0219]例如,先匹配注册表,若判断应用程序的注册表信息与预置的特征注册表信息不匹配,则可以匹配图标,若判断应用程序的图标与预置的特征图标不匹配,则可以匹配第二文件名和所属的平台名称。
[0220]当然,上述指定属性只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他指定属性,本发明实施例对此不加以限制。另外,除了上述指定属性外,本领域技术人员还可以根据实际需要采用其指定属性,本发明实施例对此也不加以限制。
[0221]本发明实施例在通过第一文件名识别指定类型的应用程序的基础之上,配合注册表信息、图标、第二文件名与所述平台的名称等指定属性进行识别指定类型的应用程序,可以有效识别篡改伪装的应用程序,大大提高了指定类型的应用程序的识别成功率。
[0222]启动操作检测模块202,适于检测到指定类型的应用程序的启动操作;
[0223]在保险箱中,可以检测到指定类型的应用程序的启动操作,即可以在第O特权级RingO和第3特权级Ring3的交互中检测到指定类型的应用程序的启动操作。
[0224]在本发明的一种可选实施例中,所述启动操作检测模块202还可以适于:
[0225]获取待检测应用程序在启动时的进程信息;
[0226]判断所述进程信息与预置的第一特征进程信息是否匹配;若是,则判断所述进程信息与预置的第二特征进程信息是否匹配;
[0227]当所述进程信息与预置的第二特征进程信息匹配时,判断检测到指定类型的应用程序的启动操作。
[0228]在具体实现中,保险箱驱动可以获取到应用程序的进程启动的时机和信息。
[0229]例如,保险箱驱动可以通过回调操作系统中指定的系统函数,如PsSetCreateProcessNotifyRoutine等,让操作系统通知该系统函数,以获知应用程序的进程启动、退出等信息。
[0230]当然,本发明实施例中还可以挂钩(Hook)CreateProcess等系统函数获取到应用程序的进程启动的时机和信息,本发明实施例对此不加以限制。
[0231]该特定程序可以在启动时把一些已经识别到的进程信息随保险箱驱动存入到驱动层(即第O特权级RingO)的内存中。
[0232]例如,已经识别到已经识别到的进程信息可以包括的一些进程的名称,如A.exe,B.exe 等。
[0233]保险箱驱动本身运行在系统内核层(即第O特权级RingO),可以在得到某个应用程序启动时获取到其进程将要启动的进程信息,包括进程ID、进程全路径、进程名称等等,和之前存入的进程信息进行过滤。
[0234]如果保险箱驱动判断第一特征进程信息(如进程名称等)一样,则将进程信息传输到应用层(第3特权级Ring3)的保险箱进程进行第二特征信息(如进程全路径等)的判断,如果第一特征进程信息和第二特征进程信息都匹配,那么可以判断启动的应用程序是已经识别过的,即检测到指定类型的应用程序启动。
[0235]在本发明的一种可选实施例中,所述指定类型的应用程序可以包括浏览器;则在本发明实施例中,所述启动操作检测模块202还可以适于:
[0236]接收到一网址安全组件拦截到的、所述浏览器所请求的网页标识;
[0237]判断所述网页标识是否与预置的特征网页标识匹配;若是,则判断检测到浏览器的启动操作。
[0238]在保险箱进程中可以接收到一网址安全组件拦截到的、所述浏览器所请求的网页标识,判断所述网页标识是否与预置的特征网页标识匹配;若是,则判断检测到浏览器的启动操作。
[0239]即可以在第3特权级Ring3中接收到一网址安全组件拦截到的、所述浏览器所请求的网页标识,判断所述网页标识是否与预置的特征网页标识匹配;若是,则判断检测到浏览器的启动操作。
[0240]需要说明的是,该网址安全组件可以集成在该特定程序中,也是可以单独作为另一个安全程序中的一个网址安全组件,本发明实施例对此不加以限制。
[0241]网页标识可以是能够代表一个唯一确定的网页的信息,例如统一资源标识符(Uniform Resource Identifier, URI),统一资源标识符又具体可以包括统一资源定位符(Uniform Resource Locator, URL),或者统一资源名称(Uniform Resource Name, URN)等坐寸ο
[0242]应用本发明实施例,可以预先采集浏览器中加载的网页标识(即特征网页标识),例如,网页游戏的网页、网上银行的网页等等,通过在浏览器请求的网页标识与预置的特征网页标识匹配,从而可以快速检测到指定类型的应用程序的启动操作。
[0243]第一安全检测模块203,适于在所述应用程序启动前,对所述应用程序所在运行环境的进行第一安全检测;
[0244]本发明实施例中,对即将运行的应用程序(包括从桌面启动或者应用程序被自动运行的),为确保应用程序的运行环境安全,可以采取对当前系统环境进行安全检测,又可以称为快速扫描。
[0245]在保险箱中,可以在所述应用程序启动前,对所述应用程序所在运行环境的进行第一安全检测,即可以在第O特权级RingO和第3特权级Ring3的交互中对所述应用程序所在运行环境的进行第一安全检测。
[0246]在本发明的一种可选实施例中,第一安全检测模块203还可以适于:
[0247]阻断所述应用程序的启动操作;
[0248]在保险箱驱动中,可以阻断所述应用程序的启动操作,即可以在第O特权级RingO中阻断所述应用程序的启动操作。
[0249]在本发明实施例的一种可选示例中,第一安全检测模块203还可以适于:
[0250]判断所述应用程序启动操作对应的启动方式;
[0251]当所述启动方式为由一特定程序以外的方式启动时,阻断所述应用程序的进程的启动。
[0252]保险箱进程可以在后台判断应用程序启动操作对应的启动方式,是由该特定程序启动的,还是外部(如桌面,快捷方式,其它程序调用等特定程序以外的方式)启动的。
[0253]如果是外部启动,则保险箱驱动可以调用对应的操作系统的API (App I i cat 1nProgramming Interface,应用程序编程接口)阻断该应用程序的进程的启动。
[0254]对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
[0255]保险箱进程可以对阻断启动操作的应用程序所在的运行环境进行第一安全检测,即可以在第3特权级Ring3中对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
[0256]在本发明实施例的一种可选示例中,第一安全检测模块203还可以适于:
[0257]调用内置的云安全组件对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
[0258]在本发明实施例中,进行第一安全检测的云安全组件可以内置在特定进程中。
[0259]在本发明实施例的一种可选示例中,第一安全检测模块203还可以适于:
[0260]调用第三方的安全组件对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
[0261]在本发明实施例中,进行第一安全检测的安全组件可以位于在第三方中,特定程序可以通过指定的API接口进行调用。
[0262]在实际应用中,安全组件(如云安全组件或第三方的安全组件)可以把操作系统的环境信息(例如,操作系统版本,系统补丁安装信息,软件安装信息,驱动安装信息,活动进程和服务等)发送给服务器,服务器端根据安全组件发送的系统环境信息与服务器中预先配置的条件进行判断,然后决定给安全组件返回哪些扫描内容,扫描内容通常是本领域技术人员根据新生恶意程序利用的位置(如某游戏安装目录、常用软件的安装目录等)编写的一段文本或脚本,安全组件收到服务器端返回的扫描内容后执行扫描,扫描本地引擎内置的扫描位置和服务器返回的个性化的扫描内容。为了加快扫描效率,服务器端返回给安全组件的扫描内容中可以指定扫描条件,只有满足条件时客户端才扫描指定的内容。
[0263]安全组件把扫描到的程序文件的特征信息发送给服务器,该特征信息可以是程序文件的 MD5 (Message Digest Algorithm,消息摘要算法第五版)、SHAl (Secure HashAlgorithm,安全哈希算法)或从文件中抽取某些内容计算出的特征信息,安全组件端根据客户端发来的程序文件的特征信息在其数据库中进行分析比对,如果发现匹配记录就把对应的查杀方法返回给安全组件,安全组件根据服务器端返回的查杀方法执行相应的动作。
[0264]如果服务器根据安全组件发来的程序文件的特征信息无法准确匹配,会把进一步需要检查的条件(判断条件可以是指定文件/目录是否存在,文件属性是否满足条件,如文件的MD5是否为指定的值;指定注册表键/值是否存在,注册表键/值内容是否满足条件,指定进程/服务是否存在等)发送给安全组件,安全组件根据服务器端返回的检查条件收集需要的程序文件的属性和其上下文环境的属性,然后发送给服务器端,服务器端再根据这些属性在其数据库中进行分析比对,如果发现匹配记录就把对应的查杀方法返回给客户端,安全组件根据服务器端返回的查杀方法执行相应的动作。
[0265]其中,查杀方法是技术人员根据恶意程序的行为特征编写的一段脚本,用于检测和修复恶意程序。查杀方法分为扫描/判定动作和修复动作,扫描/判定动作即对程序文件属性及程序文件的上下文环境的扫描和判定,当判定为恶意程序时执行相应的修复动作,修复动作包括删除指定的注册表键/值、修改注册表键/值为指定内容、删除指定系统服务项、修复/删除指定程序文件等。
[0266]在具体实现中,所述第一安全检测可以包括木马检测和病毒检测中的至少一种检测。
[0267]具体而言,病毒是指编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码。
[0268]木马是一种经过伪装的欺骗性程序,它通过将自身伪装吸引用户下载执行,从而破坏或窃取使用者的重要文件和资料。木马与一般的病毒不同,它不会自我繁殖,也并不“刻意”地去感染其他文件,它的主要作用是向施种木马者打开被种者电脑的门户,使对方可以任意毁坏、窃取你的文件,甚至远程操控用户的电脑。
[0269]则第一安全监测扫描的位置可以包括:
[0270]1、键盘钩子(很多木马会利用此方式来监控键盘输入,盗取密码);
[0271]2、正在运行的除该指定类型的应用程序之外的其它应用程序;
[0272]3、网络通信模块(很多高级木马会监控网络访问,通过截获或者修改电脑发送出去的数据包的方式来盗取密码)。
[0273]在本发明的一种可选实施例中,第一安全检测模块203还可以适于:
[0274]根据所述第一安全检测的结果判断所述操作系统的安全等级;
[0275]展示所述第一安全检测的结果和所述操作系统的安全等级。
[0276]保险箱进程可以根据所述第一安全检测的结果判断所述操作系统的安全等级,以及,展示所述第一安全检测的结果和所述操作系统的安全等级,即可以在第3特权级Ring3中根据所述第一安全检测的结果判断所述操作系统的安全等级,以及,展示所述第一安全检测的结果和所述操作系统的安全等级。
[0277]在具体实现中,可以根据所述第一安全检测的结果按照预置的积分规则计算安全评分,而安全等级可以具有一个分数范围,安全评分归属的分数范围即为当前操作系统的安全等级。
[0278]例如,预置的计分规则为,设置满分为100分,出现上述任一危险项目信息则扣10分,若当前检测出两个危险项目,则安全评分参数为80分,若第二档的安全等级的范围为70-85,则当前操作系统的安全等级为第二档。
[0279]在扫描完毕之后,可以会给展示相关的扫描结果,并同时判断给出当前操作系统环境安全与否及安全等级的提醒,以提示用户。
[0280]本发明实施例在应用程序启动前,对应用程序所在运行环境的进行快速扫描,减少挂钩键盘的木马/病毒、其他恶意应用程序、拦截或吸怪通信数据包的目标/病毒等运行环境中存在的危险,提高了应用程序在启动时的运行环境的安全性。
[0281]启动模块204,适于在第一安全检测的结果为所述运行环境安全后,启动所述应用程序;
[0282]保险箱驱动可以在第一安全检测的结果为所述运行环境安全后,启动所述应用程序,即可以在第O特权级RingO中启动所述应用程序。
[0283]需要说明的是,本领域技术人员可以根据实际需求设置哪些安全等级表示当前运行环境安全,哪些安全等级表示当前运行环境存在风险,哪些安全等级表示当前运行环境危险等等。
[0284]在本发明的一种可选实施例中,启动模块204还可以适于:
[0285]触发所述扫描到的应用程序在操作系统界面中的快捷启动方式,从而启动所述应用程序;或者
[0286]触发所述扫描到的应用程序在一特定程序中的启动入口,从而启动所述应用程序。
[0287]由于在先可以在获取待检测应用程序在启动时的进程信息,识别了启动应用程序的进程的全路径,在阻断后可以启动该全路径的对应的指定类型的应用程序。
[0288]事件检测模块205,适于检测到所述应用程序运行过程中的预定事件;
[0289]保险箱驱动可以在检测到所述应用程序运行过程中的预定事件,即可以在第O特权级RingO中检测到所述应用程序运行过程中的预定事件。
[0290]第二安全检测模块206,适于触发对所述应用程序中的预定事件的第二安全检测。
[0291]在保险箱中,可以触发对所述应用程序中的预定事件的第二安全检测,即可以在第O特权级RingO和第3特权级Ring3的交互中触发对所述应用程序中的预定事件的第二安全检测。
[0292]在本发明的一种可选实施例中,所述预定事件可以包括指定的窗口事件;所述事件检测模块205还可以适于:
[0293]遍历当前操作系统中的窗口是否存在预置的特征值;若是,则判断检测到所述应用程序运行过程中的指定的窗口事件。
[0294]在具体实现中,可以通过指定的操作系统的API遍历当前窗口,查找具有特征值的窗口,其中,特征值可以指窗口的名字、窗口的类名等等。
[0295]在本发明实施例的一种优选示例中,该指定的窗口事件可以包括登录的窗口事件、支付的窗口事件、收发数据的窗口事件等等。
[0296]在本发明的一种可选实施例中,所述第二安全检测模块206还可以适于:
[0297]触发对所述应用程序中的窗口事件关联加载的业务对象的第二安全检测。
[0298]在本发明实施例中,窗口事件关联加载的业务对象可以包括应用程序中的功能模块,具体可以指独立完成一定功能的代码集合。
[0299]由于第二安全检测是针对窗口事件关联加载的业务对象,因此,本发明实施例中,第二安全检测也可以称为专项扫描。
[0300]在具体实现中,所述第二安全检测可以包括木马检测。
[0301]本发明实施例触发述应用程序中的窗口事件关联加载的业务对象的专项扫描,对快速扫描进行补充,在应用程序运行之后,在支付、登录、网络通信等操作之前,对应用程序加载的功能模块进行扫描,确保了木马不会随应用程序启动,由于很多木马会修改应用程序文件,并随应用程序启动,实施盗取账号、密码、关键数据等恶意行为,专项扫描可以有效解决木马岁应用程序启动的问题,避免盗取账号、密码、关键数据等恶意行为,大大提高了应用程序在支付、登录、网络通信等操作的安全性。
[0302]在本发明的一种可选实施例中,所述第二安全检测模块206还可以适于:
[0303]根据所述第二安全检测的结果判断所述应用程序的安全等级;
[0304]展示所述第二安全检测的结果和所述应用程序的安全等级。
[0305]在保险箱进程中,可以根据所述第二安全检测的结果判断所述应用程序的安全等级,以及,展示所述第二安全检测的结果和所述应用程序的安全等级,即可以在第3特权级Ring3中根据所述第二安全检测的结果判断所述应用程序的安全等级,以及,展示所述第二安全检测的结果和所述应用程序的安全等级。
[0306]在具体实现中,可以根据所述第二安全检测的结果按照预置的积分规则计算安全评分,而安全等级可以具有一个分数范围,安全评分归属的分数范围即为当前操作系统的安全等级。
[0307]在扫描完毕之后,可以会给展示相关的扫描结果,并同时判断给出当前操作系统环境安全与否及安全等级的提醒,以提示用户。
[0308]在本发明的一种可选实施例中,所述预定事件可以包括注入操作事件;所述事件检测模块205还可以适于:
[0309]挂钩指定的系统函数;
[0310]在所述系统函数调用时,判断所述系统函数是否为外部的应用程序调用;若是,则判断检测到所述应用程序运行过程中的注入操作事件。
[0311]注入操作可以指一个应用程序对另一个应用程序进行的读写虚拟内存等敏感操作。
[0312]在具体实现中,可以特定进程启动时,通过保险箱驱动将所有注入方法的入口进行内核的挂钩(Hook),具体可以枚举可能注入用到操作系统的API函数,例如NtReadVirtualMemory> SetThreadContext> NtQueueAPCThread 等等。
[0313]这样在外部的应用程序试图在保护的应用程序的地址空间中使用了这些API函数都将会被感知。
[0314]钩子本身可以在执行过程中先加入自己的操作,在继续执行或者直接退出。比如当拦截住了这些API函数在使用时,马上判断是不是本应用程序的进程操作的,如果不是,即系统函数为外部的应用程序调用,则可以判断检测到注入操作事件。
[0315]在本发明的一种可选实施例中,所述第二安全检测模块206还可以适于:
[0316]阻断执行针对所述应用程序的注入操作;
[0317]在具体实现中,保险箱驱动可以阻断执行针对应用程序的注入操作,即可以在第O特权级RingO中阻断执行针对应用程序的注入操作。
[0318]触发对所述应用程序中的注入操作进行第二安全检测;
[0319]当保险箱驱动检测到注入操作时,可以通知保险箱进程,保险箱进程触发对应用程序中的注入操作进行第二安全检测,即可以在第3特权级Ring3中触发对应用程序中的注入操作进行第二安全检测。
[0320]在本发明实施例的一种可选示例中,所述第二安全检测模块206还可以适于:
[0321]当所述外部的应用程序在预置的白名单中匹配成功时,判断所述注入操作通过所述第二安全检测;
[0322]虽然注入操作具有一定的危险性,但是并不是所有的注入都是危险的,有些正常的应用程序也会有注入操作的。
[0323]本发明实施例中,可以通过白名单识别安全的应用程序的注入操作。
[0324]白名单可以用于描述安全的应用程序的集合,集合中的应用程序可以被认为是安全的。白名单通常可以为应用程序在操作系统中的路径,具体可以包括默认的、手动加入到该集合中的应用程序。
[0325]当所述外部的应用程序在预置的黑名单中匹配成功时,判断所述注入操作未通过所述第二安全检测。
[0326]本发明实施例中,可以通过黑名单识别安全的应用程序的注入操作。
[0327]黑名单可以用于描述危险的应用程序的集合,集合中的应用程序可以被认为是危险的。黑名单通常可以为应用程序在操作系统中的路径,具体可以包括默认的、手动加入到该集合中的应用程序。
[0328]需要说明的是,白名单、黑名单可以由云安全中心进行维护,并下发至特定程序中。
[0329]在本发明的一种可选实施例中,所述第二安全检测模块206还可以适于:
[0330]展示对所述应用程序中的注入操作的第二安全检测的结果。
[0331]在具体实现中,保险箱进程可以展示对所述应用程序中的注入操作的第二安全检测的结果,即可以在第3特权级Ring3中展示对所述应用程序中的注入操作的第二安全检测的结果,以提示用户。
[0332]当所述注入操作通过所述第二安全检测时,允许执行针对所述应用程序的进程的注入操作;
[0333]当所述注入操作未通过所述第二安全检测时,过滤执行针对所述应用程序的进程的注入操作。
[0334]等扫描完成,保险箱进程可以通知保险箱驱动扫描的结果,即注入操作是否通过第二安全检测,若通过,则可以表示该注入操作安全,若未通过,则可以保湿该注入操作危险。
[0335]保险箱驱动可以依据扫描的结果允许执行针对所述应用程序的进程的注入操作,或者,过滤执行针对所述应用程序的进程的注入操作,即可以在第O特权级RingO中允许执行针对所述应用程序的进程的注入操作,或者,过滤执行针对所述应用程序的进程的注入操作。
[0336]本发明实施例在检测对到应用程序进行注入操作时,对注入操作进行安全检测,在判断注入操作安全时,允许注入操作继续执行,在判断该注入操作危险时,过滤该注入操作,防止应用程序被恶意注入,大大提高了应用程序运行中的安全性。
[0337]在本发明的一种可选实施例中,所述预定事件可以包括内存读写操作事件;所述事件检测模块205还可以适于:
[0338]在预置的函数表中查找所述定类型的应用程序对应的系统函数;
[0339]挂钩所述应用程序对应的系统函数;
[0340]在所述应用程序对应的系统函数被调用时,判断所述系统函数是否为外部的应用程序调用;若是,则判断检测到所述应用程序运行过程中的内存读写操作事件。
[0341]对于不同的指定类型的应用程序,其进行内存读写操作的系统函数可以是不相同的,所以需要一个函数表来确定指定类型的应用程序的哪个读写函数需要被挂钩(Hook)。
[0342]这样在外部的应用程序试图在保护的应用程序的地址空间中使用了这些系统函数都将会被感知。
[0343]钩子本身可以在执行过程中先加入自己的操作,在继续执行或者直接退出。比如当拦截住了这些系统函数在使用时,马上判断是不是本应用程序的进程操作的,如果不是,即系统函数为外部的应用程序调用,则可以判断检测到内存读写操作事件。
[0344]在本发明的一种可选实施例中,所述第二安全检测模块206还可以适于:
[0345]阻断执行针对所述应用程序的内存读写操作;
[0346]在具体实现中,保险箱驱动可以阻断执行针对所述应用程序的内存读写操作,SP可以在第O特权级RingO中阻断执行针对所述应用程序的内存读写操作。
[0347]触发对所述应用程序中的读写操作的第二安全检测;
[0348]当保险箱驱动检测到内存读写操作时,可以通知保险箱进程,保险箱进程触发对所述应用程序中的读写操作的第二安全检测,即可以在第3特权级Ring3中触发对所述应用程序中的读写操作的第二安全检测。
[0349]在本发明实施例的一种可选示例中,所述第二安全检测模块206还可以适于:
[0350]当所述外部的应用程序在预置的白名单中匹配成功时,判断所述内存读写操作通过所述第二安全检测;
[0351]虽然内存读写操作具有一定的危险性,但是并不是所有的内存读写操作都是危险的,有些正常的应用程序也会有内存读写操作的。
[0352]本发明实施例中,可以通过白名单识别安全的应用程序的内存读写操作。
[0353]白名单可以用于描述安全的应用程序的集合,集合中的应用程序可以被认为是安全的。白名单通常可以为应用程序在操作系统中的路径,具体可以包括默认的、手动加入到该集合中的应用程序。
[0354]当所述外部的应用程序在预置的黑名单中匹配成功时,判断所述内存读写操作未通过所述第二安全检测。
[0355]本发明实施例中,可以通过黑名单识别安全的应用程序的内存读写操作。
[0356]黑名单可以用于描述危险的应用程序的集合,集合中的应用程序可以被认为是危险的。黑名单通常可以为应用程序在操作系统中的路径,具体可以包括默认的、手动加入到该集合中的应用程序。
[0357]需要说明的是,白名单、黑名单可以由云安全中心进行维护,并下发至特定程序中。
[0358]在本发明实施例的一种可选示例中,所述第二安全检测模块206还可以适于:
[0359]展示对所述应用程序的内存读写操作的第二安全检测的结果。
[0360]在具体实现中,保险箱进程可以展示对所述应用程序中读写操作的第二安全检测的结果,即可以在第3特权级Ring3中展示对所述应用程序中读写操作的第二安全检测的结果,以提示用户。
[0361]当所述内存读写操作通过所述第二安全检测时,允许执行针对所述应用程序的内存读写操作;
[0362]当所述内存读写操作未通过所述第二安全检测时,过滤执行针对所述应用程序的内存读写操作。
[0363]等扫描完成,保险箱进程可以通知保险箱驱动扫描的结果,即注入操作是否通过第二安全检测,若通过,则可以表示该注入操作安全,若未通过,则可以保湿该注入操作危险。
[0364]保险箱驱动可以依据扫描的结果允许执行针对所述应用程序的内存读写操作,或者,过滤执行针对所述应用程序的内存读写操作,即可以在第O特权级RingO中允许执行针对所述应用程序的内存读写操作,或者,过滤执行针对所述应用程序的内存读写操作。
[0365]本发明实施例在检测对到应用程序进行内存读写操作时,对内存读写操作进行安全检测,在判断内存读写操作安全时,允许内存读写操作继续执行,在判断内存读写操作危险时,过滤内存读写操作,防止内存被恶意读写,提高了应用程序在运行中内存及其他私有信息的安全性,大大提高了应用程序运行中的安全性。
[0366]当然,上述预定事件方法只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他预定事件,本发明实施例对此不加以限制。另外,除了上述预定事件外,本领域技术人员还可以根据实际需要采用其它预定事件,本发明实施例对此也不加以限制。
[0367]本发明实施例识别出指定类型的应用程序,在该应用程序启动之前进行第一安全检测,有效保证了应用程序在启动时的运行环境的安全性,在安全的运行环境中启动应用程序,在检测到应用程序运行过程中的预定事件时,触发对应用程序中的预定事件的第二安全检测,有效保证了应用程序在运行时的安全性,为应用程序提供了全面的安全保护,使应用程序安全地启动、运行。
[0368]参见图4,示意性示出了根据本发明一个实施例的一种终端设备400的结构框图;该终端设备400可以是平板设备、计算机、移动设备等等。
[0369]如图4所示,本发明实施例提供的终端设备400可以包括以下一个或多个组件:处理组件410、存储器420、通信组件430、电源组件440、传感器组件450、输入/输出(I/O)接口 460、多媒体组件470和音频组件480。
[0370]其中,处理组件410通常控制终端设备的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件410可以包括一个或多个处理器411来执行本地或者远程指令,以完成上述实施例所述方法的全部或部分步骤。此外,处理组件410可以包括一个或多个模块,便于处理组件410和其他组件之间的交互。例如,处理组件410可以包括多媒体模块,以方便多媒体组件470和处理组件410之间的交互。
[0371]存储器420被配置为存储各种类型的数据以支持在终端设备上的操作。这些数据的示例包括用于在终端设备上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器420可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(R0M),磁存储器,快闪存储器,磁盘或光盘。
[0372]通信组件430被配置为便于所述终端设备和其他设备之间有线或无线方式的通信。所述终端设备可以接入基于通信标准的无线网络,如Wi_Fi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件430经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件430还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
[0373]电源组件440为所述终端设备的各种组件提供电力。电源组件440可以包括电源管理系统,一个或多个电源,及其他与为所述终端设备生成、管理和分配电力相关联的组件。
[0374]传感器组件450包括一个或多个传感器,用于为所述终端设备提供各个方面的状态评估。例如,传感器组件414可以检测到所述终端设备的打开/关闭状态、组件(所述终端设备的显示器和小键盘等)的相对定位,传感器组件414还可以检测所述终端设备或所述终端设备一个组件的位置改变、用户与所述终端设备接触的存在或不存在、所述终端设备方位或加速/减速和所述终端设备的温度变化。传感器组件450可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件450还可以包括光传感器,如CMOS或CXD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件450还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
[0375]输入/输出组件460为处理组件410和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0376]多媒体组件470包括在所述终端设备和用户之间提供的一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件470包括一个前置摄像头和/或后置摄像头。当所述终端设备处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0377]音频组件480被配置为输出和/或输入音频信号。例如,音频组件480包括一个麦克风(MIC),当所述终端设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器420或经由通信组件430发送。在一些实施例中,音频组件480还包括一个扬声器,用于输出音频信号。
[0378]本申请实施例中,所述终端设备可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSH))、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述一个或多个模块。
[0379]其中,其中,该一个或多个模块可以包括:
[0380]扫描模块,适于扫描到当前操作系统中指定类型的应用程序;
[0381]启动操作检测模块,适于检测到指定类型的应用程序的启动操作;
[0382]第一安全检测模块,适于在所述应用程序启动前,对所述应用程序所在运行环境的进行第一安全检测;
[0383]启动模块,适于在第一安全检测的结果为所述运行环境安全后,启动所述应用程序;
[0384]事件检测模块,适于检测到所述应用程序运行过程中的预定事件;
[0385]第二安全检测模块,适于触发对所述应用程序中的预定事件的第二安全检测
[0386]在本发明的一种可选实施例中,所述扫描模块还适于:
[0387]获取被触发的当前应用程序的进程的名称;
[0388]判断所述名称是否与预设的第一文件名相同;若是,则采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程序。
[0389]在本发明的一种可选实施例中,所述指定属性包括注册表信息;所述扫描模块还适于:
[0390]判断所述应用程序的注册表信息是否与预置的特征注册表信息匹配;若是,则判断所述应用程序为指定类型的应用程序。
[0391]在本发明的一种可选实施例中,所述指定属性包括图标;所述扫描模块还适于:
[0392]判断所述应用程序的注册表信息是否与预置的特征图标匹配;若是,则判断所述应用程序为指定类型的应用程序。
[0393]在本发明的一种可选实施例中,所述指定属性包括第二文件名和所属的平台名称;所述扫描模块还适于:
[0394]判断预置的第二文件名是否在所述应用程序的文件中存在,且,所述平台名称与预置的特征平台名称匹配;若是,则判断所述应用程序为指定类型的应用程序。
[0395]在本发明的一种可选实施例中,所述启动操作检测模块还适于:
[0396]获取待检测应用程序在启动时的进程信息;
[0397]判断所述进程信息与预置的第一特征进程信息是否匹配;若是,则判断所述进程信息与预置的第二特征进程信息是否匹配;
[0398]当所述进程信息与预置的第二特征进程信息匹配时,判断检测到指定类型的应用程序的启动操作。
[0399]在本发明的一种可选实施例中,所述指定类型的应用程序包括浏览器;所述启动操作检测模块还适于:
[0400]接收到一网址安全组件拦截到的、所述浏览器所请求的网页标识;
[0401]判断所述网页标识是否与预置的特征网页标识匹配;若是,则判断检测到浏览器的启动操作。
[0402]在本发明的一种可选实施例中,所述第一安全检测模块还适于:
[0403]阻断所述应用程序的启动操作;
[0404]对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
[0405]在本发明的一种可选实施例中,所述第一安全检测模块还适于:
[0406]判断所述应用程序启动操作对应的启动方式;
[0407]当所述启动方式为由一特定程序以外的方式启动时,阻断所述应用程序的进程的启动。
[0408]在本发明的一种可选实施例中,所述第一安全检测模块还适于:
[0409]调用内置的云安全组件对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
[0410]在本发明的一种可选实施例中,所述第一安全检测模块还适于:
[0411]调用第三方的安全组件对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
[0412]在本发明的一种可选实施例中,所述第一安全检测包括木马检测和病毒检测中的至少一种检测。
[0413]在本发明的一种可选实施例中,所述第一安全检测模块还适于:
[0414]根据所述第一安全检测的结果判断所述操作系统的安全等级;
[0415]展示所述第一安全检测的结果和所述操作系统的安全等级。
[0416]在本发明的一种可选实施例中,所述启动模块还适于:
[0417]触发所述扫描到的应用程序在操作系统界面中的快捷启动方式,从而启动所述应用程序;或者
[0418]触发所述扫描到的应用程序在一特定程序中的启动入口,从而启动所述应用程序。
[0419]在本发明的一种可选实施例中,所述预定事件包括指定的窗口事件;所述事件检测模块还适于:
[0420]遍历当前操作系统中的窗口是否存在预置的特征值;若是,则判断检测到所述应用程序运行过程中的指定的窗口事件。
[0421]在本发明的一种可选实施例中,所述第二安全检测模块还适于:
[0422]触发对所述应用程序中的窗口事件关联加载的业务对象的第二安全检测。
[0423]在本发明的一种可选实施例中,所述第二安全检测包括木马检测。
[0424]在本发明的一种可选实施例中,所述第二安全检测模块还适于:
[0425]根据所述第二安全检测的结果判断所述应用程序的安全等级;
[0426]展示所述第二安全检测的结果和所述应用程序的安全等级。
[0427]在本发明的一种可选实施例中,所述预定事件包括注入操作事件;所述事件检测模块还适于:
[0428]挂钩指定的系统函数;
[0429]在所述系统函数调用时,判断所述系统函数是否为外部的应用程序调用;若是,则判断检测到所述应用程序运行过程中的注入操作事件。
[0430]在本发明的一种可选实施例中,所述第二安全检测模块还适于:
[0431]阻断执行针对所述应用程序的注入操作;
[0432]触发对所述应用程序中的注入操作进行第二安全检测;
[0433]当所述注入操作通过所述第二安全检测时,允许执行针对所述应用程序的进程的注入操作;
[0434]当所述注入操作未通过所述第二安全检测时,过滤执行针对所述应用程序的进程的注入操作。
[0435]在本发明的一种可选实施例中,所述第二安全检测模块还适于:
[0436]当所述外部的应用程序在预置的白名单中匹配成功时,判断所述注入操作通过所述第二安全检测;
[0437]当所述外部的应用程序在预置的黑名单中匹配成功时,判断所述注入操作未通过所述第二安全检测。
[0438]在本发明的一种可选实施例中,所述第二安全检测模块还适于:
[0439]展示对所述应用程序中的注入操作的第二安全检测的结果。
[0440]在本发明的一种可选实施例中,所述预定事件包括内存读写操作事件;所述事件检测模块还适于:
[0441]在预置的函数表中查找所述定类型的应用程序对应的系统函数;
[0442]挂钩所述应用程序对应的系统函数;
[0443]在所述应用程序对应的系统函数被调用时,判断所述系统函数是否为外部的应用程序调用;若是,则判断检测到所述应用程序运行过程中的内存读写操作事件。
[0444]在本发明的一种可选实施例中,所述第二安全检测模块还适于:
[0445]阻断执行针对所述应用程序的内存读写操作;
[0446]触发对所述应用程序中的读写操作的第二安全检测;
[0447]当所述内存读写操作通过所述第二安全检测时,允许执行针对所述应用程序的内存读写操作;
[0448]当所述内存读写操作未通过所述第二安全检测时,过滤执行针对所述应用程序的内存读写操作。
[0449]在本发明的一种可选实施例中,所述第二安全检测模块还适于:
[0450]当所述外部的应用程序在预置的白名单中匹配成功时,判断所述内存读写操作通过所述第二安全检测;
[0451]当所述外部的应用程序在预置的黑名单中匹配成功时,判断所述内存读写操作未通过所述第二安全检测。
[0452]在本发明的一种可选实施例中,所述第二安全检测模块还适于:
[0453]展示对所述应用程序的内存读写操作的第二安全检测的结果。
[0454]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0455]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0456]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0457]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0458]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0459]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的运行应用程序的设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0460]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0461]本发明实施例公开了 Al、一种运行应用程序的装置,包括:
[0462]扫描模块,适于扫描到当前操作系统中指定类型的应用程序;
[0463]启动操作检测模块,适于检测到指定类型的应用程序的启动操作;
[0464]第一安全检测模块,适于在所述应用程序启动前,对所述应用程序所在运行环境的进行第一安全检测;
[0465]启动模块,适于在第一安全检测的结果为所述运行环境安全后,启动所述应用程序;
[0466]事件检测模块,适于检测到所述应用程序运行过程中的预定事件;
[0467]第二安全检测模块,适于触发对所述应用程序中的预定事件的第二安全检测。
[0468]A2、如Al所述的装置,所述扫描模块还适于:
[0469]获取被触发的当前应用程序的进程的名称;
[0470]判断所述名称是否与预设的第一文件名相同;若是,则采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程序。
[0471]A3、如A2所述的装置,所述指定属性包括注册表信息;所述扫描模块还适于:
[0472]判断所述应用程序的注册表信息是否与预置的特征注册表信息匹配;若是,则判断所述应用程序为指定类型的应用程序。
[0473]A4、如A2所述的装置,所述指定属性包括图标;所述扫描模块还适于:
[0474]判断所述应用程序的注册表信息是否与预置的特征图标匹配;若是,则判断所述应用程序为指定类型的应用程序。
[0475]A5、如A2所述的装置,所述指定属性包括第二文件名和所属的平台名称;所述扫描模块还适于:
[0476]判断预置的第二文件名是否在所述应用程序的文件中存在,且,所述平台名称与预置的特征平台名称匹配;若是,则判断所述应用程序为指定类型的应用程序。
[0477]A6、如Al所述的装置,所述启动操作检测模块还适于:
[0478]获取待检测应用程序在启动时的进程信息;
[0479]判断所述进程信息与预置的第一特征进程信息是否匹配;若是,则判断所述进程信息与预置的第二特征进程信息是否匹配;
[0480]当所述进程信息与预置的第二特征进程信息匹配时,判断检测到指定类型的应用程序的启动操作。
[0481]A7、如Al所述的装置,所述指定类型的应用程序包括浏览器;所述启动操作检测模块还适于:
[0482]接收到一网址安全组件拦截到的、所述浏览器所请求的网页标识;
[0483]判断所述网页标识是否与预置的特征网页标识匹配;若是,则判断检测到浏览器的启动操作。
[0484]AS、如Al所述的装置,所述第一安全检测模块还适于:
[0485]阻断所述应用程序的启动操作;
[0486]对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
[0487]A9、如AS所述的装置,所述第一安全检测模块还适于:
[0488]判断所述应用程序启动操作对应的启动方式;
[0489]当所述启动方式为由一特定程序以外的方式启动时,阻断所述应用程序的进程的启动。
[0490]AlO^n AS所述的装置,所述第一安全检测模块还适于:
[0491]调用内置的云安全组件对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
[0492]All、如AS所述的装置,所述第一安全检测模块还适于:
[0493]调用第三方的安全组件对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
[0494]A12、如Al或A8或AlO或All所述的装置,所述第一安全检测包括木马检测和病毒检测中的至少一种检测。
[0495]A13、如A8或AlO或All所述的装置,所述第一安全检测模块还适于:
[0496]根据所述第一安全检测的结果判断所述操作系统的安全等级;
[0497]展示所述第一安全检测的结果和所述操作系统的安全等级。
[0498]A14、如Al所述的装置,所述启动模块还适于:
[0499]触发所述扫描到的应用程序在操作系统界面中的快捷启动方式,从而启动所述应用程序;或者
[0500]触发所述扫描到的应用程序在一特定程序中的启动入口,从而启动所述应用程序。
[0501]A15、如Al所述的装置,所述预定事件包括指定的窗口事件;所述事件检测模块还适于:
[0502]遍历当前操作系统中的窗口是否存在预置的特征值;若是,则判断检测到所述应用程序运行过程中的指定的窗口事件。
[0503]A16、如A15所述的装置,所述第二安全检测模块还适于:
[0504]触发对所述应用程序中的窗口事件关联加载的业务对象的第二安全检测。
[0505]A17、如A15或A16所述的装置,所述第二安全检测包括木马检测。
[0506]A18、如A16所述的装置,所述第二安全检测模块还适于:
[0507]根据所述第二安全检测的结果判断所述应用程序的安全等级;
[0508]展示所述第二安全检测的结果和所述应用程序的安全等级。
[0509]A19、如Al所述的装置,所述预定事件包括注入操作事件;所述事件检测模块还适于:
[0510]挂钩指定的系统函数;
[0511]在所述系统函数调用时,判断所述系统函数是否为外部的应用程序调用;若是,则判断检测到所述应用程序运行过程中的注入操作事件。
[0512]A20、如A19所述的装置,所述第二安全检测模块还适于:
[0513]阻断执行针对所述应用程序的注入操作;
[0514]触发对所述应用程序中的注入操作进行第二安全检测;
[0515]当所述注入操作通过所述第二安全检测时,允许执行针对所述应用程序的进程的注入操作;
[0516]当所述注入操作未通过所述第二安全检测时,过滤执行针对所述应用程序的进程的注入操作。
[0517]A21、如A20所述的装置,所述第二安全检测模块还适于:
[0518]当所述外部的应用程序在预置的白名单中匹配成功时,判断所述注入操作通过所述第二安全检测;
[0519]当所述外部的应用程序在预置的黑名单中匹配成功时,判断所述注入操作未通过所述第二安全检测。
[0520]A22、如A21所述的装置,所述第二安全检测模块还适于:
[0521]展示对所述应用程序中的注入操作的第二安全检测的结果。
[0522]A23、如Al所述的装置,所述预定事件包括内存读写操作事件;所述事件检测模块还适于:
[0523]在预置的函数表中查找所述定类型的应用程序对应的系统函数;
[0524]挂钩所述应用程序对应的系统函数;
[0525]在所述应用程序对应的系统函数被调用时,判断所述系统函数是否为外部的应用程序调用;若是,则判断检测到所述应用程序运行过程中的内存读写操作事件。
[0526]A24、如A23所述的装置,所述第二安全检测模块还适于:
[0527]阻断执行针对所述应用程序的内存读写操作;
[0528]触发对所述应用程序中的读写操作的第二安全检测;
[0529]当所述内存读写操作通过所述第二安全检测时,允许执行针对所述应用程序的内存读写操作;
[0530]当所述内存读写操作未通过所述第二安全检测时,过滤执行针对所述应用程序的内存读写操作。
[0531]A25、如A24所述的装置,所述第二安全检测模块还适于:
[0532]当所述外部的应用程序在预置的白名单中匹配成功时,判断所述内存读写操作通过所述第二安全检测;
[0533]当所述外部的应用程序在预置的黑名单中匹配成功时,判断所述内存读写操作未通过所述第二安全检测。
[0534]A26、如A25所述的装置,所述第二安全检测模块还适于:
[0535]展示对所述应用程序的内存读写操作的第二安全检测的结果。
[0536]本发明实施例还公开了 B27、一种终端设备,包括:
[0537]一个或多个处理器;
[0538]一个或多个存储器;以及
[0539]一个或多个模块,所述一个或多个模块存储于所述一个或多个存储器中并被配置成由一个或多个处理器执行,其中,所述一个或多个模块包括:
[0540]扫描模块,适于扫描到当前操作系统中指定类型的应用程序;
[0541]启动操作检测模块,适于检测到指定类型的应用程序的启动操作;
[0542]第一安全检测模块,适于在所述应用程序启动前,对所述应用程序所在运行环境的进行第一安全检测;
[0543]启动模块,适于在第一安全检测的结果为所述运行环境安全后,启动所述应用程序;
[0544]事件检测模块,适于检测到所述应用程序运行过程中的预定事件;
[0545]第二安全检测模块,适于触发对所述应用程序中的预定事件的第二安全检测。
[0546]B28、如B27所述的终端设备,所述扫描模块还适于:
[0547]获取被触发的当前应用程序的进程的名称;
[0548]判断所述名称是否与预设的第一文件名相同;若是,则采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程序。
[0549]B29、如B28所述的终端设备,所述指定属性包括注册表信息;所述扫描模块还适于:
[0550]判断所述应用程序的注册表信息是否与预置的特征注册表信息匹配;若是,则判断所述应用程序为指定类型的应用程序。
[0551]B30、如B28所述的终端设备,所述指定属性包括图标;所述扫描模块还适于:
[0552]判断所述应用程序的注册表信息是否与预置的特征图标匹配;若是,则判断所述应用程序为指定类型的应用程序。
[0553]B31、如B28所述的终端设备,所述指定属性包括第二文件名和所属的平台名称;所述扫描模块还适于:
[0554]判断预置的第二文件名是否在所述应用程序的文件中存在,且,所述平台名称与预置的特征平台名称匹配;若是,则判断所述应用程序为指定类型的应用程序。
[0555]B32、如B27所述的终端设备,所述启动操作检测模块还适于:
[0556]获取待检测应用程序在启动时的进程信息;
[0557]判断所述进程信息与预置的第一特征进程信息是否匹配;若是,则判断所述进程信息与预置的第二特征进程信息是否匹配;
[0558]当所述进程信息与预置的第二特征进程信息匹配时,判断检测到指定类型的应用程序的启动操作。
[0559]B33、如B27所述的终端设备,所述指定类型的应用程序包括浏览器;所述启动操作检测模块还适于:
[0560]接收到一网址安全组件拦截到的、所述浏览器所请求的网页标识;
[0561]判断所述网页标识是否与预置的特征网页标识匹配;若是,则判断检测到浏览器的启动操作。
[0562]B34、如B27所述的终端设备,所述第一安全检测模块还适于:
[0563]阻断所述应用程序的启动操作;
[0564]对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
[0565]B35、如B34所述的终端设备,所述第一安全检测模块还适于:
[0566]判断所述应用程序启动操作对应的启动方式;
[0567]当所述启动方式为由一特定程序以外的方式启动时,阻断所述应用程序的进程的启动。
[0568]B36、如B34所述的终端设备,所述第一安全检测模块还适于:
[0569]调用内置的云安全组件对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
[0570]B37、如B34所述的终端设备,所述第一安全检测模块还适于:
[0571]调用第三方的安全组件对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
[0572]B38、如B27或B34或B36或B37所述的终端设备,所述第一安全检测包括木马检测和病毒检测中的至少一种检测。
[0573]B39、如B34或B36或B37所述的终端设备,所述第一安全检测模块还适于:
[0574]根据所述第一安全检测的结果判断所述操作系统的安全等级;
[0575]展示所述第一安全检测的结果和所述操作系统的安全等级。
[0576]B40、如B27所述的终端设备,所述启动模块还适于:
[0577]触发所述扫描到的应用程序在操作系统界面中的快捷启动方式,从而启动所述应用程序;或者
[0578]触发所述扫描到的应用程序在一特定程序中的启动入口,从而启动所述应用程序。
[0579]B41、如B27所述的终端设备,所述预定事件包括指定的窗口事件;所述事件检测模块还适于:
[0580]遍历当前操作系统中的窗口是否存在预置的特征值;若是,则判断检测到所述应用程序运行过程中的指定的窗口事件。
[0581]B42、如B41所述的终端设备,所述第二安全检测模块还适于:
[0582]触发对所述应用程序中的窗口事件关联加载的业务对象的第二安全检测。
[0583]B43、如B41或B42所述的终端设备,所述第二安全检测包括木马检测。
[0584]B44、如B42所述的终端设备,所述第二安全检测模块还适于:
[0585]根据所述第二安全检测的结果判断所述应用程序的安全等级;
[0586]展示所述第二安全检测的结果和所述应用程序的安全等级。
[0587]B45、如B27所述的终端设备,所述预定事件包括注入操作事件;所述事件检测模块还适于:
[0588]挂钩指定的系统函数;
[0589]在所述系统函数调用时,判断所述系统函数是否为外部的应用程序调用;若是,则判断检测到所述应用程序运行过程中的注入操作事件。
[0590]B46、如B45所述的终端设备,所述第二安全检测模块还适于:
[0591]阻断执行针对所述应用程序的注入操作;
[0592]触发对所述应用程序中的注入操作进行第二安全检测;
[0593]当所述注入操作通过所述第二安全检测时,允许执行针对所述应用程序的进程的注入操作;
[0594]当所述注入操作未通过所述第二安全检测时,过滤执行针对所述应用程序的进程的注入操作。
[0595]B47、如B46所述的终端设备,所述第二安全检测模块还适于:
[0596]当所述外部的应用程序在预置的白名单中匹配成功时,判断所述注入操作通过所述第二安全检测;
[0597]当所述外部的应用程序在预置的黑名单中匹配成功时,判断所述注入操作未通过所述第二安全检测。
[0598]B48、如B47所述的终端设备,所述第二安全检测模块还适于:
[0599]展示对所述应用程序中的注入操作的第二安全检测的结果。
[0600]B49、如B27所述的终端设备,所述预定事件包括内存读写操作事件;所述事件检测模块还适于:
[0601]在预置的函数表中查找所述定类型的应用程序对应的系统函数;
[0602]挂钩所述应用程序对应的系统函数;
[0603]在所述应用程序对应的系统函数被调用时,判断所述系统函数是否为外部的应用程序调用;若是,则判断检测到所述应用程序运行过程中的内存读写操作事件。
[0604]B50、如B49所述的终端设备,所述第二安全检测模块还适于:
[0605]阻断执行针对所述应用程序的内存读写操作;
[0606]触发对所述应用程序中的读写操作的第二安全检测;
[0607]当所述内存读写操作通过所述第二安全检测时,允许执行针对所述应用程序的内存读写操作;
[0608]当所述内存读写操作未通过所述第二安全检测时,过滤执行针对所述应用程序的内存读写操作。
[0609]B51、如B50所述的终端设备,所述第二安全检测模块还适于:
[0610]当所述外部的应用程序在预置的白名单中匹配成功时,判断所述内存读写操作通过所述第二安全检测;
[0611]当所述外部的应用程序在预置的黑名单中匹配成功时,判断所述内存读写操作未通过所述第二安全检测。
[0612]B52、如B51所述的终端设备,所述第二安全检测模块还适于:
[0613]展示对所述应用程序的内存读写操作的第二安全检测的结果。
【权利要求】
1.一种运行应用程序的装置,包括: 扫描模块,适于扫描到当前操作系统中指定类型的应用程序; 启动操作检测模块,适于检测到指定类型的应用程序的启动操作; 第一安全检测模块,适于在所述应用程序启动前,对所述应用程序所在运行环境的进行第一安全检测; 启动模块,适于在第一安全检测的结果为所述运行环境安全后,启动所述应用程序; 事件检测模块,适于检测到所述应用程序运行过程中的预定事件; 第二安全检测模块,适于触发对所述应用程序中的预定事件的第二安全检测。
2.如权利要求1所述的装置,其特征在于,所述扫描模块还适于: 获取被触发的当前应用程序的进程的名称; 判断所述名称是否与预设的第一文件名相同;若是,则采用所述应用程序的指定属性判断所述应用程序是否为指定类型的应用程序。
3.如权利要求2所述的装置,其特征在于,所述指定属性包括注册表信息;所述扫描模块还适于: 判断所述应用程序的注册表信息是否与预置的特征注册表信息匹配;若是,则判断所述应用程序为指定类型的应用程序。
4.如权利要求2所述的装置,其特征在于,所述指定属性包括图标;所述扫描模块还适于: 判断所述应用程序的注册表信息是否与预置的特征图标匹配;若是,则判断所述应用程序为指定类型的应用程序。
5.如权利要求2所述的装置,其特征在于,所述指定属性包括第二文件名和所属的平台名称;所述扫描模块还适于: 判断预置的第二文件名是否在所述应用程序的文件中存在,且,所述平台名称与预置的特征平台名称匹配;若是,则判断所述应用程序为指定类型的应用程序。
6.如权利要求1所述的装置,其特征在于,所述启动操作检测模块还适于: 获取待检测应用程序在启动时的进程信息; 判断所述进程信息与预置的第一特征进程信息是否匹配;若是,则判断所述进程信息与预置的第二特征进程信息是否匹配; 当所述进程信息与预置的第二特征进程信息匹配时,判断检测到指定类型的应用程序的启动操作。
7.如权利要求1所述的装置,其特征在于,所述指定类型的应用程序包括浏览器;所述启动操作检测模块还适于: 接收到一网址安全组件拦截到的、所述浏览器所请求的网页标识; 判断所述网页标识是否与预置的特征网页标识匹配;若是,则判断检测到浏览器的启动操作。
8.如权利要求1所述的装置,其特征在于,所述第一安全检测模块还适于: 阻断所述应用程序的启动操作; 对阻断启动操作的应用程序所在的运行环境进行第一安全检测。
9.如权利要求8所述的装置,其特征在于,所述第一安全检测模块还适于: 判断所述应用程序启动操作对应的启动方式; 当所述启动方式为由一特定程序以外的方式启动时,阻断所述应用程序的进程的启动。
10.一种终端设备,包括: 一个或多个处理器; 一个或多个存储器;以及 一个或多个模块,所述一个或多个模块存储于所述一个或多个存储器中并被配置成由一个或多个处理器执行,其中,所述一个或多个模块包括: 扫描模块,适于扫描到当前操作系统中指定类型的应用程序; 启动操作检测模块,适于检测到指定类型的应用程序的启动操作; 第一安全检测模块,适于在所述应用程序启动前,对所述应用程序所在运行环境的进行第一安全检测; 启动模块,适于在第一安全检测的结果为所述运行环境安全后,启动所述应用程序; 事件检测模块,适于检测到所述应用程序运行过程中的预定事件; 第二安全检测模块,适于触发对所述应用程序中的预定事件的第二安全检测。
【文档编号】G06F9/445GK104267994SQ201410521990
【公开日】2015年1月7日 申请日期:2014年9月30日 优先权日:2014年9月30日
【发明者】葛山, 王力, 何孟东, 谢京辉 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1