張麗娜,何 遠(yuǎn)
(大理學(xué)院 數(shù)學(xué)與計(jì)算機(jī)學(xué)院 物聯(lián)網(wǎng)實(shí)驗(yàn)室,云南 大理 671003)
隨著國內(nèi)3G通信的發(fā)展,智能終端在國內(nèi)的市場占有率正在逐步升高,智能電視、智能機(jī)頂盒等也進(jìn)入平常百姓家。上網(wǎng)功能的增強(qiáng)、應(yīng)用的增加使智能終端感染病毒的機(jī)會(huì)增大。2004年6月第一款手機(jī)病毒“Cabir”被截獲[1],此后手機(jī)病毒不斷發(fā)展,針對(duì)智能手機(jī)的病毒也呈上升趨勢(shì),因手機(jī)木馬而造成的話費(fèi)糾紛日漸突出,因而對(duì)智能終端業(yè)務(wù)安全監(jiān)控引起眾多學(xué)者和相關(guān)廠商的關(guān)注。
針對(duì)手機(jī)病毒、木馬,許多廠家都推出了相關(guān)的殺毒軟件。主要廠商包括AirScanner、F-Secure、McAfee、賽門鐵克等。這些產(chǎn)品具有掃描手機(jī)病毒、實(shí)時(shí)監(jiān)控等功能。但只要病毒稍加改動(dòng),往往能逃過殺毒軟件的查殺。目前手機(jī)監(jiān)控模塊只實(shí)現(xiàn)了簡單的功能,例如,幫助用戶檢查下載程序的合法性、檢測(cè)安裝程序產(chǎn)生的新文件等[2]。病毒能使手機(jī)自動(dòng)發(fā)送短信、自動(dòng)連網(wǎng)等,從而給用戶帶來話費(fèi)損失。手機(jī)防火墻能對(duì)智能終端進(jìn)行監(jiān)控,并通過黑白名單對(duì)相關(guān)業(yè)務(wù)進(jìn)行攔截[3-5],但都存在一定局限性,只對(duì)木馬病毒的特征或只針對(duì)業(yè)務(wù)行為特征,沒有把用戶意愿和木馬特征結(jié)合起來考慮,不能很好地解決木馬的非法業(yè)務(wù)觸發(fā)問題,而本文將重點(diǎn)解決這一問題。
用戶使用手機(jī)時(shí)都通過界面的導(dǎo)航和按鍵的觸發(fā)來完成操作,用戶界面控件提供了在屏幕上畫圖和處理按鍵事件的一般方法。這些控件之所以能有條不紊地對(duì)用戶的按鍵輸入進(jìn)行響應(yīng),主要是通過控件棧機(jī)制。
程序通過參數(shù)aKeyEvent可以獲得按鍵事件,如果這個(gè)按鍵事件已經(jīng)被處理,就會(huì)從函數(shù)返回EKeyWasCon?sumed,因此App UI就不會(huì)把這個(gè)按鍵響應(yīng)事件傳給其他控件。相反,如果一個(gè)按鍵響應(yīng)事件沒有被處理,就會(huì)返回EKeyWasNotConsumed,所以這個(gè)按鍵響應(yīng)事件就會(huì)被傳遞給其他控件[6]。觸摸屏手機(jī)的具體實(shí)現(xiàn)過程相對(duì)復(fù)雜,但控制實(shí)現(xiàn)原理與按鍵式手機(jī)類似。
新的手機(jī)應(yīng)用程序設(shè)計(jì)好后,最終打包成一個(gè)文件發(fā)布到手機(jī)上。該文件中包含了程序所需要的資源和相關(guān)代碼,所以木馬病毒一般將代碼嵌入到正常的應(yīng)用程序中。用戶運(yùn)行含有病毒的應(yīng)用程序后,程序執(zhí)行相關(guān)功能的同時(shí)觸發(fā)了病毒進(jìn)程,從而引起病毒攻擊[7]。病毒線程如圖1所示。
圖1 病毒線程
從圖1可看出,只用進(jìn)程檢測(cè)等手段,很難發(fā)現(xiàn)木馬程序。但木馬程序必須首先通過訪問系統(tǒng)中的某些資源或接口才能進(jìn)行破壞行動(dòng)。
以短信業(yè)務(wù)為例,其正常業(yè)務(wù)流程如圖2所示。用戶操作步驟為開啟手機(jī)用戶界面、選擇業(yè)務(wù)、編輯短信、設(shè)置被叫號(hào)碼、發(fā)送短信,每一步都在用戶界面的導(dǎo)航下通過按鍵事件觸發(fā)完成。
圖2 短信業(yè)務(wù)流程
木馬利用了手機(jī)程序和相關(guān)協(xié)議棧的漏洞取得了相關(guān)權(quán)限,按號(hào)碼簿中的電話號(hào)碼生成短信數(shù)據(jù)包后,調(diào)用短信發(fā)送模塊,完成短信發(fā)送的功能。
從文獻(xiàn)[8]介紹的智能手機(jī)體系結(jié)構(gòu)可以看出,各層間的調(diào)用過程是單向線性的,也就是說第N層可以調(diào)用第N-1層服務(wù),但第N-1層不能保證一定被第N層調(diào)用。具體到短信業(yè)務(wù)來說,就是發(fā)送模塊沒有驗(yàn)證所發(fā)消息是用戶通過按鍵觸發(fā)的,這樣就給木馬程序留下了破壞的機(jī)會(huì)。
“用戶意愿”概念的提出是為了準(zhǔn)確描述用戶的使用意圖。用戶意愿是用戶的想法及目的,主要用于區(qū)分業(yè)務(wù)的觸發(fā)是病毒造成的還是用戶自己的愿望。在安全監(jiān)控上體現(xiàn)操作是用戶授權(quán)的,同時(shí)表明授權(quán)是真實(shí)的,即訪問授權(quán)確實(shí)是用戶本人發(fā)布的,而不是程序偽造的。
借鑒文獻(xiàn)[9-10]的安全監(jiān)控方法,并在此基礎(chǔ)上融入序列模式挖掘的思想。只有使用過某些按鍵,才可能觸發(fā)對(duì)應(yīng)的智能手機(jī)安全監(jiān)控業(yè)務(wù)。通過對(duì)某種型號(hào)手機(jī)使用的操作步驟進(jìn)行分析,才能從中提取有代表性的操作。短信發(fā)送一般可分為以下幾個(gè)序列:1)從通訊錄發(fā)短信,其序列為“通訊錄→左鍵→向下→確認(rèn)鍵→確認(rèn)鍵→…→左鍵→確認(rèn)鍵”。2)從菜單發(fā)短信,其序列為“左鍵→確認(rèn)鍵→確認(rèn)鍵→…→左鍵→確認(rèn)鍵”。3)回復(fù)短信,其序列為“左鍵→向下→確認(rèn)鍵→確認(rèn)鍵→左鍵→確認(rèn)鍵→…→左鍵→確認(rèn)鍵”。對(duì)其進(jìn)行符號(hào)化,可得到如下 對(duì) 應(yīng) 序 列 :{S0S1S2S3S3…S1S3},{S1S3S3…S1S3},{S1S2S3S3S1S3…S1S3}。
這樣就可以通過對(duì)用戶按鍵序列的監(jiān)控得到用戶意愿信息,如果不符合用戶意愿,那就是病毒觸發(fā)的業(yè)務(wù),換句話說,如果沒有對(duì)應(yīng)的按鍵序列,但有相關(guān)業(yè)務(wù)發(fā)生就判斷為非用戶意愿。
通過上面分析可知,如果符合用戶意愿就認(rèn)為是用戶正常使用的業(yè)務(wù),反之,就認(rèn)為是非法業(yè)務(wù)。為了對(duì)業(yè)務(wù)進(jìn)行保護(hù),對(duì)相關(guān)的接口資源等進(jìn)行監(jiān)控,并進(jìn)行判斷,對(duì)正常業(yè)務(wù)不進(jìn)行攔截,如果是非法業(yè)務(wù)則進(jìn)行攔截并告警。具體流程如圖3所示。
圖3 安全監(jiān)控的業(yè)務(wù)流程
第1步,增加一個(gè)監(jiān)控進(jìn)程,記錄手機(jī)的按鍵操作,并將按鍵記錄裝入數(shù)據(jù)庫中。
第2步,增加一個(gè)監(jiān)控進(jìn)程,監(jiān)控手機(jī)功能調(diào)用操作,針對(duì)不同功能監(jiān)控不同的API調(diào)用。
第3步,根據(jù)第1步的記錄,挖掘按鍵記錄中的序列模式,提取出對(duì)應(yīng)的序列模式。
第4步,監(jiān)控到對(duì)應(yīng)的API調(diào)用后,先中斷(暫停)執(zhí)行并進(jìn)行判斷,判斷規(guī)則由第3步的結(jié)果與對(duì)應(yīng)的正常序列對(duì)比。如果是合法操作,則繼續(xù)執(zhí)行。否則,告警提示用戶并按用戶選擇進(jìn)行操作。
通過對(duì)按鍵事件的序列挖掘,認(rèn)證了手機(jī)業(yè)務(wù)的用戶觸發(fā),從而實(shí)現(xiàn)了基于用戶意愿的安全監(jiān)控,這樣就能避免因?yàn)椴《?、木馬而造成的話費(fèi)糾紛。
智能手機(jī)病毒程序具有自動(dòng)執(zhí)行的特點(diǎn),使它可以偽造用戶的授權(quán),從而完成破壞功能。但手機(jī)病毒無法像計(jì)算機(jī)病毒那樣做的太大,病毒程序還無法從硬件驅(qū)動(dòng)層去模擬按鍵信息,所以在目前一段時(shí)間內(nèi)監(jiān)控程序的安全性。同時(shí)對(duì)于不同的手機(jī),操作時(shí)有一定差異,病毒無法模擬全部的按鍵序列,其安全性進(jìn)一步得到加強(qiáng)。
3.2.1 實(shí)驗(yàn)驗(yàn)證方案
目前對(duì)感染病毒的手機(jī)多數(shù)有自動(dòng)發(fā)送短信的特點(diǎn),所以本實(shí)驗(yàn)選擇短信業(yè)務(wù)為實(shí)驗(yàn)基礎(chǔ),并以Symbian的開發(fā)環(huán)境作為實(shí)驗(yàn)平臺(tái),對(duì)基于用戶意愿的安全監(jiān)控方案的可行性進(jìn)行了初步的驗(yàn)證。
一般攻擊者往往把這種程序綁定到游戲、實(shí)用軟件中,通過正常使用軟件而觸發(fā)病毒,這樣用戶一般就不會(huì)有戒備。由于游戲的“有趣”,被攻擊者很可能還會(huì)通過自己的宣傳而導(dǎo)致更多的人中毒。從圖3可以看出,可針對(duì)不同業(yè)務(wù)進(jìn)行監(jiān)控,本文主要對(duì)短信業(yè)務(wù)進(jìn)行監(jiān)控。
為了模擬自動(dòng)發(fā)送短信的病毒,創(chuàng)建一個(gè)項(xiàng)目命名為“xuexi”,在程序菜單的“about”菜單項(xiàng),增加觸發(fā)短信發(fā)送功能,使其運(yùn)行時(shí)顯示正常的軟件版本信息,同時(shí)“悄悄”地在后臺(tái)發(fā)送短信,從而模擬了手機(jī)僵尸病毒的發(fā)送短信的特征。
3.2.2 實(shí)驗(yàn)結(jié)果
把“xuexi”程序上傳到手機(jī)并安裝,然后通過360手機(jī)安全衛(wèi)士對(duì)程序進(jìn)行安全掃描,其結(jié)果與手機(jī)QQ、游戲(封神榜2)等正常軟件類似,結(jié)果為安全未知,建議云查殺。對(duì)其進(jìn)行云查殺后,對(duì)QQ程序的結(jié)果為“安全,可以放心使用”,但對(duì)“xuexi”的結(jié)果卻仍然是“安全未知”,結(jié)果如圖4所示。從結(jié)果可以看出,對(duì)于這個(gè)“新病毒”,靜態(tài)掃描技術(shù)無法及時(shí)正確判斷,證明了殺毒軟件的滯后性。
在設(shè)計(jì)xuexi程序時(shí)為了能看到發(fā)送成功的結(jié)果,沒有對(duì)短信發(fā)送報(bào)告等細(xì)節(jié)進(jìn)行處理。運(yùn)行“xuexi”程序,通過點(diǎn)擊about菜單選項(xiàng)后,可以看見程序顯示正常版本信息外自動(dòng)發(fā)送短信,圖5為“xuexi”程序自動(dòng)發(fā)送短信后發(fā)送成功的報(bào)告。
接下來運(yùn)行安全監(jiān)控程序,在設(shè)計(jì)時(shí)為了不影響用戶操作,選擇了后臺(tái)運(yùn)行方式,所以無法直接看到程序正在運(yùn)行,通過軟件才能看到,“dxjk.EXE”正在運(yùn)行,具體如圖6所示,然后再次運(yùn)行“xuexi”程序,可以看到短信被攔截,結(jié)果如圖7所示。
本文設(shè)計(jì)了一種基于用戶的短消息安全監(jiān)控系統(tǒng)。該系統(tǒng)根據(jù)業(yè)務(wù)行為特征判斷非法業(yè)務(wù)的觸發(fā)并能阻止其進(jìn)一步的執(zhí)行,避免因中木馬而產(chǎn)生話費(fèi)損失,并間接證明了可能有木馬病毒的存在。智能終端的結(jié)構(gòu)和系統(tǒng)與智能手機(jī)類似,所以此防毒設(shè)計(jì)方案,對(duì)于智能電視、智能機(jī)頂盒等有一定的借鑒意義。
[1]PAULSON L D.First smart phone virus is discovered[J].Computer,2004(8):22-23.
[2]王立波.基于嵌入設(shè)備的手機(jī)反病毒軟件淺析[J].微計(jì)算機(jī)信息,2007,23(2):78-79.
[3]FENG Song,OUYANG Xin,ZHU Zhining.Design and implementa?tion of short message interception based on content detection and symbian OS cell phone[C]//Proc.CCC2008.[S.l.]:IEEE Press,2008:704–707.
[4]萬霖宜.基于標(biāo)簽的手機(jī)安全實(shí)時(shí)監(jiān)控技術(shù)研究[D].沈陽:遼寧大學(xué),2007.
[5]連一峰,戴英俠,王航.基于模式挖掘的用戶行為異常檢測(cè)[J].計(jì)算機(jī)學(xué)報(bào),2002(3):325–330.
[6]楊長青,彭木根.Symbian S60手機(jī)程序開發(fā)與實(shí)用教程[M].北京:機(jī)械工業(yè)出版社,2008.
[7]葉徘岑.基于SymbianOS智能手機(jī)病毒的原型研究[D].武漢:華中科技大學(xué),2005.
[8]王繼剛,顧國昌.面向智能手機(jī)的嵌入式實(shí)時(shí)操作系統(tǒng)[J].中興通訊技術(shù),2005,11(5):41-44.
[9]吳俊軍,方明偉.基于啟發(fā)式行為監(jiān)測(cè)的手機(jī)病毒防治研究[J].計(jì)算機(jī)工程與科學(xué),2010(1):35-38.
[10]張毅,何遠(yuǎn),唐紅.加權(quán)行為特征的智能手機(jī)安全監(jiān)控研究[J].電視技術(shù),2011,35(1):122–123.