首页> 中国专利> 程序的行为特征提取方法、恶意程序的检测方法及其装置

程序的行为特征提取方法、恶意程序的检测方法及其装置

摘要

本发明提出一种程序的行为特征提取方法、恶意程序的检测方法、装置和客户端,其中程序的行为特征提取方法包括以下步骤:运行待测程序;接收第一测试短信,并获取待测程序在匹配第一测试短信时调用的预置关键字;以及根据预置关键字生成第二测试短信,并提取待测程序根据第二测试短信产生的行为特征,并将行为特征添加至待测程序对应的行为特征集合。根据本发明实施例方法,能够实现对恶意程序的行为特征进行快速有效的识别,同时对包含危害行为的恶意程序的阻断和清除提供了有利依据。

著录项

  • 公开/公告号CN104598814A

    专利类型发明专利

  • 公开/公告日2015-05-06

    原文格式PDF

  • 申请/专利号CN201310528918.9

  • 发明设计人 林坚明;张楠;陈勇;

    申请日2013-10-30

  • 分类号G06F21/56;

  • 代理机构北京清亦华知识产权代理事务所(普通合伙);

  • 代理人张大威

  • 地址 100041 北京市石景山区八大处高科技园区西井路3号3号楼1100A房间

  • 入库时间 2023-12-18 08:44:53

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-04-26

    授权

    授权

  • 2018-07-24

    著录事项变更 IPC(主分类):G06F21/56 变更前: 变更后: 申请日:20131030

    著录事项变更

  • 2015-05-27

    实质审查的生效 IPC(主分类):G06F21/56 申请日:20131030

    实质审查的生效

  • 2015-05-06

    公开

    公开

说明书

技术领域

本发明涉及终端安全领域,尤其涉及一种程序的行为特征提取方法、装置和客户端以 及恶意程序的检测方法、装置和客户端。

背景技术

随着智能移动终端的不断发展,针对智能移动终端的恶意程序也大幅增长。恶意程序可 被添加至各种移动应用中,当移动终端安装了具有恶意程序的移动应用后,恶意程序会在后 台运行,并根据接收到的短信指令进行相应的操作,如收集并上传用户位置信息或通讯录等 数据、向固定号码拨打电话或更改用户设置等,给用户带来极大安全隐患。目前,可通过静 态分析技术对程序包名以及其他静态特征进行分析,判断程序类型。还可通过动态分析技术 获取程序在虚拟机中运行时产生的行为特征,并据此对恶意程序进行识别。

在实现本发明的过程中,发明人发现现有技术至少存在以下问题:当恶意程序被加密或 者进行变种后,无法通过静态分析技术准确识别出该恶意程序。同时,对于远程控制的恶意 程序,如通过短信指令控制的恶意程序,其行为特征会根据不同的远程控制指令而不同,现 有的动态分析技术则无法对此种恶意程序的行为特征进行有效分析,用户的数据安全仍然存 在安全隐患。

发明内容

本发明旨在至少解决上述技术问题之一。

为此,本发明的第一个目的在于提出一种程序的行为特征提取方法。该方法能够实现 对恶意程序的行为特征进行快速有效的识别,同时对包含危害行为的恶意程序的阻断和清除 提供了有利依据。

本发明的第二个目的在于提出一种程序的行为特征提取装置。

本发明的第三个目的在于提出一种客户端。

本发明的第四个目的在于提出一种恶意程序的检测方法。

本发明的第五个目的在于提出一种恶意程序的检测装置。

本发明的第六个目的在于提出另一种客户端。

为了实现上述目的,本发明第一方面实施例的程序的行为特征提取方法包括以下步骤: 运行待测程序;接收第一测试短信,并获取所述待测程序在匹配所述第一测试短信时调用的 预置关键字;以及根据所述预置关键字生成第二测试短信,并提取所述程序根据所述第二测 试短信产生的行为特征,并将所述行为特征添加至所述程序对应的行为特征集合。

根据本发明实施例的程序的行为特征提取方法,可获取待测程序在匹配第一测试短信是 调用的预置关键字,进而根据预置关键字生成第二测试短信,并获取该待测程序根据第二测 试短信产生的行为特征,因此,该方法能够获取恶意程序的行为特征以建立恶意行为特征库, 从而实现对恶意程序的行为特征进行快速有效的识别,同时对包含危害行为的恶意程序的阻 断和清除提供了有利依据。

为了实现上述目的,本发明第二方面实施例的程序的行为特征提取装置,包括:程序运 行模块,用于运行待测程序;接收模块,用于接收第一测试短信;获取模块,用于获取 所述待测程序在匹配所述第一测试短信时调用的预置关键字;生成模块,用于根据所述 预置关键字生成第二测试短信;以及提取模块,用于提取所述程序根据所述第二测试短信产 生的行为特征,并将所述行为特征添加至所述程序对应的行为特征集合。

根据本发明实施例的程序的行为特征提取装置,可获取待测程序在匹配第一测试短信是 调用的预置关键字,进而根据预置关键字生成第二测试短信,并获取该待测程序根据第二测 试短信产生的行为特征,因此,该方法能够获取恶意程序的行为特征以建立恶意行为特征库, 从而实现对恶意程序的行为特征进行快速有效的识别,同时对包含危害行为的恶意程序的阻 断和清除提供了有利依据。

为了实现上述目的,本发明第三方面实施例的客户端,包括:外壳,屏幕,处理器和电 路板;所述屏幕安置在所述外壳上,所述电路板安置在所述外壳围成的空间内部,所述处理 器设置在所述电路板上;所述处理器用于处理数据,并具体用于:运行待测程序;接收第一 测试短信,并获取所述待测程序在匹配所述第一测试短信时调用的预置关键字;以及根 据所述预置关键字生成第二测试短信,并提取所述程序根据所述第二测试短信产生的行为特 征,并将所述行为特征添加至所述程序对应的行为特征集合。

根据本发明实施例的客户端,可获取待测程序在匹配第一测试短信是调用的预置关键 字,进而根据预置关键字生成第二测试短信,并获取该待测程序根据第二测试短信产生的行 为特征,因此,该方法能够获取恶意程序的行为特征以建立恶意行为特征库,从而实现对恶 意程序的行为特征进行快速有效的识别,同时对包含危害行为的恶意程序的阻断和清除提供 了有利依据。

为了实现上述目的,本发明第四方面实施例的恶意程序的检测方法,包括一下步骤: 运行待测程序;接收第一测试短信,其中,所述第一测试短信是由所述移动终端以外的设备 发送的;获取所述待测程序在匹配所述第一测试短信时调用的预置关键字;根据所述预 置关键字生成第二测试短信,并提取所述待测程序根据所述第二测试短信产生的行为特征, 并将所述行为特征添加至所述待测程序对应的行为特征集合;以及将所述行为特征集合与恶 意行为特征库进行匹配以检测所述待测程序是否为恶意程序。

根据本发明实施例的恶意程序的检测方法,可获取待测程序在匹配第一测试短信是调 用的预置关键字,并进一步获取待测程序的行为特征,从而根据待测程序的行为特征动态分 析待测程序是否恶意程序,实现了对恶意程序的行为特征的快速有效识别,同时为阻断和清 除包含危害行为的恶意程序的提供了有利依据。

