[發(fā)明專利]一種Android應(yīng)用程序運(yùn)行時(shí)API調(diào)用量預(yù)估方法有效
| 申請?zhí)枺?/td> | 201711011556.0 | 申請日: | 2017-10-26 |
| 公開(公告)號: | CN107832612B | 公開(公告)日: | 2020-12-15 |
| 發(fā)明(設(shè)計(jì))人: | 范文浩;張岱帥;吳帆;張洪光;劉元安 | 申請(專利權(quán))人: | 北京郵電大學(xué) |
| 主分類號: | G06F21/56 | 分類號: | G06F21/56;G06F8/53 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100876 *** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 android 應(yīng)用程序 運(yùn)行 api 調(diào)用 預(yù)估 方法 | ||
本發(fā)明公開了一種Android應(yīng)用程序運(yùn)行時(shí)API調(diào)用量預(yù)估方法,包括:從安裝包獲得應(yīng)用程序控件的界面信息和其與API的關(guān)聯(lián)關(guān)系、Activity之間的跳轉(zhuǎn)關(guān)系和其與控件之間的關(guān)聯(lián)關(guān)系、Service和Broadcast的調(diào)用關(guān)系和其與API的關(guān)聯(lián)關(guān)系。本發(fā)明通過控件的屬性計(jì)算出用戶在某次操作時(shí)對Activity內(nèi)某個(gè)控件的操作概率,并通過修改的PageRank算法計(jì)算Activity的跳轉(zhuǎn)關(guān)系,得到用戶對Activity的訪問概率,再結(jié)合Activity內(nèi)部的控件的操作概率以及控件相關(guān)的API最終估算出應(yīng)用程序運(yùn)行時(shí)的API調(diào)用量,實(shí)現(xiàn)對應(yīng)用程序的快速便捷檢測,以便后期通過API調(diào)用量所代表的應(yīng)用程序行為判斷應(yīng)用程序的安全性。本發(fā)明彌補(bǔ)了動態(tài)檢測數(shù)據(jù)采集的復(fù)雜性,對提高應(yīng)用程序的檢測能力具有深遠(yuǎn)的意義。
技術(shù)領(lǐng)域
本發(fā)明涉及Android應(yīng)用程序檢測領(lǐng)域,特別涉及Android應(yīng)用程序的靜態(tài)檢測方案。本發(fā)明涉及一種Android應(yīng)用程序靜態(tài)檢測手段中的應(yīng)用程序安裝包的反編譯以及分析技術(shù),特別是指通過自定義的檢測方案實(shí)現(xiàn)對應(yīng)用程序安裝包的解析,從而達(dá)到在不安裝應(yīng)用程序的情況下估測應(yīng)用程序運(yùn)行時(shí)API調(diào)用量的目的。
背景技術(shù)
隨著Android系統(tǒng)的普及與發(fā)展,網(wǎng)絡(luò)上和各大應(yīng)用市場出現(xiàn)了越來越多的應(yīng)用軟件,隨著各式各樣的應(yīng)用程序的發(fā)展,惡意軟件也越來越多,越來越難以檢測。國內(nèi)外學(xué)者對手機(jī)應(yīng)用程序的惡意軟件的分析和檢測做了大量的研究,目前基于軟件行為的檢測方案正在被廣泛研究使用。該檢測方案相對與其他檢測方案來說有著檢測準(zhǔn)確,對未知惡意程序識別率高等優(yōu)點(diǎn)。
基于軟件行為的檢測方案在實(shí)現(xiàn)形式上主要有以API調(diào)用量表示軟件行為,以API調(diào)用序列表示軟件行為,以隱私數(shù)據(jù)使用路徑表示軟件行為等幾種實(shí)現(xiàn)方式。其中以API調(diào)用量表示軟件行為的方式最為普遍與簡單,可以將應(yīng)用程序作為一個(gè)整體進(jìn)行檢測;以API調(diào)用序列表示軟件行為的方式通過檢測的行為序列作為判斷對象,對應(yīng)用程序的某一連續(xù)行為進(jìn)行檢測;以隱私數(shù)據(jù)使用路徑表示軟件行為的方式通過對隱私數(shù)據(jù)使用情況的監(jiān)測實(shí)現(xiàn)了對應(yīng)用程序非法惡意行為的判別。
目前基于軟件行為的檢測方案大多是通過動態(tài)檢測技術(shù)來實(shí)現(xiàn)的,即通過模擬器運(yùn)行被檢測的軟件的某項(xiàng)功能,檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差距,來確定被測軟件此功能是否存在安全問題。動態(tài)檢測技術(shù)在不分析應(yīng)用程序結(jié)構(gòu)和特征代碼的情況下,直接實(shí)際運(yùn)行待測應(yīng)用程序,通過某種方式監(jiān)聽?wèi)?yīng)用程序的行為特征并分析判斷應(yīng)用程序是否是惡意程序。
動態(tài)檢測技術(shù)能夠檢測出程序?qū)嶋H運(yùn)行時(shí)的惡意行為,即使是未知的惡意程序也可以被檢測到。因?yàn)槠錂z測的是惡意行為而不是某一段惡意代碼,代碼可以變化,但惡意行為都是固定的幾種。動態(tài)檢測技術(shù)有檢測速度慢,檢測時(shí)間長,檢測過程繁瑣復(fù)雜等缺點(diǎn)。因?yàn)閯討B(tài)檢測技術(shù)需要安裝并真實(shí)運(yùn)行應(yīng)用程序才能進(jìn)行采集數(shù)據(jù),所以動態(tài)檢測技術(shù)可能會由于測試環(huán)境或測試用例等的影響而無法準(zhǔn)確、完善的檢測整個(gè)應(yīng)用程序。動態(tài)檢測技術(shù)的另一方面的缺點(diǎn)是其在實(shí)際檢測過程中需要運(yùn)行應(yīng)用程序,該步驟多通過人工或自動化測試實(shí)現(xiàn),相對于人工,自動化測試由于測試模型的設(shè)計(jì)問題很難做到對應(yīng)用程序的全面測試,而人工測試由于需要大量人力,無法滿足在當(dāng)前應(yīng)用程序數(shù)量日益增多情況下對大量應(yīng)用程序進(jìn)行檢測的需求。
與動態(tài)檢測技術(shù)相對應(yīng)的是靜態(tài)檢測技術(shù)。靜態(tài)檢測技術(shù)是指對被測軟件的源程序或者二進(jìn)制代碼進(jìn)行掃描,從語法、語義上理解程序的行為,直接分析被檢測程序的特征,尋找可能導(dǎo)致錯(cuò)誤的異常。目前其主要的檢測方式有二進(jìn)制程序分析與源代碼分析兩種。二進(jìn)制程序分析是針對軟件代碼進(jìn)行審查的檢測技術(shù),該分析技術(shù)通過讀取二進(jìn)制文件,與已有的惡意行為二進(jìn)制特征代碼庫進(jìn)行匹配,通過匹配結(jié)果判斷應(yīng)用程序的安全性。源代碼分析是針對編程語言本身的檢測技術(shù),是指對程序的反編譯代碼進(jìn)行分析,通過詞法分析、語法分析和靜態(tài)語義分析,檢測程序中潛在的安全漏洞。同時(shí),源代碼分析可被用于污點(diǎn)分析,即將某些敏感數(shù)據(jù)標(biāo)記為污點(diǎn)數(shù)據(jù),并重點(diǎn)檢測分析特殊API調(diào)用以及隱私數(shù)據(jù)的使用和傳遞,通過應(yīng)用程序?qū)ξ埸c(diǎn)數(shù)據(jù)的使用情況判斷應(yīng)用程序的安全性。
該專利技術(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/201711011556.0/2.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 .通過限制訪問或處理程序或過程
- 一種Android設(shè)備之間遠(yuǎn)程桌面控制的方法
- 一種Android程序的執(zhí)行路徑的還原方法
- 基于ANCS協(xié)議兼容多平臺的通知消息獲取方法
- 基于字節(jié)碼插樁的Android程序監(jiān)控系統(tǒng)及方法
- 一種減少Android設(shè)備功耗的優(yōu)化方法及裝置
- 一種縮短無屏Android設(shè)備開機(jī)啟動時(shí)間的設(shè)置方法
- 一種基于Android雙系統(tǒng)的系統(tǒng)間通知同步方法
- 基于移動操作系統(tǒng)的Android兼容層實(shí)現(xiàn)方法和系統(tǒng)
- 一種Android智能設(shè)備APK安全管控方法
- 一種應(yīng)用程序開發(fā)中創(chuàng)建Android庫模塊依賴關(guān)系的方法及裝置
- 對虛擬化應(yīng)用程序的基于策略的訪問
- 應(yīng)用程序執(zhí)行、應(yīng)用程序提供裝置和應(yīng)用程序分發(fā)方法
- 一種軟件保護(hù)方法、裝置及系統(tǒng)
- 應(yīng)用程序的開發(fā)方法和系統(tǒng)
- 應(yīng)用程序的擴(kuò)展方法及裝置
- 一種應(yīng)用程序商店的應(yīng)用程序發(fā)布方法及裝置
- 一種應(yīng)用程序的監(jiān)控方法、裝置及系統(tǒng)
- 用于對虛擬化應(yīng)用程序的基于策略的訪問的方法和系統(tǒng)
- 應(yīng)用程序控制方法、裝置、終端及存儲介質(zhì)
- 一種應(yīng)用程序安裝、卸載方法及通信終端
- 運(yùn)行控制裝置及運(yùn)行控制方法
- 運(yùn)行支援裝置、運(yùn)行支援系統(tǒng)以及運(yùn)行支援程序
- 列車運(yùn)行處理方法、運(yùn)行處理裝置和運(yùn)行調(diào)度系統(tǒng)
- 運(yùn)行監(jiān)測系統(tǒng)及運(yùn)行監(jiān)測方法
- 運(yùn)行控制裝置及運(yùn)行控制方法
- 運(yùn)行曲線制作裝置、運(yùn)行輔助裝置以及運(yùn)行控制裝置
- 運(yùn)行支持裝置、車輛、運(yùn)行管理裝置和運(yùn)行支持方法
- 運(yùn)行計(jì)劃方法、運(yùn)行控制裝置和運(yùn)行計(jì)劃系統(tǒng)
- 運(yùn)行控制裝置、運(yùn)行管理系統(tǒng)、運(yùn)行控制方法以及車輛
- 自動建模運(yùn)行系統(tǒng)及運(yùn)行方法





