基于重复类代码识别的安卓应用漏洞检测技术研究

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:yinje2004_2005
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
安卓应用数量日益剧增、漏洞层出不穷,漏洞检测效率亟待提高。然而,安卓应用中代码复用、重打包等情况导致了应用间存在大量的重复代码,如何有效识别海量应用间的重复代码、消除冗余检测,进而提高检测效率具有重要意义。  本文以面向对象语言中基础数据类型“类”为切入点,面向Source/Sink规则类漏洞,研究基于重复类代码的漏洞检测加速方法。通过去除应用内已知漏洞信息的类代码实现漏洞检测范围的有效缩减,通过关联漏洞检测相关代码与重复类代码保证漏洞检测的正确性,从而提高海量应用整体的漏洞检测效率。本文主要贡献如下:  1、提出了一种基于漏洞指纹图的漏洞检测技术。漏洞指纹图是一个随着漏洞检测可动态增长的、记录漏洞检测关键代码信息的有向图,支持重复类代码中已知漏洞的快速检测。通过设计基于深度优先遍历和多维特征过滤的漏洞指纹图查询算法,并根据查询结果去除目标应用的冗余代码,缩小分析范围,提高漏洞检测效率。实验表明,随着分析应用的数量增长,可以去除的代码占比呈上升趋势。在第45~50万应用的分析阶段,平均可去除代码占比高达52%,相比不进行代码相似性分析的检测方式效率平均可提高34%。对50万应用整体而言,检测效率平均可提升23%。  2、基于现有第三方库识别方法,提出了一种基于“库/类两层代码重复识别”的漏洞检测优化方法,进一步提高漏洞检测效率。实验表明,在第45~50万应用的分析阶段,平均可去除代码占比高达70%,相比不进行代码相似性分析的检测方式效率平均可提高63%。对50万应用整体而言,检测效率平均可提升41%。  3、设计并实现了一个海量安卓应用漏洞检测模块FindAndrVul@VARAS。该模块可在VARAS平台上,作为安卓应用安全分析流水线的一个阶段,自动对安卓应用进行漏洞检测。目前,已经针对50万安卓应用选取四类常见漏洞进行检测,取得较好的效果。
其他文献
本课题旨在用π-演算对openMosix的一些基本特征进行解释,选取了进程迁移作为切入点,重点研究在进程迁移的情况下,进程间的互操作关系,用π-演算给予了形式化的描述。本文的主要
本文介绍了构造Java企业级系统的最新平台——J2EE,详细阐述了它的组成、基于J2EE构建企业系统常用的主要技术,包括Servlet、JSP、企业JavaBean和一组常用API;研究了J2EE的在企
随着互联网的快速发展,推荐系统在帮助商家提升销量方面扮演着越来越重要的角色。现有工作通常仅仅挖掘了数据中的用户个人喜好或时间信息,而忽略了大众情感对用户购买决策的影
语义网以XML为基础,用RDF统一资源描述格式,并以Ontology作为词汇共享与语义交换的媒介。本文首先对语义网作了简要的介绍,内容包括语义网的基本概念、层次结构及应用。对URI、X
近年来,随着金融危机、劳动力和原材料成本上涨、人民币升值等多种因素的持续影响,全球经济增幅放缓,服装企业作为传统的制造型行业也受到影响。现代服装业具有产品生命周期短、
本文所构建的协作学习系统,是OGSA在远程教育中的实际应用。本系统是一种开放的、可扩展的、适应网络教学需求的协同教学系统,通过各个专门功能的Web Service,建立相关工具集来
微博平台等网络新兴媒体已经慢慢取代传统新闻媒介,成为现代人信息获取、信息分享和信息交流的主要渠道。现有的研究工作大多侧重用户的影响力,而没有着重考虑用户作为信息源,提
数据挖掘是从大量数据中提取人们感兴趣的信息和知识,这些知识往往是隐含的、有用的、尚未发现的信息和知识.数据挖掘已经引起了人们的广泛关注,目前成为国内外数据库和信息
 本文共分八章,第一章介绍了常见的入侵方法及相应的防范手段,第二章对入侵检测系统进行了概述,第三章介绍分布式入侵检测系统,第四章探讨了入侵检测技术,第五章研究了基于神经网
近年来,随着软件应用领域的不断扩展,软件产品的复杂度越来越高,而人们对软件质量的容忍度却越来越低。软件是否有可信的质量已成为一个亟待解决的重要问题。现代质量管理理论强