为了实现上述目的,本发明第五方面实施例的恶意程序的检测装置,包括:程序运行 模块,用于运行待测程序;接收模块,用于接收第一测试短信,其中,所述第一测试短信是 由所述移动终端以外的设备发送的;获取模块,用于获取所述待测程序在匹配所述第一测 试短信时调用的预置关键字;生成模块,用于根据所述预置关键字生成所述第二测试短信; 提取模块,用于提取所述待测程序根据所述第二测试短信产生的行为特征,并将所述行为特 征添加至所述待测程序对应的行为特征集合;以及检测模块,用于将所述行为特征集合与恶 意行为特征库进行匹配以检测所述待测程序是否为恶意程序。

根据本发明实施例的恶意程序的检测装置,可获取待测程序在匹配第一测试短信是调 用的预置关键字,并进一步获取待测程序的行为特征,从而根据待测程序的行为特征动态分 析待测程序是否恶意程序,实现了对恶意程序的行为特征的快速有效识别,同时为阻断和清 除包含危害行为的恶意程序的提供了有利依据。

为了实现上述目的,本发明第六方面实施例的客户端,包括:外壳,屏幕,处理器和电 路板;所述屏幕安置在所述外壳上,所述电路板安置在所述外壳围成的空间内部,所述处理 器设置在所述电路板上;所述处理器用于处理数据,并具体用于:运行待测程序;接收第 一测试短信,其中,所述第一测试短信是由所述移动终端以外的设备发送的;获取所述 待测程序在匹配所述第一测试短信时调用的预置关键字;根据所述预置关键字生成第二 测试短信,并提取所述待测程序根据所述第二测试短信产生的行为特征,并将所述行为 特征添加至所述待测程序对应的行为特征集合;以及将所述行为特征集合与恶意行为特 征库进行匹配以检测所述待测程序是否为恶意程序。

根据本发明实施例的客户端,可获取待测程序在匹配第一测试短信是调用的预置关键 字,并进一步获取待测程序的行为特征,从而根据待测程序的行为特征动态分析待测程序是 否恶意程序,实现了对恶意程序的行为特征的快速有效识别,同时为阻断和清除包含危害行 为的恶意程序的提供了有利依据。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明 显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和 容易理解,其中,

图1是根据本发明一个实施例的程序的行为特征提取方法;

图2是根据本发明一个具体实施例的获取待测程序中的预置关键字的流程图;

图3是根据本发明另一个实施例的程序的行为特征提取方法;

图4是根据本发明一个实施例的程序的行为特征提取装置的结构示意图;

图5是根据本发明另一个实施例的程序的行为特征提取装置的结构示意图;

图6是根据本发明一个实施例的恶意程序的检测方法;

图7是根据本发明另一个实施例的恶意程序的检测方法;

图8是根据本发明一个实施例的恶意程序的检测装置的结构示意图;

图9是根据本发明另一个实施例的恶意程序的检测装置的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或 类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的 实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实 施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理 解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限 定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接, 或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介 间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体 含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或 更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且 本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根 据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所 属技术领域的技术人员所理解。

需要说明的是,本发明的实施例优选适用于移动设备,例如,IOS操作系统(IOS是由苹 果公司开发的手持设备操作系统)、安卓操作系统(Android系统是一种基于Linux的自由及开 放源代码的操作系统)、Windows Phone操作系统(Windows Phone是微软公司发布的一款 手机操作系统)的移动设备,当然也适用于个人计算机以及其他智能移动设备,本发明对此 不作限定。其中,,移动设备可以是手机、平板电脑、个人数字助理、电子书等具有各种操 作系统的硬件设备。

下面参考附图描述根据本发明实施例的程序的行为特征提取方法、装置和客户端以及 恶意程序的测试方法、装置和客户端。

目前,对于远程控制的恶意程序,现有的静态分析技术和动态分析技术无法有效识别, 从而不能对其进行拦截,使得移动终端用户的数据安全受到威胁,为了对此类恶意程序的行 为特征进行有效分析和拦截,以保障用户数据安全,本发明提出一种程序的行为特征提取 方法。

图1是根据本发明一个实施例的程序的行为特征提取方法的流程图。

在本发明的实施例中,可通过测试设备对待测程序的行为特征进行提取,其中该测试设 备包括第一终端模拟器和第二模拟器。其中,第一终端模拟器可为虚拟机,用于运行待测程 序;第二模拟器可为短信生成模拟器,可存在于终端设备或者服务器端,用于生成提取待测 程序的行为特征时所需的测试短信,本发明对此不做限定。

如图1所示,该程序的行为特征提取方法包括以下步骤。

S101,运行待测程序。

在本发明的一个实施例中,可在移动终端中构建虚拟环境中运行待测程序,其中, 虚拟环境可通过运行在移动终端中的第一模拟器(例如,适用于安卓系统的安卓模拟器 等)来实现。

S102,接收第一测试短信,并获取待测程序在匹配第一测试短信时调用的预置关键 字。

在本发明的一个实施例中,第一测试短信为根据已知的不同恶意程序的预置关键字 创建的短信,并且第一测试短信的内容与上述不同的恶意程序的预置关键字均不相关。 举例来说,对于盗取用户信息的恶意程序,其预置关键字可能包括姓名、手机号码、地 址、邮箱等;对于恶意扣费程序,其预置关键字可能包括表示金钱、银行账户等信息的 关键字,因此,创建第一测试短信时,第一测试短信中不能包含表示手机号码、地址、 邮箱、金钱、银行账户等信息的内容。该第一测试短信可由另外一个模拟器(第二模拟 器)生成并发送至第一模拟器,也通过DDMS(Dalvik Debug Monitor Service,安卓开 发环境中的Dalvik虚拟机,其中,Dalvik虚拟机为一种基于安卓系统的虚拟机)编辑生 成第一测试短信,并发送至第一模拟器。。

进而可通过如图2所示的步骤获取该待测程序中的预置关键字,具体步骤如下:

S201,监控待测程序针对第一测试短信调用的API(Application Programming  Interface,应用程序编程接口)。

在本发明的实施例中,在该待测程序执行过程中,可监控该待测程序针对第一测试 短信调用的API。

S202,当根据API判断待测程序调用广播接收器对第一测试短信进行监听时,获取 广播接收器所使用的匹配函数。

在本发明的一个实施例中,当第一设备接收到第一测试短信之后,如果监控到该待 测程序调用广播接收器的API对第一测试短信进行监听,则进一步监控该广播接收器的 广播处理函数。当广播处理函数获取到第一测试短信时,可提取第一测试短信的内容, 并对该内容进行关键字匹配,在此过程中,可监控和记录获取关键字匹配所使用的匹配 函数。其中,匹配函数为将短信内容与某一特定关键字进行匹配,以判断该短信中是否 包含该特定关键字的函数。

S203,对匹配函数所使用的关键字进行监听,并将监听到的关键字作为待测程序在 匹配第一测试短信时调用的预置关键字。

