《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > CFMMQ:一種共享內(nèi)存多隊(duì)列協(xié)同取證方法
CFMMQ:一種共享內(nèi)存多隊(duì)列協(xié)同取證方法
2016年電子技術(shù)應(yīng)用第8期
王文奇1,2,劉安戰(zhàn)1,郭基鳳1
1.中原工學(xué)院,河南 鄭州450007;2.鄭州市網(wǎng)絡(luò)安全評(píng)估重點(diǎn)實(shí)驗(yàn)室,河南 鄭州450007
摘要: 為了使網(wǎng)絡(luò)取證系統(tǒng)能夠協(xié)同多個(gè)安全取證系統(tǒng)有效取證,提出了一種共享內(nèi)存多隊(duì)列的協(xié)同取證方法。該方法采用了共享內(nèi)存通信方式,借助信號(hào)機(jī)制,設(shè)計(jì)了基于多個(gè)隊(duì)列進(jìn)行數(shù)據(jù)交換算法,解決網(wǎng)絡(luò)協(xié)同取證大數(shù)據(jù)量通信問(wèn)題,基于入侵檢測(cè)報(bào)文格式協(xié)議(IDMEF)設(shè)計(jì)了協(xié)同取證網(wǎng)絡(luò)報(bào)文協(xié)議。通過(guò)實(shí)現(xiàn)取證系統(tǒng),驗(yàn)證了協(xié)議設(shè)計(jì)的有效性。
中圖分類(lèi)號(hào): TP393.08
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.08.036
中文引用格式: 王文奇,劉安戰(zhàn),郭基鳳. CFMMQ:一種共享內(nèi)存多隊(duì)列協(xié)同取證方法[J].電子技術(shù)應(yīng)用,2016,42(8):144-147,153.
英文引用格式: Wang Wenqi,Liu Anzhan,Guo Jifeng. CFMMQ:A coordinated-forensic method based on shared memory multi queue[J].Application of Electronic Technique,2016,42(8):144-147,153.
CFMMQ:A coordinated-forensic method based on shared memory multi queue
Wang Wenqi1,2,Liu Anzhan1,Guo Jifeng1
1.Zhongyuan University of Technology,Zhengzhou 450007,China; 2.Zhengzhou Key Lab of Network Security Assessment,Zhengzhou 450007,China
Abstract: In order to collect criminal evidence in coordination with other security system, a coordinated-forensic method based on shared memory multi queue(CFMMQ) is proposed in this paper. A efficient communication algorithm is designed based multi-queue notify-signal mechanism by share memory to solve the problem of large data communication in network collaborative forensics. The communication protocol between forensic center and security system is designed based intrusion detection message exchange format(IDMEF). The aim of method is to make network forensic collect other security availably.
Key words : coordinated-forensic;shared memory forensic;multi queue coordinated-forensic;agent forensic;coordinated-forensic control protocol

