[發(fā)明專利]基于數(shù)據(jù)流和控制流的安卓軟件動(dòng)態(tài)逃逸行為識(shí)別方法在審
| 申請?zhí)枺?/td> | 202210895144.2 | 申請日: | 2022-07-27 |
| 公開(公告)號(hào): | CN115203681A | 公開(公告)日: | 2022-10-18 |
| 發(fā)明(設(shè)計(jì))人: | 牛偉納;嚴(yán)然;張小松;李有霖;汪義航;鞏嘉誠;張然 | 申請(專利權(quán))人: | 電子科技大學(xué) |
| 主分類號(hào): | G06F21/53 | 分類號(hào): | G06F21/53 |
| 代理公司: | 成都正煜知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 51312 | 代理人: | 李龍 |
| 地址: | 611731 四川省成*** | 國省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 數(shù)據(jù)流 控制 軟件 動(dòng)態(tài) 逃逸 行為 識(shí)別 方法 | ||
1.一種基于數(shù)據(jù)流和控制流的安卓軟件動(dòng)態(tài)逃逸行為識(shí)別方法,其特征在于,包括如下步驟:
步驟1:將測試Android APK文件反編譯,提取測試Android APK中所調(diào)用的API,并與環(huán)境監(jiān)測API列表相匹配,為匹配成功的API生成函數(shù)調(diào)用鏈,并判斷函數(shù)調(diào)用鏈最上層是否為Android APK運(yùn)行入口;
其中,Android APK表示安卓安裝包,API表示應(yīng)用編程接口,可用于環(huán)境檢測的API列表包括一系列可用于應(yīng)用判斷自身環(huán)境是處于真機(jī)還是模擬器環(huán)境的API;
步驟2:找出從Android APK運(yùn)行入口出發(fā),經(jīng)過環(huán)境檢測API的所有完整控制流路徑,形成環(huán)境檢測API控制流子圖;
步驟3:對上述環(huán)境檢測API控制流子圖分析其函數(shù)間數(shù)據(jù)流傳播,找到數(shù)據(jù)流傳播路徑上最近的分支語句,并從分支開始分裂為若干的更小的控制流子圖;
步驟4:比較各控制流子圖之間的所使用函數(shù)的行為差異,判斷其是否具有動(dòng)態(tài)逃逸特征,并指出其具體逃逸行為。
2.根據(jù)權(quán)利要求1所述的一種基于數(shù)據(jù)流和控制流的安卓軟件動(dòng)態(tài)逃逸行為識(shí)別方法,其特征在于,所述步驟1具體步驟為:
步驟1.1:首先根據(jù)前人工作已提到的可用來檢測環(huán)境的方法在Android官方文檔中尋找對應(yīng)API,得到可用于檢測環(huán)境的API列表;
步驟1.2:通過Androguard工具反編譯測試APK,得到APK中的所有方法,與步驟1.1篩選的可用于檢測環(huán)境的API列表進(jìn)行匹配,得到測試APK使用了的特征API,然后對這些特征API進(jìn)行調(diào)用鏈追溯;
步驟1.3:判斷函數(shù)調(diào)用鏈最上層是否屬于Android APK運(yùn)行入口,如果不屬于,判斷函數(shù)調(diào)用鏈最上層是否可以由入口函數(shù)顯式或隱式intent調(diào)用啟用,入口函數(shù)包括APK文件夾中的Manifest.xml中定義的主入口函數(shù)及框Android框架層中會(huì)隱式啟動(dòng)的方法,如onclick函數(shù)。
3.根據(jù)權(quán)利要求1所述的一種基于數(shù)據(jù)流和控制流的安卓軟件動(dòng)態(tài)逃逸行為識(shí)別方法,其特征在于,所述步驟2具體步驟為:
步驟2.1:為符合條件的調(diào)用鏈中每個(gè)函數(shù)生成各自函數(shù)內(nèi)控制流圖;
步驟2.2:從Android APK入口出發(fā),分析各自函數(shù)內(nèi)控制流圖,生成若干經(jīng)過環(huán)境檢測API的函數(shù)間控制流路徑;
步驟2.3:對每一個(gè)環(huán)境檢測API,將所有經(jīng)過它的函數(shù)間控制流路徑聚合,形成若干環(huán)境檢測API控制流子圖。
4.根據(jù)權(quán)利要求2所述的一種基于數(shù)據(jù)流和控制流的安卓軟件動(dòng)態(tài)逃逸行為識(shí)別方法,其特征在于,所述步驟3具體步驟為:
步驟3.1:對每一個(gè)環(huán)境檢測API,分析被測APK調(diào)用檢測環(huán)境的API的信息流向,前向傳播其數(shù)據(jù)流,生成函數(shù)內(nèi)顯式信息流傳播路徑,如果其顯式信息流傳播路徑的終點(diǎn)位于分支語句的判斷條件中,則定位此位置,否則去除此環(huán)境檢測API控制流子圖;
步驟3.2:將剩余環(huán)境檢測API控制流子圖按上述定位的分支語句分為若干個(gè)更小的行為控制流子圖。
5.據(jù)權(quán)利要求3所述的一種基于數(shù)據(jù)流和控制流的安卓軟件動(dòng)態(tài)逃逸行為識(shí)別方法,其特征在于,所述步驟4具體步驟為:
對上述得到的控制流子圖,分析其所調(diào)用的函數(shù)來推斷行為,判斷是否符合動(dòng)態(tài)逃逸行為,最終比較各控制流子圖間行為差異,如果其中至少一個(gè)行為子圖不含有動(dòng)態(tài)逃逸行為,而同時(shí)至少有一個(gè)行為子圖確定含有動(dòng)態(tài)逃逸行為,則確定其Android動(dòng)態(tài)逃逸軟件。
6.據(jù)權(quán)利要求4所述的一種基于數(shù)據(jù)流和控制流的安卓軟件動(dòng)態(tài)逃逸行為識(shí)別方法,其特征在于,所述環(huán)境檢測API具體包括:
獲取IMEI、獲取設(shè)備序列號(hào)、獲取MAC地址、獲取Android ID、獲取網(wǎng)絡(luò)配置、獲取聯(lián)系人列表、獲取短信內(nèi)容、獲取短信、獲取應(yīng)用程序信息、獲取WIFI、獲取電池電量信息、獲取最近的電話、獲取手機(jī)通話記錄、獲取加速器、陀螺儀、GPS、重力傳感器的值、獲取CPU信息、獲取安卓SDK的公共類build等特殊API的值,獲取計(jì)算和圖顯性能等。
7.據(jù)權(quán)利要求5所述的一種基于數(shù)據(jù)流和控制流的安卓軟件動(dòng)態(tài)逃逸行為識(shí)別方法,其特征在于,所述動(dòng)態(tài)逃逸行為具體包括:
使用Android官方文檔規(guī)定的敏感API、使用退出延時(shí)一類影響程序執(zhí)行的系統(tǒng)函數(shù)、從本地native層加載代碼。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于電子科技大學(xué),未經(jīng)電子科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210895144.2/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過限制訪問計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過限制訪問或處理程序或過程
- 編碼裝置,編碼方法,程序和記錄媒體
- 網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別系統(tǒng)及方法
- 一種數(shù)據(jù)流調(diào)度的方法、設(shè)備和系統(tǒng)
- 一種確定待清洗數(shù)據(jù)流的方法及裝置
- 用于分析儀器化軟件的數(shù)據(jù)流處理語言
- 用于數(shù)據(jù)流系統(tǒng)的數(shù)據(jù)流處理方法及裝置
- 數(shù)據(jù)流調(diào)度系統(tǒng)以及數(shù)據(jù)流調(diào)度方法
- 采用向量處理的同時(shí)分割
- 汽車數(shù)據(jù)流的監(jiān)控方法、系統(tǒng)及可讀存儲(chǔ)介質(zhì)
- 一種數(shù)據(jù)流類型識(shí)別模型更新方法及相關(guān)設(shè)備
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護(hù)方法及系統(tǒng)
- 一種用于航空機(jī)載設(shè)備的軟件在線加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲(chǔ)介質(zhì)
- 軟件驗(yàn)證裝置、軟件驗(yàn)證方法以及軟件驗(yàn)證程序
- 使用靜態(tài)和動(dòng)態(tài)惡意軟件分析來擴(kuò)展惡意軟件的動(dòng)態(tài)檢測
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測驗(yàn)軟件的裝置與方法





