[發明專利]基于動態鏈接庫注入的Android加密通信檢測裝置和方法在審
| 申請號: | 201410424511.6 | 申請日: | 2014-08-26 |
| 公開(公告)號: | CN104156481A | 公開(公告)日: | 2014-11-19 |
| 發明(設計)人: | 徐國愛;張淼 | 申請(專利權)人: | 北京軟安科技有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;H04L29/06 |
| 代理公司: | 北京德琦知識產權代理有限公司 11018 | 代理人: | 夏憲富 |
| 地址: | 100876 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 動態 鏈接 注入 android 加密 通信 檢測 裝置 方法 | ||
1.一種基于動態鏈接庫注入的Android加密通信檢測裝置,其特征在于:該檢測裝置是在不改變系統ROM和不處于調試狀態下,對終端加密通信進行檢測與分析:采用動態鏈接庫注入方式,將殼代碼(shellcode)注入到智能終端的設定進程空間中,再在shellcode中尋找系統加密通信使用的API,作為在Android系統加密通信處設立或植入的監測點,捕獲和記錄Android智能終端發出和接收的加密前的通信數據包,并基于Android平臺對該加密前的通信數據包進行檢測分析,解決以竊取用戶或企業隱私信息、傳播非法信息為目的的加密通信造成的安全問題;設有:動態鏈接庫注入模塊、監控點植入模塊、數據包分析模塊共三個模塊;其中:?
動態鏈接庫注入模塊,用于將由監控代碼編譯的動態鏈接庫注入到待監測應用的進程空間中,為植入監控點創造條件;設有兩個組件:附著進程單元和加載動態鏈接庫單元;?
監控點植入模塊,用于通過替換加密通信API方式,在加密通信過程中,植入作為監控代碼的殼代碼shellcode,以捕獲加密前的通信數據包,再傳送給數據包分析模塊;設有兩個組件:本地C語言層進入JAVA語言層單元和替換JAVA語言層API單元;?
數據包分析模塊,用于接收并處理由監控代碼捕獲的加密前的通信數據包,進行數據包分析和分片整合,生成數據分析結果報告;設有兩個組件:數據包分析單元和分片整合單元。?
2.根據權利要求1所述的裝置,其特征在于:所述動態鏈接庫注入模塊中的各個組件功能如下:?
附著進程單元,負責根據調試器采用的傳統調試技術原理,使用進程跟蹤(ptrace)系統調用,處理待監測的應用進程,即將動態鏈接庫附著到被監控應用的進程空間中;?
加載動態鏈接庫單元,用于在動態鏈接庫附著到待監測的應用進程后,通過動態鏈接庫加載函數,將由監控代碼編譯生成的動態鏈接庫加載到該應用進程空間中,以便為運行監控點植入代碼提供條件。?
3.根據權利要求1所述的裝置,其特征在于:所述監控點植入模塊中的各個組件功能如下:?
本地C語言層進入JAVA語言層單元,負責利用JAVA本地調用接口JNI(JAVA?Native?Interface),由C語言層運行環境進入JAVA語言層運行環境,為替換JAVA語言層加密通信API提供條件;這是因為Android應用程序是采用JAVA語言編寫的,其加密通信調用的加密API位于JAVA層,而動態鏈接庫是以C語言編寫的;?
替換JAVA語言層API單元,負責在C語言層運行環境進入JAVA語言層運行環境后,將JAVA層原加密通信的API替換為加入監控代碼修改后的加密通信API;并在加密通信過程中,準備加密的明文數據包調用修改后的加密通信API時,由監控代碼記錄該加密前的明文數據包,再傳遞給數據分析模塊。?
4.根據權利要求1所述的裝置,其特征在于:所述數據包分析模塊中的各個組件功能如下:?
數據包分析單元,用于根據協議對來自監控點植入模塊的加密前的明文通信數據包進行分析處理,找出該明文數據包中的通信地址、通信端口、通信協議和通信內容的信息,并進行歸類分片后,送至分片整合單元繼續處理;?
分片整合單元,用于根據TCP/IP通信協議,對從數據包分析單元獲得的通信分片數據包進行流分析和整合處理,形成多次完整的通信對話,以供對通信內容進行分析與展示;這是因為每次完整的通信對話都會受限于數據包容量而被分片為不同數據包。?
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京軟安科技有限公司,未經北京軟安科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410424511.6/1.html,轉載請聲明來源鉆瓜專利網。