0 引言

  網(wǎng)絡(luò)取證通過(guò)抓取、記錄和分析網(wǎng)絡(luò)事件,以發(fā)現(xiàn)安全攻擊或其他的問(wèn)題事件的來(lái)源。為獲取可以證明網(wǎng)絡(luò)犯罪的有效證據(jù),需要對(duì)網(wǎng)絡(luò)犯罪在各種安全防御系統(tǒng)中遺留的各種信息進(jìn)行收集和分析,而這些信息是多源的,有多種形式。因而需要一種能夠有效協(xié)同多種防御系統(tǒng)之間通信以及協(xié)同控制的方法,從而能夠更準(zhǔn)確收集網(wǎng)絡(luò)犯罪的有效證據(jù),追蹤犯罪分子。當(dāng)前,關(guān)于網(wǎng)絡(luò)取證已有很多研究成果,如BHONDELE A提出了一種用于取證分析惡意的網(wǎng)絡(luò)數(shù)據(jù)包網(wǎng)絡(luò)取證框架[1]。JOY D等提出了面向用戶(hù)的取證分析方案,目的是設(shè)計(jì)一個(gè)健壯靈活協(xié)議格式以收集底層網(wǎng)絡(luò)數(shù)據(jù)[2]。張電等對(duì)網(wǎng)絡(luò)取證多源取證協(xié)同關(guān)聯(lián)技術(shù)進(jìn)行研究[3]。張有東等重點(diǎn)研究了證據(jù)的關(guān)聯(lián)分析技術(shù)[4]。相關(guān)文獻(xiàn)對(duì)網(wǎng)絡(luò)取證中如何保持網(wǎng)絡(luò)會(huì)話的完整性進(jìn)行了研究[5]。縱觀以往的研究成果,相關(guān)研究對(duì)協(xié)同關(guān)聯(lián)分析技術(shù)研究相對(duì)較多,而網(wǎng)絡(luò)系統(tǒng)間如何實(shí)現(xiàn)高效協(xié)同取證研究甚少,如近年來(lái)STONEY 等提出一種可以收集特定證據(jù)協(xié)同控制方法,并指出了協(xié)同中心在協(xié)同取證中的重要性[6]。

  在實(shí)際網(wǎng)絡(luò)取證過(guò)程中,由于各網(wǎng)絡(luò)防御系統(tǒng)側(cè)重點(diǎn)不同,網(wǎng)絡(luò)系統(tǒng)采用的通信方式和通信協(xié)議也是不同的,一方面數(shù)據(jù)量較大時(shí)由于通信方式不同可能會(huì)引起阻塞;另一方面由于沒(méi)有統(tǒng)一的協(xié)議格式,各系統(tǒng)間通信語(yǔ)義理解也是困難的。基于以上分析,為了使網(wǎng)絡(luò)取證系統(tǒng)能夠協(xié)同多個(gè)安全取證系統(tǒng)有效取證,本文設(shè)計(jì)和實(shí)現(xiàn)了一種基于代理的協(xié)同取證方法。

1 框架設(shè)計(jì)

  共享內(nèi)存多隊(duì)列協(xié)同取證方法(Coordinated-Forensic Method based on shared Memory multi Queue,CFMMQ)的基本結(jié)構(gòu)如圖1所示,主要包括一個(gè)取證協(xié)同控制中心(Forensic Center,F(xiàn)C)、運(yùn)行于各個(gè)主機(jī)的唯一代理(Agent)及在該框架下運(yùn)行的各種安全取證系統(tǒng)(如:IDS Sensor、Disaster Recovery、IDS Center、Forensic Network、Firewall、Security Audit等)。其中:Agent在各主機(jī)中有且只有一個(gè),各個(gè)Agent之間可以相互通信;FC通過(guò)本地代理,實(shí)時(shí)監(jiān)控各安全取證系統(tǒng)狀態(tài),為安全取證系統(tǒng)協(xié)同時(shí)提供必要信息,同時(shí)具有維持各個(gè)主機(jī)之間報(bào)文交換協(xié)議定義文件的一致性等功能。

圖像 003.png

圖1  網(wǎng)絡(luò)協(xié)同控制系統(tǒng)

  Agent主要發(fā)揮監(jiān)控和通信的職能,監(jiān)控功能主要是針對(duì)本地安全取證系統(tǒng)的,通信功能主要指針對(duì)其他代理的。代理之間采用點(diǎn)對(duì)點(diǎn)通信,以互為客戶(hù)/服務(wù)器模式構(gòu)建通信網(wǎng)絡(luò),數(shù)據(jù)交換采用統(tǒng)一的協(xié)議,從而有助于采用統(tǒng)一的協(xié)同控制安全策略。

  各個(gè)安全取證系統(tǒng)只能通過(guò)本機(jī)的代理與其他系統(tǒng)通信協(xié)同取證。也就是說(shuō),當(dāng)安全取證系統(tǒng)與主機(jī)內(nèi)其他安全取證系統(tǒng)協(xié)同通信時(shí),必須借助Agent交換數(shù)據(jù),同時(shí)安全取證系統(tǒng)和其他主機(jī)的協(xié)同取證安全取證系統(tǒng)通信也通過(guò)Agent。因此,本地安全取證系統(tǒng)和Agent采用主機(jī)內(nèi)進(jìn)程間通信策略,Agent之間采用主機(jī)間網(wǎng)絡(luò)通信策略。由于安全取證系統(tǒng)的復(fù)雜性,取證系統(tǒng)的數(shù)據(jù)交換可能瞬時(shí)出現(xiàn)大量數(shù)據(jù)造成瓶頸,為此CFMMQ框架在算法設(shè)計(jì)上進(jìn)行了特別考慮。

