文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2015.07.029
中文引用格式: 謝麗霞,趙彬彬. 基于人工免疫系統(tǒng)的僵尸短信入侵檢測(cè)[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 引言
近年來(lái),智能移動(dòng)技術(shù)的迅猛發(fā)展和設(shè)備的推陳出新已得到眾多消費(fèi)者的青睞。然而,智能終端的安全威脅和隱患也迅速出現(xiàn)。2012年以來(lái),移動(dòng)僵尸網(wǎng)絡(luò)開(kāi)始構(gòu)成威脅。
2012年底出現(xiàn)的移動(dòng)僵尸網(wǎng)絡(luò)(Android.DDos.1.origin)在后臺(tái)攔截短信并發(fā)起UDP Flood攻擊[1];華為《2013年度安全研究報(bào)告》顯示,移動(dòng)僵尸網(wǎng)絡(luò)ZitMo的mTAN(國(guó)外手機(jī)銀行驗(yàn)證碼)短信攻擊已造成4 700萬(wàn)美元的經(jīng)濟(jì)損失。2013年出現(xiàn)了以短信作為命令控制通道的最大的移動(dòng)僵尸網(wǎng)絡(luò)(MisoSMS)。近期,移動(dòng)安全公司Lookout發(fā)現(xiàn)了活躍兩年的迄今防御力最強(qiáng)的移動(dòng)僵尸網(wǎng)絡(luò)(NotCompatible)[2]。移動(dòng)僵尸網(wǎng)絡(luò)正在成為下一個(gè)噩夢(mèng),對(duì)移動(dòng)僵尸網(wǎng)絡(luò)的檢測(cè)已刻不容緩。
僵尸短信是指控制移動(dòng)設(shè)備執(zhí)行非授權(quán)行為的短信。短信服務(wù)由于實(shí)時(shí)性、可靠性等特性成為目前移動(dòng)僵尸網(wǎng)絡(luò)命令控制通道主要的、不可缺少的方式。因此,僵尸短信的識(shí)別與檢測(cè)對(duì)移動(dòng)設(shè)備的信息安全具有重要的理論和實(shí)踐意義。
本文提出了一種基于人工免疫的僵尸短信檢測(cè)模型。該模型的創(chuàng)新之處在于:通過(guò)量化短信簽名信息生成抗原并采用實(shí)值否定選擇[3]算法(Real-valued Negative Selection,RNS)生成抗體。通過(guò)抗原與抗體的親密程度識(shí)別僵尸短信。
1 相關(guān)工作
目前,國(guó)內(nèi)外的許多學(xué)者對(duì)移動(dòng)僵尸網(wǎng)絡(luò)進(jìn)行了研究并提出了一系列移動(dòng)僵尸網(wǎng)絡(luò)的模型。Mulliner提出一種基于短信和http協(xié)議的移動(dòng)僵尸網(wǎng)絡(luò)模型[4]。該模型具有較高的應(yīng)用性,但隱蔽性較低;Zeng提出一種采用P2P結(jié)構(gòu)的基于短信的移動(dòng)僵尸網(wǎng)絡(luò)模型[5]。由于采用P2P結(jié)構(gòu)且以短信作為命令控制通道的主要方式,因此該模型具有較高的應(yīng)用性和隱蔽性。
在移動(dòng)僵尸網(wǎng)絡(luò)檢測(cè)方面,國(guó)內(nèi)外主要采用以下方法:
(1)采用僵尸網(wǎng)絡(luò)中基于行為或流量等特征的檢測(cè)方式。但是,由于移動(dòng)設(shè)備的IP是變化的,所以上述方式的應(yīng)用性不高。
(2)采用通用的惡意軟件的檢測(cè)方式(靜態(tài)檢測(cè)、動(dòng)態(tài)檢測(cè)、混合檢測(cè)等),這種方式針對(duì)性差,準(zhǔn)確率低。
綜上所述,目前移動(dòng)僵尸網(wǎng)絡(luò)的檢測(cè)理論和方法還不夠成熟,應(yīng)用性和適用性有待提高。
2 檢測(cè)模型的設(shè)計(jì)
本文提出的檢測(cè)模型有兩個(gè)核心模塊:短信過(guò)濾和短信識(shí)別免疫。短信過(guò)濾模塊根據(jù)黑名單信息過(guò)濾垃圾短信或廣告。短信識(shí)別免疫模塊識(shí)別可疑短信,若短信識(shí)別為良性,則放行;否則,攔截該短信并通知用戶,若用戶修改短信屬性,則放行該短信并更新抗體。檢測(cè)模型的整體架構(gòu)如圖1所示。
2.1 短信過(guò)濾
短信過(guò)濾模塊過(guò)濾垃圾短信或廣告,然后將可疑僵尸短信發(fā)送到短信識(shí)別免疫模塊進(jìn)行處理。
短信過(guò)濾模塊存儲(chǔ)有第三方的以及用戶添加的垃圾短信和廣告的黑名單。當(dāng)短信過(guò)濾模塊攔截到短信時(shí),提取短信的來(lái)源或目的地地址與黑名單進(jìn)行查詢、匹配。若存在匹配的黑名單記錄,則攔截該短信并將其存儲(chǔ)到數(shù)據(jù)庫(kù)中,然后以通知的方式通知用戶;反之,則放行該短信。
2.2 短信識(shí)別免疫
短信識(shí)別免疫模塊是僵尸短信檢測(cè)模型的核心模塊。其處理流程主要有4個(gè)步驟:量化短信的簽名信息生成抗原;通過(guò)改進(jìn)的RNS算法生成抗體;計(jì)算抗體與抗原的親密程度識(shí)別僵尸短信;根據(jù)用戶的反饋結(jié)果更新抗體。短信識(shí)別免疫的處理流程如圖2所示。
2.2.1 量化短信的簽名信息生成抗原
抗原是指移動(dòng)設(shè)備發(fā)送或接收的短信的簽名信息所量化成的n維空間向量。
目前的僵尸短信大都包含有惡意URL鏈接、僵尸指令、惡意聯(lián)系方式等,而且為了防止用戶發(fā)現(xiàn)大都采用指令加密、指令分段、內(nèi)容掩蓋等方式隱藏僵尸短信的內(nèi)容。因此,本文定義如下信息作為短信的簽名信息:(1)短信的總長(zhǎng)度(包括空格);(2)短信的長(zhǎng)度(不包括空格);(3)空格的長(zhǎng)度;(4)URL鏈接的數(shù)量;(5)標(biāo)點(diǎn)符號(hào)、特殊字符的數(shù)量;(6)大寫(xiě)字母的長(zhǎng)度;(7)電話號(hào)碼(或數(shù)字)的長(zhǎng)度;(8)英文字符串的長(zhǎng)度。
將上述的簽名信息用一組8維的空間向量表示,這組8維的空間向量即抗原。例如:短信內(nèi)容為:“尊敬的客戶:您當(dāng)月的話費(fèi)為99.99元,當(dāng)前余額為50.00元。SEND_PHONE,查看收費(fèi)詳情:請(qǐng)?jiān)L問(wèn):www.chinamobilexxx.com.aaa”所生成的向量組如圖3所示,其中第一個(gè)數(shù)據(jù)“80”表示短信的總長(zhǎng)度(包括空格),其他依次類推。
2.2.2 通過(guò)RNS算法生成抗體
抗體是一個(gè)二元組(x,r),其中x是與抗原維數(shù)相同的n維向量,它表示抗體的中心點(diǎn),r為抗體的檢測(cè)半徑。
傳統(tǒng)RNS算法生成抗體的檢測(cè)半徑是固定的,導(dǎo)致抗體對(duì)“非我”空間的覆蓋率較低。為覆蓋較多“非我”空間則需較多抗體,這導(dǎo)致算法的效率和準(zhǔn)確率下降且時(shí)間復(fù)雜度增加。為了有效解決上述問(wèn)題,抗體的檢測(cè)半徑不再固定不變,而是根據(jù)“自我”的分布情況決定??贵w的檢測(cè)半徑不變與抗體的檢測(cè)半徑可變對(duì)比如圖4所示。
通過(guò)RNS算法生成抗體的步驟如下:
(1)隨機(jī)產(chǎn)生候選抗體x。
(2)計(jì)算x與抗體庫(kù)B中已有抗體bi(i=1,2,…,k)的歐氏距離[6]:
(3)如果di小于任一抗體bi的檢測(cè)半徑,說(shuō)明兩個(gè)超球體相交,即表明該抗體能被抗體庫(kù)中已有的抗體覆蓋,這與成熟抗體只能覆蓋“非我”是不一致的,因此需要被淘汰,轉(zhuǎn)步驟(1);否則執(zhí)行步驟(4)。
(4)計(jì)算抗體x與良性短信樣本集S(樣本集S是一個(gè)二元組(xs,rs),xs是與抗原維數(shù)相同的n維向量,rs為自體半徑)中的所有樣本點(diǎn)sj(j=1,2,…,m)的歐氏距離dj,并求出最小距離dmin:
(5)若dmin大于樣本點(diǎn)的自體半徑,則將dmin-rs作為抗體的檢測(cè)半徑,抗體成熟,同時(shí)計(jì)數(shù)器c=c+1;反之拋棄該候選抗體,轉(zhuǎn)步驟(1)。
(6)若成熟抗體的數(shù)量c達(dá)到期望的最大抗體數(shù)量Nmax,則算法結(jié)束;否則轉(zhuǎn)步驟(1)。
2.2.3 僵尸短信識(shí)別
僵尸短信的識(shí)別是通過(guò)抗體與抗原的親密程度實(shí)現(xiàn)的,抗體與抗原的親密程度用它們之間的歐氏距離衡量。
僵尸短信的識(shí)別處理流程設(shè)計(jì)如下:
(1)獲取待識(shí)別抗原a。
(2)求出a與抗體庫(kù)B中的抗體bi的中心點(diǎn)的歐氏距離并求出最小距離dmin(i=1,2,…,k)
(3)若dmin小于或等于抗體的檢測(cè)半徑ri,則該抗原所對(duì)應(yīng)的短信為僵尸短信;否則,該短信為良性短信。
(4)將檢測(cè)出的僵尸短信通知用戶。
抗原與抗體的歐氏距離計(jì)算示例如圖5所示。
2.2.4 根據(jù)用戶反饋結(jié)果更新抗體
雖然抗體的檢測(cè)半徑是可變的,但仍無(wú)法覆蓋所有的“非我”空間,會(huì)出現(xiàn)僵尸短信誤報(bào)的現(xiàn)象。因此,需實(shí)時(shí)更新抗體。
當(dāng)短信識(shí)別免疫模塊識(shí)別出僵尸短信時(shí),會(huì)以通知的形式通知用戶,用戶可以修改檢測(cè)結(jié)果。當(dāng)用戶查看短信詳情并修改短信識(shí)別結(jié)果時(shí),短信識(shí)別免疫模塊會(huì)根據(jù)用戶的反饋結(jié)果刪除抗體庫(kù)中相應(yīng)的抗體。
3 檢測(cè)模型的實(shí)現(xiàn)
本文選取Android系統(tǒng)作為僵尸短信檢測(cè)模型的實(shí)現(xiàn)平臺(tái),它由短信過(guò)濾模塊和短信識(shí)別免疫模塊組成。
3.1 短信過(guò)濾模塊
通過(guò)Android系統(tǒng)的廣播接收者組件(BroadcastReceiver)可實(shí)現(xiàn)對(duì)發(fā)送到該移動(dòng)設(shè)備的短信進(jìn)行攔截(實(shí)現(xiàn)方式:采用代碼方式設(shè)置廣播接收的優(yōu)先級(jí)最高,安裝該應(yīng)用前卸載其他具有攔截短信廣播的應(yīng)用)。對(duì)于發(fā)送的短信,在發(fā)送短信之前對(duì)短信進(jìn)行過(guò)濾、識(shí)別即可。
短信過(guò)濾模塊通過(guò)SQLite數(shù)據(jù)庫(kù)存儲(chǔ)的黑名單數(shù)據(jù)是:垃圾短信或廣告短信的發(fā)送地址。黑名單數(shù)據(jù)的來(lái)源是:第三方應(yīng)用軟件的黑名單庫(kù)、用戶添加的黑名單記錄等。
短信過(guò)濾的處理流程為:
(1)提取短信的目的地或來(lái)源地址。
(2)與黑名單信息進(jìn)行查找、匹配。若匹配,短信即為垃圾短信或廣告,短信過(guò)濾模塊將攔截短信的發(fā)送或接收并通過(guò)Android系統(tǒng)的Notification類通知用戶;反之,短信通過(guò)該模塊并進(jìn)入短信識(shí)別免疫模塊。
3.2 短信識(shí)別免疫模塊
短信識(shí)別免疫模塊是僵尸短信檢測(cè)模型最核心的模塊,其主要功能為:
(1)根據(jù)短信簽名信息生成抗原并計(jì)算出抗原與抗體庫(kù)的最小歐氏距離[6]。
(2)將識(shí)別出的僵尸短信通過(guò)Android系統(tǒng)的Notification類通知用戶;
(3)根據(jù)用戶反饋結(jié)果更新抗體。
通過(guò)第三方commons-lang.jar工具包提取短信的簽名信息并量化為抗原。短信識(shí)別免疫模塊通過(guò)SQLite數(shù)據(jù)庫(kù)存儲(chǔ)已經(jīng)成熟的抗體。通過(guò)Math.abs()函數(shù)求出抗原與抗體的最小歐氏距離[6]。
用戶可修改識(shí)別結(jié)果,若短信被修改為良性短信,模塊放行該短信并刪除抗體庫(kù)中相應(yīng)的抗體。
4 檢測(cè)實(shí)驗(yàn)與結(jié)果
基于本文提出的僵尸短信檢測(cè)模型,以Android系統(tǒng)為測(cè)試平臺(tái),采用J2SE技術(shù)設(shè)計(jì)并實(shí)現(xiàn)了僵尸短信檢測(cè)軟件的核心程序。
從相關(guān)網(wǎng)站、論壇等收集了1 000條短信,短信類型涉及:?jiǎn)柡蜃8!⑸虅?wù)貿(mào)易、銀行支付、生活社交、服務(wù)通知等,其中良性短信600條,僵尸短信400條。軟件檢測(cè)界面如圖6所示。
1 000條樣本短信的檢測(cè)結(jié)果如表1所示,檢測(cè)結(jié)果表明,本文提出的檢測(cè)模型能夠有效檢測(cè)僵尸短信,證明了其有效性和可行性。
5 結(jié)束語(yǔ)
本文模仿人體的免疫結(jié)構(gòu)和機(jī)制,提出一種基于人工免疫的僵尸短信檢測(cè)模型。在該模型中設(shè)計(jì)了兩個(gè)核心模塊。首先匹配黑名單信息進(jìn)行初步過(guò)濾;然后量化短信的簽名信息生成抗原,通過(guò)RNS算法生成抗體,以抗原與抗體的歐氏距離識(shí)別僵尸短信,最后根據(jù)用戶反饋更新抗體。該檢測(cè)模型能夠有效地發(fā)現(xiàn)移動(dòng)設(shè)備中的僵尸短信,保護(hù)設(shè)備的信息安全。但該檢測(cè)模型仍有不足之處:提取短信的簽名信息的類型較少、抗體的覆蓋率不高、識(shí)別率較低等。
未來(lái)的僵尸短信檢測(cè)模型將做如下改進(jìn):增加短信的簽名信息類型、優(yōu)化計(jì)算抗體檢測(cè)半徑算法、采用加權(quán)的方式計(jì)算待識(shí)別抗原與抗體的親密程度等。
參考文獻(xiàn)
[1] 約翰·薩???華為2013年度安全研究報(bào)告[R].深圳:華為公司,2013.
[2] 360安全播報(bào).企業(yè)網(wǎng)絡(luò)的下一個(gè)噩夢(mèng):移動(dòng)僵尸網(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.