文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2015.07.029
中文引用格式: 謝麗霞,,趙彬彬. 基于人工免疫系統(tǒng)的僵尸短信入侵檢測[J].電子技術(shù)應(yīng)用,,2015,41(7):103-106,,110.
英文引用格式: Xie Lixia,,Zhao Binbin. The intrusion detection of zombie SMS based on artificial immune system[J].Application of Electronic Technique,2015,,41(7):103-106,,110.
0 引言
近年來,,智能移動技術(shù)的迅猛發(fā)展和設(shè)備的推陳出新已得到眾多消費者的青睞。然而,,智能終端的安全威脅和隱患也迅速出現(xiàn),。2012年以來,移動僵尸網(wǎng)絡(luò)開始構(gòu)成威脅,。
2012年底出現(xiàn)的移動僵尸網(wǎng)絡(luò)(Android.DDos.1.origin)在后臺攔截短信并發(fā)起UDP Flood攻擊[1],;華為《2013年度安全研究報告》顯示,移動僵尸網(wǎng)絡(luò)ZitMo的mTAN(國外手機銀行驗證碼)短信攻擊已造成4 700萬美元的經(jīng)濟損失,。2013年出現(xiàn)了以短信作為命令控制通道的最大的移動僵尸網(wǎng)絡(luò)(MisoSMS),。近期,移動安全公司Lookout發(fā)現(xiàn)了活躍兩年的迄今防御力最強的移動僵尸網(wǎng)絡(luò)(NotCompatible)[2],。移動僵尸網(wǎng)絡(luò)正在成為下一個噩夢,,對移動僵尸網(wǎng)絡(luò)的檢測已刻不容緩。
僵尸短信是指控制移動設(shè)備執(zhí)行非授權(quán)行為的短信,。短信服務(wù)由于實時性,、可靠性等特性成為目前移動僵尸網(wǎng)絡(luò)命令控制通道主要的、不可缺少的方式,。因此,,僵尸短信的識別與檢測對移動設(shè)備的信息安全具有重要的理論和實踐意義。
本文提出了一種基于人工免疫的僵尸短信檢測模型,。該模型的創(chuàng)新之處在于:通過量化短信簽名信息生成抗原并采用實值否定選擇[3]算法(Real-valued Negative Selection,RNS)生成抗體,。通過抗原與抗體的親密程度識別僵尸短信,。
1 相關(guān)工作
目前,國內(nèi)外的許多學(xué)者對移動僵尸網(wǎng)絡(luò)進行了研究并提出了一系列移動僵尸網(wǎng)絡(luò)的模型。Mulliner提出一種基于短信和http協(xié)議的移動僵尸網(wǎng)絡(luò)模型[4],。該模型具有較高的應(yīng)用性,,但隱蔽性較低;Zeng提出一種采用P2P結(jié)構(gòu)的基于短信的移動僵尸網(wǎng)絡(luò)模型[5],。由于采用P2P結(jié)構(gòu)且以短信作為命令控制通道的主要方式,,因此該模型具有較高的應(yīng)用性和隱蔽性。
在移動僵尸網(wǎng)絡(luò)檢測方面,,國內(nèi)外主要采用以下方法:
(1)采用僵尸網(wǎng)絡(luò)中基于行為或流量等特征的檢測方式,。但是,由于移動設(shè)備的IP是變化的,,所以上述方式的應(yīng)用性不高,。
(2)采用通用的惡意軟件的檢測方式(靜態(tài)檢測、動態(tài)檢測,、混合檢測等),,這種方式針對性差,準確率低,。
綜上所述,,目前移動僵尸網(wǎng)絡(luò)的檢測理論和方法還不夠成熟,應(yīng)用性和適用性有待提高,。
2 檢測模型的設(shè)計
本文提出的檢測模型有兩個核心模塊:短信過濾和短信識別免疫,。短信過濾模塊根據(jù)黑名單信息過濾垃圾短信或廣告。短信識別免疫模塊識別可疑短信,,若短信識別為良性,,則放行;否則,,攔截該短信并通知用戶,,若用戶修改短信屬性,則放行該短信并更新抗體,。檢測模型的整體架構(gòu)如圖1所示,。
2.1 短信過濾
短信過濾模塊過濾垃圾短信或廣告,然后將可疑僵尸短信發(fā)送到短信識別免疫模塊進行處理,。
短信過濾模塊存儲有第三方的以及用戶添加的垃圾短信和廣告的黑名單,。當短信過濾模塊攔截到短信時,提取短信的來源或目的地地址與黑名單進行查詢,、匹配,。若存在匹配的黑名單記錄,則攔截該短信并將其存儲到數(shù)據(jù)庫中,,然后以通知的方式通知用戶,;反之,,則放行該短信。
2.2 短信識別免疫
短信識別免疫模塊是僵尸短信檢測模型的核心模塊,。其處理流程主要有4個步驟:量化短信的簽名信息生成抗原,;通過改進的RNS算法生成抗體;計算抗體與抗原的親密程度識別僵尸短信,;根據(jù)用戶的反饋結(jié)果更新抗體,。短信識別免疫的處理流程如圖2所示。
2.2.1 量化短信的簽名信息生成抗原
抗原是指移動設(shè)備發(fā)送或接收的短信的簽名信息所量化成的n維空間向量,。
目前的僵尸短信大都包含有惡意URL鏈接,、僵尸指令、惡意聯(lián)系方式等,,而且為了防止用戶發(fā)現(xiàn)大都采用指令加密,、指令分段、內(nèi)容掩蓋等方式隱藏僵尸短信的內(nèi)容,。因此,,本文定義如下信息作為短信的簽名信息:(1)短信的總長度(包括空格);(2)短信的長度(不包括空格),;(3)空格的長度,;(4)URL鏈接的數(shù)量;(5)標點符號,、特殊字符的數(shù)量,;(6)大寫字母的長度;(7)電話號碼(或數(shù)字)的長度,;(8)英文字符串的長度,。
將上述的簽名信息用一組8維的空間向量表示,這組8維的空間向量即抗原,。例如:短信內(nèi)容為:“尊敬的客戶:您當月的話費為99.99元,,當前余額為50.00元。SEND_PHONE,,查看收費詳情:請訪問:www.chinamobilexxx.com.aaa”所生成的向量組如圖3所示,,其中第一個數(shù)據(jù)“80”表示短信的總長度(包括空格),其他依次類推,。
2.2.2 通過RNS算法生成抗體
抗體是一個二元組(x,,r),其中x是與抗原維數(shù)相同的n維向量,,它表示抗體的中心點,,r為抗體的檢測半徑。
傳統(tǒng)RNS算法生成抗體的檢測半徑是固定的,,導(dǎo)致抗體對“非我”空間的覆蓋率較低,。為覆蓋較多“非我”空間則需較多抗體,,這導(dǎo)致算法的效率和準確率下降且時間復(fù)雜度增加。為了有效解決上述問題,,抗體的檢測半徑不再固定不變,而是根據(jù)“自我”的分布情況決定,??贵w的檢測半徑不變與抗體的檢測半徑可變對比如圖4所示。
通過RNS算法生成抗體的步驟如下:
(1)隨機產(chǎn)生候選抗體x,。
(2)計算x與抗體庫B中已有抗體bi(i=1,,2,…,,k)的歐氏距離[6]:
(3)如果di小于任一抗體bi的檢測半徑,,說明兩個超球體相交,即表明該抗體能被抗體庫中已有的抗體覆蓋,,這與成熟抗體只能覆蓋“非我”是不一致的,,因此需要被淘汰,轉(zhuǎn)步驟(1),;否則執(zhí)行步驟(4),。
(4)計算抗體x與良性短信樣本集S(樣本集S是一個二元組(xs,rs),,xs是與抗原維數(shù)相同的n維向量,,rs為自體半徑)中的所有樣本點sj(j=1,2,,…,,m)的歐氏距離dj,并求出最小距離dmin:
(5)若dmin大于樣本點的自體半徑,,則將dmin-rs作為抗體的檢測半徑,,抗體成熟,同時計數(shù)器c=c+1,;反之拋棄該候選抗體,,轉(zhuǎn)步驟(1)。
(6)若成熟抗體的數(shù)量c達到期望的最大抗體數(shù)量Nmax,,則算法結(jié)束,;否則轉(zhuǎn)步驟(1)。
2.2.3 僵尸短信識別
僵尸短信的識別是通過抗體與抗原的親密程度實現(xiàn)的,,抗體與抗原的親密程度用它們之間的歐氏距離衡量,。
僵尸短信的識別處理流程設(shè)計如下:
(1)獲取待識別抗原a。
(2)求出a與抗體庫B中的抗體bi的中心點的歐氏距離并求出最小距離dmin(i=1,,2,,…,,k)
(3)若dmin小于或等于抗體的檢測半徑ri,則該抗原所對應(yīng)的短信為僵尸短信,;否則,,該短信為良性短信。
(4)將檢測出的僵尸短信通知用戶,。
抗原與抗體的歐氏距離計算示例如圖5所示,。
2.2.4 根據(jù)用戶反饋結(jié)果更新抗體
雖然抗體的檢測半徑是可變的,但仍無法覆蓋所有的“非我”空間,,會出現(xiàn)僵尸短信誤報的現(xiàn)象,。因此,需實時更新抗體,。
當短信識別免疫模塊識別出僵尸短信時,,會以通知的形式通知用戶,用戶可以修改檢測結(jié)果,。當用戶查看短信詳情并修改短信識別結(jié)果時,,短信識別免疫模塊會根據(jù)用戶的反饋結(jié)果刪除抗體庫中相應(yīng)的抗體。
3 檢測模型的實現(xiàn)
本文選取Android系統(tǒng)作為僵尸短信檢測模型的實現(xiàn)平臺,,它由短信過濾模塊和短信識別免疫模塊組成,。
3.1 短信過濾模塊
通過Android系統(tǒng)的廣播接收者組件(BroadcastReceiver)可實現(xiàn)對發(fā)送到該移動設(shè)備的短信進行攔截(實現(xiàn)方式:采用代碼方式設(shè)置廣播接收的優(yōu)先級最高,安裝該應(yīng)用前卸載其他具有攔截短信廣播的應(yīng)用),。對于發(fā)送的短信,,在發(fā)送短信之前對短信進行過濾、識別即可,。
短信過濾模塊通過SQLite數(shù)據(jù)庫存儲的黑名單數(shù)據(jù)是:垃圾短信或廣告短信的發(fā)送地址,。黑名單數(shù)據(jù)的來源是:第三方應(yīng)用軟件的黑名單庫、用戶添加的黑名單記錄等,。
短信過濾的處理流程為:
(1)提取短信的目的地或來源地址,。
(2)與黑名單信息進行查找、匹配,。若匹配,,短信即為垃圾短信或廣告,短信過濾模塊將攔截短信的發(fā)送或接收并通過Android系統(tǒng)的Notification類通知用戶,;反之,,短信通過該模塊并進入短信識別免疫模塊。
3.2 短信識別免疫模塊
短信識別免疫模塊是僵尸短信檢測模型最核心的模塊,,其主要功能為:
(1)根據(jù)短信簽名信息生成抗原并計算出抗原與抗體庫的最小歐氏距離[6],。
(2)將識別出的僵尸短信通過Android系統(tǒng)的Notification類通知用戶;
(3)根據(jù)用戶反饋結(jié)果更新抗體,。
通過第三方commons-lang.jar工具包提取短信的簽名信息并量化為抗原,。短信識別免疫模塊通過SQLite數(shù)據(jù)庫存儲已經(jīng)成熟的抗體,。通過Math.abs()函數(shù)求出抗原與抗體的最小歐氏距離[6]。
用戶可修改識別結(jié)果,,若短信被修改為良性短信,,模塊放行該短信并刪除抗體庫中相應(yīng)的抗體。
4 檢測實驗與結(jié)果
基于本文提出的僵尸短信檢測模型,,以Android系統(tǒng)為測試平臺,,采用J2SE技術(shù)設(shè)計并實現(xiàn)了僵尸短信檢測軟件的核心程序。
從相關(guān)網(wǎng)站,、論壇等收集了1 000條短信,短信類型涉及:問候祝福,、商務(wù)貿(mào)易,、銀行支付、生活社交,、服務(wù)通知等,其中良性短信600條,,僵尸短信400條。軟件檢測界面如圖6所示,。
1 000條樣本短信的檢測結(jié)果如表1所示,,檢測結(jié)果表明,本文提出的檢測模型能夠有效檢測僵尸短信,,證明了其有效性和可行性,。
5 結(jié)束語
本文模仿人體的免疫結(jié)構(gòu)和機制,提出一種基于人工免疫的僵尸短信檢測模型,。在該模型中設(shè)計了兩個核心模塊,。首先匹配黑名單信息進行初步過濾;然后量化短信的簽名信息生成抗原,,通過RNS算法生成抗體,,以抗原與抗體的歐氏距離識別僵尸短信,最后根據(jù)用戶反饋更新抗體,。該檢測模型能夠有效地發(fā)現(xiàn)移動設(shè)備中的僵尸短信,,保護設(shè)備的信息安全。但該檢測模型仍有不足之處:提取短信的簽名信息的類型較少,、抗體的覆蓋率不高,、識別率較低等。
未來的僵尸短信檢測模型將做如下改進:增加短信的簽名信息類型,、優(yōu)化計算抗體檢測半徑算法,、采用加權(quán)的方式計算待識別抗原與抗體的親密程度等。
參考文獻
[1] 約翰·薩???華為2013年度安全研究報告[R].深圳:華為公司,,2013.
[2] 360安全播報.企業(yè)網(wǎng)絡(luò)的下一個噩夢:移動僵尸網(wǎng)絡(luò)[EB/OL].[2014-11-21].http://bobao.#/news/detail/916.html.
[3] JIN Q,,MING M.A method to construct self set for IDS based on negative selection algorithm[C].Proceedings of the 2011 International Conference on Mechatronic Science,Electric Engineering and Computer.Piscataway:IEEE Press,,2011:1051-1053.
[4] MULLINER C,,SEIFERTIN J.Rise of the iBots:owning a telco network[C].Proceedings of the 5th IEEE International Conference on Malicious and Unwanted Software(Malware).Piscataway:IEEE Press,2010:19-20.
[5] ZENG Y Y,,HU X,,SHIN K G.Design of SMS commanded-and-controlled and P2P-structed mobile Botnet[C].Proceedings of the fifth ACM conference on Security and Privacy in Wireless and Mobile Networks.New York:ACM Press,2012:137-148.
[6] JAVED J,,YASIN H,,ALI S.Human movement recognition using euclidean distance:a tricky approach[C].Proceedings of 2010 3th International Congress on Image and Signal Processing.Piscataway:IEEE Press,2010:317-321.