《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 基于Multi-Agent的木馬模型設(shè)計(jì)

基于Multi-Agent的木馬模型設(shè)計(jì)

2008-12-12
作者:梅登華, 林耀通

??? 摘??要: 針對(duì)單木馬的生存問題,提出了基于Multi-Agent" title="Multi-Agent">Multi-Agent思想的新型木馬模型,。通過實(shí)驗(yàn),證明其體現(xiàn)了多木馬協(xié)同作業(yè)的優(yōu)越性,提高了生存能力,。?

??? 關(guān)鍵詞: 木馬; 多Agent; 協(xié)同

?

??? 計(jì)算機(jī)中的特洛伊木馬(Trojan horse)是指隱藏在正常程序中的一段具有特殊功能的惡意代碼,其具有隱蔽性和非授權(quán)性的特點(diǎn),。所謂隱蔽性是指木馬的設(shè)計(jì)者為了防止木馬被發(fā)現(xiàn),會(huì)采用多種手段隱藏木馬,。但現(xiàn)在眾多的查殺木馬工具正在不斷縮小木馬的生存空間[1],。因此木馬的首要特征是其生存能力,。?

??? Fred Cohen等人[2,3]將木馬作為病毒的一種特例,并給出了木馬的數(shù)學(xué)模型,但未對(duì)木馬的隱藏特征進(jìn)行分析,。Harold Thimbleby等人[4]對(duì)木馬模型框架進(jìn)行了研究,給出了木馬的形式化模型,對(duì)木馬隱藏的特征進(jìn)行了描述,但未對(duì)多木馬協(xié)同隱藏進(jìn)行描述和分析,。?

??? 本文在對(duì)單木馬隱藏技術(shù)分析研究的基礎(chǔ)上,針對(duì)單木馬在復(fù)雜網(wǎng)絡(luò)環(huán)境下的生存缺陷,提出了基于Multi-Agent思想的新型木馬模型,體現(xiàn)了多木馬協(xié)同隱藏的思想,增強(qiáng)了木馬的生存能力,。?

1 單木馬的局限性?

??? 通過對(duì)木馬結(jié)構(gòu)分析發(fā)現(xiàn),至今,所有的木馬結(jié)構(gòu)都是單木馬結(jié)構(gòu),。也就是單個(gè)的被控端只為單個(gè)的控制端" title="控制端">控制端服務(wù),這種結(jié)構(gòu)可以看作為“點(diǎn)對(duì)點(diǎn)”結(jié)構(gòu)[5]。被控端和控制端都在外網(wǎng)時(shí),問題不是很大,只是被控端沒有得到充分的利用,。但是在局域網(wǎng)內(nèi),、外運(yùn)用這種結(jié)構(gòu)(即被控端在局域網(wǎng)內(nèi)部,控制端在局域網(wǎng)外部)時(shí)存在以下缺點(diǎn):?

??? (1)用戶可根據(jù)網(wǎng)絡(luò)連接推斷出控制端的地址;?

??? (2)被控端的木馬被刪除后就不能再恢復(fù);?

??? (3)在局域網(wǎng)內(nèi)、外只有一條通道連接,容易因流量過大而被發(fā)現(xiàn),。?

??? 因?yàn)榫钟蚓W(wǎng)能很好地防范一些攻擊,為了安全,在當(dāng)前的Internet上有大量局域網(wǎng)存在,。為了更好地進(jìn)行內(nèi)網(wǎng)" title="內(nèi)網(wǎng)">內(nèi)網(wǎng)攻擊,本文提出了主要針對(duì)局域網(wǎng)的一種全新的木馬模型。?

2 Multi-Agent技術(shù)

??? 為了解決以上問題,針對(duì)局域網(wǎng)防火墻對(duì)內(nèi)監(jiān)督能力較弱等特點(diǎn),本文引入Agent技術(shù),實(shí)現(xiàn)基于Multi-Agent的木馬模型,利用多Agent之間的協(xié)作幫助木馬更好地進(jìn)行局域網(wǎng)外對(duì)局域網(wǎng)內(nèi)的控制,。?

2.1 Agent技術(shù)?