2 數(shù)據(jù)通信設(shè)計(jì)

  2.1 數(shù)據(jù)結(jié)構(gòu)

  由框架設(shè)計(jì)可知,Agent與本地安全取證系統(tǒng)之間的通信是主機(jī)內(nèi)進(jìn)程間的通信,一個(gè)Agent可以與多個(gè)本地安全取證系統(tǒng)進(jìn)行數(shù)據(jù)交換。在技術(shù)上,主機(jī)內(nèi)部進(jìn)程間通信可以選擇匿名管道、有名管道、消息隊(duì)列、套接字通信、共享內(nèi)存等,這里選擇共享內(nèi)存通信方式,該方式通信效率最高,這一點(diǎn)對(duì)大數(shù)據(jù)量通信特別重要。另外,共享內(nèi)存方式和其他通信方式相比更不容易被攻擊者發(fā)現(xiàn)和利用[7]。在共享內(nèi)存通信的基礎(chǔ)上,設(shè)計(jì)基于多隊(duì)列緩存的取證方法。

  綜合考慮,共享內(nèi)存設(shè)計(jì)上共申請(qǐng)空間1 002 KB[8],該空間被分為成數(shù)據(jù)區(qū)和管理區(qū)兩部分,數(shù)據(jù)區(qū)部分的大小1 000 KB用于系統(tǒng)之間數(shù)據(jù)通信,管理區(qū)部分的大小為2 KB用于保存相關(guān)的管理信息。共享內(nèi)存中共包含4種信息結(jié)構(gòu),分別是基本信息塊、空閑信息塊、Agent信息塊和安全取證系統(tǒng)信息塊。

  數(shù)據(jù)區(qū)部分:數(shù)據(jù)區(qū)部分包含若干基本信息塊,每個(gè)基本信息塊為1 KB,結(jié)構(gòu)如圖2(a)所示,基本信息塊設(shè)計(jì)為1 KB可以避免在操作系統(tǒng)中跨頁(yè)而降低效率?;拘畔K包括五部分,分別是前驅(qū)指針、后繼指針、消息頭、數(shù)據(jù)和冗余字節(jié),基本信息塊可以置于不同的雙向隊(duì)列之中,包括空閑塊隊(duì)列、Agent數(shù)據(jù)塊隊(duì)列和安全取證系統(tǒng)數(shù)據(jù)塊隊(duì)列。

  管理區(qū)部分:該部分主要用于存放管理隊(duì)列的信息。其中,用于管理空閑塊隊(duì)列的空閑塊信息包括隊(duì)首指針、隊(duì)尾指針和互斥鎖,如圖2(b)。用于管理Agent數(shù)據(jù)塊隊(duì)列的Agent信息包括隊(duì)列長(zhǎng)度、隊(duì)首指針、隊(duì)尾指針、互斥鎖和通知信號(hào),如圖2(c)。用于管理安全取證系統(tǒng)數(shù)據(jù)塊隊(duì)列的安全取證系統(tǒng)信息包括系統(tǒng)類(lèi)型、隊(duì)列長(zhǎng)度、隊(duì)首指針、隊(duì)尾指針、互斥鎖和通知信號(hào),如圖2(d)。3個(gè)隊(duì)列都是雙向隊(duì)列,隊(duì)列中的基本元素都是基本信息塊?;コ怄i可以保證隊(duì)列信息的一致性,通知信號(hào)用于當(dāng)隊(duì)列有數(shù)據(jù)塊時(shí)通知讀取數(shù)據(jù)。

圖像 004.png

圖2  信息結(jié)構(gòu)

  在基本信息塊中,包括16 B的消息頭和912 B的內(nèi)容信息。表1給出了消息頭的格式,其中系統(tǒng)類(lèi)型8位中,前4位為安全取證系統(tǒng)類(lèi)型,后4位表示子系統(tǒng),如IDS的控制中心可以表示為00100001,前四位0010表示為入侵檢測(cè)系統(tǒng)(IDS),后四位0001表示為IDS的控制中心子系統(tǒng)。