在本发明的一个实施例中,可通过对匹配函数所使用的关键字进行监听,从而获取 该待测程序在进行关键字匹配时所使用的关键字。并且,由于第一测试短信与该待测程 序的短信指令关键字不相关,所以,该待测程序不会因监听到短信指令关键字而触发相 应的行为,进而可对自身的预置关键字逐个调用匹配函数进行匹配,并将匹配函数所使 用的关键字作为该待测程序在匹配第一测试短信时调用的预置关键字。

举例来说,在待测程序执行过程中可监控Sms Message(短信)类的createFromPdu() 函数,并从Pdus对象中获得实际存储了短信的Sms Message对象,然后监控Sms Message 对象的getOriginatingAddress()函数和getMessageBody()函数,以获取该待测程序所匹配 的手机号码关键字和短信内容关键字,例如,如果监控到 getOriginatingAddress().contains("1111"),就是匹配测试短信的号码是否为1111,可获取 到关键字"1111",如果监控到getMessageBody().contains("哪儿"),就是匹配测试短信中 是否包含关键字"哪儿",则可获取关键字"哪儿"。

S103,根据预置关键字生成第二测试短信。

在本发明的一个实施例中,可根据获取的每个预置关键字分别生成一个第二测试短 信,并由第二模拟器或者Dalvik虚拟机调试监控服务发送至第一设备。其中,根据每个 第二测试短信产生的行为特征与每个第二测试短信中的预置关键字相对应。

S104,提取待测程序根据第二测试短信产生的行为特征,并将行为特征添加至待测 程序对应的行为特征集合。

在本发明的一个实施例中,第一设备接收到包含预置关键字的第二测试短信之后, 该待测程序在进行关键字匹配时,就会在第二测试短信中匹配到相应的预置关键字,并 产生相应的行为特征,第一设备可记录该待测程序根据每个第二测试短信产生的行为特 征,并将高行为特征添加至该待测程序对应的行为特征集合。其中,根据每个第二测试 短信产生的行为特征与每个第二测试短信中的预置关键字相对应。

根据本发明实施例的待测程序的行为特征提取方法,可获取待测程序在匹配第一测试 短信是调用的预置关键字,进而根据预置关键字生成第二测试短信,并获取该待测程序根据 第二测试短信产生的行为特征,因此,该方法能够获取恶意程序的行为特征以建立恶意行为 特征库,从而实现对恶意程序的行为特征进行快速有效的识别,同时对包含危害行为的恶意 程序的阻断和清除提供了有利依据。

图3是根据本发明另一个实施例的程序的行为特征提取方法。

为了更准确获取待测程序的行为特征,可获取预置关键字之间的逻辑关系,并根据预置 关键字之间的逻辑关系更新行为特征集合,具体地,如图3所示,该待测程序的行为特征 提取方法包括以下步骤。

S301,运行待测程序。

S302,接收第一测试短信,并获取待测程序在匹配第一测试短信时调用的预置关键 字。

具体地,获取该待测程序中的预置关键字的方法如图2所示,包括:

S201,监控待测程序针对第一测试短信调用的API。

S202,当根据API判断待测程序调用广播接收器对第一测试短信进行监听时,获取 广播接收器所使用的匹配函数。

S203,对匹配函数所使用的关键字进行监听,并将监听到的关键字作为待测程序在 匹配第一测试短信时调用的预置关键字。

S303,根据预置关键字生成第二测试短信。

S304,提取待测程序根据第二测试短信产生的行为特征,并将行为特征添加至待测 程序对应的行为特征集合。

S305,确定预置关键字之间的逻辑关系,并根据预置关键字之间的逻辑关系更新行 为特征集合,其中,逻辑关系为逻辑或关系或逻辑与关系中的一种。

在本发明的一个实施例中,可对行为特征集合中的关键字和行为特征进一步进行分 析,以获取预置关键字之间的逻辑关系。

具体地,如果存在多个预置关键字对应的行为特征相同,则该待测程序对此多个预 置关键字进行了逻辑或的匹配,即此多个预置关键字之间为逻辑或关系,并对行为特征 集合进行调整。例如,如果预置关键字A与B对应行为特征如下:

A——行为特征M(或者多个行为特征M1M2M3…)

B——行为特征M(或者多个行为特征M1M2M3…)

则预置关键字A与B为逻辑或的关系,此时,可将行为特征集合调整为:

A or B——行为特征M(或者多个行为特征M1M2M3…)。

在本发明的一个实施例中,可根据其中一个预置关键字X生成一个第三测试短信, 并将第三测试短信发送至第一设备,以监听该待测程序是否产生行为特征还是继续进行 关键字匹配,如果该待测程序继续进行提取短信内容进行关键字匹配,则记录该再次匹 配的关键字Y。然后根据X和Y一起再次生成测试短信,并发送至第一设备,直到该待 测程序不再提取短信内容进行关键字匹配为止。获取最后一次生成的测试短信中的所有 的关键字,则这些关键字为逻辑与的关系,可将行为特征集合调整为:

X and Y and…——行为特征N(或者多个行为特征N1N2N3…)。

根据本发明实施例的程序的行为特征提取方法,通过判断预置关键字之间的逻辑关系, 并根据该逻辑关系根系行为特征集合,从而提高了行为特征集合中的行为特征的准确性,进 而可更精准的识别恶意程序。

为了实现上述实施例,本发明还提出一种程序的行为特征提取装置。

图4是根据本发明一个实施例的程序的行为特征提取装置的结构示意图。

如图4所示,该程序的行为特征提取装置包括:程序运行模块110、接收模块120、获 取模块130、生成模块140、提取模块150、监控子模块131、获取子模块132和监听子模块 133。其中,获取模块130进一步包括监控子模块131、获取子模块132和监听子模块133。

具体地,程序运行模块110用于运行待测程序。在本发明的一个实施例中,程序运行 模块110通过在移动终端中构建的虚拟环境来运行待测程序,其中,虚拟环境可通过运 行在移动终端中的第一模拟器(例如,适用于安卓系统的安卓模拟器等)来实现。

接收模块120用于接收第一测试短信。在本发明的一个实施例中,第一测试短信为 根据已知的不同恶意程序的预置关键字创建的短信,并且第一测试短信的内容与上述不 同的恶意程序的预置关键字均不相关。举例来说,对于盗取用户信息的恶意程序,其预 置关键字可能包括姓名、手机号码、地址、邮箱等;对于恶意扣费程序,其预置关键字 可能包括表示金钱、银行账户等信息的关键字,因此,创建第一测试短信时,第一测试 短信中不能包含表示手机号码、地址、邮箱、金钱、银行账户等信息的内容。该第一测 试短信可由另外一个模拟器(第二模拟器)生成并发送至第一模拟器,也通过DDMS 编辑生成第一测试短信,并发送至第一模拟器。

获取模块130用于获取待测程序在匹配第一测试短信时调用的预置关键字。更具体地, 获取模块130进一步包括监控子模块131、获取子模块132和监听子模块133。

其中,监控子模块131用于在待测程序执行过程中,监控待测程序针对第一测试短信 调用的API。

