当前位置: 首页 > 专利查询>武汉大学专利>正文

一种Android平台的结构型广告欺骗检测方法及系统技术方案

技术编号:13956801 阅读:38 留言:0更新日期:2016-11-02 14:57
本发明专利技术公开了一种Android平台的结构型广告欺骗检测方法及系统,首先解压APK程序包,提取解压后得到的配置文件特征;然后获取程序控件属性特征,并且生成控件树,之后对于获取的程序控件属性特征进行分析,与广告特征库中的记录进行匹配,生成该广告库的欺骗规则;所述广告特征库中记录有已知的广告名称及它们的欺骗规则;通过遍历APK程序的控件树,结合状态标示位、节点等价预测及节点的权重大小优化遍历路径;最后将广告控件与步骤3中生成的该广告库欺骗规则进行匹配,检测APK程序是否存在结构型欺骗;本发明专利技术可以事先分析APK中广告结构上是否存在欺骗,不需要等到用户使用以后来反馈存在的欺骗行为,同时该发明专利技术能有效地提高程序自动扫描检测的效率。

【技术实现步骤摘要】

本专利技术属于移动安全
,尤其涉及一种Android平台的结构型广告欺骗检测方法及系统
技术介绍
近来,移动互联网的概念越来越多的出现在人们的生活中。一方面,移动设备可以随时随地为用户提供可靠和可用的高质量服务。另一方面,随着智慧城市中无线网的无缝接入,大大降低用户的上网成本,从而使得移动互联网渐渐地融合到人们工作、生活、娱乐等各个方面。这也导致向移动设备投放广告成为很多广告商的目标,由此带来的商业模式也越来越明显。由于Android程序是开发者自签名,所以应用程序的安全性是无法确定的。首先,传统的静态分析程序的代码方法,很耗费人力,也很容易通过在线网络更细给绕过,其检测效果可想而知;其次,现如今广告的利润是国内移动互联网的重要收入之一,如果将所有的广告给屏蔽掉,那么将危害很大一部分的利益。当前,用户使用数量最多的移动设备平台是Android,而Android的程序大部分都是免费软件,所以针对Android平台的广告控件投放的数量巨多。然而,由于广告商是无法得到应用程序的具体源代码,因此,无法检查人工地在众多的应用软件上一一观察应用程序中广告的尺寸是否过小,广告是否隐藏不显示,或者展示的广告数量是否过多。可见,广告的尺寸过小,广告隐藏不显示或者展示数量过多,这些都是属于欺骗的行为,违反了那些广告商规定的广告守则。而通过人工检测每个应用商店中嵌入的广告是否存在欺骗行为的成本提高并且很耗时间。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种能自动检测软件中广告是否存在欺骗行为的检测方法及系统。本专利技术的系统所采用的技术方案是:一种Android平台的结构型广告欺骗检测方法,其特征在于,包括以下步骤:步骤1:解压APK程序包,提取解压后得到的配置文件特征;步骤2:在Android模拟器中运行程序,获取程序控件属性特征,并生成控件树;步骤3:对于获取的程序控件属性特征进行分析,与广告特征库中的记录进行匹配,生成该广告库的欺骗规则;所述广告特征库中记录有已知的广告名称及它们的欺骗规则;步骤4:通过遍历APK程序的控件树,结合状态标示位、节点等价预测及节点的权重大小优化遍历路径;步骤5:将广告控件与步骤3中生成的该广告库欺骗规则进行匹配;如果广告控件与欺骗规则的任一条规则匹配,则所述程序中广告控件存在结构型欺骗行为,输出程序名并加入黑名单中;否则,所述APK程序不存在结构型欺骗。作为优选,步骤1中所述配置文件的特征包括权限信息列表、activity信息列表。作为优选,步骤2中所述程序控件属性特征,包括控件的属性列表信息、状态标示位信息、控件的坐标值信息和控件所在树的深度信息。作为优选,步骤3中所述广告库的欺骗规则包括规定相对应的广告最小尺寸、广告最多展示的数量、广告件不能隐藏。作为优选,步骤4的具体实现过程是,MonkeyRunner自动测试脚本访问控件时,先读取控件状态标示位,如果访问过,则略过该控件。遍历控件树,发现不能单单依靠状态标示位,所以遇到多个控件类型的控件,提取类型、X和Y坐标值、所在树的度作为向量,计算出余弦相似值;如果余弦相似值超过设置阈值,可以认为计算的控件是等价的,那么遍历时,可以略过后面的控件,遍历不等价的控件;再根据界面的访问次数多少来分配权重,界面被访问的次数多,则界面上的节点权值大,会优先遍历。本专利技术的方法所采用的技术方案是:一种Android平台的结构型广告欺骗检测系统,其特征在于:包括解压模块、程序控件属性特征提取模块、欺骗规则生成模块、欺骗行为判定模块;所述解压模块用于解压APK程序包,提取解压后得到的配置文件特征;所述程序控件属性特征提取模块用于提取控件的属性列表信息、状态标示位信息、控件的坐标值信息和控件所在树的深度信息;所述欺骗规则模块用于对于提取的特征进行分析,与广告特征库中的记录进行匹配,生成该广告库的欺骗规则;所述欺骗行为判定模块用于将广告控件与步骤3中生成的该广告库欺骗规则进行匹配;如果广告控件与欺骗规则的任一条规则匹配,则所述程序中广告控件存在结构型欺骗行为,输出程序名并加入黑名单中;否则,所述APK程序不存在结构型欺骗。相对于现有技术,本专利技术的有益效果是:目前技术都是等到用户使用程序以后,进行反馈,而本专利技术提前对程序中广告进行欺骗行为分析,如果是欺骗,则记录该程序,不让它流入应用商店中去,并且本专利技术采用动态分析,可以有效提高程序的检测。附图说明图1为本专利技术实施例的方法流程图。图2为本专利技术实施例的Android系统中采用树型层次结构的生成的控件树示意图;图3为本专利技术实施例的方法中欺骗行为判定流程图。具体实施方式为了便于本领域普通技术人员理解和实施本专利技术,下面结合附图及实施例对本专利技术作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本专利技术,并不用于限定本专利技术。目前很多应用商店对应用的广告只是提供识别,对广告的欺骗没有做更进一步地甄别;这对上述问题,本专利技术提供了一种Android平台的结构型广告欺骗检测方法,可以自动安装程序,获取程序的属性,并自动测试,检测出程序中是否存在广告欺骗行为,更具体地,广告欺骗行为的情形有:广告尺寸过小、广告展示数量过多、广告被隐藏等,测试完之后,自动卸载程序。Android系统采用了View(称为视图)组件,均是通过视图在屏幕中显示画面,例如,View是Android中所有控件的基类;它是界面层的控件的一种抽象,它也代表一个控件。每个View在屏幕都有对应的显示区域。Android系统会获取View所在那一层,之后按顺序将各个View控件绘制到屏幕上。控件在同一层,那么树的度是相同的,那么Android系统会按顺序绘制。树的度越小,会优先绘制。自动测试,会判断广告控件的长和宽是否在规定范围内,也会判断该界面的广告数量以及广告的坐标值与其他的控件坐标是否相交,如果相交,那么广告是隐藏或者被遮住。请见图1,本专利技术包括以下步骤:步骤1:解压APK程序包,提取解压后得到的配置文件特征(权限信息列表、activity信息列表);从而执行步骤2和步骤3中至少之一的处理;步骤2:基于配置文件中权限信息,检测应用程序是否需要申请上网权限,如果检测申请了,进入步骤3;反之,直接结束。步骤3:自动运行程序,通过修改过的HierachyViewer,获取UI上的控件,并初始化状态标示位,形成控件树;而MonkeyRunner自动通过控件树节点的权重大小及节点是否等价来选择优先遍历顺序,最终判断出程序是否存在结构型广告欺骗行为。图2展示了一个Android系统中采用树形的层次结构来管理视图之间的关系。而本专利技术也发现给每个控件添加状态标示位对后续的访问,更加便捷。初始化为0,如果访问过,状态位将变为1。图2中DecorView是每个界面的顶级View,即View的根节点。而树的每个节点表示一个控件,如图2中Button按钮、EditText文本框、Ads广告等等控件。而Android系统绘制屏幕也是从根节点采用先序遍历方法遍历整颗树,依次将各个控件绘制到屏幕上。由于Android系统是根据控件所在树的度来绘制,由此可见,各个控件之间是相互独立的。Android系统将控件树保存在内存中。图3是实施例的方法中欺骗行为判定流程图,包本文档来自技高网...