圖像 001.png

  消息類(lèi)型主要包括以下6種類(lèi)型:

  (1)心跳消息(HEART)

  適用于安全取證系統(tǒng)向本地Agent發(fā)送,并由Agent綜合本機(jī)安全取證系統(tǒng)狀態(tài)定時(shí)向協(xié)同取證中心發(fā)送,目的是維持當(dāng)前不同主機(jī)安全取證系統(tǒng)活動(dòng)狀態(tài)。

  (2)查詢(xún)消息(INQUERY)

  用于Agent查詢(xún)安全取證系統(tǒng)的各種信息,內(nèi)容格式見(jiàn)表2,查詢(xún)消息格式設(shè)計(jì)還可采用掩碼方式支持不同類(lèi)型的查詢(xún)。如:當(dāng)需要查詢(xún)主機(jī)上所有安全取證系統(tǒng)時(shí),系統(tǒng)類(lèi)型設(shè)置為0xFF,查詢(xún)主機(jī)上所有的IDS子系統(tǒng)時(shí)系統(tǒng)類(lèi)型為0x1F,這里假定IDS的編號(hào)為1。查詢(xún)位于不同主機(jī)的系統(tǒng)時(shí),可以設(shè)置查詢(xún)系統(tǒng)的IP地址,查詢(xún)多個(gè)目標(biāo)IP地址時(shí),可以設(shè)置成網(wǎng)絡(luò)掩碼的方式,實(shí)現(xiàn)廣播查詢(xún)。

  (3)應(yīng)答消息(REPONSE)

  適用于查詢(xún)消息的應(yīng)答,應(yīng)答查詢(xún)消息包含了應(yīng)答數(shù)據(jù),如查詢(xún)的安全取證系統(tǒng)運(yùn)行狀態(tài)信息等。

  (4)傳輸消息(TRANFER)

  用于安全取證系統(tǒng)之間或者安全取證系統(tǒng)與取證協(xié)同控制中心之間傳輸數(shù)據(jù),具體的格式見(jiàn)表2。在數(shù)據(jù)塊長(zhǎng)度足以承載傳輸信息時(shí),則一個(gè)數(shù)據(jù)塊即可,此時(shí)置數(shù)據(jù)序列號(hào)為0xFF。當(dāng)傳送的信息超出數(shù)據(jù)塊長(zhǎng)度時(shí),需要對(duì)信息分成多個(gè)數(shù)據(jù)塊進(jìn)行傳輸,數(shù)據(jù)序列號(hào)從0開(kāi)始依次標(biāo)記,當(dāng)達(dá)到0xFE時(shí),循環(huán)標(biāo)記,直到結(jié)束,標(biāo)記數(shù)據(jù)序列號(hào)為0xFF。