获取子模块132用于在根据API判断待测程序调用广播接收器对第一测试短信进行监 听时,获取广播接收器所使用的匹配函数。在本发明的一个实施例中,当第一设备接收到 第一测试短信之后,如果监控到该待测程序调用广播接收器的API对第一测试短信进行 监听,则进一步监控该广播接收器的广播处理函数。当广播处理函数获取到第一测试短 信时,可提取第一测试短信的内容,并对该内容进行关键字匹配,在此过程中,获取子 模块132可监控和记录获取关键字匹配所使用的匹配函数。其中,匹配函数为将短信内 容与某一特定关键字进行匹配,以判断该短信中是否包含该特定关键字的函数。

监听子模块133用于对匹配函数所使用的关键字进行监听,并将监听到的关键字作为待 测程序在匹配第一测试短信时调用的预置关键字。在本发明的一个实施例中,监听子模 块133可通过对匹配函数所使用的关键字进行监听,从而获取该待测程序在进行关键字 匹配时所使用的关键字。并且,由于第一测试短信与该待测程序的短信指令关键字不相 关,所以,该待测程序不会因监听到短信指令关键字而触发相应的行为,进而可对自身 的预置关键字逐个调用匹配函数进行匹配,并将匹配函数所使用的关键字作为该待测程 序在匹配第一测试短信时调用的预置关键字。

举例来说,一个待测程序在执行过程中可监控Sms Message(短信)类的 createFromPdu()函数,并从Pdus对象中获得实际存储了短信的Sms Message对象,然后 监控Sms Message对象的getOriginatingAddress()函数和getMessageBody()函数,以获取 该待测程序所匹配的手机号码关键字和短信内容关键字,例如,如果监控到 getOriginatingAddress().contains("1111"),就是匹配测试短信的号码是否为1111,可获取 到关键字"1111",如果监控到getMessageBody().contains("哪儿"),就是匹配测试短信中 是否包含关键字"哪儿",则可获取关键字"哪儿"。

生成模块140用于根据预置关键字生成第二测试短信。更具体地,生成模块140可根据 获取的每个预置关键字分别生成一个第二测试短信,并由第二模拟器或者Dalvik虚拟机 调试监控服务发送至第一设备。其中,根据每个第二测试短信产生的行为特征与每个第 二测试短信中的预置关键字相对应。

提取模块150用于提取待测程序根据第二测试短信产生的行为特征,并将行为特征添加 至待测程序对应的行为特征集合。在本发明的一个实施例中,第一设备接收到包含预置关 键字的第二测试短信之后,该待测程序在进行关键字匹配时,就会在第二测试短信中匹 配到相应的预置关键字,并产生相应的行为特征,提取模块150可记录该待测程序根据 每个第二测试短信产生的行为特征,并将高行为特征添加至该待测程序对应的行为特征 集合。其中,根据每个第二测试短信产生的行为特征与每个第二测试短信中的预置关键 字相对应。

根据本发明实施例的程序的行为特征提取装置,可获取待测程序在匹配第一测试短信是 调用的预置关键字,进而根据预置关键字生成第二测试短信,并获取该待测程序根据第二测 试短信产生的行为特征,因此,能够获取恶意程序的行为特征以建立恶意行为特征库,从而 实现对恶意程序的行为特征进行快速有效的识别,同时对包含危害行为的恶意程序的阻断和 清除提供了有利依据。

图5是根据本发明另一个实施例的程序的行为特征提取装置的结构示意图。

如图5所示,该程序的行为特征提取装置包括:程序运行模块110、接收模块120、获 取模块130、生成模块140、提取模块150和更新模块160。

具体地,更新模块160用于确定预置关键字之间的逻辑关系,并根据逻辑关系更新行为 特征集合,其中,逻辑关系为逻辑或关系或逻辑与关系中的一种。在本发明的一个实施例 中,可对行为特征集合中的关键字和行为特征进一步进行分析,以获取预置关键字之间 的逻辑关系。

更具体地,如果存在多个预置关键字对应的行为特征相同,则该待测程序对此多个 预置关键字进行了逻辑或的匹配,即此多个预置关键字之间为逻辑或关系,并对行为特 征集合进行调整。例如,如果预置关键字A与B对应行为特征如下:

A——行为特征M(或者多个行为特征M1M2M3…)

B——行为特征M(或者多个行为特征M1M2M3…)

则预置关键字A与B为逻辑或的关系,此时,可将行为特征集合调整为:

A or B——行为特征M(或者多个行为特征M1M2M3…)。

在本发明的一个实施例中,可根据其中一个预置关键字X生成一个第三测试短信, 并将第三测试短信发送至第一设备,以监听该待测程序是否产生行为特征还是继续进行 关键字匹配,如果该待测程序继续进行提取短信内容进行关键字匹配,则记录该再次匹 配的关键字Y。然后根据X和Y一起再次生成测试短信,并发送至第一设备,直到该待 测程序不再提取短信内容进行关键字匹配为止。获取最后一次生成的测试短信中的所有 的关键字,则这些关键字为逻辑与的关系,可将行为特征集合调整为:

X and Y and…——行为特征N(或者多个行为特征N1N2N3…)。

根据本发明实施例的程序的行为特征提取装置,通过更新模块判断预置关键字之间的逻 辑关系,并根据该逻辑关系根系行为特征集合,从而提高了行为特征集合中的行为特征的准 确性,进而可更精准的识别恶意程序。

为了实现上述实施例,本发明还提出一种客户端。

在本发明的一个实施例中,客户端可以是个人计算机PC、笔记本、智能手机、平 板电脑、个人数字助理等硬件设备。客户端包括:屏幕,处理器和电路板;屏幕安置在 外壳上,电路板安置在外壳围成的空间内部,处理器设置在电路板上;处理器用于处理 数据,并具体用于:运行待测程序;接收第一测试短信,并获取待测程序在匹配第一测 试短信时调用的预置关键字;根据预置关键字生成第二测试短信,并提取待测程序根据 第二测试短信产生的行为特征,并将行为特征添加至待测程序对应的行为特征集合。

在本发明的一个实施例中,可在移动终端中构建虚拟环境中运行待测程序,其中, 虚拟环境可通过运行在移动终端中的第一模拟器(例如,适用于安卓系统的安卓模拟器 等)来实现。

在本发明的一个实施例中,第一测试短信为根据已知的不同恶意程序的预置关键字 创建的短信,并且第一测试短信的内容与上述不同的恶意程序的预置关键字均不相关。 举例来说,对于盗取用户信息的恶意程序,其预置关键字可能包括姓名、手机号码、地 址、邮箱等;对于恶意扣费程序,其预置关键字可能包括表示金钱、银行账户等信息的 关键字,因此,创建第一测试短信时,第一测试短信中不能包含表示手机号码、地址、 邮箱、金钱、银行账户等信息的内容。该第一测试短信可由另外一个模拟器(第二模拟 器)生成并发送至第一模拟器,也通过DDMS编辑生成第一测试短信,并发送至第一 模拟器。

