Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
WHITELIST-BASED INSPECTION METHOD FOR MALICIOUS PROCESS
Document Type and Number:
WIPO Patent Application WO/2012/022251
Kind Code:
A1
Abstract:
A whitelist-based inspection method for malicious process. The method comprises: receiving at a server the process characteristics and/or the process behaviors of a process-awaiting-inspection transmitted from a client; comparing the process characteristics and/or the process behaviors of the process-awaiting-inspection against the legal process characteristics and/or the legal process behaviors stored in a whitelist; on the basis of the comparison result, acquiring the legality information of the unknown process and feeding back same to the client. In the present invention, legal processes are identified by means of the whitelist; any illegal process not included in the scope of the whitelist is thus identified as a malicious process, and thus an alternative means is used for identifying and killing the malicious process.

Inventors:
ZHOU HONGYI (CN)
QI XIANGDONG (CN)
Application Number:
PCT/CN2011/078458
Publication Date:
February 23, 2012
Filing Date:
August 16, 2011
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BEIJING QIHOO TECH CO LTD (CN)
QIZHI SOFTWARE BEIJING CO LTD (CN)
ZHOU HONGYI (CN)
QI XIANGDONG (CN)
International Classes:
G06F21/52; G06F21/56
Foreign References:
CN101650768A2010-02-17
CN101923609A2010-12-22
CN101924761A2010-12-22
CN101788915A2010-07-28
Attorney, Agent or Firm:
UNITALEN ATTORNEYS AT LAW (CN)
北京集佳知识产权代理有限公司 (CN)
Download PDF:
Claims:
权 利 要 求

1、 一种依据白名单进行恶意程序检测的方法, 其特征在于, 包括: 服务器端接收客户端发送的一待检测程序的程序特征和 /或程序行为;

根据比对结果获取所述未知程序的合法性信息并反馈给所述客户端。

2、 如权利要求 1所述的方法, 其特征在于, 所述根据比对结果获取所述 未知程序的合法性信息并反馈给所述客户端包括:如果所述待检测程序的程序 判定所述待检测程序为合法程序, 并反馈给所述客户端; 如果没有命中, 则判 定所述待检测程序为恶意程序, 并反馈给所述客户端。

3、 如权利要求 1所述的方法, 其特征在于, 所述根据比对结果获取所述 未知程序的合法性信息并反馈给所述客户端包括:根据所述待检测程序的一组 程序特征和 /或一组程序行为, 与所述白名单中保存的合法程序特征和 /或合法 程序行为进行比对, 根据命中的程度, 对所述待检测程序赋予一信任值, 并将 所述信任值反馈给所述客户端;以便所述客户端根据的信任值以及预置的阈值 判定所述待检测程序是否为恶意程序。

4、 如权利要求 3 所述的方法, 其特征在于, 如果所述一组程序特征和 / 或一组程序行为在所述白名单中全部命中, 则对所述程序赋予一最高信任值; 如果所述一组程序特征和 /或一组程序行为在所述白名单中全部未命中, 则对 所述程序赋予一最低信任值。

5、 如权利要求 2至 4任一项所述的方法, 其特征在于, 还包括: 所述客 户端根据判定结果决定对恶意程序行为进行拦截、 终止执行该恶意程序和 /或 清理该恶意程序, 恢复系统环境。

6、 如权利要求 2至 4任一项所述的方法, 其特征在于, 还包括: 所述客 户端根据判定结果并结合所述待检测程序的属性,决定是否对该待检测程序行 为进行拦截、 终止执行该待检测程序和 /或清理该待检测程序。

7、 如权利要求 6所述的方法, 其特征在于, 所述属性, 包括: 所述待检 测程序是否为自启动程序和 /或所述待检测程序是否存在于系统目录内。 8、 如权利要求 1至 4任一项所述的方法, 其特征在于, 还包括: 特征及其对应的程序行为进行分析, 以更新所述白名单。

9、 如权利要求 8所述的方法, 其特征在于, 所述对未知程序特征及其对 应的程序行为进行分析, 包括:

如果未知程序特征与现有白名单中的已知程序特征相同 ,则将该未知程序 特征及其对应的程序行为列入白名单;

或者,

如果未知程序行为与现有白名单中的已知程序行为相同或近似 ,则将该未 知程序行为及其对应的程序特征列入白名单。

10、 如权利要求 8所述的方法, 其特征在于, 所述对未知程序特征及其对 应的程序行为进行分析, 包括:

基于数据库中的程序,根据各个程序的程序行为之间的相似性, 以及程序 行为与程序特征之间的对应关系, 建立程序行为与程序行为、程序行为与程序 特征的关联关系; 联关系, 对未知程序特征及其对应的程序行为进行分析。

11、 如权利要求 10所述的方法, 其特征在于, 所述根据所述白名单中已 有的合法程序特征及其对应的程序行为, 以及所述关联关系,对未知程序特征 及其对应的程序行为进行分析, 包括:

当某程序行为被列入白名单时 ,在数据库中将该程序行为对应的程序特征 列入白名单,并将与该程序行为有关联关系的其他程序行为和程序特征也列入 白名单;

或者,

当某程序特征被列入白名单时,在数据库中将该程序特征对应的程序行为 列入白名单,并将与该程序特征有关联关系的其他程序行为和程序特征也列入 白名单。

12、 如权利要求 1至 4任一项所述的方法, 其特征在于, 所述程序特征, 包括: 程序文件内的静态特征和 /或静态特征串。

Description:
一种依据白名单进行恶意程序检测的方法

本申请要求于 2010 年 8 月 18 日提交中国专利局、 申请号为 201010256973.3、 发明名称为"一种依据白名单进行恶意程序检 的方法 "的中 国专利申请的优先权, 其全部内容通过引用结合在本申请中。 技术领域

本发明属于网络安全领域, 具体地说, 涉及一种依据白名单进行恶意程序 检测的方法。 背景技术

传统的恶意程序防杀主要依赖于特征库模式。 特征库是由厂商收集到的恶 意程序样本的特征码组成,而特征码则是分析 工程师从恶意程序中找到和正当 软件的不同之处, 截取一段类似于"搜索关键词 "的程序代码。 当查杀过程中, 引擎会读取文件并与特征库中的所有特征码 "关键词"进行匹配,如果发现文件 程序代码被命中, 就可以判定该文件程序为恶意程序。

之后又衍生出了在本地启发式杀毒的方式,是 以特定方式实现的动态高度 器或反编译器,通过对有关指令序列的反编译 逐步理解和确定其蕴藏的真正动 机。 恶意程序和正常程序的区别可以体现在许多方 面, 比如: 通常一个应用程 序在最初的指令,是检查命令行输入有无参数 项、清屏和保存原来屏幕显示等, 而恶意程序通常最初的指令则是直接写盘操作 、解码指令, 或搜索某路径下的 可执行程序等相关操作指令序列。 这些显著的不同之处, 一个熟练的程序员在 调试状态下只需一瞥便可一目了然。启发式代 码扫描技术实际上就是把这种经 验和知识移植到一个查杀病毒软件中的具体程 序体现。 但是上述查杀恶意软件的方法都是基于恶意行 为和 /或恶意特征, 先对一 个程序判定其是否为恶意程序, 然后再决定是否进行查杀或者清理。 这就不可 避免导致出现了如下弊端。 据统计, 现今全球恶意程序数量呈几何级增长, 基于这种爆发式的增速, 特征库的生成与更新往往是滞后的,特征库中 恶意程序的特征码的补充跟不上 层出不穷的未知恶意程序。 另外, 近年来, 随着恶意程序制作者对免杀技术的应用, 通过对恶意程序 加壳或修改该恶意程序的特征码的手法越来越 多的出现;以及许多木马程序采 用了更多更频繁快速的自动变形, 这些都导致通过恶意行为和 /或恶意特征对 恶意程序进行判定的难度越来越大, 从而引起对恶意程序的查杀或清理的困 难。 发明内容