圖像 002.png

  (5)協(xié)同控制命令消息(COMMAND)

  為安全取證系統(tǒng)之間提供協(xié)同控制功能,根據(jù)安全策略,實(shí)現(xiàn)對(duì)其他安全取證系統(tǒng)進(jìn)行啟動(dòng)、停止等控制,包括其子系統(tǒng)。如:IDS的控制中心可以通過(guò)協(xié)同框架啟動(dòng)、停止探測(cè)器,取證中心可以通過(guò)協(xié)同框架協(xié)同控制不同的安全取證系統(tǒng)等。

  (6)錯(cuò)誤消息(ERROR)

  適用于當(dāng)消息傳輸錯(cuò)誤時(shí),返回提示信息。錯(cuò)誤消息主要用于系統(tǒng)控制與安全取證系統(tǒng)之間協(xié)同通信的錯(cuò)誤診斷。同時(shí),也可通過(guò)錯(cuò)誤消息了解不同安全取證系統(tǒng)狀況。

  2.2 數(shù)據(jù)通信

  數(shù)據(jù)通信包括兩方面,一是Agent與安全取證系統(tǒng)之間的數(shù)據(jù)交換,二是Agent與網(wǎng)絡(luò)其他主機(jī)之間的數(shù)據(jù)交換。

  在Agent啟動(dòng)時(shí),進(jìn)行初始化工作,對(duì)于數(shù)據(jù)區(qū),初始化工作就是將數(shù)據(jù)區(qū)的空間建立空閑塊并加入空閑塊隊(duì)列。對(duì)于管理區(qū),就是建立管理區(qū)信息結(jié)構(gòu)。Agent的工作過(guò)程如下:

  (1)Agent從網(wǎng)絡(luò)讀取到數(shù)據(jù)

  根據(jù)數(shù)據(jù)包格式檢查數(shù)據(jù)的正確性是Agent接收到其他Agent發(fā)來(lái)網(wǎng)絡(luò)數(shù)據(jù)的首要任務(wù),之后進(jìn)行數(shù)據(jù)包解析,取出空閑塊加載數(shù)據(jù),并把數(shù)據(jù)塊加入對(duì)應(yīng)的安全取證系統(tǒng)數(shù)據(jù)塊隊(duì)列中,見(jiàn)圖3中④說(shuō)明a。待安全取證系統(tǒng)從隊(duì)列讀取走數(shù)據(jù)后,該數(shù)據(jù)塊重新加入到空閑塊隊(duì)列,見(jiàn)圖3中①。

  (2)Agent數(shù)據(jù)塊隊(duì)列接收到數(shù)據(jù)塊通知信息

  當(dāng)Agent數(shù)據(jù)塊隊(duì)列接收到數(shù)據(jù)塊通知信息時(shí),從隊(duì)列中取出數(shù)據(jù)塊,解析數(shù)據(jù)塊目的地址,如果數(shù)據(jù)塊的目地本機(jī)的安全取證系統(tǒng),則把數(shù)據(jù)塊轉(zhuǎn)入相應(yīng)的安全取證系統(tǒng)數(shù)據(jù)塊隊(duì)列,并向該安全取證系統(tǒng)發(fā)送通知信號(hào);如果數(shù)據(jù)塊目的地址是其他主機(jī),則把數(shù)據(jù)塊信息發(fā)往目的主機(jī)的Agent,發(fā)送成功后,數(shù)據(jù)塊被轉(zhuǎn)入空閑塊隊(duì)列;當(dāng)數(shù)據(jù)塊隊(duì)列沒(méi)有數(shù)據(jù),則進(jìn)入等待狀態(tài),待通知信號(hào)激活。

  安全取證系統(tǒng)運(yùn)行時(shí)首先檢查本地Agent運(yùn)行狀態(tài),并在共享內(nèi)存的管理區(qū)內(nèi)生成安全取證系統(tǒng)信息結(jié)構(gòu),圖2(d),用于維護(hù)安全取證系統(tǒng)數(shù)據(jù)塊隊(duì)列。

  (1)安全取證系統(tǒng)端發(fā)送數(shù)據(jù)

  當(dāng)安全取證系統(tǒng)需要發(fā)送數(shù)據(jù)時(shí),利用共享內(nèi)存中的空閑塊加承載數(shù)據(jù),并將該快從空閑塊隊(duì)列轉(zhuǎn)移到Agent的數(shù)據(jù)塊隊(duì)列中,見(jiàn)圖3中③。Agent獲取信號(hào)后,讀取隊(duì)列中數(shù)據(jù),并解析數(shù)據(jù)包信息,然后根據(jù)目的地址進(jìn)行發(fā)送。如果目的地址是其他主機(jī)的安全取證系統(tǒng),則進(jìn)一步判斷目的主機(jī)對(duì)應(yīng)的Agent狀態(tài),如果正常則發(fā)往目的Agent,否則丟棄并返回相應(yīng)的錯(cuò)誤信息,見(jiàn)圖3中②說(shuō)明a。如果目的地址是本地主機(jī),則把數(shù)據(jù)塊加入對(duì)應(yīng)的安全取證系統(tǒng)數(shù)據(jù)塊隊(duì)列中,見(jiàn)圖3中②說(shuō)明b和④說(shuō)明 b。

圖像 005.png