??? 學(xué)術(shù)界對(duì)Agent至今沒有統(tǒng)一明確的定義,。一般來說Agent可以理解為艾真體、主體或智能代理,。也就是說,Agent可以指具有智能的任何實(shí)體,包括硬件和軟件,如人,、機(jī)器人、智能軟件等,。?

??? 當(dāng)前對(duì)Agent的典型定義基本有兩種[6]:?

??? (1)Agent是駐留于環(huán)境中的實(shí)體,它可以解釋環(huán)境中所發(fā)生事件的數(shù)據(jù),并執(zhí)行對(duì)環(huán)境產(chǎn)生影響的行為,。這是FIPA(Foundation for Intelligent Physical Agent) 對(duì)Agent的定義。?

??? (2)Agent是能為用戶執(zhí)行特定任務(wù)的,、具有一定程度的,、智能的、能自主執(zhí)行任務(wù)的并能與環(huán)境相互作用的軟件程序,。這是軟件Agent研究者對(duì)Agent的定義,。?

??? 當(dāng)前Agent不僅僅應(yīng)用于人工智能,而且廣泛地用于Internet的電子商務(wù)、信息搜索,、人機(jī)界面,、分布式計(jì)算、軟件工程等領(lǐng)域,。?

2.2 Agent特性?

??? 在木馬中引入Agent技術(shù)與其特性有關(guān),。從廣義的角度規(guī)定Agent的特性,幾乎所有被稱為Agent的軟件或硬件系統(tǒng)都具有以下特性:?

??? (1)自治性:可以在沒有其他Agent的控制下運(yùn)行,對(duì)自己的行為有某種控制能力,。這與木馬在單機(jī)上能夠自主地完成本身的啟動(dòng)和隱藏等功能一樣,能夠獨(dú)立。?

??? (2)反應(yīng)能力 :對(duì)周圍環(huán)境有感知能力,并能通過自身行為改變環(huán)境,。這與木馬在各種不同單機(jī)環(huán)境上能夠很好地溶入環(huán)境,并且設(shè)置一些木馬需要的功能等是相同的,。?

??? (3)自發(fā)行為:能夠通過接受某些啟示信息,做出基于目標(biāo)的行為。這個(gè)特性正是木馬被控端接受控制端的命令,完成相應(yīng)功能的體現(xiàn),。?

??? (4)交流能力:可以和其他的Agent通過某種語言進(jìn)行交互,。這是引入Agent技術(shù)的主要目的之一。通過多Agent木馬的互相監(jiān)督,在某個(gè)Agent出現(xiàn)問題時(shí),能在其他Agent的協(xié)作下恢復(fù)工作,使木馬大大增強(qiáng)了生存能力,。?

??? 從以上對(duì)Agent特性分析來看,Agent與木馬有如此相似的特性,因此把Agent引入木馬中也是很自然的,而且利用Multi-Agent的協(xié)同能力,應(yīng)該能夠改進(jìn)木馬在復(fù)雜網(wǎng)絡(luò)環(huán)境下的生存能力,。?

3 基于Multi-Agent的木馬模型?

3.1木馬模型的形式化描述?

??? 參考Harold Thimbleby木馬模型[4],對(duì)基于Multi-Agent的協(xié)同作業(yè)思想進(jìn)行如下形式化描述:?

??? 若干個(gè)協(xié)同的Server-Agent木馬。定的功能,?

???

??? 由上述Agent木馬協(xié)同作業(yè)的形式化描述可以看出,顯現(xiàn)出不一致,。引入

3.2 模型的整體結(jié)構(gòu)?

??? 本模型采用異構(gòu)的多Agent結(jié)構(gòu),。每臺(tái)主機(jī)的Agent都是獨(dú)立的。Agent按功能分為Server-Agent和Clint-Agent兩類異構(gòu)的Agent,。Server-Agent和Clint-Agent分別位于被控端和控制端上,。由功能需要,Server-Agent和Clint-Agent又劃分多個(gè)不同的功能模塊,如圖1所示。

?

?

3.3 模型的工作流程?

