摘要:隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展和互聯(lián)網(wǎng)規(guī)模的擴(kuò)大,病毒發(fā)展的渠道、傳播形式以及生命周期已經(jīng)發(fā)生了質(zhì)的改變。本文分析了云計(jì)算的木馬檢測(cè)系統(tǒng)設(shè)計(jì)。該系統(tǒng)可以高效的,迅速的,便捷的解決目前木馬檢測(cè)所遇到的問題。
關(guān)鍵詞:木馬;檢測(cè)系統(tǒng);云計(jì)算
中圖分類號(hào):TP311.56 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599(2012)24-0178-02
木馬檢測(cè)系統(tǒng)框架的基本目標(biāo)是劃分合理的結(jié)構(gòu)層,前端是應(yīng)用程序控制平臺(tái),中間是關(guān)鍵的云計(jì)算中間件,后臺(tái)是基于分布式的數(shù)據(jù)庫(kù)接口。最后一層是基于多任務(wù)的分布式操作系統(tǒng)?;谶@種模塊的檢測(cè)方法屬于四層結(jié)構(gòu),包括:應(yīng)用程序,云計(jì)算中間層,分布式數(shù)據(jù)庫(kù),操作系統(tǒng)。
周戶通過調(diào)用主控程序啟動(dòng)N個(gè)計(jì)算節(jié)點(diǎn)并行運(yùn)行子計(jì)算仟?jiǎng)?wù),每個(gè)子任務(wù)并發(fā)執(zhí)行完成;而其中每一個(gè)單獨(dú)小任務(wù)計(jì)算產(chǎn)生的中間結(jié)果假如計(jì)做nl……nn。然后把它們存在臨時(shí)的一個(gè)表中,當(dāng)這個(gè)表中的中的記錄個(gè)數(shù)達(dá)到最初分配的N個(gè)任務(wù)時(shí)并且對(duì)號(hào)入座正確時(shí),匯總程序的作用就是在相應(yīng)分片程序執(zhí)行完畢時(shí),根據(jù)并自動(dòng)提交結(jié)果進(jìn)行匯總。
1 木馬檢測(cè)模塊的設(shè)計(jì)與實(shí)現(xiàn)
木馬檢測(cè)模塊主要負(fù)責(zé)木馬病毒的檢測(cè)工作,負(fù)責(zé)接受用戶操作指令,為用戶提供處理結(jié)果,在后臺(tái)監(jiān)控用戶行為,為惡意代碼檢測(cè)引擎算法收集所需要的運(yùn)行參數(shù),提供文件訪問控制功能。該模塊負(fù)責(zé)用戶UI,發(fā)送任務(wù)和檢測(cè)程序幾個(gè)部分,該模塊封裝以后需要暴露的接口的功能有接受待測(cè)文件,檢測(cè)命令并返回固定結(jié)構(gòu)的檢測(cè)結(jié)果。該模塊也需要具有一定的網(wǎng)絡(luò)操作功能。
用戶界面提供用戶與系統(tǒng)交互的功能,具有簡(jiǎn)捷直觀便于使用的特點(diǎn)。提供主要服務(wù)的模塊分為三個(gè)部分。
1.1 文件訪問部分。我們實(shí)現(xiàn)一個(gè)運(yùn)行于系統(tǒng)服務(wù)層面的文件訪問控制插件,它可以設(shè)置過濾、監(jiān)聽及截取應(yīng)用程序?qū)ξ募脑L問請(qǐng)求,并對(duì)不同的文件請(qǐng)求返回不同的操作結(jié)果,從而實(shí)現(xiàn)對(duì)文件的訪問控制。
1.2 數(shù)據(jù)信息處理部分。依據(jù)系統(tǒng)和用戶界面?zhèn)鬟_(dá)的信息。及其應(yīng)用程序的行為特點(diǎn),分析并歸納惡意程序的行為,形成一個(gè)行為規(guī)則知識(shí)庫(kù)。通過實(shí)時(shí)監(jiān)控系統(tǒng)中應(yīng)用程序的行為,分析其邏輯關(guān)系,通過行為規(guī)則知識(shí)庫(kù)來判斷其是否為惡意程序。并負(fù)責(zé)反饋給服務(wù)器端。
1.3 網(wǎng)絡(luò)控制部分。使軟件可以通過移動(dòng)通信網(wǎng)絡(luò)或其他途徑實(shí)現(xiàn)規(guī)則知識(shí)庫(kù)及其系統(tǒng)組件的更新。擔(dān)任著目標(biāo)系統(tǒng)與惡意代碼檢測(cè)引擎之間的數(shù)據(jù)傳遞任務(wù)。它將不同的來自于不同的系統(tǒng)的各式各樣數(shù)據(jù)格式轉(zhuǎn)換成為統(tǒng)一的數(shù)據(jù)格式,然后將數(shù)據(jù)傳遞給接口雙方。
其中數(shù)據(jù)信息處理部分是主要的功能部分,其他功能都依賴于每一步的工作。當(dāng)主體服務(wù)模塊檢測(cè)到可疑惡意代碼而又不能確定其性質(zhì)的情況下,將其收集到的有用數(shù)據(jù)通過交互模塊發(fā)送給惡意代碼檢測(cè)引擎服務(wù)器,經(jīng)過服務(wù)器更復(fù)雜準(zhǔn)確的算法大量運(yùn)算之后,服務(wù)器把所得結(jié)果通過交互模塊返回給客戶端。由客戶端將所得結(jié)果展現(xiàn)給用戶,整個(gè)過程在后臺(tái)完成,用戶體驗(yàn)為在本機(jī)完成。
2 數(shù)據(jù)庫(kù)模塊的設(shè)計(jì)與實(shí)現(xiàn)
數(shù)據(jù)庫(kù)模塊采用分布式數(shù)據(jù)庫(kù)系統(tǒng)將所有數(shù)據(jù)集中存儲(chǔ)到一臺(tái)計(jì)算機(jī)上,由主機(jī)上的數(shù)據(jù)庫(kù)管理系統(tǒng)統(tǒng)一管理整個(gè)數(shù)據(jù)庫(kù),用戶可從終端上發(fā)出數(shù)據(jù)操作命令,經(jīng)主機(jī)上的數(shù)據(jù)庫(kù)管理系統(tǒng)接收處理后,將結(jié)果數(shù)據(jù)返回給用戶。集中式數(shù)據(jù)庫(kù)系統(tǒng)中具有數(shù)據(jù)集中管理、冗余度低、應(yīng)用程序和數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)相對(duì)獨(dú)立、數(shù)據(jù)恢復(fù)能力強(qiáng)等優(yōu)點(diǎn)。
分布式數(shù)據(jù)庫(kù)在邏輯上卻是一個(gè)整體的。由于組成分布數(shù)據(jù)庫(kù)系統(tǒng)聯(lián)邦的各個(gè)子數(shù)據(jù)庫(kù)系統(tǒng)是相對(duì)“自治”的,分布式數(shù)據(jù)庫(kù)系統(tǒng)(DDBS)包含分布式數(shù)據(jù)庫(kù)管理系統(tǒng)(DDBMS)和分布式數(shù)據(jù)庫(kù)(DDB)。在分布式數(shù)據(jù)庫(kù)系統(tǒng)中,一個(gè)應(yīng)用程序可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行透明操作,數(shù)據(jù)庫(kù)中的數(shù)據(jù)分別在不同的局部數(shù)據(jù)庫(kù)中存儲(chǔ)、由不同的DBMS進(jìn)行管理、在不同的機(jī)器上運(yùn)行、由不同的操作系統(tǒng)支持、被不同的通信網(wǎng)絡(luò)連接在一起。一個(gè)分布式數(shù)據(jù)庫(kù)在邏輯上是一個(gè)統(tǒng)一的整體,在物理上則是分別存儲(chǔ)在不同的物理節(jié)點(diǎn)上。一個(gè)應(yīng)用程序通過網(wǎng)絡(luò)的連接可以分布在不同地理位置的數(shù)據(jù)庫(kù)。它的分布性表現(xiàn)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)不是存儲(chǔ)在同一場(chǎng)地。更確切地講,不存儲(chǔ)在同一計(jì)算機(jī)的存儲(chǔ)設(shè)備上。這就是與集中式數(shù)據(jù)庫(kù)的區(qū)別。從用戶的角度看,一個(gè)分布式數(shù)據(jù)庫(kù)系統(tǒng)在邏輯上和集中式數(shù)據(jù)庫(kù)系統(tǒng)一樣,用戶可以在任何一個(gè)場(chǎng)地執(zhí)行全局應(yīng)用。分布式數(shù)據(jù)庫(kù)層次結(jié)構(gòu)如下圖所示。
圖1 分布式數(shù)據(jù)庫(kù)邏輯關(guān)系圖
3 基于云計(jì)算的中間件設(shè)計(jì)與實(shí)現(xiàn)
在這個(gè)系統(tǒng)中基于云計(jì)算的中間作為系統(tǒng)的運(yùn)算中心,具有及其重要的作用。它的主要工作有:能夠?qū)崟r(shí)接受客戶端的注冊(cè)請(qǐng)求、查殺請(qǐng)求等,能夠接收并處理由客戶端發(fā)送來的待檢測(cè)數(shù)據(jù),能夠優(yōu)化、修改惡意代碼檢測(cè)算法,能夠運(yùn)行惡意代碼檢測(cè)算法,并為客戶端返回運(yùn)算結(jié)果等。
客戶端連接管理模塊主要用于統(tǒng)一管理連接至該中間件的所有客戶端。所有的客戶端與中間件形成一個(gè)開放的系統(tǒng)平臺(tái)。如果一個(gè)新的客戶端需要惡意代碼檢測(cè)引擎提供惡意代碼檢測(cè)服務(wù),客戶端首先需要提供自己的注冊(cè)信息,請(qǐng)求加入系統(tǒng)處理隊(duì)列。我們通過對(duì)各種惡意代碼檢測(cè)算法進(jìn)行封裝實(shí)現(xiàn)后,將其看作一個(gè)完整的獨(dú)立的個(gè)體。每當(dāng)有一種新的檢測(cè)算法出現(xiàn)時(shí),我們都可以使用這樣的方法對(duì)其封裝實(shí)現(xiàn),然后便可交子檢測(cè)系統(tǒng)使用,各個(gè)算法之間可以相互配合相互協(xié)調(diào),共同對(duì)待檢測(cè)數(shù)據(jù)進(jìn)行綜合分析,然后做出一個(gè)最準(zhǔn)確的結(jié)論。中間件端可以通過實(shí)踐中對(duì)不同算法之間檢測(cè)效果的比較,按照不同算法的表現(xiàn)優(yōu)勝劣汰。在這里我們使用傳統(tǒng)特征碼掃描技術(shù)與動(dòng)態(tài)啟發(fā)式行為檢測(cè)相結(jié)合的惡意代碼檢測(cè)算法,當(dāng)然其可以在后續(xù)實(shí)踐中對(duì)中間件端的惡意代碼檢測(cè)算法子以優(yōu)化調(diào)整。
惡意代碼檢測(cè)算法的運(yùn)行模塊為系統(tǒng)的核心工作模塊,可疑文件的檢測(cè)過程主要在此模塊中實(shí)現(xiàn),在中間件端使用基于移動(dòng)終端的啟發(fā)式行為檢測(cè)方法,并和傳統(tǒng)掃描技術(shù)相結(jié)合,以提高查毒的速度和精確度。由于我們對(duì)惡意代碼檢測(cè)算法的抽象和建模,惡意代碼檢測(cè)算法的替換可由惡意代碼檢測(cè)算法管理模塊實(shí)現(xiàn),這樣極大的提高了惡意代碼檢測(cè)引擎的靈活性和可擴(kuò)展性。
同步接口用于與客戶端及其他中間件之間的數(shù)據(jù)交換,中間件端可以接收到來自兩個(gè)方面的數(shù)據(jù):移動(dòng)智能終端上的客戶端程序和其他的中間件端。客戶端與中間件端,中間件與中間件端各自定義了一套完整的通信協(xié)議標(biāo)準(zhǔn),規(guī)范定義了它們之間相互發(fā)送的數(shù)據(jù)應(yīng)該注意的細(xì)節(jié)問題。
消息隊(duì)列主要作用在于緩存各個(gè)模塊之間傳輸?shù)臄?shù)據(jù),客戶端與中間件之間、中間件與中間件之間的數(shù)據(jù)傳遞以消息的形式發(fā)送和接收,所有的消息都會(huì)發(fā)往消息隊(duì)列中排隊(duì),然后它們將根據(jù)自己各自的地址被發(fā)往各自的目的模塊。除了共有的消息隊(duì)列外,每個(gè)模塊還可根據(jù)需求建立自己的私有消息隊(duì)列,私有消息隊(duì)列作用與共享消息隊(duì)列相似,可緩存發(fā)往本模塊的消息數(shù)據(jù)。模塊在建立消息隊(duì)列時(shí)需要向消息分發(fā)器注冊(cè)其信息,使消息分發(fā)器得知其存在地址,正確的完成消息的投遞。
4 小結(jié)
本文從三個(gè)方面分析了云計(jì)算的木馬檢測(cè)系統(tǒng)設(shè)計(jì),包括:木馬檢測(cè)模塊的設(shè)計(jì)與實(shí)現(xiàn)、數(shù)據(jù)庫(kù)模塊的設(shè)計(jì)與實(shí)現(xiàn)、基于云計(jì)算的中間件設(shè)計(jì)與實(shí)現(xiàn)。希望本文的研究能促成云計(jì)算方案變得成熟,木馬檢測(cè)變得十分簡(jiǎn)單易行,人們將最終從木馬泛濫所造成的困擾中解脫出來。
參考文獻(xiàn):
[1]趙鵬,齊文泉,時(shí)長(zhǎng)江.下一代計(jì)算機(jī)病毒防范技術(shù)“云安全”架構(gòu)與原理[J].信息安全與通信保密,2010,11:96-98.
[2]吳珍.漫步云端——探秘云安全[J].信息安全與通信保密,2010,11:12-50.
[3]胡偉儉.淺談云計(jì)算在反病毒軟件中的應(yīng)用[J].牡丹江教育學(xué)院學(xué)報(bào),2010.7.
計(jì)算機(jī)光盤軟件與應(yīng)用2012年24期