一种移动应用中广告件正常行为的分析方法及系统的制作方法
【专利摘要】本发明公开了一种移动应用中广告件正常行为的分析方法及系统,首先,根据移动应用SDK开发商提供的测试用例代码或者示例,形成广告件触发调用模块,并引入广告件SDK代码,整合生成广告件的最小行为测试用例;识别最小行为测试用例中的广告件,并获取广告件相关信息,所述相关信息包括:广告件名称和广告件代码信息;利用现有动态行为分析环境,在预设时间内执行最小行为测试用例,并记录执行过程中的行为信息;分析所述行为信息,形成广告件正常行为的行为规则并记录。本发明有效解决了广告件正常行为规则的分析成本过高,无法自动化分析等问题。
【专利说明】一种移动应用中广告件正常行为的分析方法及系统
【技术领域】
[0001]本发明涉及移动终端应用的自动化分析【技术领域】,尤其涉及一种移动应用中广告件正常行为的分析方法及系统。
【背景技术】
[0002]随着移动互联网的发展和智能移动终端的大范围使用,随着开发者数量和规模的逐步的扩大,衍生出了许多用于向开发者提供各种服务的SDK工具和中间件,例如有提供广告推广服务的SDK中间件,有提供消息和数据推送的SDK中间件,也有提供应用推广和分发的SDK中间件等等。这些SDK中间件通过开发接口开放的形式,向开发者提供了各种常用的功能,极大的方便了开发者,可以用于快速的在应用中通过集成这些SDK来使得移动应用程序具备广告推广能力从而为开发者谋取开发收益。
[0003]在这种背景下,对于一个普通的移动互联网应用程序,则既包含了开发者自行开发的代码模块,也包含了引用的第三方SDK中间件的代码模块。相应的,一个应用在执行过程中所发生的行为有可能来自开发者开发的代码,也可能来自第三方SDK中间件的代码。对于这些情况,如何对第三方SDK中间件的代码的正常行为进行分析和记录,将成为一个非常关键的实用需求。通过对第三方SDK中间件代码的正常行为进行分析和记录,可以广泛的用于移动应用程序的自动化分析,检测和鉴定的等其它系统中。
[0004]目前,对移动应用第三方SDK中间件的代码模块的正常行为进行分析,目前主要有以下几种方法和策略:
第一种方法是通过人工分析的方法来进行,该方法需要引入手工参与,通过人工来使用各种分析工具来对广告件的正常行为进行白盒,黑盒的分析,从而可以形成移动应用第三方SDK中间件的正常行为认定结果。该方法的主要问题是,需要大量的人工参与和手工作业,分析成本很高,同时随着移动应用第三方SDK中间件的不断变化,需要重新进行人工分析。
[0005]第二种方法则是通过对移动终端应用程序进行自动化静态检测或动态检测来进行应用行为分析,其通过对应用中是否包含有广告件SDK的相关的代码符号信息和代码结构信息来进行广告件行为识别,或是对应用所触发的各种行为来进行记录,从而得到广告件的行为模式。这种方法的缺点主要在于,极其容易导致大量的误报和错报。对于移动终端应用程序和广告件SDK来说,其本身是一种正常的用于开发者的开发中间件工具,其代码和行为本身都并不具备危害性,而是由于开发者的不正当使用或故意作恶而导致形成了有害的广告应用,因此通过这种方法来对广告件进行检测分析,极其容易导致正常的广告件应用都被误报为有害的,进而无法向用户提供有效的判定和检测信息。
【发明内容】
[0006]针对上述技术问题,本发明提供了一种移动应用中广告件正常行为的分析方法及系统,该发明利用了已经成熟的动态行为分析技术,针对构建的最小行为测试用例进行动态行为分析,从而提取广告件正常行为的行为规则,可以作为移动应用广告件检测的特征
库使用。
[0007]本发明采用如下方法来实现:一种移动应用中广告件正常行为的分析方法,包括:
根据移动应用SDK开发商提供的测试用例代码或者示例,形成广告件触发调用模块,并引入广告件SDK代码,整合生成广告件的最小行为测试用例;其中,所述广告件触发调用模块,不进行任何行为操作,只提供必要的保障广告件触发所需要的流程功能代码;通过对不同的广告件SDK代码重复以上流程,则整合生成不同的广告件的最小行为测试用例;识别最小行为测试用例中的广告件,并获取广告件相关信息,所述相关信息包括:广告件名称和广告件代码信息;所述广告件代码信息至少包括:广告件代码位置信息;
利用现有动态行为分析环境,在预设时间内执行最小行为测试用例,并记录执行过程中的行为信息;
分析和处理所述行为信息,形成广告件正常行为的行为规则并记录。
[0008]进一步地,所述行为信息包括:行为类型、行为内容或者行为触发的代码调用位置,所述行为类型包括:网络行为、系统行为或者通信行为。
[0009]进一步地,所述行为规则包括:广告件的单位时间上行流量、广告件的单位时间下行流量、单位时间网络连接次数、是否有MEI泄露、是否有用户号码泄露,是否有用户移动终端型号信息泄露或者是否有用户隐私泄露。
[0010]本发明采用如下系统来实现:一种移动应用中广告件正常行为的分析系统,包括:
最小行为测试用例库,用于根据移动应用SDK开发商提供的测试用例代码或者示例,形成广告件触发调用模块,并引入广告件SDK代码,整合生成广告件的最小行为测试用例;其中,所述广告件触发调用模块,不进行任何行为操作,只提供必要的保障广告件触发所需要的流程功能代码;通过对不同的广告件SDK代码重复以上流程,则整合生成不同的广告件的最小行为测试用例,并将这些广告件的最小行为测试用例存储于最小行为测试用例库;
广告件识别模块,用于识别最小行为测试用例中的广告件,并获取广告件相关信息,所述相关信息包括:广告件名称或者广告件代码信息;
动态行为分析模块,用于利用现有动态行为分析环境,在预设时间内执行最小行为测试用例,并记录执行过程中的行为信息;
分析记录模块,用于分析和处理所述行为信息,形成广告件正常行为的行为规则并记录。
[0011]进一步地,所述行为信息包括:行为类型、行为内容或者行为触发的代码调用位置;所述行为类型包括:网络行为、系统行为或者通信行为。
[0012]进一步地,所述行为规则包括:广告件的单位时间上行流量、广告件的单位时间下行流量、单位时间网络连接次数、是否有MEI泄露、是否有用户号码泄露,是否有用户移动终端型号信息泄露或者是否有用户隐私泄露。
[0013]综上所述,本发明提供了一种移动应用中广告件正常行为的分析方法及系统,本发明所给出的技术方案基于沙箱的动态行为分析是一种非常普遍的行为分析技术。目前已经出现了较多的移动终端应用的动态行为分析技术和成熟系统。同时,目前已经出现很多广告件SDK,都向开发者提供了较为完善的开发文档和开发范例支持,并提供了广告件的可演示Demo程序。因此,本发明创造则是利用了已经成熟的动态行为分析技术,基于广告件SDK的官方提供的示范Demo程序构建出可用于广告件行为分析的最小化测试用例,通过对这些最小化测试用例进行动态行为分析来形成广告件SDK的正常行为的行为规则,可以解决现有技术的分析成本高,无法自动化分析的问题。
【专利附图】
【附图说明】
[0014]为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0015]图1为本发明提供的一种移动应用中广告件正常行为的分析方法流程图;
图2为本发明提供的一种移动应用中广告件正常行为的分析系统结构图。
【具体实施方式】
[0016]本发明给出了一种移动应用中广告件正常行为的分析方法及系统,为了使本【技术领域】的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明:
本发明首先提供了一种移动应用中广告件正常行为的分析方法,如图1所示,包括:SlOl根据移动应 用SDK开发商提供的测试用例代码或者示例,形成广告件触发调用模块,并引入广告件SDK代码,整合生成广告件的最小行为测试用例;
S102识别最小行为测试用例中的广告件,并获取广告件相关信息,所述相关信息包括:广告件名称和广告件代码信息;所述广告件代码信息至少包括:广告件代码位置信息;所述相关信息的输出结果为:
Struct AdWare
{ char氺 AdWareName;
char林 AdWareLocationList;
}
其中,AdWareName为广告件名称,AdWareLocationList为广告件代码位置信息列表;
S103利用现有动态行为分析环境,在预设时间内执行最小行为测试用例,并记录执行过程中的行为信息;
所述现有动态行为分析环境包括:开源的Android动态行为分析系统DroidBox,开源的Android行为拦截框架Xposed等等,同时利于Android系统的开源的特性,也比较容易形成应用程序的自动化的动态行为的分析沙箱环境;
S104分析和处理所述行为信息,形成广告件正常行为的行为规则并记录。
[0017]进一步地,所述行为信息包括:行为类型、行为内容或者行为触发的代码调用位置,所述行为类型包括:网络行为、系统行为或者通信行为。
[0018]例如:所述行为信息输出结果为:
Struct AdWareBehavior{ int BehaviorType
Char氺 BehaviorContent;
Char* BehaviorLocation;
}
其中,BehaviorType为行为类型,包括但不限于网络行为,系统行为,通信行为等,BehaviorContent为行为的具体内容,BehaviorLocation为行为触发的具体代码调用位置。
[0019]Struct AdffareBehaviorList
{
char氺 AdffareName;
AdffareBehavior* BehaviorList;
}
其中,AdWareName为广告件的名称,BehaviorList为广告件行为列表进一步地,所述行为规则包括:广告件的单位时间上行流量、广告件的单位时间下行流量、单位时间网络连接次数、是否有IMEI泄露、是否有用户号码泄露,是否有用户移动终端型号信息泄露或者是否有用户隐私泄露。
[0020]本发明还提供了一种移动应用中广告件正常行为的分析系统,如图2所示,包括: 最小行为测试用例库201,用于根据移动应用SDK开发商提供的测试用例代码或者示
例,形成广告件触发调用模块,并引入广告件SDK代码,整合生成广告件的最小行为测试用例;
广告件识别模块202,用于识别最小行为测试用例中的广告件,并获取广告件相关信息,所述相关信息包括:广告件名称或者广告件代码信息;
动态行为分析模块203,用于利用现有动态行为分析环境,在预设时间内执行最小行为测试用例,并记录执行过程中的行为信息;
分析记录模块204,用于分析和处理所述行为信息,形成广告件正常行为的行为规则并记录。
[0021]进一步地,所述行为信息包括:行为类型、行为内容或者行为触发的代码调用位置;所述行为类型包括:网络行为、系统行为或者通信行为。
[0022]进一步地,所述行为规则包括:广告件的单位时间上行流量、广告件的单位时间下行流量、单位时间网络连接次数、是否有MEI泄露、是否有用户号码泄露,是否有用户移动终端型号信息泄露或者是否有用户隐私泄露。
[0023]如上所述,本发明给出了一种移动应用中广告件正常行为的分析方法及系统的具体实施例,其与传统方法的区别在于,传统方法需要大量的人工参与和手工作业,所以分析成本较高、效率较低;传统方法大多是基于静态检测或动态检测进行的行为分析,可能存在大量的误报。本发明给出的技术方案通过引入最小行为测试用例的方法,利用现有的动态行为分析手段来对最小行为测试用例进行动态分析,对正常广告件的行为信息进行记录,最终形成广告件正常行为的行为规则。从而排除了人工参与的干扰,并且成本较低,最后能自动化得到正常广告件的标准行为特征。
[0024]以上实施例用以说明而非限制本发明的技术方案。不脱离本发明精神和范围的任何修改或局部替换,均应涵盖在本发明的权利要求范围当中。
【权利要求】
1.一种移动应用中广告件正常行为的分析方法,其特征在于,包括: 根据移动应用SDK开发商提供的测试用例代码或者示例,形成广告件触发调用模块,并引入广告件SDK代码,整合生成广告件的最小行为测试用例; 识别最小行为测试用例中的广告件,并获取广告件相关信息,所述相关信息包括:广告件名称和广告件代码信息; 利用现有动态行为分析环境,在预设时间内执行最小行为测试用例,并记录执行过程中的行为信息; 分析和处理所述行为信息,形成广告件正常行为的行为规则并记录。
2.如权利要求1所述的方法,其特征在于,所述行为信息包括:行为类型、行为内容或者行为触发的代码调用位置,所述行为类型包括:网络行为、系统行为或者通信行为。
3.如权利要求1所述的方法,其特征在于,所述行为规则包括:广告件的单位时间上行流量、广告件的单位时间下行流量、单位时间网络连接次数、是否有MEI泄露、是否有用户号码泄露,是否有用户移动终端型号信息泄露或者是否有用户隐私泄露。
4.一种移动应用中广告件正常行为的分析系统,其特征在于,包括: 最小行为测试用例库,用于根据移动应用SDK开发商提供的测试用例代码或者示例,形成广告件触发调用模块,并引入广告件SDK代码,整合生成广告件的最小行为测试用例; 广告件识别模块,用于识别最小行为测试用例中的广告件,并获取广告件相关信息,所述相关信息包括:广告件名称或者广告件代码信息; 动态行为分析模块,用于利用现有动态行为分析环境,在预设时间内执行最小行为测试用例,并记录执行过程中的行为信息; 分析记录模块,用于分析和处理所述行为信息,形成广告件正常行为的行为规则并记录。
5.如权利要求4所述的系统,其特征在于,所述行为信息包括:行为类型、行为内容或者行为触发的代码调用位置;所述行为类型包括:网络行为、系统行为或者通信行为。
6.如权利要求4所述的系统,其特征在于,所述行为规则包括:广告件的单位时间上行流量、广告件的单位时间下行流量、单位时间网络连接次数、是否有MEI泄露、是否有用户号码泄露,是否有用户移动终端型号信息泄露或者是否有用户隐私泄露。
【文档编号】G06F11/36GK103902450SQ201310724435
【公开日】2014年7月2日 申请日期:2013年12月25日 优先权日:2013年12月25日
【发明者】潘宣辰, 肖新光 申请人:武汉安天信息技术有限责任公司