??? 借鑒P2P技術(shù),基于多Agent模型的木馬運(yùn)行流程大致如下:當(dāng)在局域網(wǎng)的某臺(tái)主機(jī)中植入木馬的Server-Agent后,利用局域網(wǎng)內(nèi)網(wǎng)的一些漏洞進(jìn)行滲透,種下多個(gè)Server-Agent,。這些Server-Agent保持通信,互相協(xié)作。如對(duì)局域網(wǎng)內(nèi)的某一資源進(jìn)行獲取時(shí),多個(gè)Server-Agent將資源進(jìn)行分塊,各Server-Agent根據(jù)分配的任務(wù),各自負(fù)責(zé)將分塊數(shù)據(jù)發(fā)送到外網(wǎng)分散的Clint-Agent,各個(gè)Clint-Agent在收到分塊數(shù)據(jù)后,與發(fā)送請(qǐng)示的Clint-Agent交互,。發(fā)送請(qǐng)求的Clint-Agent在得到所有數(shù)據(jù)塊后重新組合,就得到了請(qǐng)求答復(fù),。?

??? 在該模型中,每個(gè)Server-Agent保存該局域網(wǎng)內(nèi)活動(dòng)Server-Agent的信息。如果某個(gè)Server-Agent被刪除,則與它最近的Server-Agent會(huì)在一定時(shí)間后重新植入Server-Agent,。?

3.4 Agent部件的實(shí)現(xiàn)?

??? (1) Clint-Agent?

??? Clint-Agent相對(duì)較簡(jiǎn)單,與其他木馬大致相同,。Clint-Agent負(fù)責(zé)應(yīng)對(duì)用戶請(qǐng)求,將其轉(zhuǎn)換為Server-Agent可以接收的請(qǐng)求格式,并且接收從Server-Agent送到的數(shù)據(jù),以及與其他Clint-Agent交互數(shù)據(jù),進(jìn)行組合。并以用戶要求的形式展現(xiàn),。Clint-Agent包括下列模塊:?

??? ①通信模塊" title="通信模塊">通信模塊:負(fù)責(zé)與Clint-Agent和Server-Agent通信,。?

??? ②接口模塊:負(fù)責(zé)與用戶交互,向用戶提供一個(gè)圖形界面。?

??? ③控制模塊" title="控制模塊">控制模塊:負(fù)責(zé)與其他Clint-Agent協(xié)調(diào),對(duì)數(shù)據(jù)進(jìn)行解密重組等,。?

??? (2) Server-Agent?

??? Server-Agent即木馬服務(wù)端,。它負(fù)責(zé)接收從Clint-Agent送到的用戶請(qǐng)求,在與其他Server-Agent交互后,將執(zhí)行結(jié)果返回給Clint-Agent。Server-Agent可保證自身安全,。它可分為下列模塊:?

??? ①通信模塊:與Clint-Agent一樣,負(fù)責(zé)與其他Agent通信,。?

??? ②狀態(tài)檢查模塊:專門負(fù)責(zé)Agent的安全。它定期檢查本機(jī)和相關(guān)Server-Agent的狀態(tài),。為隱蔽,它平時(shí)一般沒有什么動(dòng)作,。當(dāng)運(yùn)行時(shí),如發(fā)現(xiàn)控制模塊或通信模塊被刪除,則用備份重新生成,并重新插入另一個(gè)系統(tǒng)進(jìn)程中。如果與某個(gè)相關(guān)Server-Agent失去聯(lián)系,則要對(duì)該地址重新滲透一次,。?

??? ③控制模塊:Server-Agent的功能相對(duì)較多,與大部分木馬類似,包括控制系統(tǒng),、隱藏屬性,、附加功能等,也有一個(gè)狀態(tài)檢查塊,用以對(duì)狀態(tài)檢查模塊的線程進(jìn)行保護(hù),從而形成守護(hù)線程。?

3.5 Agent的通信?

??? 在本模型中,Agent之間的協(xié)作通過通信實(shí)現(xiàn),本實(shí)驗(yàn)系統(tǒng)采用TCP與ICMP相結(jié)合的方式,并對(duì)數(shù)據(jù)進(jìn)行IDEA加密,。其通信內(nèi)容為一個(gè)四元組:?

