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