基于逆向的入侵檢測(cè)系統(tǒng)及其方法
【專利摘要】本發(fā)明公開了一種基于逆向的入侵檢測(cè)系統(tǒng)及其方法,涉及網(wǎng)絡(luò)加密協(xié)議領(lǐng)域。本系統(tǒng)包括數(shù)據(jù)提取模塊、逆向分析模塊、入侵規(guī)則模塊、響應(yīng)模塊和數(shù)據(jù)管理模塊。本方法是:①數(shù)據(jù)提取模塊捕獲所有流經(jīng)安卓手機(jī)的網(wǎng)絡(luò)數(shù)據(jù)包,發(fā)送給逆向分析引擎,數(shù)據(jù)提取模塊獲取網(wǎng)絡(luò)進(jìn)程以及用戶行為,生成系統(tǒng)日志和網(wǎng)絡(luò)日志發(fā)送給數(shù)據(jù)管理模塊;②逆向分析引擎通過TCP/IP協(xié)議分析技術(shù)和apk反編譯逆向技術(shù),結(jié)合系統(tǒng)日志和網(wǎng)絡(luò)日志識(shí)別入侵行為;③響應(yīng)模塊對(duì)逆向分析引擎識(shí)別出來的入侵行為進(jìn)行警告以及記錄;④用戶所有的信息都會(huì)存放在數(shù)據(jù)管理模塊中,方便以后取證查找。本發(fā)明具有安全性、時(shí)效性、可擴(kuò)展性和超前性。
【專利說明】基于逆向的入侵檢測(cè)系統(tǒng)及其方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)加密協(xié)議領(lǐng)域,尤其涉及一種基于逆向的入侵檢測(cè)系統(tǒng)及其方法,具有可擴(kuò)展性和高時(shí)效性的優(yōu)勢(shì)。
【背景技術(shù)】
[0002]根據(jù)專業(yè)手機(jī)殺毒軟件企業(yè)安全管家發(fā)布的《2013年上半年度手機(jī)安全行業(yè)分析報(bào)告》顯示,2013年上半年,共發(fā)現(xiàn)手機(jī)惡意軟件33930款,其中基于安卓平臺(tái)的惡意軟件就有26580款,增長非常迅猛。26580款惡意軟件中,其中有12%存在盜取用戶的隱私信息如地理位置信息、通訊錄、短信及設(shè)備信息等的現(xiàn)象。入侵檢測(cè)系統(tǒng)能識(shí)別入侵行為,對(duì)盜取用戶隱私信息的危險(xiǎn)進(jìn)行有效抑制,對(duì)維護(hù)網(wǎng)絡(luò)安全具有很大的實(shí)用價(jià)值。
[0003]復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院研究團(tuán)隊(duì)對(duì)移動(dòng)智能終端用戶隱私泄露問題也進(jìn)行了相應(yīng)的研究。研究結(jié)果顯示在該團(tuán)隊(duì)抽樣33個(gè)熱門的安卓應(yīng)用程序中,58%的程序存在隱私泄露行為,其中有25%的應(yīng)用程序?qū)τ脩舻碾[私信息進(jìn)行加密后上傳至服務(wù)器,力口大了審查認(rèn)證的難度。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的就在于克服現(xiàn)有技術(shù)存在的缺點(diǎn)和不足,針對(duì)隱私信息的加密操作,提供一種基于逆向的入侵檢測(cè)系統(tǒng)及其方法,實(shí)現(xiàn)對(duì)加密入侵行為的識(shí)別。
[0005]實(shí)現(xiàn)本發(fā)明目的技術(shù)方案是:
本發(fā)明主要檢測(cè)用戶隱私泄露的問題,遵從網(wǎng)絡(luò)信息安全的保密性,從手機(jī)側(cè)獲得用戶的行為特征,實(shí)現(xiàn)對(duì)危險(xiǎn)行為的預(yù)警以及隱私泄露的警告,為維護(hù)網(wǎng)絡(luò)安全奠定了理論基礎(chǔ)。
[0006]本發(fā)明通過對(duì)當(dāng)今安卓手機(jī)入侵行為,尤其是泄露用戶隱私這個(gè)危險(xiǎn)較大的行為進(jìn)行詳細(xì)研究,通過以下3種方式實(shí)現(xiàn)入侵行為的檢測(cè):
1、利用 TCP/IP (Transmission Control Protocol / Internet Protocol,傳輸控制/網(wǎng)絡(luò)通訊)協(xié)議對(duì)未加密入侵行為產(chǎn)生的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行分析,獲取特征字寫到入侵規(guī)則模塊中,在此之后的用戶數(shù)據(jù)包,一旦命中入侵規(guī)則模塊,則被識(shí)別成已知的入侵行為。
[0007]2、根據(jù)網(wǎng)絡(luò)日志判斷入侵行為,分析入侵行為和手機(jī)正常應(yīng)用程序行為特征在相關(guān)日志的具體表現(xiàn)形式與差異性,總結(jié)歸納出手機(jī)入侵行為檢測(cè)規(guī)則,比如瀏覽一些HTTP (Hyper Text Transport Protocol,超文本傳輸協(xié)議)的網(wǎng)站,其訪問地址中不會(huì)帶有用戶 IMSI (International Mobile Subscriber Identity,國際移動(dòng)用戶識(shí)別碼)、IMEI(International Mobile Equipment Identity,國際移動(dòng)電話設(shè)備)、ICCID (IntegrateCircuit Card Identity,成電路卡識(shí)別碼)和 MSISDN(Mobile Subscriber InternationalISDN/PSTN number,移動(dòng)用戶號(hào)碼),一旦發(fā)現(xiàn)帶有用戶隱私信息,則被識(shí)別為入侵行為。
[0008]3、根據(jù)系統(tǒng)日志判斷入侵行為,通過對(duì)涉及入侵的代碼進(jìn)行分析,獲取一些統(tǒng)計(jì)的和靜態(tài)的信息;通過對(duì)程序文件進(jìn)行反編譯后,利用逆向技術(shù),查看反編譯后的代碼,從而判斷程序是否具有入侵行為的意圖。
[0009]一旦被識(shí)別為入侵行為,系統(tǒng)將會(huì)產(chǎn)生警告,這些規(guī)則可以由用戶自己設(shè)定;而與之相關(guān)的記錄都會(huì)存儲(chǔ)在數(shù)據(jù)管理模塊中,方便日后取證。
[0010]一、基于逆向的入侵檢測(cè)系統(tǒng)(簡稱系統(tǒng))
本系統(tǒng)包括數(shù)據(jù)提取模塊、逆向分析模塊、入侵規(guī)則模塊、響應(yīng)模塊和數(shù)據(jù)管理模塊; 其交互關(guān)系是:
數(shù)據(jù)提取模塊、逆向分析模塊和響應(yīng)模塊依次交互,實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包的提取、逆向分析以及對(duì)入侵行為的響應(yīng);
逆向分析模塊分別與入侵規(guī)則模塊和數(shù)據(jù)管理模塊交互,實(shí)現(xiàn)入侵行為規(guī)則的積累和存儲(chǔ);
數(shù)據(jù)提取模塊和響應(yīng)模塊分別與數(shù)據(jù)管理模塊交互,實(shí)現(xiàn)系統(tǒng)日志和網(wǎng)絡(luò)日志的生成,從而識(shí)別入侵行為。
[0011]二、基于逆向的入侵檢測(cè)方法(簡稱方法)
本方法的研究思路是通過當(dāng)今安卓手機(jī)入侵行為,尤其是泄露用戶隱私這種危害較大的行為進(jìn)行詳細(xì)研究,通過逆向技術(shù)和協(xié)議分析技術(shù),結(jié)合系統(tǒng)日志和網(wǎng)絡(luò)日志實(shí)現(xiàn)對(duì)入侵行為的檢測(cè),并且對(duì)入侵行為進(jìn)行警告以及記錄。
[0012]本方法包括下列步驟:
①數(shù)據(jù)提取模塊捕獲所有流經(jīng)安卓手機(jī)的網(wǎng)絡(luò)數(shù)據(jù)包,發(fā)送給逆向分析引擎,數(shù)據(jù)提取模塊獲取網(wǎng)絡(luò)進(jìn)程以及用戶行為,生成系統(tǒng)日志和網(wǎng)絡(luò)日志發(fā)送給數(shù)據(jù)管理模塊;
②逆向分析引擎通過TCP/IP協(xié)議分析技術(shù)和apk反編譯逆向技術(shù),結(jié)合系統(tǒng)日志和網(wǎng)絡(luò)日志識(shí)別入侵行為;
③響應(yīng)模塊對(duì)逆向分析引擎識(shí)別出來的入侵行為進(jìn)行警告以及記錄;
④用戶所有的信息都會(huì)存放在數(shù)據(jù)管理模塊中,方便以后取證查找。
[0013]本發(fā)明具有下列優(yōu)點(diǎn)和積極效果:
①安全性:本發(fā)明在保障系統(tǒng)安全策略措施的實(shí)施,引入的前提是不妨礙安卓系統(tǒng)的正常運(yùn)行;
②時(shí)效性:將入侵行為特征轉(zhuǎn)換為系統(tǒng)行為和網(wǎng)絡(luò)行為的日志特征,通過對(duì)日志的分析來檢測(cè)入侵行為,其檢測(cè)范圍要比傳統(tǒng)實(shí)時(shí)行為檢測(cè)要少,檢測(cè)規(guī)則也相對(duì)簡單,也降低了對(duì)系統(tǒng)資源的開銷;
③可擴(kuò)展性:在不對(duì)系統(tǒng)的結(jié)構(gòu)進(jìn)行修改的前提下,對(duì)檢測(cè)手段進(jìn)行調(diào)整,以此來保證可以檢測(cè)新的攻擊;
④超前性:目前入侵檢測(cè)系統(tǒng)可以識(shí)別未加密的帶有用戶隱私信息的入侵行為,本發(fā)明基于結(jié)合逆向技術(shù)和協(xié)議分析技術(shù)可以識(shí)別加密用戶隱私信息的入侵行為。
【專利附圖】
【附圖說明】
[0014]圖1是本系統(tǒng)的結(jié)構(gòu)方框圖;
其中:
100—數(shù)據(jù)提取模塊;
200—逆向分析引擎;300—入侵規(guī)則模塊;
400一響應(yīng)模塊;
500—數(shù)據(jù)管理模塊。
[0015]英譯漢
1、TCP/IP !Transmission Control Protocol / Internet Protocol,傳輸控制 / 網(wǎng)絡(luò)通訊。
[0016]2> HTTP:Hyper Text Transport Protocol,超文本傳輸協(xié)議;
3、IMS1:1nternational Mobile Subscriber Identity,國際移動(dòng)用戶識(shí) 別碼;
4、IME1:1nternational Mobile Equipment Identity,國際移動(dòng)電話設(shè)備識(shí)別碼;
5、ICCID:1ntegrate Circuit Card Identity,成電路卡識(shí)別碼;
6、MSISDN:Mobile Subscriber International ISDN/PSTN number,移動(dòng)用戶號(hào)碼;
7、libpcap:Lib Packet Capture,數(shù)據(jù)包捕獲函數(shù)庫。
【具體實(shí)施方式】
[0017]下面結(jié)合附圖和實(shí)施例詳細(xì)說明:
一、系統(tǒng)
1、總體
如圖1,本系統(tǒng)包括數(shù)據(jù)提取模塊100、逆向分析模塊200、入侵規(guī)則模塊300、響應(yīng)模塊400和數(shù)據(jù)管理模塊500 ;
其交互關(guān)系是:
數(shù)據(jù)提取模塊100、逆向分析模塊200和響應(yīng)模塊400依次交互,實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包的提取、逆向分析以及對(duì)入侵行為的響應(yīng);
逆向分析模塊200分別與入侵規(guī)則模塊300和數(shù)據(jù)管理模塊500交互,實(shí)現(xiàn)入侵行為規(guī)則的積累和存儲(chǔ);
數(shù)據(jù)提取模塊100和響應(yīng)模塊400分別與數(shù)據(jù)管理模塊500交互,實(shí)現(xiàn)系統(tǒng)日志和網(wǎng)絡(luò)日志的生成,從而識(shí)別入侵行為。
[0018]2、功能模塊
①數(shù)據(jù)提取模塊100
數(shù)據(jù)提取模塊100是一種數(shù)據(jù)采集方法;
采用Iibpcap函數(shù)庫;
截獲網(wǎng)絡(luò)數(shù)據(jù)包發(fā)給逆向分析引擎200,并且把系統(tǒng)日志和網(wǎng)絡(luò)日志發(fā)給數(shù)據(jù)管理模塊 500。
[0019]②逆向分析引擎200
逆向分析引擎200是一種協(xié)議還原方法;
采用TCP/IP協(xié)議規(guī)則抽取其特征碼到入侵規(guī)則模塊300 ;
通過系統(tǒng)日志和網(wǎng)絡(luò)日志結(jié)合逆向技術(shù)識(shí)別入侵行為。 [0020]③入侵規(guī)則模塊300
入侵規(guī)則模塊300是一種配置文件,里面存放唯一識(shí)別入侵行為的特征碼; 通過逆向分析引擎200分析大量的已知入侵行為的樣本,找到入侵行為的特征碼,存儲(chǔ)到入侵規(guī)則模塊。
[0021]④響應(yīng)模塊400
響應(yīng)模塊400是一種對(duì)入侵行為響應(yīng)的選項(xiàng);
當(dāng)網(wǎng)絡(luò)數(shù)據(jù)包命中入侵規(guī)則模塊300,或者系統(tǒng)調(diào)用以及用戶行為命中系統(tǒng)網(wǎng)絡(luò)日志時(shí),也就是檢測(cè)到這些動(dòng)作為入侵動(dòng)作,響應(yīng)模塊400則對(duì)其進(jìn)行警報(bào),并且記錄到數(shù)據(jù)管理模塊500中。
[0022]⑤數(shù)據(jù)管理模塊500
數(shù)據(jù)管理模塊500是一種sqlite3數(shù)據(jù)庫;
存放系統(tǒng)日志、網(wǎng)絡(luò)日志以及入侵行為的處理日志,以供用戶日后查證;
數(shù)據(jù)庫采用安卓平臺(tái)內(nèi)置的sqlite3輕量級(jí)數(shù)據(jù)庫實(shí)現(xiàn),由于安卓系統(tǒng)存儲(chǔ)空間有限,當(dāng)數(shù)據(jù)量達(dá)到到一定大小時(shí),可以轉(zhuǎn)存在PC機(jī)上或者定時(shí)清理。
[0023]3、本系統(tǒng)的工作機(jī)理:
當(dāng)網(wǎng)絡(luò)數(shù)據(jù)包流經(jīng)數(shù)據(jù)提取模塊100時(shí),采用Iibpcap函數(shù)庫實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包的采集,數(shù)據(jù)提取模塊100根據(jù)網(wǎng)絡(luò)進(jìn)程和用戶行為生成系統(tǒng)日志和網(wǎng)絡(luò)日志,逆向分析引擎200采用TCP/IP協(xié)議分析技術(shù)掃描網(wǎng)絡(luò)數(shù)據(jù)包,一旦命中入侵規(guī)則庫中的特征碼,則被識(shí)別為入侵行為;根據(jù)網(wǎng)絡(luò)日志、分析入侵行為和手機(jī)正常應(yīng)用程序行為特征在相關(guān)日志的具體表現(xiàn)形式與差異性,識(shí)別入侵行為;根據(jù)系統(tǒng)日志結(jié)合逆向技術(shù)判斷入侵行為意圖,同樣可以被識(shí)別為入侵行為。接著響應(yīng)模塊400會(huì)對(duì)入侵行為進(jìn)行報(bào)警,最后用戶的所有信息都會(huì)存儲(chǔ)到數(shù)據(jù)管理模塊,方便日后取證。
[0024]二、方法
1、步驟①:
所述的網(wǎng)絡(luò)數(shù)據(jù)包是對(duì)用戶行為過程的描述,發(fā)給逆向分析引擎;
所述的系統(tǒng)日志是對(duì)網(wǎng)絡(luò)上所有的進(jìn)程進(jìn)行監(jiān)控,記錄調(diào)用的系統(tǒng)函數(shù),發(fā)給數(shù)據(jù)管理模塊;
所述的網(wǎng)絡(luò)日志是對(duì)用戶的行為進(jìn)行監(jiān)測(cè),包括進(jìn)程號(hào)碼,用戶瀏覽的網(wǎng)址,操作的軟件以及流量信息發(fā)給數(shù)據(jù)管理模塊。
[0025]2、步驟②:
A、通過TCP/IP協(xié)議分析技術(shù)實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包的還原,獲取ip、端口和特征碼,以及任何可以識(shí)別該入侵行為的標(biāo)志,這些標(biāo)志都是通過大量的分析已知入侵行為獲取的,存到入侵規(guī)則模塊中,當(dāng)對(duì)手機(jī)網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行檢測(cè)時(shí),掃描其中是否會(huì)命中入侵規(guī)則模塊中的特征碼,一旦命中則可以判定該行為為入侵行為,并且可以判斷是哪種入侵行為;
B、結(jié)合逆向技術(shù),參看系統(tǒng)日志,入侵行為一般都會(huì)具有某個(gè)相同或者相似的行為,而這些行為具有一定的特征,因此對(duì)特定的程序指令序列或多種程序指令系列的組合為規(guī)則進(jìn)行掃描,就可以判斷為入侵行為;
其中找到特定的程序指令序列的方式采用逆向技術(shù),它是在現(xiàn)有軟件的基礎(chǔ)上經(jīng)過逆向反編譯,對(duì)二進(jìn)制代碼進(jìn)行分析總結(jié)出程序內(nèi)部數(shù)據(jù)結(jié)構(gòu),邏輯關(guān)系來實(shí)現(xiàn)apk軟件程序流程的分析。破解一個(gè)完整的apk程序的過程如下:將apk文件利用ApkTool反編譯,生成Smail格式的反匯編代碼,閱讀Smail文件的代碼來理解程序的運(yùn)行機(jī)制,參看系統(tǒng)日志,參看程序調(diào)用的系統(tǒng)函數(shù),找到程序的突破口進(jìn)行修改,最后使用ApkTool重新編譯生成apk文件并簽名,測(cè)試運(yùn)行,如此循環(huán),直到程序被成功破解。在破解一個(gè)加密協(xié)議的過程中,有時(shí)候我們并不需要了解整個(gè)協(xié)議的運(yùn)行機(jī)制,只需知道在哪個(gè)環(huán)節(jié)造成了用戶信息的泄露,形成了入侵行為。比如用戶瀏覽網(wǎng)站的時(shí)候,惡意插件私下上傳用戶的通訊錄信息,那么通過系統(tǒng)日志找到上傳時(shí)調(diào)用的函數(shù),通過查看反編譯代碼找到之間的關(guān)聯(lián),從而確定特定的程序指令序列,一旦系統(tǒng)函數(shù)調(diào)用這個(gè)特定的程序指令序列,則被識(shí)別為入侵行為;
C、通過查看網(wǎng)絡(luò)日志,確定入侵行為;
網(wǎng)絡(luò)日志是對(duì)用戶的行為進(jìn)行監(jiān)測(cè),包括進(jìn)程號(hào)碼,用戶瀏覽的網(wǎng)址,操作的軟件以及流量信息。比如,通過HTTP請(qǐng)求訪問方式進(jìn)行用戶隱私信息的泄露,其訪問地址必然帶有參數(shù),且參數(shù)信息中含有MSI,IMEI, ICCID或者M(jìn)SISDN用戶信息。而對(duì)于普通正常的應(yīng)用程序訪問網(wǎng)絡(luò)的行為,訪問網(wǎng)址不會(huì)帶有這么多的用戶隱私信息。因此在網(wǎng)絡(luò)日志中對(duì)HTTP訪問連接進(jìn)行記錄,檢測(cè)其連接地址是否含有用戶隱私信息,就能夠識(shí)別出這種泄露用戶隱私的入侵行為。
[0026]3、步驟③:
a、采用TCP/IP協(xié)議分析技術(shù),命中入侵規(guī)則模塊的行為,響應(yīng)模塊實(shí)現(xiàn)警告以及記
錄;
b、采用逆向技術(shù),結(jié)合系統(tǒng)日志,判斷出入侵行為,響應(yīng)模塊實(shí)現(xiàn)警告以及記錄;
C、結(jié)合網(wǎng)絡(luò)日志,判斷出入侵行為,響應(yīng)模塊實(shí)現(xiàn)警告以及記錄。
[0027]4、步驟④:
a、破解管理模塊接收數(shù)據(jù)提取模塊的系統(tǒng)日志和網(wǎng)絡(luò)日志,里面包括豐富實(shí)時(shí)的系統(tǒng)f目息,網(wǎng)絡(luò)彳目息;
b、系統(tǒng)日志和網(wǎng)絡(luò)日志提供給逆向分析引擎分析研究;
C、破解管理模塊接收響應(yīng)模塊提供的警報(bào)信息,詳細(xì)的記錄了現(xiàn)場(chǎng)數(shù)據(jù),以便日后需要取證時(shí)重建某些網(wǎng)絡(luò)事件。
[0028]5、數(shù)據(jù)提取模塊100的工作流程包括下列步驟:
a、數(shù)據(jù)提取模塊100采用開源的Iibpcap函數(shù)庫實(shí)現(xiàn)數(shù)據(jù)包的截獲,發(fā)送給逆向分析引擎200 ;
b、數(shù)據(jù)提取模塊100對(duì)網(wǎng)絡(luò)上所有的進(jìn)程進(jìn)行監(jiān)控,記錄下進(jìn)程號(hào)碼,用戶瀏覽的網(wǎng)址,操作的軟件,流量信息,以網(wǎng)絡(luò)日志的形式發(fā)送給數(shù)據(jù)管理模塊500 ;
C、數(shù)據(jù)提取模塊100通過觀察用戶操作,記錄下這些操作對(duì)應(yīng)的系統(tǒng)日志,發(fā)給數(shù)據(jù)管理模塊500。
[0029]6、逆向分析引擎200的工作流程包括下列步驟:
a、逆向分析引擎200收到數(shù)據(jù)提取模塊100發(fā)送的數(shù)據(jù)包,根據(jù)TCP/IP協(xié)議分析方法,獲取端口,ip,url,以及標(biāo)識(shí)協(xié)議的16進(jìn)制串信息與入侵規(guī)則模塊中的關(guān)鍵字進(jìn)行對(duì)t匕,一旦命中,則被識(shí)別為入侵行為;
b、逆向分析引擎200從數(shù)據(jù)管理模塊500獲取系統(tǒng)日志,利用逆向技術(shù),對(duì)程序文件進(jìn)行反編譯后,對(duì)程序指令序列進(jìn)行分析,判斷出程序是否具有入侵的行為意圖;
C、逆向分析引擎200從數(shù)據(jù)管理模塊500獲取網(wǎng)絡(luò)日志,分析入侵行為和手機(jī)正常應(yīng)用程序行為特征在相關(guān)日志的具體表現(xiàn)形式與差異性,識(shí)別入侵行為。
[0030]7、入侵規(guī)則模塊300的工作流程包括下列步驟:
入侵規(guī)則模塊300中積累了很多已知入侵行為的樣本關(guān)鍵字,每一個(gè)流經(jīng)的數(shù)據(jù)包都會(huì)和入侵規(guī)則模塊中的特征碼進(jìn)行匹配,匹配成功的則可以判斷是哪一種入侵行為。
[0031]8、響應(yīng)模塊400的工作流程同方法步驟③。
[0032]9、數(shù)據(jù)管理模塊500的工作流程同方法步驟④。
[0033]三、應(yīng)用
智能手機(jī)在短短的幾十年中有著飛速的發(fā)展,期間在智能手機(jī)的平臺(tái)上主要流行著五大操作系統(tǒng):諾基亞的Symbian平臺(tái),微軟的WindowsMobile平臺(tái),Iinux平臺(tái),Google的Android平臺(tái)以及蘋果iphone的Mac平臺(tái)。2013年2月數(shù)據(jù)顯示,Android已經(jīng)占據(jù)全球智能手機(jī)操作系統(tǒng)市場(chǎng)62.5%的份額,中國市場(chǎng)占有率78.4%o考慮到Android系統(tǒng)在手機(jī)平臺(tái)舉足輕重的地位以及開源的特性,本發(fā)明選擇了在該平臺(tái)上做入侵檢測(cè)的研究。
[0034]該發(fā)明選在Android手機(jī)側(cè)獲取網(wǎng)絡(luò)數(shù)據(jù)包,Android的SDK為開發(fā)者提供了四個(gè)非常重要的開發(fā)組件,分別為 Activity, Service, Intent 和 ContentProvider。Activity 用于開發(fā)應(yīng)用程序界面,Service用來開發(fā)后臺(tái)服務(wù)器程序,Intent用于在應(yīng)用程序之間傳遞數(shù)據(jù),ContentProvider為應(yīng)用程序提供數(shù)據(jù)接口。作為一款手機(jī)的軟件,入侵檢測(cè)系統(tǒng)離不開這四個(gè)組件。首先用戶和手機(jī)進(jìn)行交互,開啟入侵檢測(cè)服務(wù),交互界面通過Activity組件完成,用戶點(diǎn)擊開啟按鈕,打開入侵檢測(cè)系統(tǒng),該服務(wù)為后臺(tái)運(yùn)行的服務(wù),對(duì)應(yīng)于一個(gè)IDService0入侵檢測(cè)系統(tǒng)對(duì)用戶的輸入,進(jìn)程信息和網(wǎng)絡(luò)信息進(jìn)行監(jiān)控,生成系統(tǒng)日志和網(wǎng)絡(luò)日志,存放于sqlite3數(shù)據(jù)庫中,通過Android提供的接口,完成對(duì)數(shù)據(jù)庫的操作。逆向分析引擎是在檢測(cè)到產(chǎn)生網(wǎng)絡(luò)連接的情況下才進(jìn)行分析,對(duì)網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行分析,命中入侵規(guī)則庫,識(shí)別為入侵行為,結(jié)合系統(tǒng)日志,網(wǎng)絡(luò)日志識(shí)別入侵行為,響應(yīng)模塊則對(duì)入侵行為進(jìn)行警告以及記錄,最后用戶的所有信息存放在Android的sqlite3數(shù)據(jù)庫,當(dāng)數(shù)據(jù)量達(dá)到到一定大小時(shí),可以轉(zhuǎn)存在PC機(jī)上或者定時(shí)清理。
【權(quán)利要求】
1.一種基于逆向的入侵檢測(cè)系統(tǒng),其特征在于: 包括數(shù)據(jù)提取模塊(100)、逆向分析模塊(200)、入侵規(guī)則模塊(300)、響應(yīng)模塊(400)和數(shù)據(jù)管理模塊(500); 其交互關(guān)系是: 數(shù)據(jù)提取模塊(100)、逆向分析模塊(200)和響應(yīng)模塊(400)依次交互,實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包的提取、逆向分析以及對(duì)入侵行為的響應(yīng); 逆向分析模塊(200)分別與入侵規(guī)則模塊(300)和數(shù)據(jù)管理模塊(500)交互,實(shí)現(xiàn)入侵行為規(guī)則的積累和存儲(chǔ); 數(shù)據(jù)提取模塊(100 )和響應(yīng)模塊(400 )分別與數(shù)據(jù)管理模塊(500 )交互,實(shí)現(xiàn)系統(tǒng)日志和網(wǎng)絡(luò)日志的生成,從而識(shí)別入侵行為; 所述的數(shù)據(jù)提取模塊(100)是一種數(shù)據(jù)采集方法; 所述的逆向分析模塊(200)是一種協(xié)議還原方法; 所述的入侵規(guī)則模塊(300)是一種配置文件; 所述的響應(yīng)模塊(400)是一種入侵行為響應(yīng)的選項(xiàng); 所述的數(shù)據(jù)管理模塊50 0是一種數(shù)據(jù)庫。
2.基于權(quán)利要求1所述系統(tǒng)的基于逆向的入侵檢測(cè)方法,其特征在于: ①數(shù)據(jù)提取模塊捕獲所有流經(jīng)安卓手機(jī)的網(wǎng)絡(luò)數(shù)據(jù)包,發(fā)送給逆向分析引擎,數(shù)據(jù)提取模塊獲取網(wǎng)絡(luò)進(jìn)程以及用戶行為,生成系統(tǒng)日志和網(wǎng)絡(luò)日志發(fā)送給數(shù)據(jù)管理模塊; ②逆向分析引擎通過TCP/IP協(xié)議分析技術(shù)和apk反編譯逆向技術(shù),結(jié)合系統(tǒng)日志,網(wǎng)絡(luò)日志識(shí)別入侵行為; ③響應(yīng)模塊對(duì)逆向分析引擎識(shí)別出來的入侵行為進(jìn)行警告以及記錄; ④用戶所有的信息都會(huì)存放在數(shù)據(jù)管理模塊中,方便以后取證查找。
3.按權(quán)利要求2所述基于逆向的入侵檢測(cè)方法,其特征在于步驟①: 所述的網(wǎng)絡(luò)數(shù)據(jù)包是對(duì)用戶行為過程的描述,發(fā)給逆向分析引擎; 所述的系統(tǒng)日志是對(duì)網(wǎng)絡(luò)上所有的進(jìn)程進(jìn)行監(jiān)控,記錄調(diào)用的系統(tǒng)函數(shù),發(fā)給數(shù)據(jù)管理模塊; 所述的網(wǎng)絡(luò)日志是對(duì)用戶的行為進(jìn)行監(jiān)測(cè),包括進(jìn)程號(hào)碼,用戶瀏覽的網(wǎng)址,操作的軟件以及流量信息發(fā)給數(shù)據(jù)管理模塊。
4.按權(quán)利要求2所述基于逆向的入侵檢測(cè)方法,其特征在于步驟②: A、逆向分析引擎采用TCP/IP協(xié)議分析技術(shù)掃描網(wǎng)絡(luò)數(shù)據(jù)包,一旦命中入侵規(guī)則庫中的特征碼,則被識(shí)別為入侵行為; B、結(jié)合逆向技術(shù),參看系統(tǒng)日志,入侵行為一般都會(huì)具有某個(gè)相同或者相似的行為,而這些行為具有一定的特征,其中找到特定的程序指令序列的方式采用逆向技術(shù),它是在現(xiàn)有軟件的基礎(chǔ)上經(jīng)過逆向反編譯,對(duì)二進(jìn)制代碼進(jìn)行分析總結(jié)出程序內(nèi)部數(shù)據(jù)結(jié)構(gòu),邏輯關(guān)系來實(shí)現(xiàn)apk軟件程序流程的分析;因此對(duì)特定的程序指令序列或多種程序指令系列的組合為規(guī)則進(jìn)行掃描,就可以判斷為入侵行為; C、根據(jù)網(wǎng)絡(luò)日志,分析入侵行為和手機(jī)正常應(yīng)用程序行為特征在相關(guān)日志的具體表現(xiàn)形式與差異性,識(shí)別入侵行為。
5.按權(quán)利要求2所述基于逆向的入侵檢測(cè)方法,其特征在于步驟③:a、采用TCP/IP協(xié)議分析技術(shù),命中入侵規(guī)則模塊的行為,響應(yīng)模塊實(shí)現(xiàn)警告以及記錄; b、采用逆向技術(shù),結(jié)合系統(tǒng)日志,判斷出入侵行為,響應(yīng)模塊實(shí)現(xiàn)警告以及記錄; C、結(jié)合網(wǎng)絡(luò)日志,判斷出入侵行為,響應(yīng)模塊實(shí)現(xiàn)警告以及記錄。
6.按權(quán)利要求2所述基于逆向的入侵檢測(cè)方法,其特征在于步驟④: a、破解管理模塊接收數(shù)據(jù)提取模塊的系統(tǒng)日志和網(wǎng)絡(luò)日志,里面包括豐富實(shí)時(shí)的系統(tǒng)f目息,網(wǎng)絡(luò)彳目息; b、系統(tǒng)日志和網(wǎng)絡(luò)日志提供給逆向分析引擎分析研究; C、破解管理模塊接收響應(yīng)模塊提供的警報(bào)信息,詳細(xì)的記錄了現(xiàn)場(chǎng)數(shù)據(jù),以便日后需要取證時(shí)重建某些網(wǎng)絡(luò)事件。
7.按權(quán)利要求2所述基于逆向的入侵檢測(cè)方法,其特征在于數(shù)據(jù)提取模塊(100)的工作流程包括下列步驟: a、數(shù)據(jù)提取模塊(100)采用開源的Iibpcap函數(shù)庫實(shí)現(xiàn)數(shù)據(jù)包的截獲,發(fā)送給逆向分析引擎(200); b、數(shù)據(jù)提取模塊(100)對(duì)網(wǎng)絡(luò)上所有的進(jìn)程進(jìn)行監(jiān)控,記錄下進(jìn)程號(hào)碼,用戶瀏覽的網(wǎng)址,操作的軟件,流量信息,以網(wǎng)絡(luò)日志的形式發(fā)送給數(shù)據(jù)管理模塊(500); C、數(shù)據(jù)提取模塊(100 )通過觀察用戶操作,記錄下這些操作對(duì)應(yīng)的系統(tǒng)日志,發(fā)給數(shù)據(jù)管理模塊(500)。
8.按權(quán)利要求2所述基于逆向的入侵檢測(cè)方法,其特征在于逆向分析引擎(200)的工作流程包括下列步驟: a、逆向分析引擎(200)收到數(shù)據(jù)提取模塊(100)發(fā)送的數(shù)據(jù)包,根據(jù)TCP/IP協(xié)議分析方法,獲取端口,ip,url,以及標(biāo)識(shí)協(xié)議的16進(jìn)制串信息與入侵規(guī)則模塊中的關(guān)鍵字進(jìn)行對(duì)比,一旦命中,則被識(shí)別為入侵行為; b、逆向分析引擎(200)從數(shù)據(jù)管理模塊(500)獲取系統(tǒng)日志,利用逆向技術(shù),對(duì)程序文件進(jìn)行反編譯后,對(duì)程序指令序列進(jìn)行分析,判斷出程序是否具有入侵的行為意圖; C、逆向分析引擎(200)從數(shù)據(jù)管理模塊(500)獲取網(wǎng)絡(luò)日志,分析入侵行為和手機(jī)正常應(yīng)用程序行為特征在相關(guān)日志的具體表現(xiàn)形式與差異性,識(shí)別入侵行為。
9.按權(quán)利要求2所述基于逆向的入侵檢測(cè)方法,其特征在于入侵規(guī)則模塊(300)的工作流程包括下列步驟: 入侵規(guī)則模塊(300)中積累了很多已知入侵行為的樣本關(guān)鍵字,每一個(gè)流經(jīng)的數(shù)據(jù)包都會(huì)和入侵規(guī)則模塊中的特征碼進(jìn)行匹配,匹配成功的則可以判斷是哪一種入侵行為。
【文檔編號(hào)】H04L29/06GK103746992SQ201410005098
【公開日】2014年4月23日 申請(qǐng)日期:2014年1月6日 優(yōu)先權(quán)日:2014年1月6日
【發(fā)明者】匡紅, 保勇武 申請(qǐng)人:武漢虹旭信息技術(shù)有限責(zé)任公司