安卓動(dòng)態(tài)權(quán)限申請(qǐng)機(jī)制漏洞修復(fù)方法研究
發(fā)布時(shí)間:2023-06-04 18:47
安卓第六個(gè)主要更新版本Android 6.0在2015年10月發(fā)布了正式版本,該版本系統(tǒng)帶來了許多新的特性,其中最引人矚目的就是動(dòng)態(tài)權(quán)限機(jī)制。該機(jī)制要求適配新版本的應(yīng)用程序需要在運(yùn)行時(shí)動(dòng)態(tài)檢查和申請(qǐng)權(quán)限。新的動(dòng)態(tài)權(quán)限機(jī)制使得新版本的操作系統(tǒng)更加安全,但是也引入了全新的系統(tǒng)調(diào)用接口,而且有比較復(fù)雜的調(diào)用規(guī)范。應(yīng)用程序在適配到新版本操作系統(tǒng)時(shí)如果不遵守動(dòng)態(tài)權(quán)限申請(qǐng)的調(diào)用規(guī)范,就會(huì)引入運(yùn)行時(shí)錯(cuò)誤。如果一個(gè)適配于Android 6.0的應(yīng)用程序在訪問受限資源時(shí)沒有按照新版本動(dòng)態(tài)權(quán)限的要求在運(yùn)行時(shí)檢查和申請(qǐng)權(quán)限,我們就稱該應(yīng)用存在權(quán)限申請(qǐng)機(jī)制漏洞。為了檢測(cè)一個(gè)適配于Android 6.0的應(yīng)用程序是否存在權(quán)限申請(qǐng)機(jī)制漏洞,本文基于Java語言和Soot框架開發(fā)了一款名為PermGuard的檢測(cè)工具,并檢測(cè)了Google Play上下載的500個(gè)應(yīng)用程序,最終發(fā)現(xiàn)在成功參與檢測(cè)的應(yīng)用程序中有25.5%的應(yīng)用程序存在此類權(quán)限申請(qǐng)機(jī)制漏洞。這也反映了由于新系統(tǒng)更改了大量的權(quán)限相關(guān)的系統(tǒng)調(diào)用接口,導(dǎo)致應(yīng)用程序還沒有很好的適配。PermGuard通過靜態(tài)分析的方法在輸入的應(yīng)用程序中檢測(cè)需要權(quán)限保護(hù)的操作,...
【文章頁(yè)數(shù)】:70 頁(yè)
【學(xué)位級(jí)別】:碩士
【文章目錄】:
摘要
ABSTRACT
縮略語對(duì)照表
第一章 緒論
1.1 研究背景及意義
1.1.1 研究背景
1.1.2 研究意義
1.2 國(guó)內(nèi)外研究現(xiàn)狀
1.3 文章內(nèi)容及結(jié)構(gòu)
第二章 相關(guān)理論與工具
2.1 權(quán)限機(jī)制
2.2 Android6.0 動(dòng)態(tài)權(quán)限調(diào)用規(guī)范
2.2.1 檢查權(quán)限
2.2.2 申請(qǐng)權(quán)限
2.2.3 處理權(quán)限請(qǐng)求響應(yīng)
2.2.4 解釋應(yīng)用為什么需要權(quán)限
2.3 權(quán)限申請(qǐng)機(jī)制漏洞
2.4 Soot工具簡(jiǎn)介
2.4.1 Jimple中間語言
2.4.2 Soot組態(tài)
2.4.3 Soot中的函數(shù)調(diào)用圖
2.5 本章小結(jié)
第三章 檢查權(quán)限申請(qǐng)機(jī)制漏洞
3.1 設(shè)計(jì)方案
3.2 AndroidManifest.xml文件概覽
3.2.1 包名稱和應(yīng)用ID
3.2.2 應(yīng)用組件
3.2.3 權(quán)限
3.2.4 設(shè)備兼容性
3.3 獲取應(yīng)用程序的主Activity
3.4 獲取函數(shù)調(diào)用圖
3.4.1 FlowDroid獲取函數(shù)調(diào)用圖實(shí)現(xiàn)原理
3.4.2 FlowDroid獲取函數(shù)調(diào)用圖舉例
3.4.3 IccTA獲取函數(shù)調(diào)用圖實(shí)現(xiàn)原理
3.4.4 IccTA獲取函數(shù)調(diào)用圖舉例
3.5 建立敏感權(quán)限集
3.6 檢查權(quán)限申請(qǐng)機(jī)制漏洞
3.6.1 檢查系統(tǒng)調(diào)用
3.6.2 檢查URI
3.6.3 檢查Intent動(dòng)作
3.6.4 函數(shù)調(diào)用圖遍歷策略
3.7 本章小結(jié)
第四章 修復(fù)權(quán)限申請(qǐng)機(jī)制漏洞
4.1 提取修復(fù)元信息
4.2 修復(fù)策略
4.3 插樁權(quán)限檢查和申請(qǐng)邏輯
4.4 插樁onRequestPermissionsResult函數(shù)
4.5 本章小結(jié)
第五章 工具測(cè)試與結(jié)果分析
5.1 benchmark測(cè)試結(jié)果
5.2 Google Play數(shù)據(jù)集測(cè)試結(jié)果
5.3 本章小結(jié)
第六章 總結(jié)與展望
6.1 工作總結(jié)
6.2 工作展望
參考文獻(xiàn)
致謝
作者簡(jiǎn)介
本文編號(hào):3830820
【文章頁(yè)數(shù)】:70 頁(yè)
【學(xué)位級(jí)別】:碩士
【文章目錄】:
摘要
ABSTRACT
縮略語對(duì)照表
第一章 緒論
1.1 研究背景及意義
1.1.1 研究背景
1.1.2 研究意義
1.2 國(guó)內(nèi)外研究現(xiàn)狀
1.3 文章內(nèi)容及結(jié)構(gòu)
第二章 相關(guān)理論與工具
2.1 權(quán)限機(jī)制
2.2 Android6.0 動(dòng)態(tài)權(quán)限調(diào)用規(guī)范
2.2.1 檢查權(quán)限
2.2.2 申請(qǐng)權(quán)限
2.2.3 處理權(quán)限請(qǐng)求響應(yīng)
2.2.4 解釋應(yīng)用為什么需要權(quán)限
2.3 權(quán)限申請(qǐng)機(jī)制漏洞
2.4 Soot工具簡(jiǎn)介
2.4.1 Jimple中間語言
2.4.2 Soot組態(tài)
2.4.3 Soot中的函數(shù)調(diào)用圖
2.5 本章小結(jié)
第三章 檢查權(quán)限申請(qǐng)機(jī)制漏洞
3.1 設(shè)計(jì)方案
3.2 AndroidManifest.xml文件概覽
3.2.1 包名稱和應(yīng)用ID
3.2.2 應(yīng)用組件
3.2.3 權(quán)限
3.2.4 設(shè)備兼容性
3.3 獲取應(yīng)用程序的主Activity
3.4 獲取函數(shù)調(diào)用圖
3.4.1 FlowDroid獲取函數(shù)調(diào)用圖實(shí)現(xiàn)原理
3.4.2 FlowDroid獲取函數(shù)調(diào)用圖舉例
3.4.3 IccTA獲取函數(shù)調(diào)用圖實(shí)現(xiàn)原理
3.4.4 IccTA獲取函數(shù)調(diào)用圖舉例
3.5 建立敏感權(quán)限集
3.6 檢查權(quán)限申請(qǐng)機(jī)制漏洞
3.6.1 檢查系統(tǒng)調(diào)用
3.6.2 檢查URI
3.6.3 檢查Intent動(dòng)作
3.6.4 函數(shù)調(diào)用圖遍歷策略
3.7 本章小結(jié)
第四章 修復(fù)權(quán)限申請(qǐng)機(jī)制漏洞
4.1 提取修復(fù)元信息
4.2 修復(fù)策略
4.3 插樁權(quán)限檢查和申請(qǐng)邏輯
4.4 插樁onRequestPermissionsResult函數(shù)
4.5 本章小結(jié)
第五章 工具測(cè)試與結(jié)果分析
5.1 benchmark測(cè)試結(jié)果
5.2 Google Play數(shù)據(jù)集測(cè)試結(jié)果
5.3 本章小結(jié)
第六章 總結(jié)與展望
6.1 工作總結(jié)
6.2 工作展望
參考文獻(xiàn)
致謝
作者簡(jiǎn)介
本文編號(hào):3830820
本文鏈接:http://www.sikaile.net/kejilunwen/ruanjiangongchenglunwen/3830820.html
最近更新
教材專著