安卓应用第三方库检测与分析

来源 :北京交通大学 | 被引量 : 1次 | 上传用户:rwuinthe3924
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
为了缩短开发时间,安卓应用开发中大量使用了第三方库。然而不恰当地使用第三方库将引入漏洞代码和违反开源协议。对安卓应用中第三方库进行检测与分析,有利于应用市场对应用程序进行第三方库安全性审查、监督开发者遵守开源协议规定。由于基准库包含的库数量较少,并且每次检测需要和百万个应用中的第三方库特征进行相似度计算,因此第三方库检测存在准确率低、效率低等问题;并且,已有文献分析的开源协议种类少,只检测了 GPL(General Public License)和AGPL(Affero General Public License)协议违规情况。针对以上问题,本文提出了安卓应用第三方库检测与分析方法,建立了目前规模最大的第三方库基准库,对第三方库进行白名单和调用关系子图识别的两级检测方法,并分析应用是否违反GPL、Apache、BSD(Berkeley Software Distribution License)以及 MIT(Massachusetts Institute of Technology)四种开源协议的规定。主要工作和贡献如下。(1)作为第三方库协议检测的基准,需要构建一个覆盖全面的第三方库基准库。本文从安卓应用市场中获取了 1530个应用,使用开源第三方库检测工具LibD进行检测,生成了第三方库的库名列表。基于该列表,在开源代码托管网站中检索第三方库的开源协议文件,将协议类型为GPL、Apache、BSD或者MIT的第三方库加入基准库。本文共获得709个第三方库,显著多于已有文献报告的库数量。(2)针对现有第三方库检测工具准确率低和效率低的问题,本文提出了基于白名单和基于调用关系子图识别的两级检测方法。首先提出了重命名混淆检测方法,若安卓应用中存在符合重命名混淆规则的包名,将被判定为使用了混淆工具进行了重命名混淆,本文将对此种类型的应用使用基于调用关系子图识别的检测,否则使用基于白名单的检测。调用关系子图识别的检测在函数调用图中保存了不会被混淆技术更改的操作码,在计算安卓应用侯选库和第三方库的相似度时能抵御重命名混淆。(3)提出了检测安卓应用是否违反GPL、Apache、BSD以及MIT四种开源协议的方法。当应用的第三方库协议类型为GPL时,在开源应用商店和开源代码托管网站中查找应用的源码,若未找到源码则视为违规;当应用的第三方库协议类型为Apache、BSD或者MIT时,在反编译后的应用中检索和开源协议授权相关的文字,检查是否包含相应的协议声明,若未包含则视为违规。为验证本文方法的有效性,本文将1096个开源应用作为检测第三方库实验数据集,结果表明检测准确率为83.89%、漏报率为15.99%,与已有方法相比,提高了准确率、降低了漏报率;本文将安智市场中的15055个应用作为分析开源协议实验数据集,结果表明共5378个应用违反了开源协议,其中3118个应用违反了一种开源协议,2160个应用同时违反了多种开源协议,并且,在违规应用中违反Apache协议的应用数量最多,共4952个。
其他文献
疫情当前,又到了春节后复工高峰期,作为人员密集型的公共场所,酒店的首要任务就是保护好每一位客人和员工的安全。近日金茂、岭南等多家酒店集团纷纷分享了他们的防控措施,总结起
报纸
作者在日本国立神户大学医学部留学5年,亲身感受了日本神户市的社区医疗,并仔细考察了日本国立神户大学的全科医学教育状况,现总结归纳如下,以期对我国方兴未艾的社区医疗和
采用柳州市2000、2010年ETM+遥感影像,基于CART决策树分类方法提取景观类型分布信息,运用景观生态学原理和景观指数分析方法,通过ArcGIS 9.3和Fragstats 3.3软件分析了柳州市景观
目的比较二甲双胍和阿卡波糖治疗Ⅱ型糖尿病的疗效.方法选择60例Ⅱ型糖尿病患者,分为二甲双胍组30例(男16例,女14例)口服二甲双胍0.25g~0.5 g,tid.阿卡波糖组30例(男18例,女12
目的探究术中压疮护理在手术压疮高危患者中的应用意义。方法 90例手术压疮高危患者,通过随机抽签的方式将患者分为实验组和对照组,每组45例。对照组患者采用常规护理方式,实
文章描述了锂电池储能项目在实际工程设计中容量配置的依据,并依据现阶段已经发行的国家及行业标准进行细化的接入设计,使工程设计合理并满足并网条件。此外,对单一依赖削峰
党的十八大正式将“生态文明”引入“五位一体”的社会主义建设中,农村生态文明建设在其中显得尤为重要。能否统筹城乡共同发展,是落实“全面建成小康社会”的一个重要部分。东部、中部地区在“美丽乡村建设”中已取得巨大进展,西部地区因为其复杂的地理气候环境和丰富的人文历史使得在农村建设工作中面临着许多难点。宁夏闽宁镇从“吊庄移民”工程到“美丽乡村建设”取得了许多有价值的经验,值得西部其它地区学习借鉴。西部地区
为了辨明牧户面临的主要生计风险,探索限制牧户风险应对的深层次因素,并进一步寻找提高牧户风险应对能力的对策,基于内蒙古中东部三个草原类型区的入户调研数据,参照英国国际
实现建筑的超低、近零乃至零能耗是建筑节能工作的主要趋势。瑞士已经形成了较为完备的近零能耗建筑体系。本文介绍了瑞士的近零能耗建筑技术标准--Minergie,借鉴瑞士的先进