其中,为了获取该待测程序中的预置关键字,处理器可具体用于:监控该待测程序 针对第一测试短信调用的API;当根据API判断该待测程序调用广播接收器对第一测试 短信进行监听时,获取广播接收器所使用的匹配函数;以及对匹配函数所使用的关键字 进行监听,并将监听到的关键字作为该待测程序在匹配第一测试短信时调用的预置关键 字。

在本发明的一个实施例中,处理器可在该待测程序执行过程中监控该待测程序针对 第一测试短信调用的API。并在第一设备接收到第一测试短信之后,如果监控到该待测 程序调用广播接收器的API对第一测试短信进行监听,则进一步监控该广播接收器的广 播处理函数。当广播处理函数获取到第一测试短信时,可提取第一测试短信的内容,并 对该内容进行关键字匹配,在此过程中,可监控和记录获取关键字匹配所使用的匹配函 数。其中,匹配函数为将短信内容与某一特定关键字进行匹配,以判断该短信中是否包 含该特定关键字的函数。进而处理器可通过对匹配函数所使用的关键字进行监听,从而 获取该待测程序在进行关键字匹配时所使用的关键字。并且,由于第一测试短信与该待 测程序的短信指令关键字不相关,所以,该待测程序不会因监听到短信指令关键字而触 发相应的行为,进而可对自身的预置关键字逐个调用匹配函数进行匹配,并将匹配函数 所使用的关键字作为该待测程序在匹配第一测试短信时调用的预置关键字。

举例来说,该待测程序在执行过程中可监控Sms Message(短信)类的createFromPdu() 函数,并从Pdus对象中获得实际存储了短信的Sms Message对象,然后监控Sms Message 对象的getOriginatingAddress()函数和getMessageBody()函数,以获取该待测程序所匹配 的手机号码关键字和短信内容关键字,例如,如果监控到 getOriginatingAddress().contains("1111"),就是匹配测试短信的号码是否为1111,可获取 到关键字"1111",如果监控到getMessageBody().contains("哪儿"),就是匹配测试短信中 是否包含关键字"哪儿",则可获取关键字"哪儿"。

在本发明的一个实施例中,处理器可根据获取的每个预置关键字分别生成一个第二 测试短信,并由第二模拟器或者Dalvik虚拟机调试监控服务发送至第一设备。当第一设 备接收到包含预置关键字的第二测试短信之后,该待测程序在进行关键字匹配时,就会 在第二测试短信中匹配到相应的预置关键字,并产生相应的行为特征,第一设备可记录 该待测程序根据每个第二测试短信产生的行为特征,并将高行为特征添加至该待测程序 对应的行为特征集合。其中,根据每个第二测试短信产生的行为特征与每个第二测试短 信中的预置关键字相对应。

根据本发明实施例的客户端,可获取待测程序在匹配第一测试短信是调用的预置关键 字,进而根据预置关键字生成第二测试短信,并获取该待测程序根据第二测试短信产生的行 为特征,因此,该方法能够获取恶意程序的行为特征以建立恶意行为特征库,从而实现对恶 意程序的行为特征进行快速有效的识别,同时对包含危害行为的恶意程序的阻断和清除提供 了有利依据。

在本发明的另一个实施例中,处理器还可用于确定预置关键字之间的逻辑关系,并 根据预置关键字之间的逻辑关系更新行为特征集合,其中,逻辑关系为逻辑或关系或逻 辑与关系中的一种。具体地,处理器可对行为特征集合中的关键字和行为特征进一步进 行分析,以获取预置关键字之间的逻辑关系,从而提高了行为特征集合中的行为特征的准 确性,进而可更精准的识别恶意程序。

如果存在多个预置关键字对应的行为特征相同,则该待测程序对此多个预置关键字 进行了逻辑或的匹配,即此多个预置关键字之间为逻辑或关系,并对行为特征集合进行 调整。例如,如果预置关键字A与B对应行为特征如下:

A——行为特征M(或者多个行为特征M1M2M3…)

B——行为特征M(或者多个行为特征M1M2M3…)

则预置关键字A与B为逻辑或的关系,此时,可将行为特征集合调整为:

A or B——行为特征M(或者多个行为特征M1M2M3…)。

在本发明的一个实施例中,可根据其中一个预置关键字X生成一个第三测试短信, 并将第三测试短信发送至第一设备,以监听该待测程序是否产生行为特征还是继续进行 关键字匹配,如果该待测程序继续进行提取短信内容进行关键字匹配,则记录该再次匹 配的关键字Y。然后根据X和Y一起再次生成测试短信,并发送至第一设备,直到该待 测程序不再提取短信内容进行关键字匹配为止。获取最后一次生成的测试短信中的所有 的关键字,则这些关键字为逻辑与的关系,可将行为特征集合调整为:

X and Y and…——行为特征N(或者多个行为特征N1N2N3…)。

在本发明的实施例中的程序的行为特征提取方法、装置和客户端,可用于提取恶意 程序(如远程控制程序等)的行为特征,以构建恶意行为特征库,进而可根据恶意行为 特征库对终端的程序进行检测,以对恶意程序进行有效拦截,为终端提供安全保障;该 方法也可用于提取待测程序的行为特征,以将待测程序的行为特征与恶意行为特征库进 行比对,以判断待测程序是否为恶意程序。

为此,本发明还提出一种恶意程序的检测方法。本发明实施例的恶意程序的检测方法 可应用于移动终端,用以检测移动终端中的恶意程序,从而能够对检测到的恶意程序进 行邮箱的拦截和清除,以保障移动终端的使用安全。

图6是根据本发明一个实施例的恶意程序的检测方法的流程图。

如图6所示,该恶意程序的检测方法包括以下步骤。

S601,运行待测程序。

在本发明的一个实施例中,可在移动终端中构建虚拟环境中运行待测程序,其中, 虚拟环境可通过运行在移动终端中的第一模拟器(例如,适用于安卓系统的安卓模拟器 等)来实现。

S602,接收第一测试短信,其中,第一测试短信是由移动终端以外的设备发送的。

在本发明的一个实施例中,第一测试短信为根据已知的不同恶意程序的预置关键字 创建的短信,并且第一测试短信的内容与上述不同的恶意程序的预置关键字均不相关。 举例来说,对于盗取用户信息的恶意程序,其预置关键字可能包括姓名、手机号码、地 址、邮箱等;对于恶意扣费程序,其预置关键字可能包括表示金钱、银行账户等信息的 关键字,因此,创建第一测试短信时,第一测试短信中不能包含表示手机号码、地址、 邮箱、金钱、银行账户等信息的内容。该第一测试短信可由另外一个模拟器(第二模拟 器)生成并发送至第一模拟器,也通过DDMS编辑生成第一测试短信,并发送至第一 模拟器。

S603,获取待测程序在匹配第一测试短信时调用的预置关键字。

在本发明的一个实施例中,可通过如图2所示的步骤获取待测程序中的预置关键字, 具体步骤如下:

S201,监控程序针对第一测试短信调用的API。

在本发明的实施例中,在待测程序执行过程中,可监控待测程序针对第一测试短信 调用的API。

S202,当根据API判断程序调用广播接收器对第一测试短信进行监听时,获取广播 接收器所使用的匹配函数。

