[發明專利]基于逆向符號執行的應用權限泄漏檢測方法及系統有效
| 申請號: | 201410706922.4 | 申請日: | 2014-11-27 |
| 公開(公告)號: | CN104462984B | 公開(公告)日: | 2018-01-12 |
| 發明(設計)人: | 姜博;陳鵬;高小鵬;吳煜;龍翔;萬寒 | 申請(專利權)人: | 北京航空航天大學 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57 |
| 代理公司: | 北京路浩知識產權代理有限公司11002 | 代理人: | 李相雨 |
| 地址: | 100191*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 逆向 符號 執行 應用 權限 泄漏 檢測 方法 系統 | ||
技術領域
本發明涉及移動信息安全技術領域,尤其涉及一種基于逆向符號執行的應用權限泄漏檢測方法及系統。
背景技術
Android應用的安全性已經成為威脅產業發展的嚴峻問題。每天,軟件商店和病毒工具廠商每天都能收到上百甚至上千個可疑的惡意應用樣本。如何對這些惡意應用進行快速、準確的分析,確定其是否存在威脅以及威脅的嚴重程度,是安全分析專家的核心工作之一。安全專家對惡意軟件進行細致的人工動態分析是一個有效的手段,但是人工動態分析需要耗費大量的人力和時間,其檢測效率很低。
發明內容
基于上述問題,本發明提供一種基于逆向符號執行的應用權限泄漏檢測方法及系統,通過使用逆向的符號執行的方式,只需要遍歷從敏感應用程序編程接口API調用點到程序入口點之間的所有可能路徑,避免遍歷與權限泄露無關的路徑,從而提高了檢測效率。
根據上述目的,本發明提供了一種基于逆向符號執行的應用權限泄漏檢測方法,所述方法包括:
S1、構建待檢測應用的控制流圖;
S2、通過API與預設權限的映射關系,在所述控制流圖上標記可能泄露權限的節點;
S3、以所述可能泄露權限的節點為起點,通過逆向的符號執行遍歷所述控制流圖,尋找從所述起點到程序入口點的所有路徑,從所述起點到所述程序入口的所有路徑即為可能泄露權限的路徑。
其中,所述方法還包括:
對遍歷所述控制流圖得到的所有路徑的約束條件進行求解,得到所有可能泄露權限的路徑的輸入條件。
在對遍歷所述控制流圖得到的路徑的約束條件的求解時,當任一條路徑的約束條件無解時,則排除該路徑。
其中,所述方法還包括:
根據所述可能泄露權限的路徑、對應約束條件和輸入條件,生成針對所述待檢測應用的權限泄露風險報告。
其中,所述步驟S3具體包括:
S31,以標記的所述可能泄露權限的節點為起點,設定約束條件通過逆向的符號執行遍歷所述控制流圖;
S32,當在遍歷過程中遇到分支節點時,對所述分支節點的各個分支分別設定約束條件進行遍歷;
S33,重復步驟S32,直至遍歷到所述程序入口,從所述起點到所述程序入口點的所有路徑即為可能泄露權限的路徑。
其中,所所述步驟S32還包括:
當在遍歷時發現對所述預設權限的檢查語句的調用時,則結束該路徑的遍歷。
其中,所述控制流圖為過程間控制流圖。
根據本發明的另一個方面,提供一種基于逆向符號執行的應用權限泄漏檢測系統,其特征在于,所述系統包括:
控制流圖構建單元,用于構建待檢測應用的控制流圖;
可能泄露權限標記單元,用于通過API與預設權限的映射關系,在所述控制流圖上標記可能泄露權限的節點;
控制流圖遍歷單元,用于以所述可能泄露權限的節點為起點,通過逆向的符號執行遍歷所述控制流圖,尋找從所述起點到程序入口點的所有路徑,所述從所述起點到所述程序入口的所有路徑即為可能泄露權限的路徑。
其中,所述系統還包括:
約束條件求解單元,用于對遍歷所述控制流圖得到的所有路徑的約束條件進行求解,得到所有可能泄露權限的路徑的輸入條件。
其中,所述系統還包括:
權限泄露風險報告單元,用于根據所述可能泄露權限的路徑、對應約束條件和輸入條件,生成針對所述待檢測應用的權限泄露風險報告。
本發明所述的基于逆向符號執行的應用權限泄漏檢測方法及系統,通過使用逆向的符號執行的方式,只需要遍歷從敏感API調用點到程序入口點之間的所有可能路徑,避免遍歷與權限泄露無關的路徑,從而避免全局性的正向執行的開銷,提高了檢測效率。
附圖說明
通過參考附圖會更加清楚的理解本發明的特征和優點,附圖是示意性的而不應理解為對本發明進行任何限制,在附圖中:
圖1示出了本發明的基于逆向符號執行的應用權限泄漏檢測方法的流程圖。
圖2示出了本發明的基于逆向符號執行的應用權限泄漏檢測系統的結構框圖。
具體實施方式
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京航空航天大學,未經北京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410706922.4/2.html,轉載請聲明來源鉆瓜專利網。