??? <通信內(nèi)容>:=<發(fā)送Agent;接收Agent,目的Agent,加密數(shù)據(jù)>?

??? 不同的Agent之間使用不同通信協(xié)議,。在Clint-Agent之間直接采用FTP方式通信,這是因?yàn)椴挥脫?dān)心安全問題,用FTP能達(dá)到較好速度。在Server-Agent之間采用FTP方式通信,因?yàn)榫钟蚓W(wǎng)網(wǎng)內(nèi)較少屏蔽ICMP協(xié)議點(diǎn),。在最關(guān)鍵的Clint-Agent和Server-Agent之間采用HTTP遂道技術(shù),這是無法完全封閉的,。即使被一些檢測(cè)系統(tǒng)截得,也只是一些代號(hào)和不完整的加密數(shù)據(jù),還原相當(dāng)困難。?

??? Agent想與其他Agent通信時(shí),數(shù)據(jù)經(jīng)過控制模塊加密后到達(dá)通信模塊,通信模塊根據(jù)目的地址進(jìn)行轉(zhuǎn)發(fā),。?

3.6 實(shí)驗(yàn)結(jié)果?

??? 實(shí)驗(yàn)結(jié)果表明該木馬模型有以下優(yōu)點(diǎn):?

??? (1)分散傳輸數(shù)據(jù)量降低了木馬程序由于流量異常被發(fā)現(xiàn)的概率,。?

??? (2)多目的地址接收數(shù)據(jù),增大追查源地址的難度。?

??? (3)各Agent木馬寄生于不同主機(jī)并且相互聯(lián)系,增強(qiáng)了木馬抗查殺能力,??梢酝ㄟ^進(jìn)一步完善Agent木馬各自的功能,達(dá)到更好的生存能力。?

??? (4)黑客間可以共享被控制端和實(shí)時(shí)交流,。?

??? (5)有良好的可擴(kuò)展性,能方便地在Agent模塊中添加更新的技術(shù),對(duì)Agent進(jìn)行強(qiáng)制更新,從而克服了傳統(tǒng)木馬動(dòng)態(tài)更新的局限性,。?

??? 本文引入Agent技術(shù)對(duì)當(dāng)前木馬進(jìn)行改造。模型采用多被控端和多個(gè)控制端的分布式結(jié)構(gòu),Agent間通過協(xié)議通信,大大提升了內(nèi)網(wǎng)控制能力,。但也帶來了一些問題,如將數(shù)據(jù)分散時(shí),數(shù)據(jù)的完整性不能確保,有時(shí)因某個(gè)Clint-Agent和Server-Agent關(guān)機(jī)可能得不到完整的數(shù)據(jù),。另一個(gè)問題是在內(nèi)網(wǎng)多臺(tái)主機(jī)中植入木馬,被發(fā)現(xiàn)的可能性相對(duì)加大。但是總體上這種基于Agent的新型木馬模型相對(duì)提高了生存能力,。?

??? 木馬在同反木馬的抗衡中不斷的發(fā)展和進(jìn)化,隨著木馬理論和技術(shù)的發(fā)展,木馬各種能力也在不斷提高,。?

參考文獻(xiàn)?

[1] 雙世勇,李俊全. 檢測(cè)Windows Rootkit的新方法[J]. 信息安全與通信保密,2005,(2):173-175.?

[2] ADLEMAN L M. An abstract theory of computer viruses[C]. In:8th Annual International Cryptology Conference,?Santa Barbara, California, USA, 1988.?

[3] COHEN F. On the implications of computer viruses and??methods of defense[J]. Computers and Security, 1988,7(2):167-184.?

[4] THIMBLEBY H, ANDERSON S, CAIRNS P. A framework for modeling trojans and computer virus infection[J]. The?Computer Journal,1998,41(7):444-458.?

[5] 康治平,向宏. 特洛伊木馬隱藏技術(shù)研究及實(shí)踐[J].計(jì)算機(jī)工程與應(yīng)用, 2006,(9):103-105.?

[6] 張?jiān)朴? 移動(dòng)Agent及其應(yīng)用[M]. 北京:清華大學(xué)出版社,2002.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。