Android应用间能力泄露漏洞利用的自动化生成
发布时间:2021-03-02 11:24
Android应用间能力泄露漏洞是一种危害性非常大的Android组件间漏洞,其他应用或者攻击者可以利用其非法地使用该应用的特殊能力,因此对Android安全造成了巨大的危害。目前Android组件间安全工作更多的是关注Android组件间漏洞的检测方法,而忽略了漏洞利用的重要性。漏洞利用可以帮助开发者确认bug,减少漏洞的分析时间。因此本文先后提出了两个Android应用间能力泄露漏洞利用的自动化生成工具,两者可以自动化检测Android应用间能力泄露漏洞,并生成触发漏洞的利用,帮助开发者确认bug。(1)基于符号执行的Android应用间能力泄露漏洞利用的自动化生成。将符号执行技术引入到Android应用间能力泄露漏洞的检测工作中,精确计算每条可能触发漏洞路径的路径条件;并根据能力泄露漏洞检测工作的问题特性,从多个方面对本文的符号执行进行优化,使符号执行适用于实际应用的能力泄露漏洞检测工作;使用符号执行工具检测豌豆荚各类别611个APP,共发现16种共6566个能力泄露缺陷;根据本文实验评估可知,本文符号执行技术可以产生高精度的测试用例,平均路径条件计算准确率为85.3%;相比同类...
【文章来源】:中国科学技术大学安徽省 211工程院校 985工程院校
【文章页数】:72 页
【学位级别】:硕士
【部分图文】:
应用间能力泄璐漏洞攻击示例
第3章基于符号执行的Android应用间能力泄露漏洞利用的自动化生成??第3章基于符号执行的Android应用间能力泄露漏洞利??用的自动化生成??本章将介绍基于符号执行的Android应用间能力泄露漏洞利用的自动化生??成工具,工具由方法调用图和方法控制流图构建、能力泄露路径查找、能力泄露??/?纪咐路径条件约束求解、能力泄露漏洞自动化测试四个部分组成。本章第一个??章节先简要介绍这四个部分的功能和作用,然后分四个章节分别介绍它们的具??体实现。??3.1方法概述??
构建Android应用程序的DummyMain函数,DummyMain函数中调??用了?Android应用程序的各个程序入口。Android应用程序中还存在很多隐式??调用,例如:如图3.2所示,八11<11*0丨〇1八??中存在两个方法1^7〃//1^//>/从/>7_()和??方法,在?AndroidAPP?中,它们不存在调用的边。??但是在Android?APP运行中,吻方法会调用Android?System的方??法,最终?Android?System?方法会调用?方法。因此??如果单纯地分析Android?APP,那么构建的Android应用程序的方法调用图将不??完整。但是为了提高分析APP的效率,本文并不考虑将Android源码纳入我们的??分析当中。本文釆用与FlowDroid[47】与IccTa[48]相似的方法来解决Android应用??程序方法调用图不完整的问题。即不断搜索识别可能存在的回调方法调用,添加??到当前Android应用的方法调用图上,并继续搜索识别可能存在的回调方法调用,??直到当前Android应用的方法调用图不再变化。本文搜索识别Android中主要的??存在Android应用程序回调的方法,这些方法主要共分为两类:组件间通信方法??和多线程方法。组件间通信方法主要有:叫)、??senciBroacicast(Intent)等。多线程方法主要有???Threadstart()、AsyncTask.execute()、??
本文编号:3059179
【文章来源】:中国科学技术大学安徽省 211工程院校 985工程院校
【文章页数】:72 页
【学位级别】:硕士
【部分图文】:
应用间能力泄璐漏洞攻击示例
第3章基于符号执行的Android应用间能力泄露漏洞利用的自动化生成??第3章基于符号执行的Android应用间能力泄露漏洞利??用的自动化生成??本章将介绍基于符号执行的Android应用间能力泄露漏洞利用的自动化生??成工具,工具由方法调用图和方法控制流图构建、能力泄露路径查找、能力泄露??/?纪咐路径条件约束求解、能力泄露漏洞自动化测试四个部分组成。本章第一个??章节先简要介绍这四个部分的功能和作用,然后分四个章节分别介绍它们的具??体实现。??3.1方法概述??
构建Android应用程序的DummyMain函数,DummyMain函数中调??用了?Android应用程序的各个程序入口。Android应用程序中还存在很多隐式??调用,例如:如图3.2所示,八11<11*0丨〇1八??中存在两个方法1^7〃//1^//>/从/>7_()和??方法,在?AndroidAPP?中,它们不存在调用的边。??但是在Android?APP运行中,吻方法会调用Android?System的方??法,最终?Android?System?方法会调用?方法。因此??如果单纯地分析Android?APP,那么构建的Android应用程序的方法调用图将不??完整。但是为了提高分析APP的效率,本文并不考虑将Android源码纳入我们的??分析当中。本文釆用与FlowDroid[47】与IccTa[48]相似的方法来解决Android应用??程序方法调用图不完整的问题。即不断搜索识别可能存在的回调方法调用,添加??到当前Android应用的方法调用图上,并继续搜索识别可能存在的回调方法调用,??直到当前Android应用的方法调用图不再变化。本文搜索识别Android中主要的??存在Android应用程序回调的方法,这些方法主要共分为两类:组件间通信方法??和多线程方法。组件间通信方法主要有:叫)、??senciBroacicast(Intent)等。多线程方法主要有???Threadstart()、AsyncTask.execute()、??
本文编号:3059179
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3059179.html