在本发明的一个实施例中,当第一设备接收到第一测试短信之后,如果监控到待测 程序调用广播接收器的API对第一测试短信进行监听,则进一步监控该广播接收器的广 播处理函数。当广播处理函数获取到第一测试短信时,可提取第一测试短信的内容,并 对该内容进行关键字匹配,在此过程中,可监控和记录获取关键字匹配所使用的匹配函 数。其中,匹配函数为将短信内容与某一特定关键字进行匹配,以判断该短信中是否包 含该特定关键字的函数。

S203,对匹配函数所使用的关键字进行监听,并将监听到的关键字作为程序在匹配 第一测试短信时调用的预置关键字。

在本发明的一个实施例中,可通过对匹配函数所使用的关键字进行监听,从而获取 待测程序在进行关键字匹配时所使用的关键字。并且,由于第一测试短信与待测程序的 短信指令关键字不相关,所以,待测程序不会因监听到短信指令关键字而触发相应的行 为,进而可对自身的预置关键字逐个调用匹配函数进行匹配,并将匹配函数所使用的关 键字作为待测程序在匹配第一测试短信时调用的预置关键字。

举例来说,待测程序在执行过程中可监控Sms Message(短信)类的createFromPdu() 函数,并从Pdus对象中获得实际存储了短信的Sms Message对象,然后监控Sms Message 对象的getOriginatingAddress()函数和getMessageBody()函数,以获取待测程序所匹配的 手机号码关键字和短信内容关键字,例如,如果监控到 getOriginatingAddress().contains("1111"),就是匹配测试短信的号码是否为1111,可获取 到关键字"1111",如果监控到getMessageBody().contains("哪儿"),就是匹配测试短信中 是否包含关键字"哪儿",则可获取关键字"哪儿"。

S604,根据预置关键字生成第二测试短信。

在本发明的一个实施例中,可根据获取的每个预置关键字分别生成一个第二测试短 信,并由第二模拟器或者Dalvik虚拟机调试监控服务发送至第一设备。其中,根据每个 第二测试短信产生的行为特征与每个第二测试短信中的预置关键字相对应。

S605,提取待测程序根据第二测试短信产生的行为特征,并将行为特征添加至待测 程序对应的行为特征集合。

在本发明的一个实施例中,第一设备接收到包含预置关键字的第二测试短信之后, 待测程序在进行关键字匹配时,就会在第二测试短信中匹配到相应的预置关键字,并产 生相应的行为特征,第一设备可记录待测程序根据每个第二测试短信产生的行为特征, 并将高行为特征添加至待测程序对应的行为特征集合。其中,根据每个第二测试短信产 生的行为特征与每个第二测试短信中的预置关键字相对应。

S606,将行为特征集合与恶意行为特征库进行匹配以检测待测程序是否为恶意程序。

在本发明的一个实施例中,可预先建立恶意行为特征库,其中的恶意行为特征可通过本 发明第一方面实施例的程序的行为特征提取方法对恶意程序进行分析获得。进而可将待 测程序的行为特征集合与预先建立的恶意行为特征库进行比对,如果待测程序的行为特 征集合中的行为特征落入恶意行为特征库中的比例超过预订阈值,则该待测程序为恶意 程序。

根据本发明实施例的恶意程序的检测方法,可获取待测程序在匹配第一测试短信是调 用的预置关键字,并进一步获取待测程序的行为特征,从而根据待测程序的行为特征集合与 恶意行为特征库进行比对以分析待测程序是否恶意程序,能够对恶意程序的行为特征的快速 有效识别,从而能够及时处理恶意程序,保证使用终端的用户的信息安全。

图7是根据本发明另一个实施例的恶意程序的检测方法。

如图7所示,该恶意程序的检测方法包括以下步骤。

S701,运行待测程序。

S702,接收第一测试短信,其中,第一测试短信是由移动终端以外的设备发送的。

S703,获取待测程序在匹配第一测试短信时调用的预置关键字。

在本发明的一个实施例中,获取待测程序中的预置关键字的方法如图2所示,具体 包括:

S201,监控程序针对第一测试短信调用的API。

S202,当根据API判断程序调用广播接收器对第一测试短信进行监听时,获取广播 接收器所使用的匹配函数。

S203,对匹配函数所使用的关键字进行监听,并将监听到的关键字作为程序在匹配 第一测试短信时调用的预置关键字。

S704,根据预置关键字生成第二测试短信。

S705,提取待测程序根据第二测试短信产生的行为特征,并将行为特征添加至待测 程序对应的行为特征集合。

S706,确定预置关键字之间的逻辑关系,并根据预置关键字之间的逻辑关系更新行 为特征集合,其中,逻辑关系为逻辑或关系或逻辑与关系中的一种。

在本发明的一个实施例中,可对待测程序的行为特征集合中的关键字和行为特征进 一步进行分析,以获取预置关键字之间的逻辑关系。

具体地,如果存在多个预置关键字对应的行为特征相同,则待测程序对此多个预置 关键字进行了逻辑或的匹配,即此多个预置关键字之间为逻辑或关系,并对行为特征集 合进行调整。例如,如果预置关键字A与B对应行为特征如下:

A——行为特征M(或者多个行为特征M1M2M3…)

B——行为特征M(或者多个行为特征M1M2M3…)

则预置关键字A与B为逻辑或的关系,此时,可将行为特征集合调整为:

A or B——行为特征M(或者多个行为特征M1M2M3…)。

在本发明的一个实施例中,可根据其中一个预置关键字X生成一个第三测试短信, 并将第三测试短信发送至第一设备,以监听待测程序是否产生行为特征还是继续进行关 键字匹配,如果待测程序继续进行提取短信内容进行关键字匹配,则记录该再次匹配的 关键字Y。然后根据X和Y一起再次生成测试短信,并发送至第一设备,直到待测程序 不再提取短信内容进行关键字匹配为止。获取最后一次生成的测试短信中的所有的关键 字,则这些关键字为逻辑与的关系,可将行为特征集合调整为:

X and Y and…——行为特征N(或者多个行为特征N1N2N3…)。

S707,将行为特征集合与恶意行为特征库进行匹配以检测待测程序是否为恶意程序。

在本发明的一个实施例中,可预先建立恶意程序行为特征库,其中的恶意行为特征可通 过本发明第一方面实施例的程序的行为特征提取方法对恶意程序进行分析获得。进而可 将待测程序的行为特征集合与预先建立的恶意行为特征库进行比对,如果待测程序的行 为特征集合中的行为特征落入恶意行为特征库中的比例超过预订阈值,则该待测程序为 恶意程序。

根据本发明实施例的恶意程序的检测方法,通过判断预置关键字之间的逻辑关系,并 根据该逻辑关系根系行为特征集合,从而提高了行为特征集合中的行为特征的准确性,进而 可更精准的识别恶意程序。

为了实现上述实施例,本发明还提出一种恶意程序的检测装置。

图8是根据本发明一个实施例的恶意程序的检测装置的结构示意图。

