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

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

Info

Publication number
CN104598814B
CN104598814B CN201310528918.9A CN201310528918A CN104598814B CN 104598814 B CN104598814 B CN 104598814B CN 201310528918 A CN201310528918 A CN 201310528918A CN 104598814 B CN104598814 B CN 104598814B
Authority
CN
China
Prior art keywords
short message
program
measured
behavioural characteristic
test short
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310528918.9A
Other languages
English (en)
Other versions
CN104598814A (zh
Inventor
林坚明
张楠
陈勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Liebao Network Technology Co Ltd
Beijing Cheetah Mobile Technology Co Ltd
Original Assignee
Beijing Liebao Network Technology Co Ltd
Beijing Cheetah Mobile Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Liebao Network Technology Co Ltd, Beijing Cheetah Mobile Technology Co Ltd filed Critical Beijing Liebao Network Technology Co Ltd
Priority to CN201310528918.9A priority Critical patent/CN104598814B/zh
Priority to PCT/CN2014/084209 priority patent/WO2015062336A1/zh
Publication of CN104598814A publication Critical patent/CN104598814A/zh
Application granted granted Critical
Publication of CN104598814B publication Critical patent/CN104598814B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/128Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

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

Description

程序的行为特征提取方法、恶意程序的检测方法及其装置
技术领域
本发明涉及终端安全领域,尤其涉及一种程序的行为特征提取方法、装置和客户端以及恶意程序的检测方法、装置和客户端。
背景技术
随着智能移动终端的不断发展,针对智能移动终端的恶意程序也大幅增长。恶意程序可被添加至各种移动应用中,当移动终端安装了具有恶意程序的移动应用后,恶意程序会在后台运行,并根据接收到的短信指令进行相应的操作,如收集并上传用户位置信息或通讯录等数据、向固定号码拨打电话或更改用户设置等,给用户带来极大安全隐患。目前,可通过静态分析技术对程序包名以及其他静态特征进行分析,判断程序类型。还可通过动态分析技术获取程序在虚拟机中运行时产生的行为特征,并据此对恶意程序进行识别。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:当恶意程序被加密或者进行变种后,无法通过静态分析技术准确识别出该恶意程序。同时,对于远程控制的恶意程序,如通过短信指令控制的恶意程序,其行为特征会根据不同的远程控制指令而不同,现有的动态分析技术则无法对此种恶意程序的行为特征进行有效分析,用户的数据安全仍然存在安全隐患。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的第一个目的在于提出一种程序的行为特征提取方法。该方法能够实现对恶意程序的行为特征进行快速有效的识别,同时对包含危害行为的恶意程序的阻断和清除提供了有利依据。
本发明的第二个目的在于提出一种程序的行为特征提取装置。
本发明的第三个目的在于提出一种客户端。
本发明的第四个目的在于提出一种恶意程序的检测方法。
本发明的第五个目的在于提出一种恶意程序的检测装置。
本发明的第六个目的在于提出另一种客户端。
为了实现上述目的,本发明第一方面实施例的程序的行为特征提取方法包括以下步骤:运行待测程序;接收第一测试短信,并获取所述待测程序在匹配所述第一测试短信时调用的预置关键字;以及根据所述预置关键字生成第二测试短信,并提取所述程序根据所述第二测试短信产生的行为特征,并将所述行为特征添加至所述程序对应的行为特征集合。
根据本发明实施例的程序的行为特征提取方法,可获取待测程序在匹配第一测试短信是调用的预置关键字,进而根据预置关键字生成第二测试短信,并获取该待测程序根据第二测试短信产生的行为特征,因此,该方法能够获取恶意程序的行为特征以建立恶意行为特征库,从而实现对恶意程序的行为特征进行快速有效的识别,同时对包含危害行为的恶意程序的阻断和清除提供了有利依据。
为了实现上述目的,本发明第二方面实施例的程序的行为特征提取装置,包括:程序运行模块,用于运行待测程序;接收模块,用于接收第一测试短信;获取模块,用于获取所述待测程序在匹配所述第一测试短信时调用的预置关键字;生成模块,用于根据所述预置关键字生成第二测试短信;以及提取模块,用于提取所述程序根据所述第二测试短信产生的行为特征,并将所述行为特征添加至所述程序对应的行为特征集合。
根据本发明实施例的程序的行为特征提取装置,可获取待测程序在匹配第一测试短信是调用的预置关键字,进而根据预置关键字生成第二测试短信,并获取该待测程序根据第二测试短信产生的行为特征,因此,该方法能够获取恶意程序的行为特征以建立恶意行为特征库,从而实现对恶意程序的行为特征进行快速有效的识别,同时对包含危害行为的恶意程序的阻断和清除提供了有利依据。
为了实现上述目的,本发明第三方面实施例的客户端,包括:外壳,屏幕,处理器和电路板;所述屏幕安置在所述外壳上,所述电路板安置在所述外壳围成的空间内部,所述处理器设置在所述电路板上;所述处理器用于处理数据,并具体用于:运行待测程序;接收第一测试短信,并获取所述待测程序在匹配所述第一测试短信时调用的预置关键字;以及根据所述预置关键字生成第二测试短信,并提取所述程序根据所述第二测试短信产生的行为特征,并将所述行为特征添加至所述程序对应的行为特征集合。
根据本发明实施例的客户端,可获取待测程序在匹配第一测试短信是调用的预置关键字,进而根据预置关键字生成第二测试短信,并获取该待测程序根据第二测试短信产生的行为特征,因此,该方法能够获取恶意程序的行为特征以建立恶意行为特征库,从而实现对恶意程序的行为特征进行快速有效的识别,同时对包含危害行为的恶意程序的阻断和清除提供了有利依据。
为了实现上述目的,本发明第四方面实施例的恶意程序的检测方法,包括一下步骤:运行待测程序;接收第一测试短信,其中,所述第一测试短信是由所述移动终端以外的设备发送的;获取所述待测程序在匹配所述第一测试短信时调用的预置关键字;根据所述预置关键字生成第二测试短信,并提取所述待测程序根据所述第二测试短信产生的行为特征,并将所述行为特征添加至所述待测程序对应的行为特征集合;以及将所述行为特征集合与恶意行为特征库进行匹配以检测所述待测程序是否为恶意程序。
根据本发明实施例的恶意程序的检测方法,可获取待测程序在匹配第一测试短信是调用的预置关键字,并进一步获取待测程序的行为特征,从而根据待测程序的行为特征动态分析待测程序是否恶意程序,实现了对恶意程序的行为特征的快速有效识别,同时为阻断和清除包含危害行为的恶意程序的提供了有利依据。
为了实现上述目的,本发明第五方面实施例的恶意程序的检测装置,包括:程序运行模块,用于运行待测程序;接收模块,用于接收第一测试短信,其中,所述第一测试短信是由所述移动终端以外的设备发送的;获取模块,用于获取所述待测程序在匹配所述第一测试短信时调用的预置关键字;生成模块,用于根据所述预置关键字生成所述第二测试短信;提取模块,用于提取所述待测程序根据所述第二测试短信产生的行为特征,并将所述行为特征添加至所述待测程序对应的行为特征集合;以及检测模块,用于将所述行为特征集合与恶意行为特征库进行匹配以检测所述待测程序是否为恶意程序。
根据本发明实施例的恶意程序的检测装置,可获取待测程序在匹配第一测试短信是调用的预置关键字,并进一步获取待测程序的行为特征,从而根据待测程序的行为特征动态分析待测程序是否恶意程序,实现了对恶意程序的行为特征的快速有效识别,同时为阻断和清除包含危害行为的恶意程序的提供了有利依据。
为了实现上述目的,本发明第六方面实施例的客户端,包括:外壳,屏幕,处理器和电路板;所述屏幕安置在所述外壳上,所述电路板安置在所述外壳围成的空间内部,所述处理器设置在所述电路板上;所述处理器用于处理数据,并具体用于:运行待测程序;接收第一测试短信,其中,所述第一测试短信是由所述移动终端以外的设备发送的;获取所述待测程序在匹配所述第一测试短信时调用的预置关键字;根据所述预置关键字生成第二测试短信,并提取所述待测程序根据所述第二测试短信产生的行为特征,并将所述行为特征添加至所述待测程序对应的行为特征集合;以及将所述行为特征集合与恶意行为特征库进行匹配以检测所述待测程序是否为恶意程序。
根据本发明实施例的客户端,可获取待测程序在匹配第一测试短信是调用的预置关键字,并进一步获取待测程序的行为特征,从而根据待测程序的行为特征动态分析待测程序是否恶意程序,实现了对恶意程序的行为特征的快速有效识别,同时为阻断和清除包含危害行为的恶意程序的提供了有利依据。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图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 ProgrammingInterface,应用程序编程接口)。
在本发明的实施例中,在该待测程序执行过程中,可监控该待测程序针对第一测试短信调用的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)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (18)

1.一种程序的行为特征提取方法,其特征在于,包括以下步骤:
运行待测程序;
接收第一测试短信,并获取所述待测程序在匹配所述第一测试短信时调用的预置关键字,其中,所述第一测试短信为根据已知的不同恶意程序的预置关键字创建的短信,并且所述第一测试短信的内容与所述不同恶意程序的预置关键字均不相关;以及
根据所述预置关键字生成第二测试短信,并提取所述待测程序根据所述第二测试短信产生的行为特征,并将所述行为特征添加至所述待测程序对应的行为特征集合,以建立恶意行为特征库,其中,根据每个预置关键字分别生成一个第二测试短信,根据每个第二测试短信产生的行为特征与每个第二测试短信中的预置关键字相对应。
2.如权利要求1所述的方法,其特征在于,所述获取待测程序在匹配所述第一测试短信时调用的预置关键字进一步包括:
监控所述待测程序针对所述第一测试短信调用的应用程序编程接口API;
当根据所述API判断所述待测程序调用广播接收器对所述第一测试短信进行监听时,获取所述广播接收器所使用的匹配函数;以及
对所述匹配函数所使用的关键字进行监听,并将监听到的关键字作为所述待测程序在匹配所述第一测试短信时调用的预置关键字。
3.如权利要求1所述的方法,其特征在于,在所述提取待测程序根据所述第二测试短信产生的行为特征之后,还包括:
确定所述预置关键字之间的逻辑关系,并根据所述逻辑关系更新所述行为特征集合,其中,所述逻辑关系为逻辑或关系或逻辑与关系中的一种。
4.一种程序的行为特征提取装置,其特征在于,包括:
程序运行模块,用于运行待测程序;
接收模块,用于接收第一测试短信,其中,所述第一测试短信为根据已知的不同恶意程序的预置关键字创建的短信,并且所述第一测试短信的内容与所述不同恶意程序的预置关键字均不相关;
获取模块,用于获取所述待测程序在匹配所述第一测试短信时调用的预置关键字;
生成模块,用于根据所述预置关键字生成第二测试短信;以及
提取模块,用于提取所述待测程序根据所述第二测试短信产生的行为特征,并将所述行为特征添加至所述待测程序对应的行为特征集合,以建立恶意行为特征库,其中,根据每个预置关键字分别生成一个第二测试短信,根据每个第二测试短信产生的行为特征与每个第二测试短信中的预置关键字相对应。
5.如权利要求4所述的装置,其特征在于,所述获取模块具体包括:
监控子模块,用于监控所述待测程序针对所述第一测试短信调用的API;
获取子模块,用于在根据所述API判断所述待测程序调用广播接收器对所述第一测试短信进行监听时,获取所述广播接收器所使用的匹配函数;以及
监听子模块,用于对所述匹配函数所使用的关键字进行监听,并将监听到的关键字作为所述待测程序在匹配所述第一测试短信时调用的预置关键字。
6.如权利要求4所述的装置,其特征在于,还包括:
更新模块,用于确定所述预置关键字之间的逻辑关系,并根据所述逻辑关系更新所述行为特征集合,其中,所述逻辑关系为逻辑或关系或逻辑与关系中的一种。
7.一种客户端,其特征在于,包括:外壳,屏幕,处理器和电路板;
所述屏幕安置在所述外壳上,所述电路板安置在所述外壳围成的空间内部,所述处理器设置在所述电路板上;
所述处理器用于处理数据,并具体用于:
运行待测程序;
接收第一测试短信,并获取所述待测程序在匹配所述第一测试短信时调用的预置关键字,其中,所述第一测试短信为根据已知的不同恶意程序的预置关键字创建的短信,并且所述第一测试短信的内容与所述不同恶意程序的预置关键字均不相关;以及
根据所述预置关键字生成第二测试短信,并提取所述待测程序根据所述第二测试短信产生的行为特征,并将所述行为特征添加至所述待测程序对应的行为特征集合,以建立恶意行为特征库,其中,根据每个预置关键字分别生成一个第二测试短信,根据每个第二测试短信产生的行为特征与每个第二测试短信中的预置关键字相对应。
8.如权利要求7所述的客户端,其特征在于,所述处理器在获取所述待测程序在匹配所述第一测试短信时调用的预置关键字时进一步用于:
监控所述待测程序针对所述第一测试短信调用的应用程序编程接口API;
当根据所述API判断所述待测程序调用广播接收器对所述第一测试短信进行监听时,获取所述广播接收器所使用的匹配函数;以及
对所述匹配函数所使用的关键字进行监听,并将监听到的关键字作为所述待测程序在匹配所述第一测试短信时调用的预置关键字。
9.如权利要求7所述的客户端,其特征在于,所述处理器还用于:
确定所述预置关键字之间的逻辑关系,并根据所述逻辑关系更新所述行为特征集合,其中,所述逻辑关系为逻辑或关系或逻辑与关系中的一种。
10.一种恶意程序的检测方法,应用于移动终端,其特征在于,包括以下步骤:
运行待测程序;
接收第一测试短信,其中,所述第一测试短信是由所述移动终端以外的设备发送的,所述第一测试短信为根据已知的不同恶意程序的预置关键字创建的短信,并且所述第一测试短信的内容与所述不同恶意程序的预置关键字均不相关;
获取所述待测程序在匹配所述第一测试短信时调用的预置关键字;
根据所述预置关键字生成第二测试短信,并提取所述待测程序根据所述第二测试短信产生的行为特征,并将所述行为特征添加至所述待测程序对应的行为特征集合,其中,根据每个预置关键字分别生成一个第二测试短信,根据每个第二测试短信产生的行为特征与每个第二测试短信中的预置关键字相对应;以及
将所述行为特征集合与恶意行为特征库进行匹配以检测所述待测程序是否为恶意程序。
11.如权利要求10所述的方法,其特征在于,所述获取待测程序在匹配所述第一测试短信时调用的预置关键字进一步包括:
监控所述待测程序针对所述第一测试短信调用的API;
当根据所述API判断所述待测程序调用广播接收器对所述第一测试短信进行监听时,获取所述广播接收器所使用的匹配函数;以及
对所述匹配函数所使用的关键字进行监听,并将监听到的关键字作为所述待测程序在匹配所述第一测试短信时调用的预置关键字。
12.如权利要求10所述的方法,其特征在于,在所述提取待测程序根据所述第二测试短信产生的行为特征之后,还包括:
确定所述预置关键字之间的逻辑关系,并根据所述逻辑关系更新所述行为特征集合,其中,所述逻辑关系为逻辑或关系或逻辑与关系中的一种。
13.一种恶意程序的检测装置,其特征在于,包括:
程序运行模块,用于运行待测程序;
接收模块,用于接收第一测试短信,其中,所述第一测试短信是由移动终端以外的设备发送的,所述第一测试短信为根据已知的不同恶意程序的预置关键字创建的短信,并且所述第一测试短信的内容与所述不同恶意程序的预置关键字均不相关;
获取模块,用于获取所述待测程序在匹配所述第一测试短信时调用的预置关键字;
生成模块,用于根据所述预置关键字生成第二测试短信;
提取模块,用于提取所述待测程序根据所述第二测试短信产生的行为特征,并将所述行为特征添加至所述待测程序对应的行为特征集合,其中,根据每个预置关键字分别生成一个第二测试短信,根据每个第二测试短信产生的行为特征与每个第二测试短信中的预置关键字相对应;以及
检测模块,用于将所述行为特征集合与恶意行为特征库进行匹配以检测所述待测程序是否为恶意程序。
14.如权利要求13所述的装置,其特征在于,所述获取模块具体包括:
监控子模块,用于监控所述待测程序针对所述第一测试短信调用的API;
获取子模块,用于在根据所述API判断所述待测程序调用广播接收器对所述第一测试短信进行监听时,获取所述广播接收器所使用的匹配函数;以及
监听子模块,用于对所述匹配函数所使用的关键字进行监听,并将监听到的关键字作为所述待测程序在匹配所述第一测试短信时调用的预置关键字。
15.如权利要求13所述的装置,其特征在于,还包括:
更新模块,用于确定所述预置关键字之间的逻辑关系,并根据所述逻辑关系更新所述行为特征集合,其中,所述逻辑关系为逻辑或关系或逻辑与关系中的一种。
16.一种客户端,其特征在于,包括:外壳,屏幕,处理器和电路板;
所述屏幕安置在所述外壳上,所述电路板安置在所述外壳围成的空间内部,所述处理器设置在所述电路板上;
所述处理器用于处理数据,并具体用于:
运行待测程序;
接收第一测试短信,其中,所述第一测试短信是由所述客户端以外的设备发送的,所述第一测试短信为根据已知的不同恶意程序的预置关键字创建的短信,并且所述第一测试短信的内容与所述不同恶意程序的预置关键字均不相关;
获取所述待测程序在匹配所述第一测试短信时调用的预置关键字;
根据所述预置关键字生成第二测试短信,并提取所述待测程序根据所述第二测试短信产生的行为特征,并将所述行为特征添加至所述待测程序对应的行为特征集合,其中,根据每个预置关键字分别生成一个第二测试短信,根据每个第二测试短信产生的行为特征与每个第二测试短信中的预置关键字相对应;以及
将所述行为特征集合与恶意行为特征库进行匹配以检测所述待测程序是否为恶意程序。
17.如权利要求16所述的客户端,其特征在于,所述处理器在获取所述待测程序在匹配所述第一测试短信时调用的预置关键字时进一步用于:
监控所述待测程序针对所述第一测试短信调用的API;
当根据所述API判断所述待测程序调用广播接收器对所述第一测试短信进行监听时,获取所述广播接收器所使用的匹配函数;以及
对所述匹配函数所使用的关键字进行监听,并将监听到的关键字作为所述待测程序在匹配所述第一测试短信时调用的预置关键字。
18.如权利要求16所述的客户端,其特征在于,所述处理器还用于:
确定所述预置关键字之间的逻辑关系,并根据所述逻辑关系更新所述行为特征集合,其中,所述逻辑关系为逻辑或关系或逻辑与关系中的一种。
CN201310528918.9A 2013-10-30 2013-10-30 程序的行为特征提取方法、恶意程序的检测方法及其装置 Active CN104598814B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310528918.9A CN104598814B (zh) 2013-10-30 2013-10-30 程序的行为特征提取方法、恶意程序的检测方法及其装置
PCT/CN2014/084209 WO2015062336A1 (zh) 2013-10-30 2014-08-12 程序的行为特征提取方法、恶意程序的检测方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310528918.9A CN104598814B (zh) 2013-10-30 2013-10-30 程序的行为特征提取方法、恶意程序的检测方法及其装置