圖3  Agent與安全取證系統(tǒng)之間的數(shù)據(jù)通信

  (2)安全取證系統(tǒng)讀取數(shù)據(jù)

  當(dāng)安全取證系統(tǒng)數(shù)據(jù)塊隊(duì)接收到通知信號(hào)時(shí),從數(shù)據(jù)塊隊(duì)列取出數(shù)據(jù)塊,讀取數(shù)據(jù),把數(shù)據(jù)塊加入空閑塊隊(duì)列。在數(shù)據(jù)塊隊(duì)列沒(méi)有數(shù)據(jù)時(shí),鎖定等待信號(hào)發(fā)生。

  2.3 相關(guān)問(wèn)題

  死鎖問(wèn)題:算法中存在多個(gè)互斥鎖,而每個(gè)互斥鎖的目的是保持本數(shù)據(jù)塊隊(duì)列的一致性,當(dāng)需要加入數(shù)據(jù)時(shí)由通知信號(hào)解鎖(如果隊(duì)列為空),否則表示隊(duì)列正在操作而等待;數(shù)據(jù)讀取時(shí)如果為空等待,否則鎖定而讀取,由上述算法描述可知數(shù)據(jù)的流動(dòng)不存在循環(huán)流動(dòng),因此不會(huì)產(chǎn)生死鎖。

  并行性:框架中個(gè)隊(duì)列操作為并行運(yùn)行。Agent端需要啟動(dòng)兩個(gè)線程同時(shí)監(jiān)聽(tīng)網(wǎng)絡(luò)數(shù)據(jù)和數(shù)據(jù)塊隊(duì)列。安全取證系統(tǒng)端則需要啟動(dòng)線程讀取數(shù)據(jù)塊隊(duì)列,讀取數(shù)據(jù)塊隊(duì)列和發(fā)送數(shù)據(jù)也是通過(guò)多線程并行執(zhí)行的,這樣可以有效提高協(xié)同框架傳送數(shù)據(jù)報(bào)文的效率。

  算法復(fù)雜度:空間復(fù)雜度方面,就是申請(qǐng)的共享內(nèi)存大小,實(shí)際占用內(nèi)存則由緩存數(shù)據(jù)塊的大小和數(shù)量決定,假設(shè)每個(gè)數(shù)據(jù)塊的大小為m和總塊數(shù)為n,則算法的空間復(fù)雜度為O(m×n);時(shí)間復(fù)雜度方面,在發(fā)送數(shù)據(jù)包時(shí)操作是按照順序執(zhí)行的,與傳輸?shù)臄?shù)據(jù)量有關(guān),假設(shè)傳輸?shù)臄?shù)據(jù)量是q,則算法的時(shí)間復(fù)雜度為O(q)。

  2.4 協(xié)議分析

  協(xié)議采用面向連接的TCP協(xié)議保證消息的可達(dá)性。通信數(shù)據(jù)在確保安全的情況下協(xié)同控制安全防御系統(tǒng),從而保證證據(jù)的法律有效性。

  協(xié)議安全性上需要考慮兩個(gè)方面,其一是主機(jī)內(nèi)安全系統(tǒng)采用共享內(nèi)存的方式與Agent之間的通信,其二是主機(jī)間采用網(wǎng)絡(luò)通信的方式借助Agent的通信。

  安全系統(tǒng)與Agent之間采用共享內(nèi)存命名的方式實(shí)現(xiàn)獲取進(jìn)程間共享內(nèi)存地址。如果攻擊者獲取了共享內(nèi)存的名稱(chēng),則可以獲取對(duì)共享內(nèi)存的控制,但前提條件是攻擊者必須控制主機(jī)并且取得獲取共享內(nèi)存的權(quán)限,因此可以通過(guò)提高主機(jī)的安全性進(jìn)而提升共享內(nèi)存的權(quán)限方式確保共享內(nèi)存的安全。實(shí)際上攻擊者如果完全控制主機(jī),那么取證系統(tǒng)獲取的數(shù)據(jù)也就不再可信。

  對(duì)于主機(jī)間網(wǎng)絡(luò)通信,采用以下策略:

  (1)當(dāng)通信流量小于一定的閾值(根據(jù)網(wǎng)絡(luò)帶寬、主機(jī)性能綜合判斷)時(shí),采用SSL協(xié)議通信,從而保證傳輸數(shù)據(jù)的完整性和真實(shí)性。

  (2)當(dāng)通信流量超過(guò)閾值時(shí),則按照前述通信協(xié)議直接發(fā)送,這樣可以避免數(shù)據(jù)通信帶來(lái)的額外開(kāi)銷(xiāo),攻擊者在高速數(shù)據(jù)流情況下,不大可能采用TCP劫持會(huì)話技術(shù)偽造傳輸數(shù)據(jù),進(jìn)而可以保證數(shù)據(jù)傳輸?shù)陌踩浴?shù)據(jù)完整性方面則采用驗(yàn)證碼的方式進(jìn)行保障,詳見(jiàn)表1。這里并未采用MD5、SHA等散列算法進(jìn)行校驗(yàn),主要目的是避免資源消耗和提高效率。