有鉴于此,本发明所要解决的技术问题是提供 了一种依据白名单进行恶意 程序检测的方法, 不依赖于本地数据库, 并且基于对合法程序的认定来反向判 定恶意程序。

为了解决上述技术问题,本发明公开了一种依 据白名单进行恶意程序检测 的方法, 包括: 服务器端接收客户端发送的一待检测程序的程 序特征和 /或程

未知程序的合法性信息并反馈给所述客户端 。

进一步地,所述根据比对结果获取所述未知程 序的合法性信息并反馈给所 单中保存的合法程序特征和 /或合法程序, 则判定所述待检测程序为合法程序, 并反馈给所述客户端; 如果没有命中, 则判定所述待检测程序为恶意程序, 并 反馈给所述客户端。

进一步地,所述根据比对结果获取所述未知程 序的合法性信息并反馈给所 述客户端包括: 根据所述待检测程序的一组程序特征和 /或一组程序行为, 与 程度, 对所述待检测程序赋予一信任值, 并将所述信任值反馈给所述客户端; 以便所述客户端根据的信任值以及预置的阈值 判定所述待检测程序是否为恶 意程序。

进一步地, 如果所述一组程序特征和 /或一组程序行为在所述白名单中全 部命中, 则对所述程序赋予一最高信任值; 如果所述一组程序特征和 /或一组 程序行为在所述白名单中全部未命中, 则对所述程序赋予一最低信任值。

进一步地,还包括: 所述客户端根据判定结果决定对恶意程序行为 进行拦 截、 终止执行该恶意程序和 /或清理该恶意程序, 恢复系统环境。

进一步地,还包括: 所述客户端根据判定结果并结合所述待检测程 序的属 性, 决定是否对该待检测程序行为进行拦截、 终止执行该待检测程序和 /或清 理该待检测程序。

进一步地, 所述属性, 包括: 所述待检测程序是否为自启动程序和 /或所 述待检测程序是否存在于系统目录内。 序行为, 对未知程序特征及其对应的程序行为进行分析 , 以更新所述白名单。

进一步地, 所述对未知程序特征及其对应的程序行为进行 分析, 包括: 如 果未知程序特征与现有白名单中的已知程序特 征相同,则将该未知程序特征及 其对应的程序行为列入白名单; 或者, 如果未知程序行为与现有白名单中的 已知程序行为相同或近似,则将该未知程序行 为及其对应的程序特征列入白名 单。

进一步地, 所述对未知程序特征及其对应的程序行为进行 分析, 包括: 基 于数据库中的程序,根据各个程序的程序行为 之间的相似性, 以及程序行为与 程序特征之间的对应关系, 建立程序行为与程序行为、程序行为与程序特 征的 所述关联关系, 对未知程序特征及其对应的程序行为进行分析 。 为,以及所述关联关系,对未知程序特征及其 对应的程序行为进行分析, 包括: 当某程序行为被列入白名单时,在数据库中将 该程序行为对应的程序特征列入 白名单,并将与该程序行为有关联关系的其他 程序行为和程序特征也列入白名 单; 或者, 当某程序特征被列入白名单时, 在数据库中将该程序特征对应的程 序行为列入白名单,并将与该程序特征有关联 关系的其他程序行为和程序特征 也列入白名单。

进一步地, 所述程序特征, 包括: 程序文件内的静态特征和 /或静态特征 串。 与现有的方案相比, 本发明所获得的技术效果:

本发明通过使用白名单对合法程序进行判定, 从而将不属于白名单范畴的 非合法程序判定为恶意程序, 从另一角度进行恶意程序的判定查杀; 同时引入云安全架构, 将所有 "云安全"客户端与 "云安全"服务器实时 连接, 将合法程序的判定分析放在服务器端完成;

另外, 本发明还通过客户端收集程序行为并关联到程 序特征,从而在数据 库中记录程序特征及其对应的程序行为,根据 收集到的程序行为和程序特征的 关联关系, 可以在数据库中对样本进行分析归纳,从而有 助于对软件或程序进 行合法判别。 附图说明

