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

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

Info

Publication number
CN104598287A
CN104598287A CN201310526994.6A CN201310526994A CN104598287A CN 104598287 A CN104598287 A CN 104598287A CN 201310526994 A CN201310526994 A CN 201310526994A CN 104598287 A CN104598287 A CN 104598287A
Authority
CN
China
Prior art keywords
control object
program
behavioural information
measured
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.)
Granted
Application number
CN201310526994.6A
Other languages
English (en)
Other versions
CN104598287B (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.)
Shell Internet Beijing Security Technology Co Ltd
Beijing Kingsoft Internet Science and Technology Co Ltd
Original Assignee
Shell Internet Beijing Security Technology Co Ltd
Beijing Kingsoft Internet Science and 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 Shell Internet Beijing Security Technology Co Ltd, Beijing Kingsoft Internet Science and Technology Co Ltd filed Critical Shell Internet Beijing Security 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

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(ApplicationProgramming Interface),并通过API获取控件对象对应的关键字信息。具体地,监测运行中的待测程序的操作界面,以获取操作界面中的控件对象,并监测待测程序调用的控件对象相关的应用程序编程接口API,以获取所有控件对象中显示给用户的关键字信息,其中,关键字信息可为例如“继续”、“下载”、“退出”、“取消”等。
在本发明的一个实施例中,对关键字信息进行分析以获取控件对象对应的控件信息,以根据控件信息和预设的操作策略对控件对象进行触发。其中,预设的操作策略可为对获取的关键字信息根据自定义的优先级或者自定义组合进行的点击操作。优选地,可采用深度优先的方法确定多个关键字信息的优先级,例如,如果同时有“下载”和“退出”两个关键字信息,则根据优先级将“下载”设置为预设的操作策略。具体地,对关键字信息通过例如SDK(Software Development Kit,软件开发工具包)工具的调试接口API获取当前操作界面上的控件信息,并根据控件信息和预设的操作策略对控件对象进行触发。其中,如果预设的操作策略为“取消”或者“退出”,则不对控件对象进行触发。
S103,获取触发控件对象之后待测程序的行为信息,并根据行为信息对待测程序进行恶意程序检测。
在本发明的一个实施例中,行为信息包括待测程序调取的系统函数的函数信息和/或系统服务的服务信息。
在本发明的一个实施例中,将行为信息加入行为信息集合,并生成被触发的控件对象与行为信息的关联记录。具体地,控件对象触发后,记录相应的行为信息,将行为信息作为待测程序的动态行为特征加入至行为信息集合中。
在本发明的一个实施例中,将行为信息集合在预设的恶意行为信息库中进行匹配。如果在恶意行为信息库中匹配到行为信息,则判断待测程序为恶意程序。具体地,预设的恶意行为信息库可以预先存储在客户端中,还可以存储在服务器中。其中,恶意行为信息库中存储了之前例如通过动态行为分析获取的已知的恶意行为的恶意代码,还可实时的将通过本发明实施例的方法抓取和记录的恶意行为的恶意代码存储至恶意行为信息库中。通过查询客户端中的恶意行为信息库,或者查询服务器中的恶意行为信息库,可判断出待测程序中是否包含恶意行为,也就是说,判断出待测程序是否为恶意程序。
在本发明的一个实施例中,通过堆栈回朔获取被触发的控件对象与行为信息的关联记录。
根据本发明实施例的恶意程序的检测方法,通过模拟运行待测程序,并在模拟运行待测程序过程中对触发控件对象后的行为信息抓取和记录,并根据行为信息判断待测程序是否为恶意程序。由此,实现了对待测程序是否包含危害行为进行快速有效地识别,同时对包含危害行为的恶意程序的阻断和清除提供了有利依据。
图2为根据本发明另一个实施例的恶意程序的检测方法的流程图。在该实施例中,在触发控件对象并记录待测程序的行为信息之后,新生成的操作界面中有可能还会存在新的控件对象,对新的控件对象进行触发,并记录触发后的行为信息,由此,可以保证对行为信息进行抓取的完整性和准确性。如图2所示,恶意程序的检测方法包括以下步骤。
S201,获取待测程序的操作界面。
在本发明的一个实施例中,在虚拟的环境中加载并运行待测程序。其中,待测程序可为疑似恶意程序的程序。
S202,提取操作界面中的控件对象,并根据预设的操作策略对控件对象进行触发。
在本发明的一个实施例中,获取控件对象对应的应用程序编程接口API(ApplicationProgramming 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(ApplicationProgramming Interface),并通过API获取控件对象对应的关键字信息。具体地,监测运行中的待测程序的操作界面,以获取操作界面中的控件对象,并监测待测程序调用的控件对象相关的应用程序编程接口API,以获取所有控件对象中显示给用户的关键字信息,其中,关键字信息可为例如“继续”、“下载”、“退出”、“取消”等。
在本发明的一个实施例中,对关键字信息进行分析以获取控件对象对应的控件信息,以根据控件信息和预设的操作策略对控件对象进行触发。其中,预设的操作策略可为对获取的关键字信息根据自定义的优先级或者自定义组合进行的点击操作。优选地,可采用深度优先的方法确定多个关键字信息的优先级,例如,如果同时有“下载”和“退出”两个关键字信息,则根据优先级将“下载”设置为预设的操作策略。具体地,对关键字信息通过例如SDK(Software Development Kit,软件开发工具包)工具的调试接口API获取当前操作界面上的控件信息,并根据控件信息和预设的操作策略对控件对象进行触发。其中,如果预设的操作策略为“取消”或者“退出”,则不对控件对象进行触发。
S103’,获取触发控件对象之后待测程序的行为信息,并根据行为信息对待测程序进行恶意程序检测。
在本发明的一个实施例中,行为信息包括待测程序调取的系统函数的函数信息和/或系统服务的服务信息。
在本发明的一个实施例中,将行为信息加入行为信息集合,并生成被触发的控件对象与行为信息的关联记录。具体地,控件对象触发后,记录相应的行为信息,将行为信息作为待测程序的动态行为特征加入至行为信息集合中。
在本发明的一个实施例中,将行为信息集合在预设的恶意行为信息库中进行匹配。如果在恶意行为信息库中匹配到行为信息,则判断待测程序为恶意程序。具体地,预设的恶意行为信息库可以预先存储在客户端中,还可以存储在服务器中。其中,恶意行为信息库中存储了之前例如通过动态行为分析获取的已知的恶意行为的恶意代码,还可实时的将通过本发明实施例的方法抓取和记录的恶意行为的恶意代码存储至恶意行为信息库中。通过查询客户端中的恶意行为信息库,或者查询服务器中的恶意行为信息库,可判断出待测程序中是否包含恶意行为,也就是说,判断出待测程序是否为恶意程序。
在本发明的一个实施例中,通过堆栈回朔获取被触发的控件对象与行为信息的关联记录。
根据本发明实施例的客户端,通过模拟运行待测程序,并在模拟运行待测程序过程中对触发控件对象后的行为信息抓取和记录,并根据行为信息判断待测程序是否为恶意程序。由此,实现了对待测程序是否包含危害行为进行快速有效地识别,同时对包含危害行为的恶意程序的阻断和清除提供了有利依据。
在本发明的另一个实施例中,如果触发控件后出现了新的操作界面,则监测在新的操作界面中动态生成的控件对象。如果监测到操作界面中生成的控件对象,则提取操作界面中的控件对象,然后获取触发下一步的操作界面的控件对象之后待测程序的行为信息,并加入行为信息集合,如果未监测到操作界面中生成的控件对象,则继续步骤S103’。
应理解,如果监测到触发后的操作界面中存在新的控件对象,则循环重复步骤S102’和S103’,直到触发后的操作界面中不存在新的控件对象为止。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (21)

1.一种恶意程序的检测方法,其特征在于,包括以下步骤:
获取待测程序的操作界面;
提取所述操作界面中的控件对象,并根据预设的操作策略对所述控件对象进行触发;以及
获取触发所述控件对象之后所述待测程序的行为信息,并根据所述行为信息对所述待测程序进行恶意程序检测。
2.如权利要求1所述的方法,其特征在于,在所述获取触发控件对象之后所述待测程序的行为信息之后,还包括:
将所述行为信息加入行为信息集合,并生成所述被触发的控件对象与所述行为信息的关联记录。
3.如权利要求2所述的方法,其特征在于,所述根据行为信息对所述待测程序进行检测具体包括:
将所述行为信息集合在预设的恶意行为信息库中进行匹配;以及
如果在恶意行为信息库中匹配到所述行为信息,则判断所述待测程序为恶意程序。
4.如权利要求3所述的方法,其特征在于,在所述根据预设的操作策略对所述控件对象进行触发之后,还包括:
获取所述待测程序下一步的操作界面,并提取所述下一步的操作界面的控件对象;
获取触发所述下一步的操作界面的控件对象之后所述待测程序的行为信息,并加入所述行为信息集合。
5.如权利要求1所述的方法,其特征在于,所述根据预设的操作策略对所述控件对象进行触发具体包括:
获取所述控件对象对应的应用程序编程接口API;
通过所述API获取所述控件对象对应的关键字信息;
对所述关键字信息进行分析以获取所述控件对象对应的控件信息,以根据所述控件信息和所述预设的操作策略对所述控件对象进行触发。
6.如权利要求1所述的方法,其特征在于,所述行为信息包括所述待测程序调取的系统函数的函数信息和/或系统服务的服务信息。
7.如权利要求1所述的方法,其特征在于,在所述获取触发所述控件对象之后所述待测程序的行为信息,并加入行为信息集合之后,还包括:
通过堆栈回朔获取所述被触发的控件对象与所述行为信息的关联记录。
8.一种恶意程序的检测装置,其特征在于,包括:
第一获取模块,用于获取待测程序的操作界面;
提取模块,用于提取所述操作界面中的控件对象;
触发模块,用于根据预设的操作策略对所述控件对象进行触发;
第二获取模块,用于获取触发所述控件对象之后所述待测程序的行为信息;以及
检测模块,用于根据所述行为信息对所述待测程序进行恶意程序检测。
9.如权利要求8所述的恶意程序的检测装置,其特征在于,还包括:
添加模块,用于将所述行为信息加入行为信息集合,并生成所述被触发的控件对象与所述行为信息的关联记录。
10.如权利要求9所述的恶意程序的检测装置,其特征在于,所述检测模块包括:
匹配单元,用于将所述行为信息集合在预设的恶意行为信息库中进行匹配;以及
判断单元,用于在恶意行为信息库中匹配到所述行为信息时,判断所述待测程序为恶意程序。
11.如权利要求10所述的恶意程序的检测装置,其特征在于,所述第一获取模块还用于获取所述待测程序下一步的操作界面,并提取所述下一步的操作界面的控件对象;第二获取模块还用于获取触发所述下一步的操作界面的控件对象之后所述待测程序的行为信息,并加入所述行为信息集合。
12.如权利要求8所述的恶意程序的检测装置,其特征在于,所述触发模块包括:
第一获取单元,用于获取所述控件对象对应的应用程序编程接口API;
第二获取单元,用于通过所述API获取所述控件对象对应的关键字信息;
分析与触发单元,用于对所述关键字信息进行分析以获取所述控件对象对应的控件信息,以根据所述控件信息和所述预设的操作策略对所述控件对象进行触发。
13.如权利要求8所述的恶意程序的检测装置,其特征在于,所述行为信息包括所述待测程序调取的系统函数的函数信息和/或系统服务的服务信息。
14.如权利要求8所述的恶意程序的检测装置,其特征在于,还包括:
第三获取模块,用于通过堆栈回朔获取所述被触发的控件对象与所述行为信息的关联记录。
15.一种客户端,其特征在于,包括:屏幕,处理器和电路板;
所述屏幕安置在所述外壳上,所述电路板安置在所述外壳围成的空间内部,所述处理器设置在所述电路板上;
所述处理器用于处理数据,并具体用于:
获取待测程序的操作界面;
提取所述操作界面中的控件对象,并根据预设的操作策略对所述控件对象进行触发;以及
获取触发所述控件对象之后所述待测程序的行为信息,并根据所述行为信息对所述待测程序进行恶意程序检测。
16.如权利要求15所述的客户端,其特征在于,在所述获取触发控件对象之后所述待测程序的行为信息之后,所述处理器还用于:
将所述行为信息加入行为信息集合,并生成所述被触发的控件对象与所述行为信息的关联记录。
17.如权利要求16所述的客户端,其特征在于,所述根据行为信息对所述待测程序进行检测具体包括:
将所述行为信息集合在预设的恶意行为信息库中进行匹配;以及
如果在恶意行为信息库中匹配到所述行为信息,则判断所述待测程序为恶意程序。
18.如权利要求17所述的客户端,其特征在于,在所述根据预设的操作策略对所述控件对象进行触发之后,所述处理器还用于:
获取所述待测程序下一步的操作界面,并提取所述下一步的操作界面的控件对象;
获取触发所述下一步的操作界面的控件对象之后所述待测程序的行为信息,并加入所述行为信息集合。
19.如权利要求15所述的客户端,其特征在于,所述根据预设的操作策略对所述控件对象进行触发具体包括:
获取所述控件对象对应的应用程序编程接口API;
通过所述API获取所述控件对象对应的关键字信息;
对所述关键字信息进行分析以获取所述控件对象对应的控件信息,以根据所述控件信息和所述预设的操作策略对所述控件对象进行触发。
20.如权利要求15所述的客户端,其特征在于,所述行为信息包括所述待测程序调取的系统函数的函数信息和/或系统服务的服务信息。
21.如权利要求15所述的客户端,其特征在于,在所述获取触发所述控件对象之后所述待测程序的行为信息,并加入行为信息集合之后,所述处理器还用于:
通过堆栈回朔获取所述被触发的控件对象与所述行为信息的关联记录。
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 true CN104598287A (zh) 2015-05-06
CN104598287B 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)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104881364A (zh) * 2015-06-26 2015-09-02 上海斐讯数据通信技术有限公司 应用于安卓系统的自动化测试方法及系统
CN109731339A (zh) * 2018-12-17 2019-05-10 福建天晴数码有限公司 检测外挂的方法、存储介质
CN109791588A (zh) * 2017-06-27 2019-05-21 赛门铁克公司 缓解与图形用户界面元素相关联的恶意动作
CN109829300A (zh) * 2019-01-02 2019-05-31 广州大学 App动态深度恶意行为检测装置、方法及系统
CN110704709A (zh) * 2019-08-27 2020-01-17 北京金堤科技有限公司 应用数据抓取方法和装置、存储介质、电子设备
CN112528280A (zh) * 2021-02-08 2021-03-19 北京微步在线科技有限公司 一种文件检测方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130074160A1 (en) * 2011-09-15 2013-03-21 Fujitsu Limited Method of controlling information processing system, computer-readable recording medium storing program for controlling apparatus
CN103136471A (zh) * 2011-11-25 2013-06-05 中国科学院软件研究所 一种恶意Android应用程序检测方法和系统
CN103186740A (zh) * 2011-12-27 2013-07-03 北京大学 一种Android恶意软件的自动化检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130074160A1 (en) * 2011-09-15 2013-03-21 Fujitsu Limited Method of controlling information processing system, computer-readable recording medium storing program for controlling apparatus
CN103136471A (zh) * 2011-11-25 2013-06-05 中国科学院软件研究所 一种恶意Android应用程序检测方法和系统
CN103186740A (zh) * 2011-12-27 2013-07-03 北京大学 一种Android恶意软件的自动化检测方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104881364A (zh) * 2015-06-26 2015-09-02 上海斐讯数据通信技术有限公司 应用于安卓系统的自动化测试方法及系统
CN109791588A (zh) * 2017-06-27 2019-05-21 赛门铁克公司 缓解与图形用户界面元素相关联的恶意动作
CN109791588B (zh) * 2017-06-27 2023-10-13 诺顿身份保护公司 缓解与图形用户界面元素相关联的恶意动作
CN109731339A (zh) * 2018-12-17 2019-05-10 福建天晴数码有限公司 检测外挂的方法、存储介质
CN109731339B (zh) * 2018-12-17 2022-04-12 福建天晴数码有限公司 检测外挂的方法、存储介质
CN109829300A (zh) * 2019-01-02 2019-05-31 广州大学 App动态深度恶意行为检测装置、方法及系统
CN110704709A (zh) * 2019-08-27 2020-01-17 北京金堤科技有限公司 应用数据抓取方法和装置、存储介质、电子设备
CN112528280A (zh) * 2021-02-08 2021-03-19 北京微步在线科技有限公司 一种文件检测方法及装置

