面向Android的第三方库检测技术研究

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:tai314
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
第三方库作为一种重要的代码复用技术,在Android应用开发中存在广泛的应用,但同时也造成了权限滥用和用户隐私泄漏等诸多安全问题。现有的大部分研究工作使用白名单或基于聚类的方式来识别和检测第三方库。这些方法存在诸多不足,其原因包括:(1)第三方库种类和数量巨大,白名单方式无法完全覆盖;(2)Android应用内代码的结构关系错综复杂,第三方库的边界无法通过Java Package直接确定;(3)常见的代码混淆或优化技术不仅使得聚类结果包含大量误报,同时也使白名单无法准确检测第三方库。针对Android第三方库检测存在的上述三个问题,本文提出了一个新的第三方库识别和检测工具。研究者可以借助该工具快速、准确地定位Android应用程序所使用的第三方库。具体而言,本文的创新点和主要工作如下:1.提出了一种新的第三方库识别方法。首先改进了基于依赖关系图的第三方库边界识别算法,依赖关系包括函数调用、字段引用以及首次提出的接口实现和Dalvik注解。同时算法舍弃了传统的Package层次关系,从而避免将拥有相同包名前缀的多个第三方库识别成相同的类库。接着利用依赖关系图中的弱连通分量恢复各第三方库实例的边界,并计算各实例的特征值,通过聚类的方式准确识别第三方库。最后,首次提出针对聚类结果的三步优化过程,减少聚类结果中的误报。2.提出了一种新的基于索引数据库和贪心策略的第三方库检测算法。对聚类识别的第三方库实例建立基于特征的索引数据库,使算法能够快速地查找候选第三方库实例,从而避免一一对比的检测方式。另一方面,以贪心策略和相似度为基础的特征匹配算法确保最有可能的候选第三方库实例优先进行匹配,保证检测算法的鲁棒性和准确性。3.实现并开源了检测工具:LibHawkeye。本文从第三方库边界识别算法的可靠性、聚类优化方法的有效性、第三方库检测算法的准确性以及性能开销等方面系统地对所提出方法进行了评估。基于1,000个应用的边界识别实验表明,LibHawkeye的识别准确率比现有方法提高26.5%。通过对3,987,206个Android应用的聚类分析,识别出22,492个不同第三方库的1,414,173个实例。对聚类结果进行随机抽样检测,其边界准确率达到93.25%。基于聚类结果对不同应用市场的1,000个应用进行三方库检测,平均F1值达到93.5%,比最新方法提高40%。实验表明LibHawkeye在快速准确检测的同时能够抵抗常见的代码混淆,且性能开销合理可接受。
其他文献
合成孔径雷达(SAR)是一种不受天气、光照等各种外界环境影响,并可以对感兴趣的区域进行全天候、全天时侦查的微波探测传感器。自SAR研制成功以来,SAR成像技术得到了快速地发
频谱利用率和功率效率是无线通信系统面临的两个最严峻的挑战。多输入多输出(Multiple Input Multiple Output,MIMO)技术可以在不增加带宽和发射功率的情况下,明显提升整个系
HINOC是一种借助有线电视网同轴电缆,实现高性能双向传输的宽带接入解决方案。HINOC专注于最后100米的同轴宽带接入,经过十余年的前沿技术积累和关键技术攻克,HINOC技术已形
近几十年来,随着人造卫星和雷达技术的迅猛发展,如何设计天基雷达的天线波束灵活快速扫描,以更好地满足军事民事需求,成为了一个重要的研究方向。在天线综合领域,目前已有的
随着人工智能技术的兴起和发展,人工神经网络算法被广泛应用于数据挖掘、模式识别、图像检测、人脸识别等领域,并且在建模分析中取得了非常不错的效果。极限学习机(ExtremeLe
随着5G技术的发展和创新,网络资源数据量也呈现爆炸式的增长。智能终端产品的研发和供给,为移动电子商务(M-Electronic Commerce)的发展创造了良好的契机。移动电子商务推荐
随着互联网以及信息技术的迅猛发展,网络中的信息量也在不断增长并逐渐迈向了大数据的时代。但在海量数据面前,用户往往无所适从越来越难以从中获取到各自感兴趣的信息,已从
正交频分复用指数调制(OFDM-IM)是一种新的多载波调制技术,其子载波具有激活和空闲两种状态,除了在激活子载波上发送星座符号外,还利用空闲子载波的位置传输信息。OFDM-IM与O
近年来,随着互联网的发展,社交网络、多媒体服务、金融数据处理等众多信息服务领域的数据量一直在快速增加,针对这些海量信息进行处理的数据密集型应用也引起了人们的广泛关
校园信息聚合与交换平台借助移动互联网便利、快捷、高效、随身的特点,将校园中关于学生生活、学习、娱乐等日常行为活动信息的聚合与交换置于移动互联网上,从而实现一个实时