3 網(wǎng)絡(luò)報(bào)文格式

  取證中心協(xié)同安全取證系統(tǒng)取證時(shí),需要通過(guò)框架建立有效的網(wǎng)絡(luò)通信,為使安全取證系統(tǒng)間無(wú)歧義地協(xié)同控制和通信,須定義統(tǒng)一的網(wǎng)絡(luò)報(bào)文交換格式。這里采用非常有效描述語(yǔ)言是XML[9]格式,IDWG曾利用XML定義了入侵檢測(cè)組件的交換協(xié)議IDMEF[10],這里結(jié)合IDMEF對(duì)入侵檢測(cè)信息描述的思想,定義了網(wǎng)絡(luò)報(bào)文格式,使之可應(yīng)用于多個(gè)安全取證系統(tǒng)之間進(jìn)行網(wǎng)絡(luò)報(bào)文交換。報(bào)文采用UTF-8編碼,各Agent采用統(tǒng)一的DTD保證消息一致性,通過(guò)版本號(hào)來(lái)保持DTD文件的一致性。

  下面是一個(gè)入侵檢測(cè)系統(tǒng)檢測(cè)到關(guān)鍵文件被刪除時(shí)的報(bào)文描述實(shí)例:

  <?xml version="1.0" encoding="UTF-8"?>

  <CFMMQ-Message version="1.0">

  <CreateTime>2015-02-09 11:06:12</CreateTime>

  <Source ID="0x32">

  <Address>172.10.1.10</Address>

  <System>intrusion-detection</System>

  <Alert id="0x0501" type="delete">

  <File>/etc/passwd</File>

  </Alert>

  </Source>

  <Target>

  <System>Forensic_Center</System>

  </Target>

  </CFMMQ-Message>

  其中,消息的源系統(tǒng)編號(hào)ID為0x32,表示入侵檢測(cè)系統(tǒng)的類(lèi)型。該報(bào)文表示入侵檢測(cè)系統(tǒng)檢測(cè)到passwd文件刪除,需要取證通知取證中心并由取證中心協(xié)同相關(guān)安全取證系統(tǒng)取證該事件。

4 實(shí)現(xiàn)

  基于以上設(shè)計(jì),實(shí)現(xiàn)了一個(gè)協(xié)同多個(gè)網(wǎng)絡(luò)安全取證系統(tǒng)的網(wǎng)絡(luò)協(xié)同控制系統(tǒng)。采用設(shè)計(jì)的統(tǒng)一報(bào)文以及協(xié)議算法,該系統(tǒng)協(xié)同網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)Snort,實(shí)現(xiàn)了對(duì)網(wǎng)絡(luò)入侵事件的取證,協(xié)同防火墻軟件實(shí)現(xiàn)了對(duì)主機(jī)防火墻信息的取證,如圖4。

圖像 006.png