如图8所示,该恶意程序的检测装置包括:程序运行模块210、接收模块220、获取模 块230、生成模块240、提取模块250、测试模块260、监控子模块231、获取子模块232和 监听子模块233。其中,获取模块230进一步包括监控子模块231、获取子模块232和监听 子模块233。

具体地,程序运行模块210用于运行待测程序。在本发明的一个实施例中,程序运行 模块210通过在移动终端中构建的虚拟环境来运行待测程序,其中,虚拟环境可通过运 行在移动终端中的第一模拟器(例如,适用于安卓系统的安卓模拟器等)来实现。

接收模块220用于接收第一测试短信,其中,第一测试短信是由移动终端以外的设 备发送的。在本发明的一个实施例中,第一测试短信为根据已知的不同恶意程序的预置 关键字创建的短信,并且第一测试短信的内容与上述不同的恶意程序的预置关键字均不 相关。举例来说,对于盗取用户信息的恶意程序,其预置关键字可能包括姓名、手机号 码、地址、邮箱等;对于恶意扣费程序,其预置关键字可能包括表示金钱、银行账户等 信息的关键字,因此,创建第一测试短信时,第一测试短信中不能包含表示手机号码、 地址、邮箱、金钱、银行账户等信息的内容。该第一测试短信可由另外一个模拟器(第 二模拟器)生成并发送至第一模拟器,也通过DDMS编辑生成第一测试短信,并发送 至第一模拟器。

获取模块230用于获取待测程序在匹配第一测试短信时调用的预置关键字。更具体 地,获取模块230进一步包括监控子模块231、获取子模块232和监听子模块233。

其中,监控子模块231用于在待测程序执行过程中,监控待测程序针对第一测试短信 调用的API。

获取子模块232用于在根据API判断待测程序调用广播接收器对第一测试短信进行监 听时,获取广播接收器所使用的匹配函数。在本发明的一个实施例中,当第一设备接收到 第一测试短信之后,如果监控到待测程序调用广播接收器的API对第一测试短信进行监 听,则进一步监控该广播接收器的广播处理函数。当广播处理函数获取到第一测试短信 时,可提取第一测试短信的内容,并对该内容进行关键字匹配,在此过程中,获取子模 块232可监控和记录获取关键字匹配所使用的匹配函数。其中,匹配函数为将短信内容 与某一特定关键字进行匹配,以判断该短信中是否包含该特定关键字的函数。

监听子模块233用于对匹配函数所使用的关键字进行监听,并将监听到的关键字作为待 测程序在匹配第一测试短信时调用的预置关键字。在本发明的一个实施例中,监听子模 块233可通过对匹配函数所使用的关键字进行监听,从而获取待测程序在进行关键字匹 配时所使用的关键字。并且,由于第一测试短信与待测程序的短信指令关键字不相关, 所以,待测程序不会因监听到短信指令关键字而触发相应的行为,进而可对自身的预置 关键字逐个调用匹配函数进行匹配,并将匹配函数所使用的关键字作为待测程序在匹配 第一测试短信时调用的预置关键字。

举例来说,待测程序在执行过程中可监控Sms Message(短信)类的createFromPdu() 函数,并从Pdus对象中获得实际存储了短信的Sms Message对象,然后监控Sms Message 对象的getOriginatingAddress()函数和getMessageBody()函数,以获取待测程序所匹配的 手机号码关键字和短信内容关键字,例如,如果监控到 getOriginatingAddress().contains("1111"),就是匹配测试短信的号码是否为1111,可获取 到关键字"1111",如果监控到getMessageBody().contains("哪儿"),就是匹配测试短信中 是否包含关键字"哪儿",则可获取关键字"哪儿"。

生成模块240用于根据预置关键字生成第二测试短信。更具体地,可根据获取的每个 预置关键字分别生成一个第二测试短信。

提取模块250用于提取待测程序根据第二测试短信产生的行为特征,并将行为特征添加 至待测程序对应的行为特征集合。在本发明的一个实施例中,第一设备接收到包含预置关 键字的第二测试短信之后,待测程序在进行关键字匹配时,就会在第二测试短信中匹配 到相应的预置关键字,并产生相应的行为特征,提取模块250可记录待测程序根据每个 第二测试短信产生的行为特征,并将高行为特征添加至待测程序对应的行为特征集合。 其中,根据每个第二测试短信产生的行为特征与每个第二测试短信中的预置关键字相对 应。

测试模块260用于根据行为特征集合对待测程序进行测试。在本发明的一个实施例 中,可预先建立恶意行为特征库,其中的恶意行为特征可通过本发明第一方面实施例的程序 的行为特征提取方法对恶意程序进行分析获得。进而测试模块260可将待测程序的行为 特征集合与预先建立的恶意行为特征库进行比对,如果待测程序的行为特征集合中的行 为特征落入恶意行为特征库中的比例超过预订阈值,则该待测程序为恶意程序。

根据本发明实施例的恶意程序的检测装置,可获取待测程序在匹配第一测试短信是调用 的预置关键字,并进一步获取待测程序的行为特征,从而根据待测程序的行为特征集合与恶 意行为特征库进行比对以分析待测程序是否恶意程序,能够对恶意程序的行为特征的快速有 效识别,从而能够及时处理恶意程序,保证使用终端的用户的信息安全。

图9是根据本发明另一个实施例的恶意程序的检测装置的结构示意图。

如图9所示,该恶意程序的检测装置包括:程序运行模块210、接收模块220、获取模 块230、生成模块240、提取模块250、测试模块260和更新模块270。

具体地,更新模块270用于确定预置关键字之间的逻辑关系,并根据逻辑关系更新行为 特征集合,其中,逻辑关系为逻辑或关系或逻辑与关系中的一种。在本发明的一个实施例 中,可对行为特征集合中的关键字和行为特征进一步进行分析,以获取预置关键字之间 的逻辑关系。

更具体地,如果存在多个预置关键字对应的行为特征相同,则待测程序对此多个预 置关键字进行了逻辑或的匹配,即此多个预置关键字之间为逻辑或关系,并对行为特征 集合进行调整。例如,如果预置关键字A与B对应行为特征如下:

A——行为特征M(或者多个行为特征M1M2M3…)

B——行为特征M(或者多个行为特征M1M2M3…)

则预置关键字A与B为逻辑或的关系,此时,可将行为特征集合调整为:

A or B——行为特征M(或者多个行为特征M1M2M3…)。

在本发明的一个实施例中,可根据其中一个预置关键字X生成一个第三测试短信, 并将第三测试短信发送至第一设备,以监听待测程序是否产生行为特征还是继续进行关 键字匹配,如果待测程序继续进行提取短信内容进行关键字匹配,则记录该再次匹配的 关键字Y。然后根据X和Y一起再次生成测试短信,并发送至第一设备,直到待测程序 不再提取短信内容进行关键字匹配为止。获取最后一次生成的测试短信中的所有的关键 字,则这些关键字为逻辑与的关系,可将行为特征集合调整为:

X and Y and…——行为特征N(或者多个行为特征N1N2N3…)。

根据本发明实施例的恶意程序的检测装置,通过更新模块判断预置关键字之间的逻辑关 系,并根据该逻辑关系根系行为特征集合,从而提高了行为特征集合中的行为特征的准确性, 进而可更精准的识别恶意程序。