为了更清楚地说明本发明实施例或现有技术中 的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作简单 地介绍,显而易见地, 下面描述 中的附图仅仅是本发明的一些实施例,对于本 领域普通技术人员来讲,在不付 出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。

图 1为本发明的实施模式示意图;

图 2本发明的依据白名单进行恶意程序检测的方 流程图;

图 3为根据本发明实施例所述的关联关系示意图 具体实施方式

以下将配合图式及实施例来佯细说明本发明的 实施方式,藉此对本发明如 何应用技术手段来解决技术问题并达成技术功 效的实现过程能充分理解并据 以实施。

本发明的核心构思在于:服务器端的数据库建 立合法程序的白名单并进行 收集更新; 客户端对一程序的程序特征和 /或程序行为进行收集并发送到服务 行分析比对, 根据比对结果对所述程序进行判定并反馈给所 述客户端。 下面对于由大量客户端计算机 102-服务器端 104构成的云安全模式下的 白名单检测恶意程序方法进行说明。 云结构就是一个大型的客户端 /服务器 ( CS ) 架构, 如图 1所示, 为本发明的实施模式示意图。

参考图 2为本发明的依据白名单进行恶意程序检测的 法流程图, 包括: 51 , 服务器端的数据库建立合法程序的白名单并进 行收集更新;

52, 客户端对一程序(为了便于区分, 将该程序称为 "待检测程序" )的 程序特征和 /或程序行为进行收集并发送到服务器端进行 询; 比对, 根据比对结果对所述程序进行判定并反馈给所 述客户端;

S4,所述客户端根据所述判定结果决定对恶意程 序行为进行拦截、终止执 行该恶意程序和 /或清理该恶意程序, 恢复系统环境; 或者

所述客户端根据所述判定结果并结合所述恶意 程序的属性,决定是否对该 恶意程序行为进行拦截、 终止执行该恶意程序和 /或清理该恶意程序;

所述属性, 包括: 所述恶意程序是否为自启动程序和 /或所述恶意程序是 否存在于系统目录内。 对于步骤 S3 , 可以具体由以下方式实现。

第一方式: 所述服务器端根据所述程序特征和 /或程序行为, 与所述白名 述程序为合法程序, 并反馈给所述客户端; 如果没有命中, 则判定所述程序为 恶意程序, 并反馈给所述客户端。 可见, 在该方式中, 服务器端之间可以对待 检测程序是否为恶意程序进行判定, 然后将判定结果反馈给客户端,客户端直 接根据服务器端的反馈结果即可获知待检测程 序是否为恶意程序。

第二方式: 所述服务器端根据程序的一组程序特征和 /或一组程序行为, 的程度, 对所述程序赋予一信任值, 并将所述信任值反馈给所述客户端; 所述 客户端预设一阈值,根据所述信任值与所述阈 值进行比对,如果所述信任值不 小于所述阈值, 则判定所述程序为合法程序, 如果所述信任值小于所述阈值, 则判定所述程序为恶意程序。 可见, 在这种方式下, 服务器端并不对程序的恶 意与否进行判定, 而是仅仅给出一个信任值, 并将该信任值作为合法性信息反 馈给客户端,客户端在接收到该信任值之后, 需要自行与预设的阈值进行比对, 之后才能判定待检测程序是否为恶意程序。

对于信任值的设定, 如果所述一组程序特征和 /或一组程序行为在所述白 名单中全部命中, 则所述服务器端对所述程序赋予一最高信任值 ; 如果所述一 组程序特征和 /或一组程序行为在所述白名单中全部未命中 则所述服务器端 对所述程序赋予一最低信任值;处于上述两命 中率之间的程序按所述上述趋势 设定。 对于步骤 S1 , 所述服务器端的数据库对合法程序的白名单进 行收集更新 的步骤, 可以由以下方式实现。

第一方式: 由技术人员周期性通过手工、 利用蜘蛛或网络爬虫和 /或用户 上传对合法程序进行收集;通过手工或通过工 具自动甄别所述合法程序的程序 特征和或程序行为并保存在所述白名单中。