圖4  網(wǎng)絡(luò)協(xié)同取證系統(tǒng)實(shí)現(xiàn)

  取證協(xié)同控制中心FC主機(jī)的IP地址為192.168.0.4,兩個(gè)運(yùn)行代理的主機(jī)地址分別是192.168.0.10和192.168.0.8。FC上有取證中心、IDE center和FireWall天網(wǎng)防火墻,兩個(gè)代理主機(jī)上都有主機(jī)取證代理和FireWall天網(wǎng)防火墻,并分別有IDS Snort Sensor或IDE Sensor,在顯示區(qū)列出了一些事件列表。

  取證中心也可以根據(jù)獲得的網(wǎng)絡(luò)安全信息,協(xié)同多個(gè)網(wǎng)絡(luò)安全取證系統(tǒng)同時(shí)進(jìn)行網(wǎng)絡(luò)行為取證,當(dāng)入侵檢測(cè)系統(tǒng)分析到入侵行為時(shí),協(xié)同網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)和防火墻雙重記錄,有利于形成完整的證據(jù)鏈,所設(shè)計(jì)的底層通信算法能夠?qū)崿F(xiàn)各個(gè)網(wǎng)絡(luò)防御系統(tǒng)的有效通信和控制。同時(shí)在千兆網(wǎng)絡(luò)的環(huán)境中協(xié)同框架的瞬時(shí)流量可以承載600 Mb/s,達(dá)到了網(wǎng)絡(luò)協(xié)同控制的網(wǎng)絡(luò)通信的需求。

5 結(jié)束語(yǔ)

  本文提出了一種共享內(nèi)存多隊(duì)列協(xié)同取證方法,設(shè)計(jì)了整個(gè)框架,在該框架中每臺(tái)主機(jī)擁有唯一的代理,代理負(fù)責(zé)安全取證系統(tǒng)之間及與協(xié)同取證中心之間的協(xié)同和通信,該方法通過(guò)取證中心協(xié)同安全取證系統(tǒng)取證。采用共享內(nèi)存的通信方式,設(shè)計(jì)了基于多隊(duì)列及通知信號(hào)機(jī)制的高速數(shù)據(jù)通信算法,提高通信效率。定義了基于XML的網(wǎng)絡(luò)報(bào)文格式,實(shí)現(xiàn)了一個(gè)網(wǎng)絡(luò)系統(tǒng)取證系統(tǒng)。協(xié)同控制框架為安全取證系統(tǒng)提供消息封裝、解析、傳遞等API,使安全取證系統(tǒng)能夠透明地接入該系統(tǒng),而不必了解協(xié)同控制的實(shí)現(xiàn)細(xì)節(jié)。

  參考文獻(xiàn)

  [1] BHONDELE A,RAWAT S,RENUKUNTLA S S B.Network management framework for Network forensic analysis[C].Emerging ICT for Bridging the Future-Proceedings of the 49th Annual Convention of the Computer Society of India CSI Volume 2.Springer International Publishing,2015:397-404.

  [2] JOY D,LI F,F(xiàn)URNELL S M.A user-oriented network forensic analyser:The design of a high-level protocol analyser[C].The 12th Australian Digital Forensics Conference,Western Australia,2014:84-93.

  [3] 張電,高平,潘峰.網(wǎng)絡(luò)協(xié)同取證系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].信息安全與通信保密,2011(11):89-91.

  [4] 張有東,曾慶凱,王建東.網(wǎng)絡(luò)協(xié)同取證計(jì)算研究[J].計(jì)算機(jī)學(xué)報(bào),2010,33(3):504-513.

  [5] 王文奇,苗鳳君,潘磊,等.網(wǎng)絡(luò)取證完整性技術(shù)研究[J].電子學(xué)報(bào),2010,38(11):2529-2534.

  [6] STONEY D A,STONEY P L.Illustration and analysis of a coordinated approach to an effective forensic trace evidence capability[J].Forensic Science International,2015,253(8):14-27.

  [7] AVIRAM A,WENG S C,HU S,et al.Efficient systemenforced deterministic parallelism[J].Communications of the ACM,2012,55(5):111-119.

  [8] Jeffrey Richter.Windows核心編程[M].王建華,譯.北京:機(jī)械工業(yè)出版社,2005.

  [9] FEIERTAN R,KAHN C,PORRAS P,et al.A common intrusion specification language(CISL)[EB/OL].[2015-6-20].http://gost.isi.edu/cidf/drafts/language.txt.

  [10] DEBAR H,TELECOM F.The intrusion detection message exchange format(IDMEF)[EB/OL].[2015-6-20].http://datatracker.ietf.org/doc/rfc4765/.

  

  


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。