为了实现上述实施例,本发明还提出另一种客户端。

在本发明的一个实施例中,客户端可以是个人计算机PC、笔记本、智能手机、平 板电脑、个人数字助理等硬件设备。客户端包括:屏幕,处理器和电路板;屏幕安置在 外壳上,电路板安置在外壳围成的空间内部,处理器设置在电路板上;处理器用于处理 数据,并具体用于:运行待测程序;接收第一测试短信,其中,第一测试短信是由移动 终端以外的设备发送的;获取待测程序在匹配第一测试短信时调用的预置关键字;根据 预置关键字生成第二测试短信,并提取待测程序根据第二测试短信产生的行为特征,并 将行为特征添加至待测程序对应的行为特征集合;以及根据该行为特征集合对待测程序 进行测试。

在本发明的一个实施例中,可在移动终端中构建虚拟环境中运行待测程序,其中, 虚拟环境可通过运行在移动终端中的第一模拟器(例如,适用于安卓系统的安卓模拟器 等)来实现。

在本发明的一个实施例中,第一测试短信为根据已知的不同恶意程序的预置关键字 创建的短信,并且第一测试短信的内容与上述不同的恶意程序的预置关键字均不相关。 举例来说,对于盗取用户信息的恶意程序,其预置关键字可能包括姓名、手机号码、地 址、邮箱等;对于恶意扣费程序,其预置关键字可能包括表示金钱、银行账户等信息的 关键字,因此,创建第一测试短信时,第一测试短信中不能包含表示手机号码、地址、 邮箱、金钱、银行账户等信息的内容。该第一测试短信可由另外一个模拟器(第二模拟 器)生成并发送至第一模拟器,也通过DDMS编辑生成第一测试短信,并发送至第一 模拟器。

其中,为了获取待测程序中的预置关键字,处理器可具体用于:监控待测程序针对 第一测试短信调用的API;当根据API判断待测程序调用广播接收器对第一测试短信进 行监听时,获取广播接收器所使用的匹配函数;以及对匹配函数所使用的关键字进行监 听,并将监听到的关键字作为待测程序在匹配第一测试短信时调用的预置关键字。

在本发明的一个实施例中,处理器可在待测程序执行过程中监控待测程序针对第一 测试短信调用的API。并在第一设备接收到第一测试短信之后,如果监控到待测程序调 用广播接收器的API对第一测试短信进行监听,则进一步监控该广播接收器的广播处理 函数。当广播处理函数获取到第一测试短信时,可提取第一测试短信的内容,并对该内 容进行关键字匹配,在此过程中,可监控和记录获取关键字匹配所使用的匹配函数。其 中,匹配函数为将短信内容与某一特定关键字进行匹配,以判断该短信中是否包含该特 定关键字的函数。进而处理器可通过对匹配函数所使用的关键字进行监听,从而获取待 测程序在进行关键字匹配时所使用的关键字。并且,由于第一测试短信与待测程序的短 信指令关键字不相关,所以,待测程序不会因监听到短信指令关键字而触发相应的行为, 进而可对自身的预置关键字逐个调用匹配函数进行匹配,并将匹配函数所使用的关键字 作为待测程序在匹配第一测试短信时调用的预置关键字。

举例来说,待测程序在执行过程中可监控Sms Message(短信)类的createFromPdu() 函数,并从Pdus对象中获得实际存储了短信的Sms Message对象,然后监控Sms Message 对象的getOriginatingAddress()函数和getMessageBody()函数,以获取待测程序所匹配的 手机号码关键字和短信内容关键字,例如,如果监控到 getOriginatingAddress().contains("1111"),就是匹配测试短信的号码是否为1111,可获取 到关键字"1111",如果监控到getMessageBody().contains("哪儿"),就是匹配测试短信中 是否包含关键字"哪儿",则可获取关键字"哪儿"。

在本发明的一个实施例中,处理器可根据获取的每个预置关键字分别生成一个第二 测试短信,并由第二模拟器或者Dalvik虚拟机调试监控服务发送至第一设备。当第一设 备接收到包含预置关键字的第二测试短信之后,待测程序在进行关键字匹配时,就会在 第二测试短信中匹配到相应的预置关键字,并产生相应的行为特征,第一设备可记录待 测程序根据每个第二测试短信产生的行为特征,并将高行为特征添加至待测程序对应的 行为特征集合。其中,根据每个第二测试短信产生的行为特征与每个第二测试短信中的 预置关键字相对应。进而处理器可将待测程序的行为特征集合与预先建立的恶意行为特 征库进行比对,如果待测程序的行为特征集合中的行为特征落入恶意行为特征库中的比 例超过预订阈值,则该待测程序为恶意程序。其中,恶意程序行为特征库可预先建立,其 中的恶意行为特征可通过本发明第一方面实施例的程序的行为特征提取方法对恶意程序 进行分析获得。

根据本发明实施例的客户端,可获取待测程序在匹配第一测试短信是调用的预置关键 字,并进一步获取待测程序的行为特征,从而根据待测程序的行为特征集合与恶意行为特征 库进行比对以分析待测程序是否恶意程序,能够对恶意程序的行为特征的快速有效识别,从 而能够及时处理恶意程序,保证使用终端的用户的信息安全。

在本发明的另一个实施例中,处理器还可用于确定预置关键字之间的逻辑关系,并 根据预置关键字之间的逻辑关系更新行为特征集合,其中,逻辑关系为逻辑或关系或逻 辑与关系中的一种。具体地,处理器可对行为特征集合中的关键字和行为特征进一步进 行分析,以获取预置关键字之间的逻辑关系,从而提高了行为特征集合中的行为特征的准 确性,进而可更精准的识别恶意程序。

如果存在多个预置关键字对应的行为特征相同,则待测程序对此多个预置关键字进 行了逻辑或的匹配,即此多个预置关键字之间为逻辑或关系,并对行为特征集合进行调 整。例如,如果预置关键字A与B对应行为特征如下:

A——行为特征M(或者多个行为特征M1M2M3…)

B——行为特征M(或者多个行为特征M1M2M3…)

则预置关键字A与B为逻辑或的关系,此时,可将行为特征集合调整为:

A or B——行为特征M(或者多个行为特征M1M2M3…)。

在本发明的一个实施例中,可根据其中一个预置关键字X生成一个第三测试短信, 并将第三测试短信发送至第一设备,以监听待测程序是否产生行为特征还是继续进行关 键字匹配,如果待测程序继续进行提取短信内容进行关键字匹配,则记录该再次匹配的 关键字Y。然后根据X和Y一起再次生成测试短信,并发送至第一设备,直到待测程序 不再提取短信内容进行关键字匹配为止。获取最后一次生成的测试短信中的所有的关键 字,则这些关键字为逻辑与的关系,可将行为特征集合调整为:

X and Y and…——行为特征N(或者多个行为特征N1N2N3…)。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施 方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件 来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术 中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻 辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程 门阵列(FPGA)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、 或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含 于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的 是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或 多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本 发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的 范围由权利要求及其等同物限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号