Also Published As

Publication number Publication date
CN104598287B (zh) 2019-02-12

Similar Documents

Publication Publication Date Title
Alzaylaee et al. DynaLog: An automated dynamic analysis framework for characterizing android applications
Shabtai et al. Intrusion detection for mobile devices using the knowledge-based, temporal abstraction method
CN104598287A (zh) 恶意程序的检测方法、装置和客户端
KR100926115B1 (ko) 특정 이벤트/조건에서 동작하는 윈도우용 악성 코드탐지를 위한 프로그램 자동 분석 장치 및 방법
KR20090051956A (ko) 악성 코드에 의해 삽입된 동적 연결 라이브러리 검출 장치 및 방법
CN106709325B (zh) 一种监控程序的方法及装置
KR101043299B1 (ko) 악성 코드 탐지 방법, 시스템 및 컴퓨터 판독 가능한 저장매체
KR101266037B1 (ko) 휴대단말에서 악성행위 처리 방법 및 장치
KR20150124370A (ko) 악성 프로세스 행동을 검출하기 위한 방법, 장치 및 시스템
CN103268448B (zh) 动态检测移动应用的安全性的方法和系统
CN104392177A (zh) 基于安卓平台的病毒取证系统及其方法
CN105095759A (zh) 文件的检测方法及装置
CN103902900A (zh) 外部提取式移动终端恶意代码检测装置及方法
Zhang et al. ScanMe mobile: a cloud-based Android malware analysis service
CN106055479A (zh) 一种基于强制执行的Android应用软件测试方法
Ma et al. Detecting GPS information leakage in Android applications
Choi et al. All‐in‐One Framework for Detection, Unpacking, and Verification for Malware Analysis
US20140373158A1 (en) Detecting security vulnerabilities on computing devices
KR101324691B1 (ko) 모바일 악성 행위 어플리케이션 탐지 시스템 및 방법
Yang et al. Execution enhanced static detection of android privacy leakage hidden by dynamic class loading
Costamagna et al. Identifying and evading android sandbox through usage-profile based fingerprints
Wang et al. Droidcontext: identifying malicious mobile privacy leak using context
Shen et al. Toward efficient dynamic analysis and testing for Android malware
CN116170186A (zh) 基于网络流量分析的攻击代码在线检测方法和装置
Moonsamy et al. Android applications: Data leaks via advertising libraries

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