CN104598287B - 恶意程序的检测方法、装置和客户端 - Google Patents

恶意程序的检测方法、装置和客户端 Download PDF

Info

Publication number
CN104598287B
CN104598287B CN201310526994.6A CN201310526994A CN104598287B CN 104598287 B CN104598287 B CN 104598287B CN 201310526994 A CN201310526994 A CN 201310526994A CN 104598287 B CN104598287 B CN 104598287B
Authority
CN
China
Prior art keywords
control object
program
measured
information
behavioural information
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
CN201310526994.6A
Other languages
English (en)
Other versions
CN104598287A (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 CN201310526994.6A priority Critical patent/CN104598287B/zh
Publication of CN104598287A publication Critical patent/CN104598287A/zh
Application granted granted Critical
Publication of CN104598287B publication Critical patent/CN104598287B/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

Abstract

本发明提出一种恶意程序的检测方法、装置和客户端。其中该方法包括以下步骤:获取待测程序的操作界面;提取操作界面中的控件对象,并根据预设的操作策略对控件对象进行触发;以及获取触发控件对象之后待测程序的行为信息,并根据行为信息对待测程序进行恶意程序检测。根据本发明实施例方法,实现了对待测程序是否包含危害行为进行快速有效地识别,同时对包含危害行为的恶意程序的阻断和清除提供了有利依据。

Description

恶意程序的检测方法、装置和客户端
技术领域
本发明涉及移动终端安全领域,尤其涉及一种恶意程序的检测方法、装置和客户端。
背景技术
随着安卓Android等操作系统成为移动互联网的主流操作系统,针对安卓操作系统的恶意程序呈大幅增长趋势。因此,在这种背景下,需要通过恶意程序分析方法,对恶意程序的危害行为进行快速有效的识别。目前,恶意程序的分析方法主要有静态分析方法和动态分析方法两种,其中,动态行为分析方法是根据程序的特征判断其是否可疑,因此具有可以检测特征码未知的程序的特点,是目前国内外反病毒安全领域的研究热点。
在实现本发明过程中,发明人发现现有技术至少存在以下问题:目前动态分析方法不能识别假冒成某种功能软件的恶意程序,例如,一种恶意程序假冒成某个功能软件,诱惑用户进行点击但其实并无实际功能,用户点击后会下载图片或者诱导用户继续点击,极可能会像恶意SP(Service Provider,服务提供商)发送订购短信,消耗用户的资费而用户很难发觉。现有的动态分析方法不能对这类恶意程序的危害行为进行快速有效地识别,并且没有阻断和清除这类恶意程序的依据,导致对恶意程序对用户的危害巨大。
发明内容
本发明实施例旨在至少解决上述技术问题之一。
为此,本发明实施例的第一个目的在于提出一种恶意程序的检测方法。该方法实现了对待测程序是否包含危害行为进行快速有效地识别,同时对包含危害行为的恶意程序的阻断和清除提供了有利依据。
本发明实施例的第二个目的在于提出一种恶意程序的检测装置。
本发明实施例的第三个目的在于提出一种客户端。
为了实现上述目的,本发明第一方面实施例的恶意程序的检测方法,包括以下步骤:获取待测程序的操作界面;提取所述操作界面中的控件对象,并根据预设的操作策略对所述控件对象进行触发;以及获取触发所述控件对象之后所述待测程序的行为信息,并根据所述行为信息对所述待测程序进行恶意程序检测。
根据本发明实施例的恶意程序的检测方法,通过模拟运行待测程序,并在模拟运行待测程序过程中对触发控件对象后的行为信息抓取和记录,并根据行为信息判断待测程序是否为恶意程序。由此,实现了对待测程序是否包含危害行为进行快速有效地识别,同时对包含危害行为的恶意程序的阻断和清除提供了有利依据。
为了实现上述目的,本发明第二方面实施例的恶意程序的检测装置,包括:第一获取模块,用于获取待测程序的操作界面;提取模块,用于提取所述操作界面中的控件对象;触发模块,用于根据预设的操作策略对所述控件对象进行触发;第二获取模块,用于获取触发所述控件对象之后所述待测程序的行为信息;以及检测模块,用于根据所述行为信息对所述待测程序进行恶意程序检测。
根据本发明实施例的恶意程序的检测装置,通过模拟运行待测程序,并在模拟运行待测程序过程中对触发控件对象后的行为信息抓取和记录,并根据行为信息判断待测程序是否为恶意程序。由此,实现了对待测程序是否包含危害行为进行快速有效地识别,同时对包含危害行为的恶意程序的阻断和清除提供了有利依据。
为了实现上述目的,本发明第三方面实施例的客户端,包括:屏幕,处理器和电路板;所述屏幕安置在所述外壳上,所述电路板安置在所述外壳围成的空间内部,所述处理器设置在所述电路板上;所述处理器用于处理数据,并具体用于:获取待测程序的操作界面;提取所述操作界面中的控件对象,并根据预设的操作策略对所述控件对象进行触发;以及获取触发所述控件对象之后所述待测程序的行为信息,并根据所述行为信息对所述待测程序进行恶意程序检测。
根据本发明实施例的客户端,通过模拟运行待测程序,并在模拟运行待测程序过程中对触发控件对象后的行为信息抓取和记录,并根据行为信息判断待测程序是否为恶意程序。由此,实现了对待测程序是否包含危害行为进行快速有效地识别,同时对包含危害行为的恶意程序的阻断和清除提供了有利依据。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1为根据本发明一个实施例的恶意程序的检测方法的流程图;
图2为根据本发明另一个实施例的恶意程序的检测方法的流程图;
图3为根据本发明一个实施例的恶意程序的检测装置的结构示意图;
图4为根据本发明一个具体实施例的恶意程序的检测装置的结构示意图;
图5为根据本发明另一个具体实施例的恶意程序的检测装置的结构示意图;以及
图6为根据本发明又一个具体实施例的恶意程序的检测装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
需要说明的是,本发明的实施例优选适用于移动设备,例如,安卓操作系统(Android系统是一种基于Linux的自由及开放源代码的操作系统)、IOS操作系统(IOS是由苹果公司开发的手持设备操作系统)、Windows Phone操作系统(Windows Phone是微软公司发布的一款手机操作系统)的移动设备,当然也适用于个人计算机以及其他智能移动设备,本发明对此不作限定。
下面参考附图描述根据本发明实施例的恶意程序的检测方法、装置和客户端。
目前,动态检测方法不能识别假冒成某种功能软件的恶意程序。如果在待测程序运行时,通过对待测程序的操作界面进行实时监控,对操作界面上包含关键字信息的控件对象进行点击触发,并记录点击触发后待测程序的相关行为信息,作为待测程序的动态行为特征,并在控件对象触发操作结束后,通过堆栈回溯,将触发的控件对象与触发后的相关行为信息进行关联。由此,可对恶意程序的危害行为进行快速有效地识别,对恶意程序的阻断和清除提供有利的依据,为此本发明提出了一种恶意程序的检测方法。
图1为根据本发明一个实施例的恶意程序的检测方法的流程图。如图1所示,恶意程序的检测方法包括以下步骤。
S101,获取待测程序的操作界面。
在本发明的一个实施例中,在虚拟的环境中加载并运行待测程序。其中,待测程序可为疑似恶意程序的程序。
S102,提取操作界面中的控件对象,并根据预设的操作策略对控件对象进行触发。
在本发明的一个实施例中,获取控件对象对应的应用程序编程接口API(Application Programming Interface),并通过API获取控件对象对应的关键字信息。具体地,监测运行中的待测程序的操作界面,以获取操作界面中的控件对象,并监测待测程序调用的控件对象相关的应用程序编程接口API,以获取所有控件对象中显示给用户的关键字信息,其中,关键字信息可为例如“继续”、“下载”、“退出”、“取消”等。
在本发明的一个实施例中,对关键字信息进行分析以获取控件对象对应的控件信息,以根据控件信息和预设的操作策略对控件对象进行触发。其中,预设的操作策略可为对获取的关键字信息根据自定义的优先级或者自定义组合进行的点击操作。优选地,可采用深度优先的方法确定多个关键字信息的优先级,例如,如果同时有“下载”和“退出”两个关键字信息,则根据优先级将“下载”设置为预设的操作策略。具体地,对关键字信息通过例如SDK(Software Development Kit,软件开发工具包)工具的调试接口API获取当前操作界面上的控件信息,并根据控件信息和预设的操作策略对控件对象进行触发。其中,如果预设的操作策略为“取消”或者“退出”,则不对控件对象进行触发。
S103,获取触发控件对象之后待测程序的行为信息,并根据行为信息对待测程序进行恶意程序检测。
在本发明的一个实施例中,行为信息包括待测程序调取的系统函数的函数信息和/或系统服务的服务信息。
在本发明的一个实施例中,将行为信息加入行为信息集合,并生成被触发的控件对象与行为信息的关联记录。具体地,控件对象触发后,记录相应的行为信息,将行为信息作为待测程序的动态行为特征加入至行为信息集合中。
在本发明的一个实施例中,将行为信息集合在预设的恶意行为信息库中进行匹配。如果在恶意行为信息库中匹配到行为信息,则判断待测程序为恶意程序。具体地,预设的恶意行为信息库可以预先存储在客户端中,还可以存储在服务器中。其中,恶意行为信息库中存储了之前例如通过动态行为分析获取的已知的恶意行为的恶意代码,还可实时的将通过本发明实施例的方法抓取和记录的恶意行为的恶意代码存储至恶意行为信息库中。通过查询客户端中的恶意行为信息库,或者查询服务器中的恶意行为信息库,可判断出待测程序中是否包含恶意行为,也就是说,判断出待测程序是否为恶意程序。
在本发明的一个实施例中,通过堆栈回朔获取被触发的控件对象与行为信息的关联记录。
根据本发明实施例的恶意程序的检测方法,通过模拟运行待测程序,并在模拟运行待测程序过程中对触发控件对象后的行为信息抓取和记录,并根据行为信息判断待测程序是否为恶意程序。由此,实现了对待测程序是否包含危害行为进行快速有效地识别,同时对包含危害行为的恶意程序的阻断和清除提供了有利依据。
图2为根据本发明另一个实施例的恶意程序的检测方法的流程图。在该实施例中,在触发控件对象并记录待测程序的行为信息之后,新生成的操作界面中有可能还会存在新的控件对象,对新的控件对象进行触发,并记录触发后的行为信息,由此,可以保证对行为信息进行抓取的完整性和准确性。如图2所示,恶意程序的检测方法包括以下步骤。
S201,获取待测程序的操作界面。
在本发明的一个实施例中,在虚拟的环境中加载并运行待测程序。其中,待测程序可为疑似恶意程序的程序。
S202,提取操作界面中的控件对象,并根据预设的操作策略对控件对象进行触发。
在本发明的一个实施例中,获取控件对象对应的应用程序编程接口API(Application Programming Interface),并通过API获取控件对象对应的关键字信息。具体地,监测运行中的待测程序的操作界面,以获取操作界面中的控件对象,并监测待测程序调用的控件对象相关的应用程序编程接口API,以获取所有控件对象中显示给用户的关键字信息,其中,关键字信息可为例如“继续”、“下载”、“退出”、“取消”等。
在本发明的一个实施例中,对关键字信息进行分析以获取控件对象对应的控件信息,以根据控件信息和预设的操作策略对控件对象进行触发。其中,预设的操作策略可为对获取的关键字信息根据自定义的优先级或者自定义组合进行的点击操作。优选地,可采用深度优先的方法确定多个关键字信息的优先级,例如,如果同时有“下载”和“退出”两个关键字信息,则根据优先级将“下载”设置为预设的操作策略。具体地,对关键字信息通过例如SDK(Software Development Kit,软件开发工具包)工具的调试接口API获取当前操作界面上的控件信息,并根据控件信息和预设的操作策略对控件对象进行触发。其中,如果预设的操作策略为“取消”或者“退出”,则不对控件对象进行触发。
S203,获取触发控件对象之后待测程序的行为信息,并将行为信息加入行为信息集。
在本发明的一个实施例中,行为信息包括待测程序调取的系统函数的函数信息和/或系统服务的服务信息。
在本发明的一个实施例中,将行为信息加入行为信息集合,并生成被触发的控件对象与行为信息的关联记录。具体地,控件对象触发后,记录相应的行为信息,将行为信息作为待测程序的动态行为特征加入至行为信息集合中。
在本发明的一个实施例中,将行为信息集合在预设的恶意行为信息库中进行匹配。如果在恶意行为信息库中匹配到行为信息,则判断待测程序为恶意程序。具体地,预设的恶意行为信息库可以预先存储在客户端中,还可以存储在服务器中。其中,恶意行为信息库中存储了之前例如通过动态行为分析获取的已知的恶意行为的恶意代码,还可实时的将通过本发明实施例的方法抓取和记录的恶意行为的恶意代码存储至恶意行为信息库中。通过查询客户端中的恶意行为信息库,或者查询服务器中的恶意行为信息库,可判断出待测程序中是否包含恶意行为,也就是说,判断出待测程序是否为恶意程序。
在本发明的一个实施例中,通过堆栈回朔获取被触发的控件对象与行为信息的关联记录。
S204,获取待测程序下一步的操作界面,并提取下一步的操作界面的控件对象。
在本发明的一个实施例中,如果触发控件后出现了新的操作界面,则监测在新的操作界面中动态生成的控件对象。如果监测到操作界面中生成的控件对象,则提取操作界面中的控件对象,然后继续步骤S205,如果未监测到操作界面中生成的控件对象,则继续步骤S206。
S205,获取触发下一步的操作界面的控件对象之后待测程序的行为信息,并加入行为信息集合。
S206,根据行为信息集合对待测程序进行测试。
在本发明的一个实施例中,通过堆栈回朔获取被触发的控件对象与行为信息的关联记录。
应理解,也就是说,如果监测到触发后的操作界面中存在新的控件对象,则循环重复步骤S202和S203,直到触发后的操作界面中不存在新的控件对象为止。
根据本发明实施例的恶意程序的检测方法,在触发控件对象后获取新生成的操作界面中新的控件对象,并对新的控件对象进行触发,以及记录触发后的行为信息。由此,可以保证对行为信息进行抓取的完整性和准确性,进一步提升了对待测程序中包含危害行为进行快速有效地识别的准确率。
为了实现上述实施例,本发明还提出一种恶意程序的检测装置。
一种程序测试装置,包括:第一获取模块,用于获取待测程序的操作界面;提取模块,用于提取操作界面中的控件对象;触发模块,用于根据预设的操作策略对控件对象进行触发;第二获取模块,用于获取触发控件对象之后待测程序的行为信息;以及检测模块,用于根据行为信息对待测程序进行恶意程序检测。
图3为根据本发明一个实施例的恶意程序的检测装置的结构示意图。如图3所示,恶意程序的检测装置包括:第一获取模块110、提取模块120、触发模块130、第二获取模块140和测试模块150。
具体地,第一获取模块110用于获取待测程序的操作界面。更具体地,在虚拟的环境中加载并运行待测程序。其中,待测程序可为疑似恶意程序的程序。第一获取模块110可在运行待测程序后获取待测程序的操作界面。
提取模块120用于提取操作界面中的控件对象。
触发模块130用于根据预设的操作策略对控件对象进行触发。
第二获取模块140用于获取触发控件对象之后待测程序的行为信息。其中,行为信息包括待测程序调取的系统函数的函数信息和/或系统服务的服务信息。
检测模块150用于根据行为信息对待测程序进行恶意程序检测。
根据本发明实施例的恶意程序的检测装置,通过模拟运行待测程序,并在模拟运行待测程序过程中对触发控件对象后的行为信息抓取和记录,并根据行为信息判断待测程序是否为恶意程序。由此,实现了对待测程序是否包含危害行为进行快速有效地识别,同时对包含危害行为的恶意程序的阻断和清除提供了有利依据。
在本发明的一个实施例中,第一获取模块110还用于获取待测程序下一步的操作界面,并提取下一步的操作界面的控件对象;第二获取模块140还用于获取触发下一步的操作界面的控件对象之后待测程序的行为信息,并加入行为信息集合。具体地,如果触发控件后出现了新的操作界面,则监测在新的操作界面中动态生成的控件对象。如果监测到操作界面中生成的控件对象,则提取模块120提取操作界面中的控件对象,然后第二获取模块140获取触发模块130触发下一步的操作界面的控件对象之后待测程序的行为信息,并加入行为信息集合,如果未监测到操作界面中生成的控件对象,则测试模块150根据行为信息集合对待测程序进行测试。
图4为根据本发明一个具体实施例的恶意程序的检测装置的结构示意图。如图4所示,恶意程序的检测装置包括:第一获取模块110、提取模块120、触发模块130、第二获取模块140、测试模块150、添加模块160和第三获取模块170。
具体地,添加模块160用于将行为信息加入行为信息集合,并生成被触发的控件对象与行为信息的关联记录。更具体地,控件对象触发后,记录相应的行为信息,添加模块160将行为信息作为待测程序的动态行为特征加入至行为信息集合中。
第三获取模块170用于通过堆栈回朔获取被触发的控件对象与行为信息的关联记录。
根据本发明实施例的恶意程序的检测装置,通过模拟运行待测程序,并在模拟运行待测程序过程中对触发控件对象后的行为信息抓取和记录,并根据行为信息判断待测程序是否为恶意程序。由此,实现了对待测程序是否包含危害行为进行快速有效地识别,同时对包含危害行为的恶意程序的阻断和清除提供了有利依据。
图5为根据本发明另一个具体实施例的恶意程序的检测装置的结构示意图。如图5所示,恶意程序的检测装置包括:第一获取模块110、提取模块120、触发模块130、第二获取模块140、测试模块150、添加模块160和第三获取模块170,其中,测试模块150包括:匹配单元151和判断单元152。
具体地,匹配单元151用于将行为信息集合在预设的恶意行为信息库中进行匹配。更具体地,预设的恶意行为信息库可以预先存储在客户端中,还可以存储在服务器中。其中,恶意行为信息库中存储了之前例如通过动态行为分析获取的已知的恶意行为的恶意代码,还可实时的将通过本发明实施例的方法抓取和记录的恶意行为的恶意代码存储至恶意行为信息库中。
判断单元152用于在恶意行为信息库中匹配到行为信息时,判断待测程序为恶意程序。更具体地,通过查询客户端中的恶意行为信息库,或者查询服务器中的恶意行为信息库,判断单元152可判断出待测程序中是否包含恶意行为,也就是说,判断出待测程序是否为恶意程序。
根据本发明实施例的恶意程序的检测装置,可对待测程序是否包含危害行为进行快速有效地识别。
图6为根据本发明又一个具体实施例的恶意程序的检测装置的结构示意图。如图6所示,恶意程序的检测装置包括:第一获取模块110、提取模块120、触发模块130、第二获取模块140、测试模块150、添加模块160和第三获取模块170,其中,测试模块150包括:匹配单元161和判断单元162,触发模块130包括:第一获取单元131、第二获取单元132和分析与触发单元133。
具体地,第一获取单元131用于获取控件对象对应的应用程序编程接口API。在本发明的一个实施例中,第一获取单元131监测运行中的待测程序的操作界面,以获取操作界面中的控件对象,并获取控件对象对应的应用程序编程接口API。
第二获取单元132用于通过API获取控件对象对应的关键字信息。在本发明的一个实施例中,第二获取单元132监测待测程序调用的控件对象相关的应用程序编程接口API,以获取所有控件对象中显示给用户的关键字信息,其中,关键字信息可为例如“继续”、“下载”、“退出”、“取消”等。
分析与触发单元133用于对关键字信息进行分析以获取控件对象对应的控件信息,以根据控件信息和预设的操作策略对控件对象进行触发。其中,预设的操作策略可为对获取的关键字信息根据自定义的优先级或者自定义组合进行的点击操作。优选地,可采用深度优先的方法确定多个关键字信息的优先级,例如,如果同时有“下载”和“退出”两个关键字信息,则根据优先级将“下载”设置为预设的操作策略。在本发明的一个实施例中,分析与触发单元133对关键字信息通过例如SDK(Software Development Kit,软件开发工具包)工具的调试接口API获取当前操作界面上的控件信息,并根据控件信息和预设的操作策略对控件对象进行触发。其中,如果预设的操作策略为“取消”或者“退出”,则分析与触发单元133不对控件对象进行触发。
根据本发明实施例的恶意程序的检测装置,通过获取的API获取控件对象对应的关键字信息,并对关键字信息进行分析以获取控件对象对应的控件信息,可以实现根据控件信息和预设的操作策略对控件对象进行触发。
为了实现上述实施例,本发明还提出一种客户端。
在本发明的一个实施例中,客户端可以是个人计算机PC、笔记本、智能手机、平板电脑、个人数字助理等硬件设备。客户端包括:屏幕,处理器和电路板;屏幕安置在外壳上,电路板安置在外壳围成的空间内部,处理器设置在电路板上;处理器用于处理数据。
具体地,处理器用于执行以下步骤:
S101’,获取待测程序的操作界面。
在本发明的一个实施例中,在虚拟的环境中加载并运行待测程序。其中,待测程序可为疑似恶意程序的程序。
S102’,提取操作界面中的控件对象,并根据预设的操作策略对控件对象进行触发。
在本发明的一个实施例中,获取控件对象对应的应用程序编程接口API(Application Programming Interface),并通过API获取控件对象对应的关键字信息。具体地,监测运行中的待测程序的操作界面,以获取操作界面中的控件对象,并监测待测程序调用的控件对象相关的应用程序编程接口API,以获取所有控件对象中显示给用户的关键字信息,其中,关键字信息可为例如“继续”、“下载”、“退出”、“取消”等。
在本发明的一个实施例中,对关键字信息进行分析以获取控件对象对应的控件信息,以根据控件信息和预设的操作策略对控件对象进行触发。其中,预设的操作策略可为对获取的关键字信息根据自定义的优先级或者自定义组合进行的点击操作。优选地,可采用深度优先的方法确定多个关键字信息的优先级,例如,如果同时有“下载”和“退出”两个关键字信息,则根据优先级将“下载”设置为预设的操作策略。具体地,对关键字信息通过例如SDK(Software Development Kit,软件开发工具包)工具的调试接口API获取当前操作界面上的控件信息,并根据控件信息和预设的操作策略对控件对象进行触发。其中,如果预设的操作策略为“取消”或者“退出”,则不对控件对象进行触发。
S103’,获取触发控件对象之后待测程序的行为信息,并根据行为信息对待测程序进行恶意程序检测。
在本发明的一个实施例中,行为信息包括待测程序调取的系统函数的函数信息和/或系统服务的服务信息。
在本发明的一个实施例中,将行为信息加入行为信息集合,并生成被触发的控件对象与行为信息的关联记录。具体地,控件对象触发后,记录相应的行为信息,将行为信息作为待测程序的动态行为特征加入至行为信息集合中。
在本发明的一个实施例中,将行为信息集合在预设的恶意行为信息库中进行匹配。如果在恶意行为信息库中匹配到行为信息,则判断待测程序为恶意程序。具体地,预设的恶意行为信息库可以预先存储在客户端中,还可以存储在服务器中。其中,恶意行为信息库中存储了之前例如通过动态行为分析获取的已知的恶意行为的恶意代码,还可实时的将通过本发明实施例的方法抓取和记录的恶意行为的恶意代码存储至恶意行为信息库中。通过查询客户端中的恶意行为信息库,或者查询服务器中的恶意行为信息库,可判断出待测程序中是否包含恶意行为,也就是说,判断出待测程序是否为恶意程序。
在本发明的一个实施例中,通过堆栈回朔获取被触发的控件对象与行为信息的关联记录。
根据本发明实施例的客户端,通过模拟运行待测程序,并在模拟运行待测程序过程中对触发控件对象后的行为信息抓取和记录,并根据行为信息判断待测程序是否为恶意程序。由此,实现了对待测程序是否包含危害行为进行快速有效地识别,同时对包含危害行为的恶意程序的阻断和清除提供了有利依据。
在本发明的另一个实施例中,如果触发控件后出现了新的操作界面,则监测在新的操作界面中动态生成的控件对象。如果监测到操作界面中生成的控件对象,则提取操作界面中的控件对象,然后获取触发下一步的操作界面的控件对象之后待测程序的行为信息,并加入行为信息集合,如果未监测到操作界面中生成的控件对象,则继续步骤S103’。
应理解,如果监测到触发后的操作界面中存在新的控件对象,则循环重复步骤S102’和S103’,直到触发后的操作界面中不存在新的控件对象为止。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (12)

1.一种恶意程序的检测方法,其特征在于,包括以下步骤:
在虚拟的环境中加载并运行待测程序,获取所述待测程序的操作界面;
提取所述操作界面中的控件对象,并根据预设的操作策略对所述控件对象进行触发,其中,当所述操作界面包括多个控件对象时,获取所述多个控件对象对应的应用程序编程接口API;通过所述API获取所述多个控件对象对应的关键字信息;对所述关键字信息进行分析以获取所述控件对象对应的控件信息,以根据所述控件信息和所述预设的操作策略对所述控件对象进行触发,其中所述预设的操作策略为对获取的关键字信息根据自定义的优先级或者自定义组合进行的点击操作,将所述优先级高的关键字信息的控件对象设置为触发的控件对象;以及
获取触发所述控件对象之后所述待测程序的行为信息,将所述行为信息加入行为信息集合;
获取所述待测程序下一步的操作界面,并提取所述下一步的操作界面的控件对象;
获取触发所述下一步的操作界面的控件对象之后所述待测程序的行为信息,并加入所述行为信息集合;
将所述行为信息集合在预设的恶意行为信息库中进行匹配,如果在恶意行为信息库中匹配到所述行为信息,则判断所述待测程序为恶意程序,所述预设的恶意行为信息库存储了之前通过动态行为分析获取的已知的恶意行为的恶意代码。
2.如权利要求1所述的方法,其特征在于,在所述获取触发控件对象之后所述待测程序的行为信息之后,还包括:
生成所述被触发的控件对象与所述行为信息的关联记录。
3.如权利要求1所述的方法,其特征在于,所述行为信息包括所述待测程序调取的系统函数的函数信息和/或系统服务的服务信息。
4.如权利要求1所述的方法,其特征在于,在所述获取触发所述控件对象之后所述待测程序的行为信息,并加入行为信息集合之后,还包括:
通过堆栈回朔获取所述被触发的控件对象与所述行为信息的关联记录。
5.一种恶意程序的检测装置,其特征在于,包括:
第一获取模块,用于在虚拟的环境中加载并运行待测程序,获取所述待测程序的操作界面;
提取模块,用于提取所述操作界面中的控件对象;
触发模块,用于根据预设的操作策略对所述控件对象进行触发,其中,所述触发模块包括:第一获取单元,用于当所述操作界面包括多个控件对象时,获取所述多个控件对象对应的应用程序编程接口API;第二获取单元,用于通过所述API获取所述多个控件对象对应的关键字信息;分析与触发单元,用于对所述关键字信息进行分析以获取所述控件对象对应的控件信息,以根据所述控件信息和所述预设的操作策略对所述控件对象进行触发,其中所述预设的操作策略为对获取的关键字信息根据自定义的优先级或者自定义组合进行的点击操作,将所述优先级高的关键字信息的控件对象设置为触发的控件对象;
第二获取模块,用于获取触发所述控件对象之后所述待测程序的行为信息;
添加模块,用于将所述行为信息加入行为信息集合;
所述第一获取模块还用于获取所述待测程序下一步的操作界面,并提取所述下一步的操作界面的控件对象;
第二获取模块还用于获取触发所述下一步的操作界面的控件对象之后所述待测程序的行为信息;并加入所述行为信息集合;以及
检测模块,所述检测模块包括:匹配单元,用于将所述行为信息集合在预设的恶意行为信息库中进行匹配;以及判断单元,用于在恶意行为信息库中匹配到所述行为信息时,判断所述待测程序为恶意程序,所述预设的恶意行为信息库存储了之前通过动态行为分析获取的已知的恶意行为的恶意代码。
6.如权利要求5所述的恶意程序的检测装置,其特征在于,所述添加模块,还用于生成所述被触发的控件对象与所述行为信息的关联记录。
7.如权利要求5所述的恶意程序的检测装置,其特征在于,所述行为信息包括所述待测程序调取的系统函数的函数信息和/或系统服务的服务信息。
8.如权利要求5所述的恶意程序的检测装置,其特征在于,还包括:
第三获取模块,用于通过堆栈回朔获取所述被触发的控件对象与所述行为信息的关联记录。
9.一种客户端,其特征在于,包括:屏幕,处理器和电路板;
所述屏幕安置在外壳上,所述电路板安置在所述外壳围成的空间内部,所述处理器设置在所述电路板上;
所述处理器用于处理数据,并具体用于:
在虚拟的环境中加载并运行待测程序,获取所述待测程序的操作界面;
提取所述操作界面中的控件对象,并根据预设的操作策略对所述控件对象进行触发,其中,当所述操作界面包括多个控件对象时,获取所述多个控件对象对应的应用程序编程接口API;通过所述API获取所述多个控件对象对应的关键字信息;对所述关键字信息进行分析以获取所述控件对象对应的控件信息,以根据所述控件信息和所述预设的操作策略对所述控件对象进行触发,其中所述预设的操作策略为对获取的关键字信息根据自定义的优先级或者自定义组合进行的点击操作,将所述优先级高的关键字信息的控件对象设置为触发的控件对象;以及
获取触发所述控件对象之后所述待测程序的行为信息,将所述行为信息加入行为信息集合;
获取所述待测程序下一步的操作界面,并提取所述下一步的操作界面的控件对象;
获取触发所述下一步的操作界面的控件对象之后所述待测程序的行为信息,并加入所述行为信息集合;
将所述行为信息集合在预设的恶意行为信息库中进行匹配,如果在恶意行为信息库中匹配到所述行为信息,则判断所述待测程序为恶意程序,所述预设的恶意行为信息库存储了之前通过动态行为分析获取的已知的恶意行为的恶意代码。
10.如权利要求9所述的客户端,其特征在于,在所述获取触发控件对象之后所述待测程序的行为信息之后,所述处理器还用于:
生成所述被触发的控件对象与所述行为信息的关联记录。
11.如权利要求9所述的客户端,其特征在于,所述行为信息包括所述待测程序调取的系统函数的函数信息和/或系统服务的服务信息。
12.如权利要求9所述的客户端,其特征在于,在所述获取触发所述控件对象之后所述待测程序的行为信息,并加入行为信息集合之后,所述处理器还用于:
通过堆栈回朔获取所述被触发的控件对象与所述行为信息的关联记录。
CN201310526994.6A 2013-10-30 2013-10-30 恶意程序的检测方法、装置和客户端 Active CN104598287B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310526994.6A CN104598287B (zh) 2013-10-30 2013-10-30 恶意程序的检测方法、装置和客户端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310526994.6A CN104598287B (zh) 2013-10-30 2013-10-30 恶意程序的检测方法、装置和客户端

Publications (2)

Publication Number Publication Date
CN104598287A CN104598287A (zh) 2015-05-06
CN104598287B true CN104598287B (zh) 2019-02-12

Family

ID=53124105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310526994.6A Active CN104598287B (zh) 2013-10-30 2013-10-30 恶意程序的检测方法、装置和客户端

Country Status (1)

Country Link
CN (1) CN104598287B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104881364A (zh) * 2015-06-26 2015-09-02 上海斐讯数据通信技术有限公司 应用于安卓系统的自动化测试方法及系统
US10489593B2 (en) * 2017-06-27 2019-11-26 Symantec Corporation Mitigation of malicious actions associated with graphical user interface elements
CN109731339B (zh) * 2018-12-17 2022-04-12 福建天晴数码有限公司 检测外挂的方法、存储介质
CN109829300A (zh) * 2019-01-02 2019-05-31 广州大学 App动态深度恶意行为检测装置、方法及系统
CN110704709B (zh) * 2019-08-27 2021-01-26 北京金堤科技有限公司 应用数据抓取方法和装置、存储介质、电子设备
CN112528280A (zh) * 2021-02-08 2021-03-19 北京微步在线科技有限公司 一种文件检测方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136471A (zh) * 2011-11-25 2013-06-05 中国科学院软件研究所 一种恶意Android应用程序检测方法和系统
CN103186740A (zh) * 2011-12-27 2013-07-03 北京大学 一种Android恶意软件的自动化检测方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013065114A (ja) * 2011-09-15 2013-04-11 Fujitsu Ltd 情報処理システムの制御方法、中継装置の制御プログラム及びクライアント装置の制御プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136471A (zh) * 2011-11-25 2013-06-05 中国科学院软件研究所 一种恶意Android应用程序检测方法和系统
CN103186740A (zh) * 2011-12-27 2013-07-03 北京大学 一种Android恶意软件的自动化检测方法

Also Published As

Publication number Publication date
CN104598287A (zh) 2015-05-06

Similar Documents

Publication Publication Date Title
CN104598287B (zh) 恶意程序的检测方法、装置和客户端
Ham et al. Analysis of android malware detection performance using machine learning classifiers
Shabtai et al. Intrusion detection for mobile devices using the knowledge-based, temporal abstraction method
CN104598824B (zh) 一种恶意程序检测方法及其装置
Canfora et al. Acquiring and analyzing app metrics for effective mobile malware detection
Kapratwar et al. Static and dynamic analysis of android malware
CN106709325B (zh) 一种监控程序的方法及装置
Shabtai et al. Applying behavioral detection on android-based devices
US11882134B2 (en) Stateful rule generation for behavior based threat detection
Chaba et al. Malware detection approach for android systems using system call logs
CN104809397A (zh) 一种基于动态监控的Android恶意软件的检测方法及系统
US20170308701A1 (en) Methods and Systems for Intelligently Detecting Malware and Attacks on Client Computing Devices and Corporate Networks
CN110417768B (zh) 一种僵尸网络的跟踪方法及装置
CN105095759A (zh) 文件的检测方法及装置
CN103268448B (zh) 动态检测移动应用的安全性的方法和系统
Dai et al. Behavior-based malware detection on mobile phone
Malisa et al. Mobile application impersonation detection using dynamic user interface extraction
CN102012988A (zh) 自动二进制恶意代码行为分析方法
Zhang et al. ScanMe mobile: a cloud-based Android malware analysis service
Lopes et al. Overview of machine learning methods for Android malware identification
Casolare et al. On the resilience of shallow machine learning classification in image-based malware detection
Guo et al. Behavior Classification based Self-learning Mobile Malware Detection.
CN106302531A (zh) 安全防护方法、装置及终端设备
Lin et al. Three‐phase behavior‐based detection and classification of known and unknown malware
Sharma et al. Survey for detection and analysis of android malware (s) through artificial intelligence techniques

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

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.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant