宋大華 李喆 劉碧純
摘?要:提出基于MPI堡壘主機(jī)防火墻的可疑IP預(yù)警系統(tǒng).系統(tǒng)防火墻規(guī)則集合劃分為子集形式,各個(gè)子集相互獨(dú)立,動(dòng)態(tài)調(diào)整規(guī)則庫(kù),運(yùn)行并行任務(wù),實(shí)現(xiàn)安全報(bào)警機(jī)制和并行實(shí)現(xiàn)檢測(cè)過(guò)程;能夠快速、準(zhǔn)確的對(duì)可疑IP進(jìn)行跟蹤和預(yù)警,采用針對(duì)網(wǎng)絡(luò)地址轉(zhuǎn)換的內(nèi)部IP地址監(jiān)控,更加有效地填補(bǔ)防火墻對(duì)內(nèi)防范的不足.實(shí)驗(yàn)結(jié)果顯示,并行防御策略具有較大的優(yōu)勢(shì),能夠?qū)崿F(xiàn)優(yōu)化防火墻整體防御性能.
關(guān)鍵詞:MPI;防火墻;堡壘主機(jī);并行計(jì)算
[中圖分類號(hào)]TP393?[文獻(xiàn)標(biāo)志碼]A
Research?on?the?Warning?Method?of?Suspicious?IP?with
MPI?and?Bastion?Host?Firewall
SONG??Dahua1,LI??Zhe2,LIU??Bichun2
(1.Center?of?Educational?Technology?and?Information,Mudanjiang?Medical?University,Mudanjiang?157011,China;2.College?of?Computer?Science?and?Techology,Harbin?University?of?Scienceand?Technology,Harbin?150080,China)
Abstract:The?system?of?a?warning?method?for?suspicious?IP?with?MPI?and?bastion?host?firewall?is?presented.The?firewall?rule?set?of?this?system?is?divided?into?the?form?of?subsets.Each?subset?is?independent?of?each?other.It?dynamically?adjusts?the?rule?database,runs?parallel?tasks?to?realize?the?security?alarm?mechanism,and?parallelly?implements?the?checking?process.It?can?track?and?warn?suspicious?IP?quickly?and?accurately.It?monitors?the?IP?address?of?internal?network?with?NAT.The?method?can?more?effectively?fill?the?firewall?inadequacy?of?inner?prevention.The?experimental?results?show?that?the?parallel?defense?strategy?has?a?great?advantage?and?can?optimize?the?overall?defense?performance?of?firewall.
Key?words:Message?Passing?Interface;firewall;bastion?host;parallel?computing
隨著多核處理器的普及,計(jì)算機(jī)各領(lǐng)域并行化趨勢(shì)越來(lái)越明顯.堡壘主機(jī)防火墻是防火墻中的一種,在守護(hù)進(jìn)程中啟動(dòng)MPI主進(jìn)程,通過(guò)動(dòng)態(tài)鏈接庫(kù)導(dǎo)入防火墻規(guī)則,接收預(yù)警信息,跟蹤可疑IP,調(diào)整防火墻防御策略,監(jiān)測(cè)網(wǎng)絡(luò)攻擊和異常事件,發(fā)送預(yù)警信息.堡壘主機(jī)是計(jì)算機(jī)網(wǎng)絡(luò)中能夠有效抵御攻擊的計(jì)算機(jī)主機(jī)和服務(wù)器等設(shè)備,作為外部網(wǎng)絡(luò)訪問(wèn)內(nèi)部網(wǎng)絡(luò)的一個(gè)有效的監(jiān)控點(diǎn),承擔(dān)著整個(gè)網(wǎng)絡(luò)的安全防御與預(yù)警功能.有效配置和利用防火墻軟件和堡壘主機(jī),可以達(dá)到有效抵御攻擊、安全預(yù)警、保護(hù)網(wǎng)絡(luò)安全等作用.在堡壘主機(jī)防火墻防御攻擊過(guò)程中,堡壘主機(jī)往往承擔(dān)著誘導(dǎo)、吸引黑客等非法入侵者注意力的作用,從而保護(hù)真正目的主機(jī)和服務(wù)器.因此,對(duì)堡壘主機(jī)的維護(hù)和管理非常必要.本文主要敘述并行算法的設(shè)計(jì)和主要數(shù)據(jù)結(jié)構(gòu),介紹可疑IP地址跟蹤的主要方法,利用MPI消息傳遞實(shí)現(xiàn)并行程序設(shè)計(jì),實(shí)現(xiàn)動(dòng)態(tài)調(diào)整規(guī)則庫(kù),實(shí)時(shí)監(jiān)測(cè)網(wǎng)絡(luò).
1?并行算法設(shè)計(jì)
堡壘主機(jī)防火墻利用MPI實(shí)現(xiàn)并行預(yù)警.并行算法使用的主要數(shù)據(jù)結(jié)構(gòu)和函數(shù)過(guò)程定義如下:
(1)IP地址數(shù)據(jù)結(jié)構(gòu)StructIP.IP地址,IP地址版本(IPv4或者IPv6),在數(shù)據(jù)包Packet中處于源地址SourceIP或者目的地址DestinationIP,對(duì)應(yīng)的物理地址Mac.
(2)防火墻規(guī)則Rule數(shù)據(jù)結(jié)構(gòu).防火墻規(guī)則的編號(hào)RuleID,指定的地址(包括源地址SourceIP或者目的地址DestinationIP),端口Socket,協(xié)議Protocol,網(wǎng)絡(luò)接口NIC,服務(wù)規(guī)則ServiceType.
(3)IP地址隊(duì)列QueueIP.IP地址數(shù)據(jù)結(jié)構(gòu)StructIP指針結(jié)點(diǎn),防火墻規(guī)則編號(hào)列表RuleList,匹配規(guī)則頻數(shù)AlertFrequence,下一個(gè)結(jié)點(diǎn)指針NextPoint.
(4)跟蹤的IP隊(duì)列QueueIPTrack.IP地址,對(duì)應(yīng)的物理地址Mac,匹配的防火墻規(guī)則的編號(hào)列表RuleList,下一個(gè)結(jié)點(diǎn)指針NextPoint.
(5)防火墻規(guī)則集合SetRules.數(shù)學(xué)形式SetRules={SubSet_1,SubSet_2,…,SubSet_i,…,SubSet_n}.SubSet_i是防火墻規(guī)則的第i個(gè)子集,每個(gè)子集不能為空,至少包含一條防火墻規(guī)則,每個(gè)子集或者幾個(gè)子集可以被分配到并行系統(tǒng)中的某個(gè)處理機(jī)進(jìn)行處理,實(shí)現(xiàn)并行計(jì)算.
(6)并行模型函數(shù)ParallelModel.主要完成在防守進(jìn)程中實(shí)現(xiàn)并行過(guò)程的調(diào)度過(guò)程,函數(shù)定義:
ParallelModel(ProNum){?//函數(shù)ParallelModel開(kāi)始
Pro_1:MPI_Creat(),
Pro_2:Master(Data,Send,Recv,Task,coreID),
Pro_3:Slave(Data,Send,Recv,Task,coreID),
Pro_4:MPI_Finish()
}?//函數(shù)ParallelModel結(jié)束
ProNum是ParallelModel執(zhí)行參數(shù),代表函數(shù)的入口地址或者函數(shù)指針.
MPI_Creat()是MPI環(huán)境建立的過(guò)程,包括MPI初始化和設(shè)定每個(gè)處理器核心的編號(hào)、初始化通信的函數(shù)等.Master(Data,Send,Recv,Task,coreID)是主進(jìn)程Master實(shí)現(xiàn)的過(guò)程,Data是交換的數(shù)據(jù),Send和Recv是MPI進(jìn)行數(shù)據(jù)傳遞時(shí)使用的MPI標(biāo)準(zhǔn)函數(shù)MPI_Send()和MPI_Recv().Task是函數(shù)入口地址或者函數(shù)指針,對(duì)應(yīng)需要處理的事物、過(guò)程或者指令.coreID代表與Master進(jìn)行通訊的處理器核心編號(hào),MPI系統(tǒng)中Master處理器核心編號(hào)一般初始化為0.
Slave(Data,Send,Recv,Task,coreID)是從進(jìn)程Slave實(shí)現(xiàn)的過(guò)程,Data是從進(jìn)程中交換的數(shù)據(jù),Send和Recv是MPI進(jìn)行數(shù)據(jù)傳遞時(shí)使用的MPI函數(shù),Task對(duì)應(yīng)從進(jìn)程Slave需要處理的事物、過(guò)程或者指令,coreID代表與Slave進(jìn)行通訊的處理器編號(hào).MPI_Finish()是MPI結(jié)束并行計(jì)算模式的過(guò)程,如果是Slave處理器,Slave將不再接收MPI的消息和任務(wù)Task,如果是Master處理器,本次并行計(jì)算過(guò)程結(jié)束,釋放所使用的資源.
(7)Task的函數(shù)列表.主要包括:
Task(Task_ID){
Task_1:執(zhí)行MPI的主進(jìn)程Master對(duì)從進(jìn)程Slave的檢測(cè),
Task_2:執(zhí)行MPI的從進(jìn)程Slave對(duì)主進(jìn)程Master的響應(yīng),
Task_3:執(zhí)行MPI發(fā)送數(shù)據(jù)任務(wù),
Task_4:執(zhí)行MPI接收數(shù)據(jù)任務(wù),
Task_5:執(zhí)行系統(tǒng)過(guò)程,
Task_6:執(zhí)行指令,
Task_i:預(yù)留用戶執(zhí)行指令和過(guò)程,
}
Task_1和Task_2主要實(shí)現(xiàn)在堡壘主機(jī)遭到破壞和意外中斷服務(wù)之后,進(jìn)行系統(tǒng)恢復(fù),在系統(tǒng)啟動(dòng)時(shí),進(jìn)行系統(tǒng)自檢.Task_5主要執(zhí)行系統(tǒng)過(guò)程,系統(tǒng)可以通過(guò)函數(shù)地址獲取需要執(zhí)行的代碼,更加方便并行任務(wù)的切換和執(zhí)行.Task_6代表執(zhí)行指令.Task_i是系統(tǒng)給用戶預(yù)留的執(zhí)行指令和過(guò)程,以滿足用戶擴(kuò)展功能的需求.
建立守護(hù)進(jìn)程ParallelMain,主要包括:
ParallelMain(){
Creat(DaemonPro);
Begin(MPI_Master);
Initialize(Rule);
Creat(QueueIP);
Creat(QueueIPTrack);
}
Creat(DaemonPro)完成守護(hù)進(jìn)程的建立:在操作系統(tǒng)中建立父進(jìn)程FatherPro,在父進(jìn)程中利用fork()創(chuàng)建子進(jìn)程DaemonPro,強(qiáng)制結(jié)束父進(jìn)程FatherPro,將其退出系統(tǒng);在子進(jìn)程DaemonPro中創(chuàng)建新會(huì)話setsid(),DaemonPro繼承當(dāng)前會(huì)話組的管理員,結(jié)束父進(jìn)程FatherPro會(huì)話的控制,結(jié)束父進(jìn)程FatherPro原進(jìn)程組的控制,結(jié)束父進(jìn)程FatherPro受控制終端的控制,改變當(dāng)前目錄為程序數(shù)據(jù)區(qū),為建立動(dòng)態(tài)鏈接庫(kù)實(shí)現(xiàn)防火墻規(guī)則導(dǎo)入進(jìn)行準(zhǔn)備,重新設(shè)定文件權(quán)限掩碼umask(0);打開(kāi)監(jiān)聽(tīng)端口,監(jiān)聽(tīng)當(dāng)前網(wǎng)絡(luò).
Begin(MPI_Master)完成MPI環(huán)境初始化,并測(cè)試并行系統(tǒng)的處理器核心數(shù)量,啟動(dòng)MPI主進(jìn)程.Initialize(Rule)完成初始化防火墻規(guī)則Rule;進(jìn)行防火墻規(guī)則的編號(hào),初始化指定的地址、端口、協(xié)議、NIC、ServiceType的配置,建立防火墻規(guī)則集合SetRules;函數(shù)Creat(QueueIP)完成初始化IP地址隊(duì)列QueueIP;函數(shù)Creat(QueueIPTrack)完成初始化跟蹤的IP隊(duì)列QueueIPTrack.
MPI主進(jìn)程是實(shí)現(xiàn)堡壘主機(jī)防火墻并行預(yù)警的主要模塊.并行算法設(shè)計(jì)過(guò)程:
MPI_Master(){
If(I?am?Master){
ParallelModel(Pro_1);
ParallelModel(Pro_2);
Loop(Task,RegisterIP);
Loop(TrackIP);
If(Command?or?Task)
MasterExecute();
ParallelModel(Pro_4);
}
Else?if(I?am?Slave){
ParallelModel(Pro_3);
Loop(AlertTask);
If(Command?or?Task)
SlaveExecute();
}
Else{
Listen(Network);
}
}
在Master中執(zhí)行的過(guò)程主要有:ParallelModel(Pro_1)是建立MPI環(huán)境,初始化MPI標(biāo)準(zhǔn)庫(kù)等.執(zhí)行ParallelModel(Pro_2),主進(jìn)程Master對(duì)每一個(gè)Slave執(zhí)行測(cè)試,利用Send發(fā)送給從進(jìn)程coreID測(cè)試數(shù)據(jù)Data,執(zhí)行系統(tǒng)過(guò)程Task_1.分配防火墻規(guī)則集合SetRules的子集給從進(jìn)程,執(zhí)行系統(tǒng)過(guò)程Task_3,利用發(fā)送Send傳輸數(shù)據(jù)Data,Data封裝防火墻規(guī)則集合的子集.循環(huán)查詢,接收預(yù)警信息.當(dāng)接收預(yù)警信息成功時(shí),執(zhí)行TrackIP.如果跟蹤的IP隊(duì)列不為空,掃描隊(duì)列執(zhí)行調(diào)整防火墻防御策略.
Loop(Task,RegisterIP)是在Master中執(zhí)行Task指定的過(guò)程和RegisterIP的過(guò)程.RegisterIP是執(zhí)行IP登記的過(guò)程,如果在Slave中的安全預(yù)警模型AlertTask預(yù)警,即Adapt(RuleID_1,RuleID_2,?…,RuleID_n)匹配了防火墻中的規(guī)則,那么,登記IP地址IPAddress和對(duì)應(yīng)的物理地址Mac信息.如果在當(dāng)前的IP地址隊(duì)列QueueIP中沒(méi)有該IPAddress信息,新建IP地址數(shù)據(jù)結(jié)構(gòu)StructIP結(jié)點(diǎn)NewPoint,初始化新結(jié)點(diǎn)的IP地址為IPAddress,初始化新結(jié)點(diǎn)的IP地址版本.在防火墻規(guī)則數(shù)據(jù)結(jié)構(gòu)Rule中提取指定的地址,初始化新結(jié)點(diǎn)的IPAddress對(duì)應(yīng)的物理地址.當(dāng)IPAddress是外網(wǎng)地址時(shí),對(duì)應(yīng)的物理地址設(shè)置為全0,在IP地址隊(duì)列QueueIP的隊(duì)尾添加結(jié)點(diǎn)NewQIP,新結(jié)點(diǎn)NewQIP的IP地址數(shù)據(jù)結(jié)構(gòu)StructIP結(jié)點(diǎn)指針指向NewPoint,添加Adapt(RuleID_1,RuleID_2,…,RuleID_n)中匹配的規(guī)則在防火墻規(guī)則編號(hào)列表RuleList中.新結(jié)點(diǎn)NewQIP的匹配規(guī)則頻數(shù)AlertFrequence為原數(shù)值加上Adapt(RuleID_1,RuleID_2,…,RuleID_n)匹配的規(guī)則總數(shù).
如果在當(dāng)前的IP地址隊(duì)列QueueIP中存在IPAddress地址信息,若IPAddress是內(nèi)部網(wǎng)絡(luò)地址,那么,把不同的物理地址添加在IP地址數(shù)據(jù)結(jié)構(gòu)StructIP結(jié)點(diǎn)的物理地址中,這樣的設(shè)計(jì)使得利用NAT(Network?Address?Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)的防火墻能夠有效防御來(lái)自內(nèi)部網(wǎng)絡(luò)的攻擊行為.
Loop(TrackIP)執(zhí)行對(duì)可疑IP地址的跟蹤:對(duì)IP地址隊(duì)列QueueIP進(jìn)行掃描,當(dāng)檢測(cè)隊(duì)列結(jié)點(diǎn)的匹配規(guī)則頻數(shù)AlertFrequence達(dá)到給定的警戒值時(shí),提取該結(jié)點(diǎn)信息,插入跟蹤的IP隊(duì)列QueueIPTrack中,并初始化IP地址和匹配的防火墻規(guī)則編號(hào)列表RuleList,初始化對(duì)應(yīng)的物理地址,如果該IP地址對(duì)應(yīng)多個(gè)物理地址時(shí),復(fù)制結(jié)點(diǎn)其他信息,分別把對(duì)應(yīng)的多個(gè)物理地址結(jié)點(diǎn)插入跟蹤的IP隊(duì)列中,外部IP地址的物理地址都是0,因此,對(duì)于內(nèi)部的IP地址,使用物理地址進(jìn)行監(jiān)控.
ParallelModel(Pro_4)是主程序結(jié)束MPI過(guò)程,釋放系統(tǒng)資源.
Slave從進(jìn)程中執(zhí)行的具體過(guò)程:ParallelModel(Pro_3),從進(jìn)程Slave完成響應(yīng)測(cè)試,利用Recv接收來(lái)自Master的測(cè)試數(shù)據(jù)Data,執(zhí)行系統(tǒng)過(guò)程Task_2.從進(jìn)程Slave執(zhí)行系統(tǒng)過(guò)程Task_4,利用Recv接收來(lái)自Master的防火墻規(guī)則集合SetRules的子集.Loop(AlertTask)是循環(huán)執(zhí)行安全預(yù)警模型AlertTask,安全預(yù)警模包括登記可疑IP地址和對(duì)應(yīng)的物理地址,以及與防火墻的規(guī)則匹配Adapt(RuleID_1,RuleID_2,…,RuleID_n)的規(guī)則.如果Slave接收到重置Slave,那么,Slave結(jié)束當(dāng)前任務(wù)Task,重新接收來(lái)自Master的防火墻規(guī)則集合SetRules的子集,循環(huán)執(zhí)行系統(tǒng)過(guò)程AlertTask,并執(zhí)行系統(tǒng)過(guò)程和指令.
Listen(Network)代表監(jiān)聽(tīng)來(lái)自網(wǎng)絡(luò)的連接服務(wù)等事件,實(shí)現(xiàn)防火墻的服務(wù).
2?可疑IP地址跟蹤
基于MPI堡壘主機(jī)防火墻的預(yù)警方法,使得堡壘主機(jī)和防火墻結(jié)合更加緊密,實(shí)現(xiàn)更加安全、快速的安全預(yù)警機(jī)制,有效抵御黑客等非法入侵者的攻擊,達(dá)到網(wǎng)絡(luò)安全的目的.
由于很多網(wǎng)絡(luò)內(nèi)部使用了NAT(Network?Address?Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換),這為防火墻防御內(nèi)部網(wǎng)絡(luò)的攻擊帶來(lái)很大麻煩.1994年,提出的網(wǎng)絡(luò)地址轉(zhuǎn)換主要是為了解決IP地址的枯竭.使用對(duì)外的網(wǎng)絡(luò)地址轉(zhuǎn)換的網(wǎng)絡(luò),其防火墻對(duì)內(nèi)部網(wǎng)絡(luò)的防御存在弱點(diǎn),當(dāng)黑客等非法用戶竊取內(nèi)部網(wǎng)絡(luò)用戶的賬號(hào)后,利用內(nèi)部網(wǎng)絡(luò)主機(jī)的“肉雞”進(jìn)行網(wǎng)絡(luò)攻擊,會(huì)使防火墻失效.
本算法實(shí)現(xiàn)了IP地址跟蹤:首先建立守護(hù)進(jìn)程,啟動(dòng)MPI主進(jìn)程,導(dǎo)入防火墻規(guī)則Rule到動(dòng)態(tài)鏈接庫(kù)中,動(dòng)態(tài)鏈接庫(kù)進(jìn)行修改后不需要重新編譯調(diào)用的主函數(shù),因此,修改防火墻規(guī)則不會(huì)影響防火墻的運(yùn)行.建立防火墻規(guī)則集合SetRules和劃分子集,初始化QueueIP隊(duì)列和QueueIPTrack隊(duì)列.
在防火墻主進(jìn)程中,對(duì)每一個(gè)Slave進(jìn)行測(cè)試,分配防火墻規(guī)則子集給從進(jìn)程.與此同時(shí),從進(jìn)程Slave完成響應(yīng)測(cè)試,接收防火墻規(guī)則子集.從進(jìn)程循環(huán)執(zhí)行系統(tǒng)過(guò)程AlertTask.假設(shè)Slave檢測(cè)到來(lái)自內(nèi)網(wǎng)的IP地址192.168.1.100的物理地址是00-18-EE-AE-3C-70的主機(jī),嘗試匿名連接FTP端口21,這一行為與防火墻規(guī)則Rule_1匹配成功.AlertTask啟動(dòng)預(yù)警:Slave封裝IP地址192.168.1.100,物理地址00-18-EE-AE-3C-70,以及Adapt(Rule_1)立即進(jìn)行發(fā)送預(yù)警信息給主進(jìn)程.
與此同時(shí),在Master主進(jìn)程中Loop(Task,RegisterIP)接收到Slave發(fā)來(lái)的預(yù)警信息,Master主進(jìn)程啟動(dòng)登記IP過(guò)程,發(fā)送給從進(jìn)程coreID_rip執(zhí)行RegisterIP登記該IP地址信息在IP地址隊(duì)列QueueIP中,初始化StructIP和RuleList添加規(guī)則,匹配規(guī)則頻數(shù)AlertFrequence的值增加1,新結(jié)點(diǎn)插入隊(duì)尾.在Master主進(jìn)程執(zhí)行Loop(TrackIP),對(duì)IP地址隊(duì)列QueueIP進(jìn)行掃描,沒(méi)有發(fā)現(xiàn)可疑IP.
假設(shè)另外一個(gè)從進(jìn)程Slave_other檢測(cè)到來(lái)自內(nèi)網(wǎng)的IP地址192.168.1.100的物理地址是00-18-EE-AE-3C-70的主機(jī),嘗試匿名連接服務(wù)器W端口123,這一行為與防火墻規(guī)則Rule_10匹配成功,于是從進(jìn)程Slave_other向Master主進(jìn)程發(fā)送預(yù)警信息.與此同時(shí),在Master主進(jìn)程成功接收到從進(jìn)程Slave_other發(fā)來(lái)的預(yù)警信息,Master主進(jìn)程發(fā)送給從進(jìn)程coreID_rip執(zhí)行RegisterIP登記該IP地址信息在IP地址隊(duì)列中,由于在IP地址隊(duì)列中已經(jīng)存在該IP地址,在隊(duì)列結(jié)點(diǎn)的RuleList添加Rule_10,匹配規(guī)則頻數(shù)AlertFrequence的值增加1,AlertFrequence沒(méi)有超過(guò)警戒值.在Master主進(jìn)程執(zhí)行系統(tǒng)過(guò)程TrackIP,沒(méi)有發(fā)現(xiàn)可疑IP.
Slave再次檢測(cè)到來(lái)自內(nèi)網(wǎng)的該IP地址的主機(jī),嘗試匿名連接FTP端口2121,這一行為與防火墻規(guī)則Rule_1再次匹配成功,于是從進(jìn)程Slave向Master主進(jìn)程發(fā)送預(yù)警信息.與此同時(shí),在Master主進(jìn)程再次成功接收到從進(jìn)程Slave發(fā)來(lái)的預(yù)警信息,Master主進(jìn)程執(zhí)行RegisterIP登記該IP地址信息在IP地址隊(duì)列中,由于在QueueIP中已經(jīng)存在該IP地址,匹配規(guī)則頻數(shù)AlertFrequence的值增加1,AlertFrequence的值達(dá)到警戒值.
在Master主進(jìn)程執(zhí)行系統(tǒng)過(guò)程TrackIP,對(duì)IP地址隊(duì)列QueueIP進(jìn)行掃描,當(dāng)檢測(cè)隊(duì)列結(jié)點(diǎn)的匹配規(guī)則頻數(shù)AlertFrequence達(dá)到警戒值時(shí),提取該結(jié)點(diǎn)信息,插入跟蹤的IP隊(duì)列QueueIPTrack中,并初始化插入結(jié)點(diǎn)的IP地址和匹配的防火墻規(guī)則編號(hào)列表RuleList,以及對(duì)應(yīng)物理地址00-18-EE-AE-3C-70,結(jié)點(diǎn)插入跟蹤的IP隊(duì)列中.當(dāng)Master主進(jìn)程掃描跟蹤的IP隊(duì)列QueueIPTrack不為空,執(zhí)行調(diào)整防火墻防御策略過(guò)程.本算法的優(yōu)點(diǎn):避免了多進(jìn)程服務(wù)的臨界區(qū)訪問(wèn)問(wèn)題,由于Slave執(zhí)行防火墻規(guī)則集的子集檢測(cè),避免了防火墻主機(jī)的瓶頸問(wèn)題,使得檢測(cè)更加迅速,反饋更加及時(shí),增加防護(hù)的報(bào)警速度.
由于NAT所使用的IP地址在防火墻中不易處理,因此,在本算法中使用物理地址標(biāo)記內(nèi)部網(wǎng)絡(luò),當(dāng)內(nèi)網(wǎng)使用DHCP(Dynamic?Host?Configuration?Protocol,動(dòng)態(tài)主機(jī)配置協(xié)議)協(xié)議,該物理地址的主機(jī)更換新的IP地址,但是,其物理地址是不改變的,本系統(tǒng)也可以實(shí)現(xiàn)對(duì)內(nèi)部可疑IP地址進(jìn)行有效監(jiān)控,從而有效避免內(nèi)部網(wǎng)絡(luò)主機(jī)的非法行為和黑客等非法用戶利用內(nèi)部主機(jī)進(jìn)行攻擊的行為.
防火墻的主要防御重點(diǎn)是對(duì)外部網(wǎng)絡(luò)的攻擊進(jìn)行識(shí)別.假設(shè)Slave檢測(cè)到來(lái)自外網(wǎng)的IP地址63.182.1.47的主機(jī),嘗試匿名訪問(wèn)內(nèi)網(wǎng)服務(wù)器F,并掃描端口65、端口82和端口83,這一行為與防火墻規(guī)則Rule_3,Rule_12和Rule_27匹配成功Adapt(Rule_3,Rule_12,Rule_27),于是從進(jìn)程Slave向Master主進(jìn)程發(fā)送預(yù)警信息.Master主進(jìn)程成功接收到從進(jìn)程Slave發(fā)來(lái)的預(yù)警信息后,Master主進(jìn)程發(fā)送給從進(jìn)程coreID_rip,執(zhí)行RegisterIP登記該IP地址信息在IP地址隊(duì)列QueueIP中.假設(shè)該IP已經(jīng)在QueueIP中,結(jié)點(diǎn)添加匹配的規(guī)則Rule_3,Rule_12和Rule_27在RuleList中,匹配規(guī)則頻數(shù)AlertFrequence的值增加3.
在Master主進(jìn)程執(zhí)行系統(tǒng)過(guò)程TrackIP,對(duì)IP地址隊(duì)列QueueIP進(jìn)行掃描,當(dāng)檢測(cè)隊(duì)列結(jié)點(diǎn)的IP地址63.182.1.47的匹配規(guī)則頻數(shù)AlertFrequence大于等于警戒值時(shí),提取該結(jié)點(diǎn)信息,插入跟蹤的IP隊(duì)列QueueIPTrack中,并初始化插入結(jié)點(diǎn)的IP地址和匹配的防火墻規(guī)則編號(hào)列表,因?yàn)樵揑P地址對(duì)應(yīng)一個(gè)物理地址00-00-00-00-00-00是外部IP地址.當(dāng)Master主進(jìn)程檢測(cè)跟蹤的IP隊(duì)列不為空,執(zhí)行手動(dòng)增加防火墻規(guī)則或者調(diào)整防火墻防御策略,增加對(duì)內(nèi)網(wǎng)服務(wù)器F的安全保護(hù).本算法使用從進(jìn)程Slave作為堡壘主機(jī)應(yīng)對(duì)外部的攻擊,每一個(gè)堡壘主機(jī)的檢測(cè)更加迅速,系統(tǒng)通過(guò)有效報(bào)警機(jī)制重點(diǎn)過(guò)濾IP地址和攻擊行為的過(guò)程,能夠?yàn)榫W(wǎng)絡(luò)提供更加安全的整體防御性能.
3?算法性能分析
本算法的測(cè)試是在Linux?Fedora?v19,MPIch?v1.3.3,防火墻規(guī)則集合SetRules包含172條規(guī)則,虛擬機(jī)Vmware?v8.0.實(shí)驗(yàn)進(jìn)行了3組測(cè)試,測(cè)試攻擊總數(shù)40次,每組的測(cè)試重復(fù)進(jìn)行10次,提取的它們的平均值,測(cè)試結(jié)果見(jiàn)表1.
從表1中可以看出,隨著防火墻規(guī)則集合SetRules的劃分的子集和Slave的數(shù)量增加,平均的預(yù)警時(shí)間逐漸減少.
本算法的主要特點(diǎn):一是防火墻規(guī)則通過(guò)動(dòng)態(tài)鏈接庫(kù)導(dǎo)入,不影響防火墻的運(yùn)行.防火墻規(guī)則集合劃分為子集形式,各個(gè)子集相互獨(dú)立,能夠動(dòng)態(tài)調(diào)整規(guī)則庫(kù),實(shí)時(shí)監(jiān)測(cè)網(wǎng)絡(luò),運(yùn)行并行任務(wù),實(shí)現(xiàn)安全報(bào)警機(jī)制.二是并行實(shí)現(xiàn)檢測(cè)過(guò)程,能夠快速、準(zhǔn)確的對(duì)可疑的IP進(jìn)行跟蹤和預(yù)警,防范黑客等非法用戶的入侵和破壞;系統(tǒng)考慮了內(nèi)部IP網(wǎng)絡(luò)地址轉(zhuǎn)換對(duì)防火墻的影響,特別是當(dāng)黑客等非法用戶攻陷內(nèi)部計(jì)算機(jī),把該機(jī)變?yōu)椤叭怆u”后所進(jìn)行的防火墻穿透,因此,本系統(tǒng)采用了針對(duì)網(wǎng)絡(luò)地址轉(zhuǎn)換所進(jìn)行的內(nèi)部IP地址監(jiān)控,更加有效地填補(bǔ)了防火墻軟件對(duì)內(nèi)防范的不足.三是調(diào)整防火墻防御策略,優(yōu)化了防火墻整體防御性能.通過(guò)對(duì)跟蹤IP隊(duì)列的分析,優(yōu)化和調(diào)整防火墻防御策略,針對(duì)重點(diǎn)監(jiān)控和多次攻擊系統(tǒng)的IP地址進(jìn)行有效預(yù)警,系統(tǒng)通過(guò)有效報(bào)警機(jī)制重點(diǎn)過(guò)濾IP地址和攻擊行為的過(guò)程,能夠?yàn)榫W(wǎng)絡(luò)提供更加安全的整體防御性能.
4?結(jié)論
隨著多核技術(shù)的普及,防火墻并行化成為防火墻技術(shù)發(fā)展的主要趨勢(shì).本文著重實(shí)現(xiàn)堡壘主機(jī)防火墻的并行化,把堡壘主機(jī)分散到多處理核心中進(jìn)行分布式、并行化防御,增加對(duì)可疑IP和異常事件的預(yù)警,并利用MPI消息傳遞實(shí)現(xiàn)并行程序設(shè)計(jì),實(shí)現(xiàn)了動(dòng)態(tài)調(diào)整規(guī)則庫(kù),實(shí)時(shí)監(jiān)測(cè)網(wǎng)絡(luò),提高了系統(tǒng)的安全的整體防御性能.
參考文獻(xiàn)
[1]Jiahui?Liu,F(xiàn)angzhou?Li?and?Guanglu?Sun.A?Parallel?Algorithm?of?Multiple?String?Matching?Based?on?Set-Partition?in?Multi-core?Architecture[J].International?Journal?of?Security?and?Its?Applications,2016(10):267-278.
[2]莊健平.一種網(wǎng)絡(luò)驅(qū)動(dòng)接口及服務(wù)提供的防火墻[J].牡丹江師范學(xué)院學(xué)報(bào):自然科學(xué)版,2009(2):5-7.
[3]邢軍.基于IPv6的網(wǎng)絡(luò)安全分析[J].牡丹江師范學(xué)院學(xué)報(bào):自然科學(xué)版,2010(1):6-8.
編輯:琳莉
收稿日期:2019-09-15
基金項(xiàng)目:黑龍江省自然科學(xué)基金項(xiàng)目(F201304);黑龍江省省屬高等學(xué)?;究蒲袠I(yè)務(wù)費(fèi)科研項(xiàng)目(2018-KYYWFMY-0093)
作者簡(jiǎn)介:宋大華(1973-),女,黑龍江木蘭人.?副教授,學(xué)士,主要從事信息安全研究;李喆(1996-)男,黑龍江哈爾濱人.研究生,主要從事計(jì)算機(jī)應(yīng)用研究;劉碧純(1996-)男,黑龍江雞西人.研究生,主要從事并行計(jì)算研究.
牡丹江師范學(xué)院學(xué)報(bào)(自然科學(xué)版)2020年2期