CN102938040A - Android恶意应用程序检测方法、系统及设备 - Google Patents
Android恶意应用程序检测方法、系统及设备 Download PDFInfo
- Publication number
- CN102938040A CN102938040A CN2012103760036A CN201210376003A CN102938040A CN 102938040 A CN102938040 A CN 102938040A CN 2012103760036 A CN2012103760036 A CN 2012103760036A CN 201210376003 A CN201210376003 A CN 201210376003A CN 102938040 A CN102938040 A CN 102938040A
- Authority
- CN
- China
- Prior art keywords
- function
- malicious act
- sensitive
- server
- rule base
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
- H04W12/128—Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
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)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种Android恶意应用程序检测方法、系统及设备,其中检测方法包括:服务器模拟执行Android应用程序,将Android应用程序调用的系统函数的敏感特征信息与敏感数据引入规则库中存储的敏感特征信息进行匹配,将匹配成功的系统函数的变量标记为敏感数据;将含有敏感数据的函数与恶意行为检测规则库中存储的恶意行为特征信息进行匹配,将匹配成功的函数参数标记为恶意行为。采用本发明的技术方案,在不依赖人工分析特征码的前提下实现Android恶意应用程序的检测,减少了技术人员的工作量。
Description
技术领域
本发明涉及恶意应用程序检测技术,具体涉及一种安卓(Android)恶意应用程序检测方法、系统及设备。
背景技术
Android系统作为一种开源的智能手机操作系统,吸引了大量应用程序开发者。由于智能手机中存有大量的用户隐私信息,因此吸引了大量的恶意应用程序涌入应用程序市场,窃取用户的隐私信息;加之各个应用程序市场的监督管理制度和检测方法尚不完善,无法对应用程序的恶意性进行甄别,因此使用户隐私信息大量外泄,给应用程序的使用者蒙受很大损失。
Android恶意应用程序是指在未明确提示用户或未经用户许可的情况下,在用户计算机或其他终端上安装运行,侵犯用户合法权益的软件。主要恶意行为包括:恶意扣费、隐私窃取、远程控制、恶意传播、资费消耗、系统破坏、诱骗欺诈、流氓行为等。
目前针对恶意应用程序的检测方法主要有两种:动态检测方法与静态检测方法。动态检测方法主要通过修改Android模拟器内核对安装的应用程序进行实时检测或者使用符号执行的方法使应用程序按照指定的路径运行,从而得到应用程序的恶意行为。静态分析方法主要是通过分析安卓安装包(AndroidPackage,APK)中的有关文件,比如AndroidManifest.xml、Dalvik字节码文件等,从中抽取部分信息作为关键特征,采用特征匹配的方式完成检测。
动态检测方法依赖于特定的触发条件,无法在短时间内检测完成所有的执行路径;基于特征匹配的方式依赖于特征码数据库,而特征码的获取基本上是靠人工分析的方式,工作量巨大。
发明内容
有鉴于此,本发明的主要目的在于提供一种Android恶意应用程序检测方法、系统及设备,可在不依赖人工分析特征码的前提下实现Android恶意应用程序的检测,大大减少了技术人员的工作量。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种Android恶意应用程序检测方法,该方法包括:
服务器模拟执行Android应用程序,将应用程序调用的系统函数的敏感特征信息与敏感数据引入规则库中存储的敏感特征信息进行匹配,将匹配成功的系统函数的变量标记为敏感数据;
将含有敏感数据的函数与恶意行为检测规则库中存储的恶意行为特征信息进行匹配,将匹配成功的函数参数标记为恶意行为。
上述方案中,该方法还包括:
待服务器模拟Android应用程序的执行结束后,根据与恶意行为检测规则库匹配的结果生成危险行为的详细说明,输出检测报告,并向客户端报告检测结果。
上述方案中,所述服务器模拟Android应用程序的执行之前,该方法还包括:
客户端将待测的Android应用程序的APK文件发送给服务器,服务器解压APK文件,提取出Dalvik字节码文件和AndroidManifest.xml配置文件。
上述方案中,该方法还包括:
服务器反汇编Dalvik字节码文件,并根据Dalvik字节码文件信息构建程序结构,包括:指令结构、基本结构、函数结构、类结构、函数调用图、控制流图;
服务器解析AndroidManifest.xml配置文件获取入口函数名,并从构建的程序结构中找出对应的函数结构,作为模拟执行的入口函数。
上述方案中,所述服务器模拟执行Android应用程序的包括:
服务器从入口函数开始,根据构建出的程序结构,模拟函数的调用序列和函数内指令的执行顺序,并按指令的执行顺序,按顺序模拟每条指令的执行。
上述方案中,该方法还包括:
在模拟指令的执行过程中,服务器收集函数变量的程序状态信息,并利用收集到的变量的程序状态信息,判断动态机制函数实际的调用对象,根据当前对象查找相关响应函数。
本发明还提供了一种Android恶意应用程序检测系统,该系统包括客户端和服务器;其中:
所述客户端,用于将待测的Android应用程序的APK文件发送给服务器;
所述服务器,用于根据客户端发来的APK文件模拟Android应用程序的执行,将Android应用程序调用的系统函数的敏感特征信息与敏感数据引入规则库中存储的敏感特征信息进行匹配,将匹配成功的系统函数的变量标记为敏感数据;同时将含有敏感数据的函数参数与恶意行为检测规则库中存储的恶意行为特征信息进行匹配,将匹配成功的函数参数标记为恶意行为。
上述方案中,所述客户端包括第一通讯模块,用于将待测的Android应用程序的APK文件发送给服务器。
上述方案中,所述服务器包括第二通讯模块、流敏感分析引擎、敏感数据引入规则库和恶意行为检测规则库;其中:
所述第二通讯模块,用于接收客户端发来的APK文件,并将APK文件发送给流敏感分析引擎;
所述流敏感分析引擎,用于根据收到的APK文件模拟Android应用程序的执行,将Android应用程序调用的系统函数的敏感特征信息与敏感数据引入规则库中存储的敏感特征信息进行匹配,将匹配成功的系统函数的变量标记为敏感数据;还用于将含有敏感数据的函数参数与恶意行为检测规则库中存储的恶意行为的检测规则进行匹配,将匹配成功的函数参数标记为恶意行为;
所述敏感数据引入规则库,用于存储敏感特征信息;
所述恶意行为检测规则库,用于存储恶意行为特征信息。
上述方案中,所述流敏感分析引擎包括匹配模块和恶意行为检测器;其中:
所述匹配模块,用于将Android应用程序调用的系统函数的敏感特征信息与敏感数据引入规则库中的敏感特征信息进行匹配,将匹配成功的系统函数的变量标记为敏感数据,将匹配后的数据送入恶意行为检测器进行恶意行为检测;
所述恶意行为检测器,用于将含有敏感数据的函数参数与恶意行为检测规则库中存储的恶意行为特征信息进行匹配,将匹配成功的函数参数标记为恶意行为。
上述方案中,所述服务器还包括危险行为报告器,用于模拟Android应用程序的执行结束后,根据与恶意行为检测规则库匹配的结果生成危险行为的详细说明,输出检测报告,同时将检测报告经第二通讯模块发送给客户端。
上述方案中,所述服务器还包括程序结构构建器和入口函数解析器;其中:
所述程序结构构建器,用于反汇编Dalvik字节码文件,并根据Dalvik字节码文件信息构建程序结构,并将构建好的程序结构发送给流敏感分析引擎;
所述入口函数解析器,用于解析AndroidManifest.xml配置文件获取入口函数名,并从构建的程序结构中找出对应的函数结构作为开始分析的入口函数,并将获得的入口函数发送给流敏感分析引擎。
上述方案中,所述流敏感分析引擎还包括指令模拟器,用于根据程序结构构建器构建出的程序结构,模拟函数的调用序列和函数内指令的执行顺序,从入口函数解析器获得的入口函数开始,按顺序模拟每条指令的执行。
上述方案中,所述流敏感分析引擎还包括程序状态收集器和动态机制连接器;其中:
所述程序状态收集器,用于在指令的模拟执行过程中,收集函数变量的程序状态信息,并将收集到的函数变量的程序状态信息发送给动态机制连接器;
所述动态机制连接器,用于根据程序状态收集器收集到的函数变量的程序状态信息,判断动态机制函数实际的调用对象,根据当前对象查找相关响应函数。
本发明还提供了一种服务器,该服务器包括通讯模块、流敏感分析引擎、敏感数据引入规则库和恶意行为检测规则库;其中:
所述通讯模块,用于接收客户端发来的APK文件,并将APK文件发送给流敏感分析引擎;
所述流敏感分析引擎,用于根据收到的APK文件模拟Android应用程序的执行,将Android应用程序调用的系统函数的敏感特征信息与敏感数据引入规则库中存储的敏感特征信息进行匹配,将匹配成功的系统函数的变量标记为敏感数据;还用于将含有敏感数据的函数参数与恶意行为检测规则库中存储的恶意行为的检测规则进行匹配,将匹配成功的函数参数标记为恶意行为;
所述敏感数据引入规则库,用于存储敏感特征信息;
所述恶意行为检测规则库,用于存储恶意行为特征信息。
上述方案中,所述流敏感分析引擎包括匹配模块和恶意行为检测器;其中:
所述匹配模块,用于将Android应用程序调用的系统函数的敏感特征信息与敏感数据引入规则库中的敏感特征信息进行匹配,将匹配成功的系统函数的变量标记为敏感数据,将匹配后的数据送入恶意行为检测器进行恶意行为检测;
所述恶意行为检测器,用于将含有敏感数据的函数参数与恶意行为检测规则库中存储的恶意行为特征信息进行匹配,将匹配成功的函数参数标记为恶意行为。
上述方案中,该服务器还包括危险行为报告器,用于模拟Android应用程序的执行结束后,根据与恶意行为检测规则库匹配的结果生成危险行为的详细说明,输出检测报告,同时将检测报告经通讯模块发送给客户端。
上述方案中,该服务器还包括程序结构构建器和入口函数解析器;其中:
所述程序结构构建器,用于反汇编Dalvik字节码文件,并根据Dalvik字节码文件信息构建程序结构,并将构建好的程序结构发送给流敏感分析引擎;
所述入口函数解析器,用于解析AndroidManifest.xml配置文件获取入口函数名,并从构建的程序结构中找出对应的函数结构作为开始分析的入口函数,并将获得的入口函数发送给流敏感分析引擎。
上述方案中,所述流敏感分析引擎还包括指令模拟器,用于根据程序结构构建器构建出的程序结构,模拟函数的调用序列和函数内指令的执行顺序,从入口函数解析器获得的入口函数开始,按顺序模拟每条指令的执行。
上述方案中,所述流敏感分析引擎还包括程序状态收集器和动态机制连接器;其中:
所述程序状态收集器,用于在指令的模拟执行过程中,收集函数变量的程序状态信息,并将收集到的函数变量的程序状态信息发送给动态机制连接器;
所述动态机制连接器,用于根据程序状态收集器收集到的函数变量的程序状态信息,判断动态机制函数实际的调用对象,根据当前对象查找相关响应函数。
本发明提供的技术方案,通过模拟执行应用程序,将应用程序调用的系统函数的敏感特征信息与敏感数据引入规则库中存储的敏感特征信息进行匹配,将匹配成功的系统函数的变量标记为敏感数据;将含有敏感数据的函数与恶意行为检测规则库中存储的恶意行为特征信息进行匹配,将匹配成功的函数参数标记为恶意行为。本发明的技术方案不依赖于人工分析获得的特征码数据库,大大减少了技术人员的工作量;不依赖于特定的触发条件,在短时间内便可检测完成所有的执行路径,可准确及时的对应用程序进行恶意行为检测。
附图说明
图1为本发明Android恶意应用程序检测方法流程示意图;
图2为本发明Android恶意应用程序检测系统组成示意图;
图3为本发明实施例提供的Android恶意应用程序检测方法流程示意图;
图4为本发明实施例提供的与敏感数据引入规则库信息匹配的部分代码段示意图;
图5为本发明实施例提供的敏感数据引入规则库中的getDeviceId规则示意图;
图6为本发明实施例提供的与恶意行为检测规则库匹配的发送用户隐私数据部分代码段示意图;
图7为本发明实施例提供的恶意行为检测规则库中的openConnection规则示意图。
具体实施方式
本发明的基本思想是:服务器模拟执行Android应用程序,将应用程序调用的系统函数的敏感特征信息与敏感数据引入规则库中存储的敏感特征信息进行匹配,将匹配成功的系统函数的变量标记为敏感数据;将含有敏感数据的函数与恶意行为检测规则库中存储的恶意行为特征信息进行匹配,将匹配成功的函数参数标记为恶意行为。
下面结合附图及具体实施例对本发明再作进一步的详细说明。
图1为本发明Android恶意应用程序检测方法流程示意图,如图1所示,包括以下步骤:
步骤11:服务器根据客户端发来的Android应用程序的APK文件模拟Android应用程序的执行;
这里,客户端将待测的Android应用程序的APK文件发送给服务器,服务器收到APK文件后,可以通过如WinRAR、APKTOOL.jar等软件解压APK文件,提取出文件内部的Dalvik字节码文件和AndroidManifest.xml配置文件;
这里,所述服务器根据客户端发来的Android应用程序的APK文件模拟Android应用程序的执行包括:
服务器反汇编Dalvik字节码文件,并根据Dalvik字节码文件信息构建程序结构,包括:指令结构、基本结构、函数结构、类结构、函数调用图、控制流图等等;
服务器解析AndroidManifest.xml配置文件获取入口函数名,如提取activity、service、receiver、provider等标签中的“android:name”字段的值作为入口函数名,并从构建的程序结构中找出对应的函数结构,作为模拟执行的入口函数;
服务器从入口函数开始,根据构建出的程序结构,模拟函数的调用序列和函数内指令的执行顺序,并按指令的执行顺序,依次模拟每条指令的执行;
其中,对于过程内分析阶段,所述函数内指令的执行顺序根据控制流图生成,采用图的遍历算法,保证每个基本块至少被执行一次;对于分支,保证每个分支都会执行;对于循环,保证循环体部分的指令至少执行一次;对于过程间分析阶段,所述函数的调用序列根据函数调用图生成,并根据函数调用点的参数类型,计算实际应该被调用的函数;
其中,所述函数的调用序列可利用函数参数的语义信息进行具体分析,如根据函数调用指令,依据函数的使用频率从高到低排列,首先判断函数是否为虚函数或接口调用函数,如果判断的结果为是,则根据this参数的类型查找实际调用的函数;若判断的结果为否,则继续判断是否为用户实现的函数,如果是则进入被调函数内部执行,使用指令模拟器计算出被调函数的指令执行序列;若判断的结果为否,则继续判断是否为动态机制函数,如果是则进入动态机制连接器查找对应的函数,并依次进入执行,否则分析结束。
在模拟指令的执行过程中,服务器收集函数变量的程序状态信息,并利用收集到的变量的程序状态信息,判断动态机制函数实际的调用对象,根据当前对象查找相关响应函数;
这里,所述收集函数变量的程序状态信息包括收集每个变量的类型信息和值信息;对于一些动态机制有关的函数,如接口调用函数、虚函数等等,利用收集到的变量的程序状态信息,判断实际的调用对象,根据实际调用对象查找相关响应函数。
步骤12:在应用程序模拟执行的过程中,服务器将Android应用程序调用的系统函数的敏感特征信息与敏感数据引入规则库中存储的敏感特征信息进行匹配,将匹配成功的系统函数的变量标记为敏感数据;
这里,所述敏感数据引入规则库主要记录了敏感数据的匹配规则,所述敏感数据是指涉及用户隐私或系统安全的一些数据,例如用户的通讯录、地理位置、移动设备号等信息;敏感数据引入规则库中记录着将敏感数据引入到程序的库函数信息,包括函数名、函数所在类名、函数的参数个数、敏感数据引入类型、该函数是否为静态函数、形参列表中的各个参数的污染状态等信息。
发明人发现,待检测应用程序中的恶意行为,包括:发送固定内容的短信给固定号码,在用户不知情的情况下订购SP(Service Provider,服务器提供商)服务,以消耗用户资费;打开固定的URL(Universal Resource Locator,统一资源定位符),以消耗用户资费;执行固定的系统命令,以修改或删除用户文件。其中,所述固定内容的短信、固定号码、固定URL和固定系统命令在待检测应用程序代码中以固定字符串或立即数的敏感数据形式引入危险函数的参数。如此,在模拟执行待检测应用程序时,若待检测应用程序调用函数的敏感特征信息与敏感数据引入规则库中存储的某个危险函数的敏感特征信息匹配,则标识该函数调用为敏感数据,以进行进一步检测,确定该函数调用是否为恶意行为。
步骤13:服务器将含有敏感数据的函数与恶意行为检测规则库中存储的恶意行为特征信息进行匹配,将匹配成功的函数参数标记为恶意行为;
这里,所述恶意行为检测规则库主要记录了对恶意行为的检测规则。恶意行为的触发一般是由一些和程序外部通信的系统函数引起的,比如连接网络、发送短信等。如果在这些函数的调用点发现其参数中含有敏感数据时,则意味着发现了恶意行为;恶意行为检测规则库中主要包括恶意行为名称、恶意行为类型、敏感数据类型列表、危险函数类型列表等信息;
步骤12中,若待检测应用程序调用的系统函数的敏感特征信息与敏感数据引入规则库中存储的敏感特征信息匹配,则确定所述系统函数调用符合恶意行为的初步特征,即:发送固定内容的短信给固定号码、打开固定的URL或执行固定的系统命令,且所述固定内容的短信、固定号码、固定URL和固定系统命令以敏感数据的形式引入危险函数参数,来实施敏感行为。
本步骤中,服务器将待检测应用程序所述敏感行为中被调用系统函数的恶意特征信息与恶意行为检测规则库中存储的恶意行为特征信息进行匹配,以进一步确定所述敏感行为是否为恶意行为,即:发送固定内容的短信给固定号码,是否为向SP订购服务,以消耗用户资费;打开固定的URL,是否为打开网络IP(Internet Protocol,网际互连协议)地址,以造成用户资费的消耗;执行固定的系统命令,是否对用户的文件造成损失。若是,则标识该函数调用为恶意行为,确定待检测应用程序为恶意应用程序。
这里,服务器模拟Android应用程序的执行结束后,生成恶意行为检测报告,详细描述当前恶意行为的触发流程、操作的敏感数据和带来的危害,根据检测到的危险行为按照危险行为类别进行分类,并计算出危险程度及其可能带来的危害,输出该危险行为的调用路径等程序信息,并向客户端发送该检测报告;其中,所述报告可以图形化、可扩展标记语言(Extensible Markup Language,XML)等多种形式表示。
基于上述方法,本发明Android恶意应用程序检测系统如图2所示,系统包括客户端11和服务器12;其中:
所述客户端11,用于将待测的Android应用程序的APK文件发送给服务器12;
所述服务器12,用于根据客户端11发来的APK文件模拟Android应用程序的执行,将Android应用程序调用的系统函数的敏感特征信息与敏感数据引入规则库中存储的敏感特征信息进行匹配,将匹配成功的系统函数的变量标记为敏感数据;同时将含有敏感数据的函数参数与恶意行为检测规则库中存储的恶意行为特征信息进行匹配,将匹配成功的函数参数标记为恶意行为。
所述服务器12,还用于模拟执行结束后,将检测报告发送给客户端11;
所述客户端11,还用于接收服务器12发来的检测报告,向用户报告检测结果。
进一步的,所述客户端11包括第一通讯模块111,用于将待测的Android应用程序的APK文件发送给服务器12;进一步用于接收服务器12发来的检测报告,向用户报告检测结果。
进一步的,所述服务器12包括第二通讯模块121、流敏感分析引擎123、敏感数据引入规则库124和恶意行为检测规则库125;其中:
所述第二通讯模块121,用于接收第一通讯模块111发来的APK文件,并将APK文件发送给流敏感分析引擎123;
所述流敏感分析引擎123,用于根据收到的APK文件模拟Android应用程序的执行,将Android应用程序调用的系统函数的敏感特征信息与敏感数据引入规则库124中存储的敏感特征信息进行匹配;还用于将含有敏感数据的函数参数与恶意行为检测规则库125中存储的恶意行为的检测规则进行匹配,将匹配结果发送给危险行为报告器122;
所述敏感数据引入规则库124,用于存储敏感特征信息;
所述恶意行为检测规则库125,用于存储恶意行为特征信息。
所述第二通讯模块121,进一步用于在模拟执行结束后,将检测报告发送给客户端11。
进一步的,所述流敏感分析引擎123包括匹配模块1231和恶意行为检测器1232;其中:
所述匹配模块1231,用于将Android应用程序调用的系统函数的敏感特征信息与敏感数据引入规则库124中的敏感特征信息进行匹配,将匹配成功的系统函数的变量标记为敏感数据,将匹配后的数据送入恶意行为检测器1232进行恶意行为检测;
所述恶意行为检测器1232,用于将含有敏感数据的函数参数与恶意行为检测规则库125中存储的恶意行为特征信息进行匹配,将匹配成功的函数参数标记为恶意行为,将匹配结果发送给危险行为报告器122。
进一步的,所述服务器12还包括危险行为报告器122,用于待流敏感分析引擎123模拟Android应用程序的执行结束后,根据与恶意行为检测规则库125匹配的结果生成危险行为的详细说明,输出检测报告,同时将检测报告经第二通讯模块121发送给客户端11;
进一步的,所述服务器12还包括程序结构构建器126和入口函数解析器127;其中:
所述程序结构构建器126,用于反汇编Dalvik字节码文件,并根据Dalvik字节码文件信息构建程序结构,并将构建好的程序结构发送给流敏感分析引擎123;
所述入口函数解析器127,用于解析AndroidManifest.xml配置文件获取入口函数名,并从构建的程序结构中找出对应的函数结构作为开始分析的入口函数,并将获得的入口函数发送给流敏感分析引擎123。
进一步的,所述流敏感分析引擎123还包括指令模拟器1235,用于根据程序结构构建器126构建出的程序结构,模拟函数的调用序列和函数内指令的执行顺序,从入口函数解析器127获得的入口函数开始,按顺序模拟每条指令的执行。
进一步的,所述流敏感分析引擎123还包括程序状态收集器1234和动态机制连接器1233;其中:
所述程序状态收集器1234,用于在指令的模拟执行过程中,收集函数变量的程序状态信息,并将收集到的函数变量的程序状态信息发送给动态机制连接器1233;
所述动态机制连接器1233,用于根据程序状态收集器1234收集到的变量的程序状态信息,判断动态机制函数实际的调用对象,根据当前对象查找相关相应函数。
下面以com.aijiaoyou.android.sipphone应用程序为例对本发明进行详细的说明。
图3为本发明实施例提供的Android恶意应用程序检测方法流程示意图,如图3所示,包括以下步骤:
步骤301:客户端将待测的Android应用程序的APK文件发送给服务器,服务器解压APK文件,提取出Dalvik字节码文件和AndroidManifest.xml配置文件;
这里,所述服务器解压APK文件可采用如WinRAR等解压缩软件、APKTOOL.jar工具;所述AndroidManifest.xml配置文件为加密文件,可以采用AXMLPrinter2.jar、APKTOOL.jar等工具进行解密。
步骤302:服务器反汇编Dalvik字节码文件,并根据反汇编后的Dalvik字节码文件信息构建程序结构;
这里,对提取出的Dalvik字节码文件可以采用smali、IDApro等反汇编工具进行反汇编;所述根据反汇编后的Dalvik字节码文件信息构建程序结构包括指令结构、基本结构、函数结构、类结构、函数调用图、控制流图等等。
步骤303:服务器解析AndroidManifest.xml配置文件获取入口函数名,并从构建的程序结构中找出对应的函数结构,作为模拟执行的入口函数;
这里,所述AndroidManifest.xml配置文件记录着和应用程序运行有关的详细信息,通过解析AndroidManifest.xml配置文件,提取activity、service、receiver、provider等标签中的“android:name”字段的值作为入口函数名,从构建的程序结构中找出对应的函数结构,作为模拟执行的入口函数,以InitOnlineActivity为例,相应的入口函数为:
InitOnlineActivity.onCreateVL;
InitOnlineActivity.onStartV;
InitOnlineActivity.onKeyDownZIL等。
步骤304:服务器从入口函数开始,根据构建出的程序结构,模拟函数的调用序列和函数内指令的执行顺序,并按指令的执行顺序,按顺序模拟每条指令的执行;
这里,对于过程内分析阶段,所述函数内指令的执行顺序根据控制流图生成,采用图的遍历算法,保证每个基本块至少被执行一次;对于分支,保证每个分支都会执行;对于循环,保证循环体部分的指令至少执行一次;对于过程间分析阶段,所述函数的调用序列根据函数调用图生成,并根据函数调用点的参数类型,计算实际应该被调用的函数;
其中,所述函数的调用序列可利用函数参数的语义信息进行具体分析,如根据函数调用指令,首先判断函数是否为虚函数或接口调用函数,如果判断的结果为是,则根据this参数的类型查找实际调用的函数;若判断的结果为否,则继续判断是否为用户实现的函数,如果是则进入被调函数内部执行,使用指令模拟器计算出被调函数的指令执行序列;若判断的结果为否,则继续判断是否是动态机制函数,如果是则进入动态机制连接器查找对应的函数,并依次进入执行,否则分析结束。
步骤305:在模拟指令的执行过程中,服务器收集函数变量的程序状态信息,并利用收集到的变量的程序状态信息,判断动态机制函数实际的调用对象,根据实际调用对象查找相关响应函数;
这里,所述在模拟指令的执行过程中,服务器收集函数变量的程序状态信息包括收集每个变量的类型信息和值信息;对于一些动态机制有关的函数,如接口调用函数、虚函数等等,利用收集到的变量的程序状态信息,判断实际的调用对象,根据实际调用对象查找相关响应函数。
步骤306:服务器在模拟Android应用程序执行过程中,将Android应用程序调用的系统函数的敏感特征信息与敏感数据引入规则库中存储的敏感特征信息进行匹配,将匹配成功的系统函数的变量标记为敏感数据;
图4为与敏感数据引入规则库信息匹配的部分代码段示意图。这里,在模拟执行过程中,当执行到图4代码段时,其中执行完1~3行代码得到一个TelephonyManager的系统对象,将得到的TelephonyManager的系统对象保存在v0变量中;当执行到第4行代码时,TelephonyManager.getDeviceId()函数读取用户设备的设备号信息,在敏感数据引入规则库当中记录着与读取用户隐私相关的所有库函数信息,图5为敏感数据引入规则库中的getDeviceId规则示意图,如图5所示,其中定义了函数名为getDeviceId,函数类名为TelephonyManager,因此当执行到第4行代码时,发现当前函数满足敏感数据引入规则库当中的某条规则,根据该规则的描述,需将当前函数的返回值标记为敏感数据,因此在执行到第5行时,变量v1中包含有敏感数据,将其标记为敏感数据。
步骤307:服务器将含有敏感数据的函数与恶意行为检测规则库中存储的恶意行为特征信息进行匹配,将匹配成功的函数参数标记为恶意行为;
这里,所述恶意行为检测规则库中存储着恶意行为的检测规则,若满足其中某条规则,则将检测的函数参数标记为恶意行为。图6为与恶意行为检测规则库匹配的发送用户隐私数据的部分代码段示意图,在模拟执行应用程序过程中,执行到如图6代码段时,执行完第1行后生成URL系统对象,将其存入v9变量中,该对象可以和网络服务器进行网络通信;执行到第2行时,发现v15变量中包含敏感数据的信息,然后将v15变量中包含的信息存入v9中,该信息是上面示例中的设备号信息;执行到第3行时检测到当前函数满足恶意行为检测规则库中的一条规则,图7为恶意行为检测规则库中的openConnection规则示意图,如图7所示,其中定义了函数名为openConnection,函数类名为URL,根据该规则的描述,如果当前函数的第一个参数中含有敏感数据则是一条窃取用户隐私的恶意行为,由于v9中含有敏感数据,故触发了恶意行为,该恶意行为是将设备号信息通过网络发送到远程服务器,需要将当前函数的返回值标记为恶意行为,因此在执行到第4行时,变量v6中包含有恶意行为,将其标记为恶意行为。
步骤309:服务器模拟Android应用程序的执行结束后,根据匹配结果输出检测报告,并向客户端发送该检测报告;
这里,对检测到的恶意行为,生成恶意行为检测报告,详细描述当前恶意行为的触发流程、操作的敏感数据和带来的危害,根据检测到的危险行为按照危险行为类别进行分类,并计算出危险程度及其可能带来的危害,输出该危险行为的调用路径等程序信息;检测完成后,还将输出检测花费的时间、检测的指令条数、检测的函数个数、指令覆盖率、函数覆盖率等统计信息。以上信息最终以图形化、XML等多种形式表示,最后生成的检测报告由服务器发送给客户端。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (20)
1.一种安卓(Android)恶意应用程序检测方法,其特征在于,该方法包括:
服务器模拟执行Android应用程序,将应用程序调用的系统函数的敏感特征信息与敏感数据引入规则库中存储的敏感特征信息进行匹配,将匹配成功的系统函数的变量标记为敏感数据;
将含有敏感数据的函数与恶意行为检测规则库中存储的恶意行为特征信息进行匹配,将匹配成功的函数参数标记为恶意行为。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:
待服务器模拟Android应用程序的执行结束后,根据与恶意行为检测规则库匹配的结果生成危险行为的详细说明,输出检测报告,并向客户端报告检测结果。
3.根据权利要求1所述的方法,其特征在于,所述服务器模拟Android应用程序的执行之前,该方法还包括:
客户端将待测的Android应用程序的APK文件发送给服务器,服务器解压APK文件,提取出Dalvik字节码文件和AndroidManifest.xml配置文件。
4.根据权利要求3所述的方法,其特征在于,该方法还包括:
服务器反汇编Dalvik字节码文件,并根据Dalvik字节码文件信息构建程序结构,包括:指令结构、基本结构、函数结构、类结构、函数调用图、控制流图;
服务器解析AndroidManifest.xml配置文件获取入口函数名,并从构建的程序结构中找出对应的函数结构,作为模拟执行的入口函数。
5.根据权利要求1或4所述的方法,其特征在于,所述服务器模拟执行Android应用程序的包括:
服务器从入口函数开始,根据构建出的程序结构,模拟函数的调用序列和函数内指令的执行顺序,并按指令的执行顺序,按顺序模拟每条指令的执行。
6.根据权利要求5所述的方法,其特征在于,该方法还包括:
在模拟指令的执行过程中,服务器收集函数变量的程序状态信息,并利用收集到的变量的程序状态信息,判断动态机制函数实际的调用对象,根据当前对象查找相关响应函数。
7.一种Android恶意应用程序检测系统,其特征在于,该系统包括客户端和服务器;其中:
所述客户端,用于将待测的Android应用程序的APK文件发送给服务器;
所述服务器,用于根据客户端发来的APK文件模拟Android应用程序的执行,将Android应用程序调用的系统函数的敏感特征信息与敏感数据引入规则库中存储的敏感特征信息进行匹配,将匹配成功的系统函数的变量标记为敏感数据;同时将含有敏感数据的函数参数与恶意行为检测规则库中存储的恶意行为特征信息进行匹配,将匹配成功的函数参数标记为恶意行为。
8.根据权利要求7所述的系统,其特征在于,所述客户端包括第一通讯模块,用于将待测的Android应用程序的APK文件发送给服务器。
9.根据权利要求7所述的系统,其特征在于,所述服务器包括第二通讯模块、流敏感分析引擎、敏感数据引入规则库和恶意行为检测规则库;其中:
所述第二通讯模块,用于接收客户端发来的APK文件,并将APK文件发送给流敏感分析引擎;
所述流敏感分析引擎,用于根据收到的APK文件模拟Android应用程序的执行,将Android应用程序调用的系统函数的敏感特征信息与敏感数据引入规则库中存储的敏感特征信息进行匹配,将匹配成功的系统函数的变量标记为敏感数据;还用于将含有敏感数据的函数参数与恶意行为检测规则库中存储的恶意行为的检测规则进行匹配,将匹配成功的函数参数标记为恶意行为;
所述敏感数据引入规则库,用于存储敏感特征信息;
所述恶意行为检测规则库,用于存储恶意行为特征信息。
10.根据权利要求9所述的系统,其特征在于,所述流敏感分析引擎包括匹配模块和恶意行为检测器;其中:
所述匹配模块,用于将Android应用程序调用的系统函数的敏感特征信息与敏感数据引入规则库中的敏感特征信息进行匹配,将匹配成功的系统函数的变量标记为敏感数据,将匹配后的数据送入恶意行为检测器进行恶意行为检测;
所述恶意行为检测器,用于将含有敏感数据的函数参数与恶意行为检测规则库中存储的恶意行为特征信息进行匹配,将匹配成功的函数参数标记为恶意行为。
11.根据权利要求7所述的系统,其特征在于,所述服务器还包括危险行为报告器,用于模拟Android应用程序的执行结束后,根据与恶意行为检测规则库匹配的结果生成危险行为的详细说明,输出检测报告,同时将检测报告经第二通讯模块发送给客户端。
12.根据权利要求7所述的系统,其特征在于,所述服务器还包括程序结构构建器和入口函数解析器;其中:
所述程序结构构建器,用于反汇编Dalvik字节码文件,并根据Dalvik字节码文件信息构建程序结构,并将构建好的程序结构发送给流敏感分析引擎;
所述入口函数解析器,用于解析AndroidManifest.xml配置文件获取入口函数名,并从构建的程序结构中找出对应的函数结构作为开始分析的入口函数,并将获得的入口函数发送给流敏感分析引擎。
13.根据权利要求9所述的系统,其特征在于,所述流敏感分析引擎还包括指令模拟器,用于根据程序结构构建器构建出的程序结构,模拟函数的调用序列和函数内指令的执行顺序,从入口函数解析器获得的入口函数开始,按顺序模拟每条指令的执行。
14.根据权利要求9所述的系统,其特征在于,所述流敏感分析引擎还包括程序状态收集器和动态机制连接器;其中:
所述程序状态收集器,用于在指令的模拟执行过程中,收集函数变量的程序状态信息,并将收集到的函数变量的程序状态信息发送给动态机制连接器;
所述动态机制连接器,用于根据程序状态收集器收集到的函数变量的程序状态信息,判断动态机制函数实际的调用对象,根据当前对象查找相关响应函数。
15.一种服务器,其特征在于,该服务器包括通讯模块、流敏感分析引擎、敏感数据引入规则库和恶意行为检测规则库;其中:
所述通讯模块,用于接收客户端发来的APK文件,并将APK文件发送给流敏感分析引擎;
所述流敏感分析引擎,用于根据收到的APK文件模拟Android应用程序的执行,将Android应用程序调用的系统函数的敏感特征信息与敏感数据引入规则库中存储的敏感特征信息进行匹配,将匹配成功的系统函数的变量标记为敏感数据;还用于将含有敏感数据的函数参数与恶意行为检测规则库中存储的恶意行为的检测规则进行匹配,将匹配成功的函数参数标记为恶意行为;
所述敏感数据引入规则库,用于存储敏感特征信息;
所述恶意行为检测规则库,用于存储恶意行为特征信息。
16.根据权利要求15所述的服务器,其特征在于,所述流敏感分析引擎包括匹配模块和恶意行为检测器;其中:
所述匹配模块,用于将Android应用程序调用的系统函数的敏感特征信息与敏感数据引入规则库中的敏感特征信息进行匹配,将匹配成功的系统函数的变量标记为敏感数据,将匹配后的数据送入恶意行为检测器进行恶意行为检测;
所述恶意行为检测器,用于将含有敏感数据的函数参数与恶意行为检测规则库中存储的恶意行为特征信息进行匹配,将匹配成功的函数参数标记为恶意行为。
17.根据权利要求15所述的服务器,其特征在于,该服务器还包括危险行为报告器,用于模拟Android应用程序的执行结束后,根据与恶意行为检测规则库匹配的结果生成危险行为的详细说明,输出检测报告,同时将检测报告经通讯模块发送给客户端。
18.根据权利要求15所述的服务器,其特征在于,该服务器还包括程序结构构建器和入口函数解析器;其中:
所述程序结构构建器,用于反汇编Dalvik字节码文件,并根据Dalvik字节码文件信息构建程序结构,并将构建好的程序结构发送给流敏感分析引擎;
所述入口函数解析器,用于解析AndroidManifest.xml配置文件获取入口函数名,并从构建的程序结构中找出对应的函数结构作为开始分析的入口函数,并将获得的入口函数发送给流敏感分析引擎。
19.根据权利要求15所述的服务器,其特征在于,所述流敏感分析引擎还包括指令模拟器,用于根据程序结构构建器构建出的程序结构,模拟函数的调用序列和函数内指令的执行顺序,从入口函数解析器获得的入口函数开始,按顺序模拟每条指令的执行。
20.根据权利要求15所述的服务器,其特征在于,所述流敏感分析引擎还包括程序状态收集器和动态机制连接器;其中:
所述程序状态收集器,用于在指令的模拟执行过程中,收集函数变量的程序状态信息,并将收集到的函数变量的程序状态信息发送给动态机制连接器;
所述动态机制连接器,用于根据程序状态收集器收集到的函数变量的程序状态信息,判断动态机制函数实际的调用对象,根据当前对象查找相关响应函数。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210376003.6A CN102938040B (zh) | 2012-09-29 | Android恶意应用程序检测方法、系统及设备 | |
PCT/CN2013/082152 WO2014048194A1 (zh) | 2012-09-29 | 2013-08-23 | Android恶意应用程序检测方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210376003.6A CN102938040B (zh) | 2012-09-29 | Android恶意应用程序检测方法、系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102938040A true CN102938040A (zh) | 2013-02-20 |
CN102938040B CN102938040B (zh) | 2016-11-30 |
Family
ID=
Cited By (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207969A (zh) * | 2013-04-12 | 2013-07-17 | 百度在线网络技术(北京)有限公司 | 检测Android恶意软件的装置以及方法 |
CN103268448A (zh) * | 2013-05-24 | 2013-08-28 | 北京网秦天下科技有限公司 | 动态检测移动应用的安全性的方法和系统 |
CN103440459A (zh) * | 2013-09-25 | 2013-12-11 | 西安交通大学 | 一种基于函数调用的Android恶意代码检测方法 |
CN103440458A (zh) * | 2013-09-25 | 2013-12-11 | 西安交通大学 | 一种启发式静态识别Android系统恶意代码的方法 |
CN103473507A (zh) * | 2013-09-25 | 2013-12-25 | 西安交通大学 | 一种基于方法调用图的Android恶意软件检测方法 |
CN103559094A (zh) * | 2013-11-20 | 2014-02-05 | 无锡儒安科技有限公司 | 一种对移动终端的资源进行管理的方法 |
WO2014048194A1 (zh) * | 2012-09-29 | 2014-04-03 | 中兴通讯股份有限公司 | Android恶意应用程序检测方法、系统及设备 |
CN103729595A (zh) * | 2014-01-02 | 2014-04-16 | 东南大学 | 一种Android应用程序隐私数据泄露离线检测方法 |
CN103745154A (zh) * | 2013-12-27 | 2014-04-23 | 柳州职业技术学院 | 一种具有自学习能力的入侵检测系统及检测方法 |
CN103886258A (zh) * | 2014-03-10 | 2014-06-25 | 珠海市君天电子科技有限公司 | 一种病毒检测方法及装置 |
CN104331364A (zh) * | 2014-10-21 | 2015-02-04 | 江苏通付盾信息科技有限公司 | 一种移动平台应用软件的检测方法 |
CN104376262A (zh) * | 2014-12-08 | 2015-02-25 | 中国科学院深圳先进技术研究院 | 一种基于Dalvik指令和权限组合的安卓恶意软件检测方法 |
CN104504337A (zh) * | 2014-12-31 | 2015-04-08 | 中国人民解放军理工大学 | 一种安卓数据泄露的恶意应用检测方法 |
CN104537309A (zh) * | 2015-01-23 | 2015-04-22 | 北京奇虎科技有限公司 | 应用程序漏洞检测方法、装置及服务器 |
CN104598814A (zh) * | 2013-10-30 | 2015-05-06 | 贝壳网际(北京)安全技术有限公司 | 程序的行为特征提取方法、恶意程序的检测方法及其装置 |
CN104598815A (zh) * | 2013-10-30 | 2015-05-06 | 贝壳网际(北京)安全技术有限公司 | 恶意广告程序的识别方法、装置及客户端 |
CN104751054A (zh) * | 2013-12-31 | 2015-07-01 | 贝壳网际(北京)安全技术有限公司 | 恶意程序的识别方法及装置、移动终端 |
CN104794051A (zh) * | 2014-01-21 | 2015-07-22 | 中国科学院声学研究所 | 一种Android平台恶意软件自动化检测方法 |
CN104809397A (zh) * | 2015-05-12 | 2015-07-29 | 上海斐讯数据通信技术有限公司 | 一种基于动态监控的Android恶意软件的检测方法及系统 |
CN104834859A (zh) * | 2015-04-24 | 2015-08-12 | 南京邮电大学 | 一种Android应用中恶意行为的动态检测方法 |
CN105320591A (zh) * | 2014-07-25 | 2016-02-10 | 腾讯科技(深圳)有限公司 | 代码检测方法及装置 |
CN105528295A (zh) * | 2016-01-04 | 2016-04-27 | 北京航空航天大学 | 移动应用程序异常行为检测方法及装置 |
CN105631325A (zh) * | 2014-11-03 | 2016-06-01 | 中国移动通信集团公司 | 一种恶意应用程序检测方法和装置 |
CN105740706A (zh) * | 2015-12-25 | 2016-07-06 | 哈尔滨安天科技股份有限公司 | 基于api名称和立即数的启发式样本检测方法及系统 |
CN106156628A (zh) * | 2015-04-16 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种用户行为分析方法及装置 |
CN106203122A (zh) * | 2016-07-25 | 2016-12-07 | 西安交通大学 | 基于敏感子图的安卓恶意重打包软件检测方法 |
CN106326124A (zh) * | 2016-08-25 | 2017-01-11 | 网易(杭州)网络有限公司 | 覆盖率检测方法、装置和设备 |
CN106354632A (zh) * | 2016-08-24 | 2017-01-25 | 北京奇虎测腾科技有限公司 | 一种基于静态分析技术的源代码检测系统及方法 |
CN103902909B (zh) * | 2013-12-25 | 2017-02-08 | 武汉安天信息技术有限责任公司 | 一种基于Opcode回溯的Android恶意代码检测系统及方法 |
CN106598866A (zh) * | 2016-12-22 | 2017-04-26 | 合肥国信车联网研究院有限公司 | 一种基于smali中间语言的静态检测系统及方法 |
CN106709359A (zh) * | 2017-01-05 | 2017-05-24 | 中国电子科技网络信息安全有限公司 | 一种Android应用漏洞检测方法 |
CN106708732A (zh) * | 2016-12-12 | 2017-05-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于特征码的软件运行检测方法 |
CN107181719A (zh) * | 2016-03-10 | 2017-09-19 | 阿里巴巴集团控股有限公司 | 一种木马程序的检测方法和装置 |
CN107566177A (zh) * | 2017-09-06 | 2018-01-09 | 合肥庆响网络科技有限公司 | 网络加速系统 |
CN108062476A (zh) * | 2016-11-08 | 2018-05-22 | 武汉安天信息技术有限责任公司 | 一种基于调用关系的恶意代码判定方法及系统 |
CN108093416A (zh) * | 2017-11-30 | 2018-05-29 | 厦门市美亚柏科信息股份有限公司 | 一种移动app推送数据的采集方法及终端 |
CN108141408A (zh) * | 2015-10-06 | 2018-06-08 | 日本电信电话株式会社 | 确定系统、确定装置及确定方法 |
CN108932429A (zh) * | 2017-05-27 | 2018-12-04 | 腾讯科技(深圳)有限公司 | 应用程序的分析方法、终端及存储介质 |
CN109214179A (zh) * | 2017-06-30 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | 一种程序模块安全检测方法及装置 |
CN109271788A (zh) * | 2018-08-23 | 2019-01-25 | 北京理工大学 | 一种基于深度学习的Android恶意软件检测方法 |
CN109447184A (zh) * | 2018-11-28 | 2019-03-08 | 南京理工大学 | 基于深度学习的Android应用网络行为分类方法及系统 |
CN109493165A (zh) * | 2018-10-18 | 2019-03-19 | 上海掌门科技有限公司 | 黑名单规则的测试方法和设备 |
CN109543408A (zh) * | 2018-10-29 | 2019-03-29 | 卓望数码技术(深圳)有限公司 | 一种恶意软件识别方法和系统 |
CN109739748A (zh) * | 2018-12-13 | 2019-05-10 | 北京小米移动软件有限公司 | 合规检测方法及装置 |
CN110309661A (zh) * | 2019-04-19 | 2019-10-08 | 中国科学院信息工程研究所 | 一种基于控制流的敏感数据使用权限管理方法及装置 |
CN110781081A (zh) * | 2019-10-12 | 2020-02-11 | 南京信息职业技术学院 | 一种移动应用回调强制触发方法、系统及存储介质 |
CN110795734A (zh) * | 2019-10-12 | 2020-02-14 | 南京信息职业技术学院 | 一种恶意移动应用检测方法 |
CN111143858A (zh) * | 2019-12-31 | 2020-05-12 | 中国联合网络通信集团有限公司 | 数据检查方法及装置 |
US10773311B2 (en) | 2015-09-03 | 2020-09-15 | Dowa Electronics Materials Co., Ltd. | Phosphorus-containing copper powder and method for producing the same |
US20210064748A1 (en) * | 2017-10-19 | 2021-03-04 | AO Kaspersky Lab | System and method for detecting malicious files by a user computer |
CN112541179A (zh) * | 2020-11-27 | 2021-03-23 | 国网河南省电力公司电力科学研究院 | 一种Android应用数字证书校验漏洞检测系统及方法 |
CN112612479A (zh) * | 2020-12-28 | 2021-04-06 | 厦门市美亚柏科信息股份有限公司 | 一种基于安卓设备的apk静态分析方法和设备 |
CN112817603A (zh) * | 2021-01-26 | 2021-05-18 | 京东数字科技控股股份有限公司 | 应用程序处理方法、装置、电子设备、系统和存储介质 |
CN113010892A (zh) * | 2021-03-26 | 2021-06-22 | 支付宝(杭州)信息技术有限公司 | 小程序恶意行为检测方法和装置 |
CN113177205A (zh) * | 2021-04-27 | 2021-07-27 | 国家计算机网络与信息安全管理中心 | 一种恶意应用检测系统及方法 |
CN113468524A (zh) * | 2021-05-21 | 2021-10-01 | 天津理工大学 | 基于rasp的机器学习模型安全检测方法 |
CN116451229A (zh) * | 2023-06-14 | 2023-07-18 | 北京长亭科技有限公司 | 一种恶意软件检测方法及装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168987A1 (en) * | 2003-12-30 | 2007-07-19 | Eric Vetillard | Method for determining operational characteristics of a program |
CN101359352A (zh) * | 2008-09-25 | 2009-02-04 | 中国人民解放军信息工程大学 | 分层协同的混淆后api调用行为发现及其恶意性判定方法 |
CN101587527A (zh) * | 2009-07-08 | 2009-11-25 | 北京东方微点信息技术有限责任公司 | 病毒程序扫描方法及装置 |
CN101944167A (zh) * | 2010-09-29 | 2011-01-12 | 中国科学院计算技术研究所 | 识别恶意程序的方法及系统 |
CN102141960A (zh) * | 2011-03-18 | 2011-08-03 | 广东欧珀移动通信有限公司 | 一种基于Android的自动化测试方法 |
CN102194079A (zh) * | 2011-03-18 | 2011-09-21 | 北京思创银联科技股份有限公司 | 文件访问过滤方法 |
JP2011233081A (ja) * | 2010-04-30 | 2011-11-17 | Kddi Corp | アプリケーション判定システムおよびプログラム |
CN102521118A (zh) * | 2011-11-11 | 2012-06-27 | 福建星网视易信息系统有限公司 | 一种Android程序的自动测试方法 |
CN102567200A (zh) * | 2011-12-14 | 2012-07-11 | 北京航空航天大学 | 基于函数调用图的并行化安全漏洞检测方法 |
CN102622536A (zh) * | 2011-01-26 | 2012-08-01 | 中国科学院软件研究所 | 一种恶意代码捕获方法 |
CN102663281A (zh) * | 2012-03-16 | 2012-09-12 | 成都市华为赛门铁克科技有限公司 | 检测恶意软件的方法和装置 |
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168987A1 (en) * | 2003-12-30 | 2007-07-19 | Eric Vetillard | Method for determining operational characteristics of a program |
CN101359352A (zh) * | 2008-09-25 | 2009-02-04 | 中国人民解放军信息工程大学 | 分层协同的混淆后api调用行为发现及其恶意性判定方法 |
CN101587527A (zh) * | 2009-07-08 | 2009-11-25 | 北京东方微点信息技术有限责任公司 | 病毒程序扫描方法及装置 |
JP2011233081A (ja) * | 2010-04-30 | 2011-11-17 | Kddi Corp | アプリケーション判定システムおよびプログラム |
CN101944167A (zh) * | 2010-09-29 | 2011-01-12 | 中国科学院计算技术研究所 | 识别恶意程序的方法及系统 |
CN102622536A (zh) * | 2011-01-26 | 2012-08-01 | 中国科学院软件研究所 | 一种恶意代码捕获方法 |
CN102141960A (zh) * | 2011-03-18 | 2011-08-03 | 广东欧珀移动通信有限公司 | 一种基于Android的自动化测试方法 |
CN102194079A (zh) * | 2011-03-18 | 2011-09-21 | 北京思创银联科技股份有限公司 | 文件访问过滤方法 |
CN102521118A (zh) * | 2011-11-11 | 2012-06-27 | 福建星网视易信息系统有限公司 | 一种Android程序的自动测试方法 |
CN102567200A (zh) * | 2011-12-14 | 2012-07-11 | 北京航空航天大学 | 基于函数调用图的并行化安全漏洞检测方法 |
CN102663281A (zh) * | 2012-03-16 | 2012-09-12 | 成都市华为赛门铁克科技有限公司 | 检测恶意软件的方法和装置 |
Non-Patent Citations (1)
Title |
---|
卜哲等: "基于Android系统的智能终端软件行为分析方法", 《技术研究》 * |
Cited By (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014048194A1 (zh) * | 2012-09-29 | 2014-04-03 | 中兴通讯股份有限公司 | Android恶意应用程序检测方法、系统及设备 |
CN103207969A (zh) * | 2013-04-12 | 2013-07-17 | 百度在线网络技术(北京)有限公司 | 检测Android恶意软件的装置以及方法 |
CN103207969B (zh) * | 2013-04-12 | 2016-10-05 | 百度在线网络技术(北京)有限公司 | 检测Android恶意软件的装置以及方法 |
CN103268448A (zh) * | 2013-05-24 | 2013-08-28 | 北京网秦天下科技有限公司 | 动态检测移动应用的安全性的方法和系统 |
CN103268448B (zh) * | 2013-05-24 | 2016-04-20 | 北京网秦天下科技有限公司 | 动态检测移动应用的安全性的方法和系统 |
CN103440458B (zh) * | 2013-09-25 | 2016-05-11 | 西安交通大学 | 一种启发式静态识别Android系统恶意代码的方法 |
CN103440459A (zh) * | 2013-09-25 | 2013-12-11 | 西安交通大学 | 一种基于函数调用的Android恶意代码检测方法 |
CN103440458A (zh) * | 2013-09-25 | 2013-12-11 | 西安交通大学 | 一种启发式静态识别Android系统恶意代码的方法 |
CN103473507A (zh) * | 2013-09-25 | 2013-12-25 | 西安交通大学 | 一种基于方法调用图的Android恶意软件检测方法 |
CN103440459B (zh) * | 2013-09-25 | 2016-04-06 | 西安交通大学 | 一种基于函数调用的Android恶意代码检测方法 |
CN103473507B (zh) * | 2013-09-25 | 2016-03-30 | 西安交通大学 | 一种Android恶意代码检测方法 |
CN104598815A (zh) * | 2013-10-30 | 2015-05-06 | 贝壳网际(北京)安全技术有限公司 | 恶意广告程序的识别方法、装置及客户端 |
CN104598815B (zh) * | 2013-10-30 | 2018-09-11 | 北京猎豹移动科技有限公司 | 恶意广告程序的识别方法、装置及客户端 |
CN104598814A (zh) * | 2013-10-30 | 2015-05-06 | 贝壳网际(北京)安全技术有限公司 | 程序的行为特征提取方法、恶意程序的检测方法及其装置 |
WO2015062336A1 (zh) * | 2013-10-30 | 2015-05-07 | 贝壳网际(北京)安全技术有限公司 | 程序的行为特征提取方法、恶意程序的检测方法及其装置 |
CN103559094B (zh) * | 2013-11-20 | 2017-04-12 | 无锡儒安科技有限公司 | 一种对移动终端的资源进行管理的方法 |
CN103559094A (zh) * | 2013-11-20 | 2014-02-05 | 无锡儒安科技有限公司 | 一种对移动终端的资源进行管理的方法 |
CN103902909B (zh) * | 2013-12-25 | 2017-02-08 | 武汉安天信息技术有限责任公司 | 一种基于Opcode回溯的Android恶意代码检测系统及方法 |
CN103745154A (zh) * | 2013-12-27 | 2014-04-23 | 柳州职业技术学院 | 一种具有自学习能力的入侵检测系统及检测方法 |
CN104751054B (zh) * | 2013-12-31 | 2018-09-14 | 北京猎豹移动科技有限公司 | 恶意程序的识别方法及装置、移动终端 |
CN104751054A (zh) * | 2013-12-31 | 2015-07-01 | 贝壳网际(北京)安全技术有限公司 | 恶意程序的识别方法及装置、移动终端 |
CN103729595A (zh) * | 2014-01-02 | 2014-04-16 | 东南大学 | 一种Android应用程序隐私数据泄露离线检测方法 |
CN104794051A (zh) * | 2014-01-21 | 2015-07-22 | 中国科学院声学研究所 | 一种Android平台恶意软件自动化检测方法 |
CN103886258A (zh) * | 2014-03-10 | 2014-06-25 | 珠海市君天电子科技有限公司 | 一种病毒检测方法及装置 |
CN105320591A (zh) * | 2014-07-25 | 2016-02-10 | 腾讯科技(深圳)有限公司 | 代码检测方法及装置 |
CN105320591B (zh) * | 2014-07-25 | 2019-08-27 | 腾讯科技(深圳)有限公司 | 代码检测方法及装置 |
CN104331364A (zh) * | 2014-10-21 | 2015-02-04 | 江苏通付盾信息科技有限公司 | 一种移动平台应用软件的检测方法 |
CN105631325B (zh) * | 2014-11-03 | 2019-04-30 | 中国移动通信集团公司 | 一种恶意应用程序检测方法和装置 |
CN105631325A (zh) * | 2014-11-03 | 2016-06-01 | 中国移动通信集团公司 | 一种恶意应用程序检测方法和装置 |
CN104376262B (zh) * | 2014-12-08 | 2018-01-09 | 中国科学院深圳先进技术研究院 | 一种基于Dalvik指令和权限组合的安卓恶意软件检测方法 |
CN104376262A (zh) * | 2014-12-08 | 2015-02-25 | 中国科学院深圳先进技术研究院 | 一种基于Dalvik指令和权限组合的安卓恶意软件检测方法 |
CN104504337A (zh) * | 2014-12-31 | 2015-04-08 | 中国人民解放军理工大学 | 一种安卓数据泄露的恶意应用检测方法 |
CN104537309A (zh) * | 2015-01-23 | 2015-04-22 | 北京奇虎科技有限公司 | 应用程序漏洞检测方法、装置及服务器 |
CN106156628A (zh) * | 2015-04-16 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种用户行为分析方法及装置 |
CN104834859A (zh) * | 2015-04-24 | 2015-08-12 | 南京邮电大学 | 一种Android应用中恶意行为的动态检测方法 |
CN104834859B (zh) * | 2015-04-24 | 2018-04-10 | 南京邮电大学 | 一种Android应用中恶意行为的动态检测方法 |
CN104809397A (zh) * | 2015-05-12 | 2015-07-29 | 上海斐讯数据通信技术有限公司 | 一种基于动态监控的Android恶意软件的检测方法及系统 |
US10773311B2 (en) | 2015-09-03 | 2020-09-15 | Dowa Electronics Materials Co., Ltd. | Phosphorus-containing copper powder and method for producing the same |
CN108141408A (zh) * | 2015-10-06 | 2018-06-08 | 日本电信电话株式会社 | 确定系统、确定装置及确定方法 |
CN105740706A (zh) * | 2015-12-25 | 2016-07-06 | 哈尔滨安天科技股份有限公司 | 基于api名称和立即数的启发式样本检测方法及系统 |
CN105740706B (zh) * | 2015-12-25 | 2019-05-07 | 哈尔滨安天科技股份有限公司 | 基于api名称和立即数的启发式样本检测方法及系统 |
CN105528295A (zh) * | 2016-01-04 | 2016-04-27 | 北京航空航天大学 | 移动应用程序异常行为检测方法及装置 |
CN105528295B (zh) * | 2016-01-04 | 2018-12-14 | 北京航空航天大学 | 移动应用程序异常行为检测方法及装置 |
CN107181719A (zh) * | 2016-03-10 | 2017-09-19 | 阿里巴巴集团控股有限公司 | 一种木马程序的检测方法和装置 |
CN106203122A (zh) * | 2016-07-25 | 2016-12-07 | 西安交通大学 | 基于敏感子图的安卓恶意重打包软件检测方法 |
CN106203122B (zh) * | 2016-07-25 | 2019-02-05 | 西安交通大学 | 基于敏感子图的安卓恶意重打包软件检测方法 |
CN106354632B (zh) * | 2016-08-24 | 2019-03-12 | 北京奇虎测腾安全技术有限公司 | 一种基于静态分析技术的源代码检测系统及方法 |
CN106354632A (zh) * | 2016-08-24 | 2017-01-25 | 北京奇虎测腾科技有限公司 | 一种基于静态分析技术的源代码检测系统及方法 |
CN106326124A (zh) * | 2016-08-25 | 2017-01-11 | 网易(杭州)网络有限公司 | 覆盖率检测方法、装置和设备 |
CN108062476A (zh) * | 2016-11-08 | 2018-05-22 | 武汉安天信息技术有限责任公司 | 一种基于调用关系的恶意代码判定方法及系统 |
CN106708732A (zh) * | 2016-12-12 | 2017-05-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于特征码的软件运行检测方法 |
CN106598866A (zh) * | 2016-12-22 | 2017-04-26 | 合肥国信车联网研究院有限公司 | 一种基于smali中间语言的静态检测系统及方法 |
CN106709359A (zh) * | 2017-01-05 | 2017-05-24 | 中国电子科技网络信息安全有限公司 | 一种Android应用漏洞检测方法 |
CN108932429A (zh) * | 2017-05-27 | 2018-12-04 | 腾讯科技(深圳)有限公司 | 应用程序的分析方法、终端及存储介质 |
CN109214179A (zh) * | 2017-06-30 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | 一种程序模块安全检测方法及装置 |
CN107566177A (zh) * | 2017-09-06 | 2018-01-09 | 合肥庆响网络科技有限公司 | 网络加速系统 |
US20210064748A1 (en) * | 2017-10-19 | 2021-03-04 | AO Kaspersky Lab | System and method for detecting malicious files by a user computer |
US11829473B2 (en) * | 2017-10-19 | 2023-11-28 | AO Kaspersky Lab | System and method for detecting malicious files by a user computer |
CN108093416A (zh) * | 2017-11-30 | 2018-05-29 | 厦门市美亚柏科信息股份有限公司 | 一种移动app推送数据的采集方法及终端 |
CN109271788A (zh) * | 2018-08-23 | 2019-01-25 | 北京理工大学 | 一种基于深度学习的Android恶意软件检测方法 |
CN109271788B (zh) * | 2018-08-23 | 2021-10-12 | 北京理工大学 | 一种基于深度学习的Android恶意软件检测方法 |
CN109493165A (zh) * | 2018-10-18 | 2019-03-19 | 上海掌门科技有限公司 | 黑名单规则的测试方法和设备 |
CN109543408A (zh) * | 2018-10-29 | 2019-03-29 | 卓望数码技术(深圳)有限公司 | 一种恶意软件识别方法和系统 |
CN109543408B (zh) * | 2018-10-29 | 2021-10-12 | 卓望数码技术(深圳)有限公司 | 一种恶意软件识别方法和系统 |
CN109447184A (zh) * | 2018-11-28 | 2019-03-08 | 南京理工大学 | 基于深度学习的Android应用网络行为分类方法及系统 |
CN109739748A (zh) * | 2018-12-13 | 2019-05-10 | 北京小米移动软件有限公司 | 合规检测方法及装置 |
CN109739748B (zh) * | 2018-12-13 | 2022-06-10 | 北京小米移动软件有限公司 | 合规检测方法及装置 |
CN110309661B (zh) * | 2019-04-19 | 2021-07-16 | 中国科学院信息工程研究所 | 一种基于控制流的敏感数据使用权限管理方法及装置 |
CN110309661A (zh) * | 2019-04-19 | 2019-10-08 | 中国科学院信息工程研究所 | 一种基于控制流的敏感数据使用权限管理方法及装置 |
CN110795734A (zh) * | 2019-10-12 | 2020-02-14 | 南京信息职业技术学院 | 一种恶意移动应用检测方法 |
CN110781081B (zh) * | 2019-10-12 | 2024-04-09 | 南京信息职业技术学院 | 一种移动应用回调强制触发方法、系统及存储介质 |
CN110781081A (zh) * | 2019-10-12 | 2020-02-11 | 南京信息职业技术学院 | 一种移动应用回调强制触发方法、系统及存储介质 |
CN111143858A (zh) * | 2019-12-31 | 2020-05-12 | 中国联合网络通信集团有限公司 | 数据检查方法及装置 |
CN112541179A (zh) * | 2020-11-27 | 2021-03-23 | 国网河南省电力公司电力科学研究院 | 一种Android应用数字证书校验漏洞检测系统及方法 |
CN112612479A (zh) * | 2020-12-28 | 2021-04-06 | 厦门市美亚柏科信息股份有限公司 | 一种基于安卓设备的apk静态分析方法和设备 |
CN112817603A (zh) * | 2021-01-26 | 2021-05-18 | 京东数字科技控股股份有限公司 | 应用程序处理方法、装置、电子设备、系统和存储介质 |
CN113010892A (zh) * | 2021-03-26 | 2021-06-22 | 支付宝(杭州)信息技术有限公司 | 小程序恶意行为检测方法和装置 |
CN113010892B (zh) * | 2021-03-26 | 2022-09-20 | 支付宝(杭州)信息技术有限公司 | 小程序恶意行为检测方法和装置 |
CN113177205B (zh) * | 2021-04-27 | 2023-09-15 | 国家计算机网络与信息安全管理中心 | 一种恶意应用检测系统及方法 |
CN113177205A (zh) * | 2021-04-27 | 2021-07-27 | 国家计算机网络与信息安全管理中心 | 一种恶意应用检测系统及方法 |
CN113468524B (zh) * | 2021-05-21 | 2022-05-24 | 天津理工大学 | 基于rasp的机器学习模型安全检测方法 |
CN113468524A (zh) * | 2021-05-21 | 2021-10-01 | 天津理工大学 | 基于rasp的机器学习模型安全检测方法 |
CN116451229B (zh) * | 2023-06-14 | 2023-09-12 | 北京长亭科技有限公司 | 一种恶意软件检测方法及装置 |
CN116451229A (zh) * | 2023-06-14 | 2023-07-18 | 北京长亭科技有限公司 | 一种恶意软件检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2014048194A1 (zh) | 2014-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103186740B (zh) | 一种Android恶意软件的自动化检测方法 | |
CN112685737A (zh) | 一种app的检测方法、装置、设备及存储介质 | |
CN104598824B (zh) | 一种恶意程序检测方法及其装置 | |
CN105187394B (zh) | 具有移动终端恶意软件行为检测能力的代理服务器及方法 | |
CN103136471B (zh) | 一种恶意Android应用程序检测方法和系统 | |
CN106845236A (zh) | 一种针对iOS平台的应用程序多维度隐私泄露检测方法及系统 | |
CN107273748B (zh) | 一种基于漏洞poc实现安卓系统漏洞检测的方法 | |
CN104506484A (zh) | 一种私有协议分析与识别方法 | |
CN103473509A (zh) | Android平台恶意软件自动检测方法 | |
CN103746992B (zh) | 基于逆向的入侵检测系统及其方法 | |
CN107766728A (zh) | 移动应用安全管理装置、方法及移动作业安全防护系统 | |
CN103905423A (zh) | 一种基于动态行为分析的有害广告件检测方法及系统 | |
CN104392177A (zh) | 基于安卓平台的病毒取证系统及其方法 | |
CN103500307A (zh) | 一种基于行为模型的移动互联网恶意应用软件检测方法 | |
WO2017071148A1 (zh) | 基于云计算平台的智能防御系统 | |
CN113111951B (zh) | 数据处理方法以及装置 | |
CN103617393A (zh) | 一种基于支持向量机的移动互联网恶意应用软件检测方法 | |
CN104281808A (zh) | 一种通用的Android恶意行为检测方法 | |
CN103297267A (zh) | 一种网络行为的风险评估方法和系统 | |
CN105160251A (zh) | 一种apk应用软件行为的分析方法及装置 | |
CN108965251B (zh) | 一种云端结合的安全手机防护系统 | |
CN111385309A (zh) | 在线办公设备的安全检测方法、系统及终端 | |
CN111049828B (zh) | 网络攻击检测及响应方法及系统 | |
CN104640105A (zh) | 手机病毒分析和威胁关联的方法和系统 | |
CN108345793A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161130 Termination date: 20190929 |
|
CF01 | Termination of patent right due to non-payment of annual fee |