【技术保护点】
一种Android平台的结构型广告欺骗检测方法,其特征在于,包括以下步骤:步骤1:解压APK程序包,提取解压后得到的配置文件特征;步骤2:在Android模拟器中运行程序,获取程序控件属性特征,并形成程序控件树;步骤3:对于获取的程序控件属性特征进行分析,与广告特征库中的记录进行匹配,生成该广告库的欺骗规则;所述广告特征库中记录有已知的广告名称及它们的欺骗规则;步骤4:通过遍历APK程序的控件树,结合状态标示位、节点等价预测及节点的权重大小优化遍历路径;步骤5:将广告控件与步骤3中生成的该广告库欺骗规则进行匹配;如果广告控件与欺骗规则的任一条规则匹配,则所述程序中广告控件存在结构型欺骗行为,输出程序名并加入黑名单中;否则,所述APK程序不存在结构型欺骗。

【技术特征摘要】
1.一种Android平台的结构型广告欺骗检测方法,其特征在于,包括以下步骤:步骤1:解压APK程序包,提取解压后得到的配置文件特征;步骤2:在Android模拟器中运行程序,获取程序控件属性特征,并形成程序控件树;步骤3:对于获取的程序控件属性特征进行分析,与广告特征库中的记录进行匹配,生成该广告库的欺骗规则;所述广告特征库中记录有已知的广告名称及它们的欺骗规则;步骤4:通过遍历APK程序的控件树,结合状态标示位、节点等价预测及节点的权重大小优化遍历路径;步骤5:将广告控件与步骤3中生成的该广告库欺骗规则进行匹配;如果广告控件与欺骗规则的任一条规则匹配,则所述程序中广告控件存在结构型欺骗行为,输出程序名并加入黑名单中;否则,所述APK程序不存在结构型欺骗。2.根据权利要求1所述的Android平台的结构型广告欺骗检测方法,其特征在于:步骤1中所述配置文件的特征包括权限信息列表、activity信息列表。3.根据权利要求1所述的Android平台的结构型广告欺骗检测方法,其特征在于:步骤2中所述程序控件属性特征,包括控件的属性列表信息、状态标示位信息、控件的坐标值信息和控件所在树的深度信息。4.根据权利要求1所述的Android平台的结构型广告欺骗检测方法,其特征在于:步骤3中所述广告库的欺骗规则包括规定相对应的广告最小尺寸、广告最多展...

【专利技术属性】
技术研发人员:陈晶杜瑞颖何琨陶超
申请(专利权)人:武汉大学
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1