第二方式: 根据现有已知白名单中的合法程序特征及其对 应的程序行为, 对未知程序特征及程序行为进行分析, 以更新白名单。 所述程序特征, 可以是程序文件内的静态特征, 如经由 MD5 ( Message-Digest Algorithm 5 , 信息-摘要算法 )运算得出的 MD5验证码, 或 SHA1码, 或 CRC ( Cyclic Redundancy Check, 循环冗余校验)码等可唯一 标识原程序的特征码; 也可以是程序文件内的静态特征串。 下面对于第二方式中服务器端的数据库白名单 的构建及动态维护进行下 说明。

其处理思路主要是:根据现有已知白名单中的 程序特征及其对应的程序行 为, 对未知程序特征及程序行为进行分析, 以更新白名单。 这种对比分析有时 候不需要对程序的行为本身做追踪分析,只需 要简单的与现有白名单中的已知 程序行为做比对即可判定未知程序的性质。 由于在数据库中记录了程序特征及该特征对应 的行为记录,因此可以结合 已知白名单对未知程序进行分析。

例如,如果未知程序特征与现有白名单中的已 知程序特征相同, 则将该未 知程序特征及其程序行为都列入白名单。

如果未知程序行为与现有白名单中的已知程序 行为相同或近似 ,则将该未 知程序行为及其程序特征都列入白名单。 通过数据库中的记录分析,我们可以发现,有 一些程序的行为相同或近似 , 但程序特征不同, 这时, 只要我们在具有相同或近似行为的程序之间建 立行为 与特征的关联关系, 并根据这种关联关系, 就可以更便捷的对未知程序特征及 程序行为进行分析, 以更新白名单。

如图 3所示, 为根据本发明实施例所述的关联关系示意图。 假设未知程序

A、 B和 C的特征分别为 A、 B和 C,其各自对应的程序行为为 Al ~ A4, Bl ~ B4, C1 ~ C4。 ^口果经过分析发现程序行为 Al ~ A4, B1 ~ B4, C1 ~ C4之间实 质上相同或非常近似, 那么就可以在特征 A、 B、 C和行为 Α1 ~ Α4, Β1 ~ Β4, CI ~ C4之间建立特征与行为的关联关系。

通过这种关联关系,在某些条件下可以更加快 捷的自扩展的对数据库进行 维护。例如, 当程序 B的程序行为 Bl ~ B4被确认为合法程序行为并被列入白 名单时, 可以在数据库中自动将与该程序行为对应的程 序特征 B列入白名单, 同时, 根据关联关系, 可以自动将与该程序行为有关联关系的程序行 为 Al ~ A4, CI ~ C4及对应的程序特征 A, 特征 C也列入白名单。

再例如, 如果最初时程序 、 B和 C都属于黑白未知的程序, 而经由其他 病毒查杀途径, 程序特征 B 首先被确认为属于合法程序的特征, 则在数据库 中可以自动将行为 Bl ~ B4的组合列入白名单, 还可以根据关联关系, 将具有 相同或近似行为的特征 A和 C也列入白名单, 并将程序行为 Al ~ A4, CI ~ C4也列入白名单。

本发明由于在数据库中记录了程序特征对应的 行为,这就使得对未知程序 的行为分析提供了很大的便利。本发明上述分 析方法不限于此,还可以利用类 似于决策树, 贝叶斯算法, 神经网域计算等方法, 或者使用简单的阈值分析, 都可以在本发明的数据库基础上得到很好的应 用。 上述说明示出并描述了本发明的若干优选实施 例,但如前所述,应当理解 本发明并非局限于本文所披露的形式, 不应看作是对其他实施例的排除, 而可 用于各种其他组合、 修改和环境, 并能够在本文所述发明构想范围内, 通过上 述教导或相关领域的技术或知识进行改动。而 本领域人员所进行的改动和变化 不脱离本发明的精神和范围, 则都应在本发明所附权利要求的保护范围内。