Publications (2)

Publication Number Publication Date
CN104598814A CN104598814A (zh) 2015-05-06
CN104598814B true CN104598814B (zh) 2019-04-26

Family

ID=53003279

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310528918.9A Active CN104598814B (zh) 2013-10-30 2013-10-30 程序的行为特征提取方法、恶意程序的检测方法及其装置

Country Status (2)

Country Link
CN (1) CN104598814B (zh)
WO (1) WO2015062336A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009015248A1 (de) * 2009-04-01 2010-10-21 Vodafone Holding Gmbh Testen von in Kommunikationsnetzen betreibbaren Endgeräten und/oder auf diesen Endgeräten laufenden Programmen
CN101605074B (zh) * 2009-07-06 2012-09-26 中国人民解放军信息技术安全研究中心 基于网络通讯行为特征监测木马的方法与系统
CN102902915B (zh) * 2012-09-29 2016-06-29 北京奇虎科技有限公司 对文件行为特征进行检测的系统

Also Published As

Publication number Publication date
WO2015062336A1 (zh) 2015-05-07
CN104598814A (zh) 2015-05-06

Similar Documents

Publication Publication Date Title
CN105989283B (zh) 一种识别病毒变种的方法及装置
US9306889B2 (en) Method and device for processing messages
CN102541729A (zh) 软件安全漏洞检测装置和方法
CN104200155A (zh) 基于苹果手机操作系统iOS保护用户隐私的监测装置和方法
CN103207969A (zh) 检测Android恶意软件的装置以及方法
CN104598815B (zh) 恶意广告程序的识别方法、装置及客户端
CN109446814A (zh) 一种漏洞检测方法及装置
CN105825129B (zh) 一种融合通信中恶意软件鉴别方法和系统
CN105787364B (zh) 任务的自动化测试方法、装置及系统
KR101582601B1 (ko) 액티비티 문자열 분석에 의한 안드로이드 악성코드 검출 방법
CN106934274A (zh) 一种弱口令检测方法、装置及系统
CN104809397A (zh) 一种基于动态监控的Android恶意软件的检测方法及系统
CN108874612B (zh) 一种信息获取的方法、相关设备以及系统
CN111181805B (zh) 一种基于测试用例的微服务测试挡板生成方法及系统
CN103268448B (zh) 动态检测移动应用的安全性的方法和系统
CN104598287B (zh) 恶意程序的检测方法、装置和客户端
CN107729750A (zh) 结合配置信息和硬件特性的安卓模拟器检测方法及装置
CN106301975B (zh) 一种数据检测方法及其装置
KR101256468B1 (ko) 악성 파일 진단 장치 및 방법
CN111353138A (zh) 一种异常用户识别的方法、装置、电子设备及存储介质
CN105095753A (zh) 广播安全检测方法、装置
CN109818972B (zh) 一种工业控制系统信息安全管理方法、装置及电子设备
CN111222181B (zh) Ai模型的监管方法、系统、服务器及存储介质
CN108874658A (zh) 一种沙箱分析方法、装置、电子设备及存储介质
CN104598814B (zh) 程序的行为特征提取方法、恶意程序的检测方法及其装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100041 A-0071 2, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: Beijing cheetah Mobile Technology Co., Ltd.

Applicant after: BEIJING LIEBAO NETWORK TECHNOLOGY CO., LTD.

Address before: 100041 room 3, 3 West well road, Badachu hi tech park, Shijingshan District, Beijing, 1100A

Applicant before: SHELL INTERNET (BEIJING) SECURITY TECHNOLOGY CO., LTD.

Applicant before: Beijing Kingsoft Internet Science and Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant