[發明專利]基于動態鏈接庫注入的Android加密通信檢測裝置和方法在審
| 申請號: | 201410424511.6 | 申請日: | 2014-08-26 |
| 公開(公告)號: | CN104156481A | 公開(公告)日: | 2014-11-19 |
| 發明(設計)人: | 徐國愛;張淼 | 申請(專利權)人: | 北京軟安科技有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;H04L29/06 |
| 代理公司: | 北京德琦知識產權代理有限公司 11018 | 代理人: | 夏憲富 |
| 地址: | 100876 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 動態 鏈接 注入 android 加密 通信 檢測 裝置 方法 | ||
技術領域
本發明涉及一種用于移動Android平臺的加密通信檢測裝置,確切地說,涉及一種基于動態鏈接庫注入的Android加密通信檢測裝置和方法,屬于信息安全中的網絡安全技術領域。
背景技術
目前,針對PC端軟件加密通信進行檢測分析技術的研究文獻很多,但是,有關移動Android平臺加密通信檢測分析技術的研究尚處初期,故至今尚未形成成熟的檢測工具。如同PC端一樣,它的檢測,通常建立在軟件逆向分析技術基礎上。故常用的加密通信檢測工具及輔助工具包括:Gdbserver、Andbug、Taintdroid和IDA?Pro等。下面對這些工具進行簡介:
Gdbserver,作為GNU開源組織發布的一個強大的UNIX下的C/C++語言程序命令行調試工具,主要具備下述四個方面的功能:
1、啟動程序后,可以按照自行定義或設置的要求隨心所欲地運行該程序。
2、可讓被調試的程序停止在設定的斷點處。(該斷點可以是條件表達式)
3、當程序停止時,可以檢查此時該程序中發生的事。
4、動態改變程序的執行環境。
由于Android嵌入式系統的資源有限性,一般不能直接在目標系統上進行調試,而是通常采用gdb+gdbserver的方式進行調試。遠程調試環境則由宿主機GDB和目標機調試樁stub共同構成,兩者通過串口或傳輸控制協議TCP(Transmission?Control?Protocol)網絡連接,并使用GDB標準程序串行協議協同工作,實現對目標機上的系統內核和上層應用的監控和調試功能。調試stub是嵌入式系統中的一段代碼,作為宿主機GDB和目標機調試程序間的一個媒介而存在。
目前,越來越多的移動應用是采用C/C++語言進行關鍵功能(如加密通信)的開發,利用JAVA本地程序調用接口JNI(JAVA?Native?Interface)技術,調用so庫中的功能代碼,實現加密通信功能。Gdbserver用于調試C/C++語言實現的加密通信功能的應用,找到功能代碼,對加密通信進行檢測分析。
Andbug,是一個無需源代碼的Android平臺JAVA程序調試器。它支持查看斷點、堆棧、類或方法信息等功能,具備可擴展性,支持添加自行設計的腳本加入所需要的功能。
通過JAVA代碼實現加密通信功能的應用,可以使用Andbug進行調試追蹤,對加密通信進行檢測分析。
Taintdroid,它是一個基于系統鏡像(Android?ROM)修改的應用程序行為檢測工具,通過修改源碼相應的部分代碼,編譯定制系統鏡像ROM,實現包括加密通信等的檢測分析功能。其主要原理是在Android源碼中增加對對象的操作類,并在對象中增加變量和存儲標識,完成對關鍵數據的污點標記。當程序通過應用程序編程接口API(Application?Programming?Interface)獲取敏感信息,利用封裝的操作類數據進行污點標識。
IDA,作為交互式反匯編器專業版(Interactive?Disassembler?Professional)的遞歸下降反匯編器,它是Hex-Rayd公司推出的一款世界頂級逆向分析工具。它支持Android動態鏈接庫無源碼的反匯編與動態調試。它能夠結合gdbserver,更簡便、快捷地完成由C/C++語言編寫的加密通信功能代碼的檢測分析。
現在,國內外都在移動Android平臺加密通信檢測分析領域做了大量的研究工作,并提出了一些可行的分析方法。
目前,移動Android平臺加密通信檢測分析方法有多種:基于定制手機系統鏡像(ROM)檢測方法、內存解密檢測方法和基于調試技術的檢測方法等。其中:
基于定制手機系統鏡像ROM檢測方法:由于Android平臺源碼的開放性,可通過對源碼的閱讀和修改,定制手機系統鏡像ROM,完成加密通信的檢測分析。
從應用完成加密通信開始,追蹤查看API調用關系,找到加密通信調用的系統JAVA層與本地C/C++層API,在相應的API實現函數中,打印出需要檢測分析的數據流;修改完成后,編譯源代碼,生成定制化系統鏡像ROM,刷入檢測終端中,完成加密通信數據包的捕獲分析。
內存解密檢測方法:由于程序會對網絡加密數據進行解密操作,因此,只要能夠定位到加密數據在程序中的解密內存,即解密數據所在內存,即可完成對加密通信數據檢測分析。
目前,主要有兩種解密內存的定位方法,分別介紹如下:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京軟安科技有限公司,未經北京軟安科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410424511.6/2.html,轉載請聲明來源鉆瓜專利網。





