賈志淳,辛民棟,李彥諺,韓秋陽(yáng),鄭 行,邢 星
(渤海大學(xué)信息科學(xué)與技術(shù)學(xué)院,遼寧錦州121013)
隨著基于網(wǎng)絡(luò)的計(jì)算機(jī)服務(wù)和應(yīng)用程序在網(wǎng)絡(luò)系統(tǒng)上運(yùn)行的大量增長(zhǎng),對(duì)網(wǎng)絡(luò)系統(tǒng)安全的威脅來(lái)自許多方面,這些威脅伴隨著時(shí)間的推移也在不斷的更新和進(jìn)化.從宏觀角度來(lái)看,這些威脅可以分為人為威脅和自然威脅.自然威脅來(lái)自各種自然災(zāi)害、不利的場(chǎng)地環(huán)境、電磁干擾、網(wǎng)絡(luò)設(shè)備的自然老化等.這些威脅是漫無(wú)目的的,但會(huì)對(duì)網(wǎng)絡(luò)通信系統(tǒng)造成破壞,危害通信安全.然而,人為威脅則是通過(guò)尋找系統(tǒng)的弱點(diǎn),對(duì)網(wǎng)絡(luò)信息系統(tǒng)進(jìn)行有目的性的攻擊.例如,以未經(jīng)授權(quán)的方式破壞、欺騙和竊取數(shù)據(jù)信息.與自然威脅相比,精心設(shè)計(jì)的人工攻擊威脅是很難防止網(wǎng)絡(luò)信息或數(shù)據(jù)的被破壞.如何正確地對(duì)網(wǎng)絡(luò)攻擊進(jìn)行適當(dāng)?shù)姆诸?lèi)已成為一個(gè)關(guān)鍵問(wèn)題.
目前,研究人員[1]和服務(wù)提供商[2]越來(lái)越重視對(duì)攻擊[3]的檢測(cè).文獻(xiàn)[4-25]提出了一些攻擊檢測(cè)的方法,這些方法以異常監(jiān)督的方式得到了廣泛的應(yīng)用.文獻(xiàn)[26,27]使用支持向量機(jī)(SVM)的方式(使用KDD數(shù)據(jù)集[28])檢測(cè)異常.文獻(xiàn)[29,30]建立了基于人工神經(jīng)網(wǎng)絡(luò)的IDS模型,并使用相同的數(shù)據(jù)集檢測(cè)異常.即使這些異常分布不均勻,它們也可以應(yīng)用級(jí)聯(lián)分類(lèi)器來(lái)檢測(cè)和分類(lèi)KDD數(shù)據(jù)集的異常.與此同時(shí),一些學(xué)者對(duì)攻擊的分類(lèi)也很感興趣.但是這些工作[31,32]只關(guān)注使用機(jī)器學(xué)習(xí)模型進(jìn)行異常分類(lèi)的總體精度和準(zhǔn)確性.
此外,一些常用的數(shù)據(jù)集用于檢測(cè)和分類(lèi)攻擊,如KDD、CAIDA[33]、UNSW[34,35]、ISOT[36]、CDX[37]和IS?CX[38].ISOT和CAIDA只考慮一種單一類(lèi)型的攻擊——僵尸網(wǎng)絡(luò)和DDoS攻擊.ISCX和CDX并不像[39]中聲稱(chēng)的那樣,它并非實(shí)際的流量.KDD數(shù)據(jù)集已經(jīng)被廣泛地應(yīng)用于建立異常檢測(cè)與分類(lèi)模型.KDD數(shù)據(jù)集包括四種類(lèi)型的攻擊,它們具有完全不同的流量行為.本文提出了一種基于數(shù)據(jù)的屬性,計(jì)算相似度并且二次過(guò)濾對(duì)網(wǎng)絡(luò)攻擊進(jìn)行分類(lèi)的技術(shù),先將數(shù)據(jù)集分成5個(gè)集群,分別是受到四種攻擊(U2R,R2L,Dos,Backdoor)的集群和未受攻擊的集群,并且提取每個(gè)集群的相關(guān)屬性值,根據(jù)集群的屬性(連接時(shí)長(zhǎng))先進(jìn)行判斷,進(jìn)行排序,過(guò)濾數(shù)據(jù)后,再通過(guò)另一屬性(連接次數(shù))計(jì)算相似度,對(duì)數(shù)據(jù)進(jìn)行二次過(guò)濾,得到最終結(jié)果,判定數(shù)據(jù)是否受到攻擊或者受到哪種攻擊.實(shí)驗(yàn)結(jié)果表明,該方法比文獻(xiàn)[40]方法快速、準(zhǔn)確.
如今,隨著網(wǎng)絡(luò)功能變得越來(lái)越復(fù)雜,網(wǎng)絡(luò)攻擊的類(lèi)型也變得多樣化.在本節(jié)中,首先重新定義和分類(lèi)攻擊的類(lèi)型.然后,對(duì)這些網(wǎng)絡(luò)攻擊的特征和形式進(jìn)行分析.最后,解釋了使用U2R,R2L,Dos和Back?door這四種攻擊進(jìn)行分類(lèi)的原因.
拒絕服務(wù)攻擊(Dos)是目前最常見(jiàn)的一種攻擊類(lèi)型.這種攻擊的終極目標(biāo)是使服務(wù)器拒絕接受用戶(hù)的訪問(wèn)請(qǐng)求,破壞系統(tǒng)內(nèi)部的正常運(yùn)行,以達(dá)到阻斷用戶(hù)網(wǎng)絡(luò)連接的結(jié)果.由于攻擊者不斷地給服務(wù)器發(fā)送請(qǐng)求,服務(wù)器接收和處理數(shù)據(jù)包的能力達(dá)到上限,這個(gè)時(shí)候服務(wù)器將喪失處理數(shù)據(jù)的能力,導(dǎo)致服務(wù)器系統(tǒng)的相關(guān)服務(wù)崩潰,系統(tǒng)資源耗盡.最平常的DOS攻擊是攻擊者給服務(wù)器發(fā)送大量的合理請(qǐng)求,占用服務(wù)器的大量?jī)?nèi)部空間和消耗系統(tǒng)大量資源,導(dǎo)致合法用戶(hù)發(fā)送的請(qǐng)求難以進(jìn)入服務(wù)器,以及服務(wù)器無(wú)法給予用戶(hù)合理響應(yīng),最終,合法用戶(hù)將無(wú)法獲得服務(wù).DOS攻擊的過(guò)程基本如下:攻擊者將給服務(wù)器發(fā)送大量的請(qǐng)求,而這些請(qǐng)求的地址都是假的,將不會(huì)給予服務(wù)器的合理相應(yīng),也就導(dǎo)致服務(wù)器接收到這些請(qǐng)求的時(shí)候,服務(wù)器對(duì)這些地址發(fā)送應(yīng)答,但不會(huì)得到這些地址的響應(yīng),服務(wù)器長(zhǎng)時(shí)間將處于等待的狀態(tài),在服務(wù)器長(zhǎng)時(shí)間得不到響應(yīng)的時(shí)候,將由于連接超時(shí)而斷開(kāi)服務(wù),攻擊者將持續(xù)這種行為,大量占用服務(wù)器空間,導(dǎo)致服務(wù)器系統(tǒng)內(nèi)部占用的資源無(wú)法釋放,最終服務(wù)器系統(tǒng)的相關(guān)服務(wù)崩潰,服務(wù)器也就無(wú)法分配資源接收合法用戶(hù)的請(qǐng)求.這類(lèi)攻擊在現(xiàn)實(shí)生活中是非常常見(jiàn)的,因?yàn)樗恍枰衿渌粢粯樱恍枰@得網(wǎng)絡(luò)訪問(wèn)權(quán)限,也不需要更改合法用戶(hù)的網(wǎng)絡(luò)信息,它只是大量的占用服務(wù)器的內(nèi)部空間,消耗系統(tǒng)或者應(yīng)用程序的相關(guān)服務(wù)的資源,導(dǎo)致合法用戶(hù)的服務(wù)請(qǐng)求無(wú)法得到響應(yīng).
分布式拒絕服務(wù)(DDoS),是一種基于DoS的特殊形式的分布、協(xié)作式的大規(guī)模拒絕服務(wù)攻擊.也就是說(shuō)不再是單一的服務(wù)攻擊多個(gè)計(jì)算機(jī)聯(lián)合起來(lái)作為攻擊平臺(tái),對(duì)一個(gè)或多個(gè)目標(biāo)發(fā)動(dòng)DDoS攻擊.而分布式,就是在傳統(tǒng)的攻擊模式進(jìn)行無(wú)規(guī)律的攻擊.由此可見(jiàn),它的攻擊力度更大,危害性當(dāng)然也更大了.它主要瞄準(zhǔn)比較大的網(wǎng)站,比如商業(yè)公司,搜索引擎和政府部門(mén)的Web站點(diǎn).
蠻力攻擊,如:Backdoor.在經(jīng)典術(shù)語(yǔ)里,后門(mén)被叫做用來(lái)維持持久交互的工具,而后門(mén)攻擊這類(lèi)攻擊類(lèi)型,通常都是攻擊者獲得網(wǎng)絡(luò)訪問(wèn)權(quán)限,入侵應(yīng)用程序的系統(tǒng)使用戶(hù)與它的服務(wù)器連接.蠻力攻擊的基本過(guò)程如下:攻擊者將入侵應(yīng)用程序系統(tǒng),獲取對(duì)系統(tǒng)資源的訪問(wèn)權(quán)限,這樣它將擁有著對(duì)正常用戶(hù)開(kāi)放的系統(tǒng),攻擊者將在應(yīng)用程序的原有基礎(chǔ)上創(chuàng)造一個(gè)后門(mén),使正常用戶(hù)將不需要更改任何有關(guān)于賬號(hào)和密碼的信息,直接按照原來(lái)的程序訪問(wèn)攻擊者創(chuàng)造的后門(mén)服務(wù)器,來(lái)對(duì)用戶(hù)信息進(jìn)行操控,獲取利益.
IP地址欺騙攻擊,如SQL注入攻擊.攻擊者將對(duì)所受信任的主機(jī)進(jìn)行模擬,而這種主機(jī)的IP地址是需要能夠在特定資源的訪問(wèn)位置受到外部信任的的IP地址,攻擊者將口令或者數(shù)據(jù)輸入到客戶(hù)機(jī)或者應(yīng)用程序系統(tǒng)中,將用戶(hù)的連接與自己模擬的數(shù)據(jù)流相連,實(shí)現(xiàn)雙向通信,攻擊者將更改自己所欺騙的IP地址的所有路由表,這種攻擊將可以實(shí)現(xiàn)欺騙防火墻,進(jìn)行遠(yuǎn)程攻擊,這種攻擊的破壞強(qiáng)度大,用戶(hù)如果受到攻擊將很難退出應(yīng)用程序,用戶(hù)的網(wǎng)絡(luò)信息也將被盜取,也是幾類(lèi)攻擊中手段最?lèi)毫?,破解難度比較大的攻擊類(lèi)型之一.
端口掃描攻擊,端口掃描攻擊利用套接字編程和目標(biāo)主機(jī)的一些端口來(lái)建立TCP連接、傳輸協(xié)議驗(yàn)證等.目的是檢測(cè)目標(biāo)主機(jī)掃描端口的活動(dòng)狀態(tài)、主機(jī)提供的服務(wù)、服務(wù)的缺陷等.它們常用的掃描方法是連接掃描和碎片掃描.
在本文中,我們使用KDD數(shù)據(jù)集對(duì)攻擊進(jìn)行分類(lèi).在KDD數(shù)據(jù)集中,有四種類(lèi)型的攻擊:U2R、R2L、Dos和Backdoor.這些類(lèi)型的攻擊是完全不同的網(wǎng)絡(luò)流量和行為.因此,我們使用U2R、R2L、Dos和Backdoor對(duì)攻擊進(jìn)行分類(lèi).
本文提出了一種基于計(jì)算訓(xùn)練數(shù)據(jù)和對(duì)象數(shù)據(jù)之間的相似性來(lái)對(duì)網(wǎng)絡(luò)攻擊進(jìn)行分類(lèi)的方法.將數(shù)據(jù)屬性與網(wǎng)絡(luò)中四種類(lèi)型的攻擊的屬性進(jìn)行比較.根據(jù)獲得的匹配結(jié)果,該方法可以對(duì)這些攻擊進(jìn)行分類(lèi).根據(jù)匹配結(jié)果,該方法可以對(duì)這些攻擊進(jìn)行分類(lèi).
首先,我們對(duì)數(shù)據(jù)集進(jìn)行分類(lèi),并將數(shù)據(jù)集中的數(shù)據(jù)劃分為5個(gè)集群,模型如圖1所示.我們需要提取每個(gè)集群中的每個(gè)對(duì)象的連接時(shí)長(zhǎng)和連接次數(shù),以及這些數(shù)值的平均值.
這個(gè)分類(lèi)模型主要目的是將被測(cè)試的數(shù)據(jù)集中的對(duì)象進(jìn)行分類(lèi),為后續(xù)的分類(lèi)計(jì)算做準(zhǔn)備.
我們將傳入的數(shù)據(jù)集進(jìn)行特征提取(即提取數(shù)據(jù)集中每個(gè)對(duì)象的連接時(shí)長(zhǎng)),將所提取的數(shù)據(jù)帶入我們?cè)O(shè)定的公式(1)-(5)中,進(jìn)行第一級(jí)相似度的計(jì)算,輸出第一級(jí)相似度值(包括U2R,R2L,Dos,Backdoor和Normal)(圖2).
對(duì)第一級(jí)分類(lèi)模型中獲得的數(shù)據(jù)進(jìn)行過(guò)濾,即對(duì)第一級(jí)所得的相似度值進(jìn)行降序排列,選出排名前三的值,進(jìn)入到第二級(jí)相似度計(jì)算,同樣將進(jìn)行特征提?。刺崛?shù)據(jù)集中每個(gè)對(duì)象的連接次數(shù)),將所提取的數(shù)據(jù)帶入設(shè)定的公式(6)中,進(jìn)行第二級(jí)相似度計(jì)算,根據(jù)相似度值,可以最終確定數(shù)據(jù)受到哪種攻擊或?qū)儆谡?shù)據(jù)(圖3).
集群C包括5種小集群,C=()CDos,CBackdoor,CU2R,CR2L,CNormalData,集群C包括N個(gè)對(duì)象,其中N=N1+N2 +...+Ni,CDos,CBackdoor,CU2R,CR2L,CNormalData這5個(gè)小集群分別包括{N1,N2,...,Ni}個(gè)對(duì)象,每個(gè)小集群中每個(gè)對(duì)象連接時(shí)長(zhǎng)為T(mén)i,i=1,2,3,4,5.每個(gè)小集群中對(duì)象的平均連接時(shí)長(zhǎng)為其中y,y是新傳入的數(shù)據(jù)集Y中的任意一個(gè)對(duì)象,y=0,1,...,i,j是集群C中的任意一個(gè)對(duì)象,Cj≤j≤N,而T(Dos,j)便是CDos中的第j個(gè)對(duì)象的連接時(shí)間,M表示數(shù)據(jù)集的屬性,M A,A表示5類(lèi)集群的屬性,A=(1,2,3,4,5).
公式中的符號(hào)意義如下:M表示數(shù)據(jù)集的屬性,C表示的是數(shù)據(jù)集中的總集群,C=表示的是集群C中的5個(gè)集群,A表示5類(lèi)集群的屬性,Y表示為新傳入的數(shù)據(jù)集表示每個(gè)小集群中對(duì)象的平均連接時(shí)長(zhǎng),Sim(Y,C5clusters)是數(shù)據(jù)集和5個(gè)集群之間基于連接時(shí)間的相似度,T表示的是每個(gè)集群中對(duì)象的連接時(shí)長(zhǎng),y表示的是數(shù)據(jù)集Y中的任意對(duì)象,j表示的是集群C中的任意對(duì)象,T(x,j)表示CDos中的第j個(gè)對(duì)象的連接時(shí)間,如T(Dos,j),T(U2R,j)等.第一級(jí)相似度分類(lèi)公式如下:
根據(jù)Sim的數(shù)值,我們可以判斷它是否受到5種主要類(lèi)型的攻擊.我們?yōu)榱吮WC數(shù)據(jù)的精確性,我們的第二級(jí)模型對(duì)數(shù)據(jù)進(jìn)行了二次過(guò)濾.
根據(jù)一級(jí)相似度分類(lèi)模型得到的數(shù)據(jù),我們對(duì)數(shù)據(jù)進(jìn)行降序排序,然后選擇前三個(gè),并使用三個(gè)數(shù)據(jù)的連接次數(shù)進(jìn)行第二級(jí)相似度計(jì)算,并且計(jì)算結(jié)果的最大值是通過(guò)確定數(shù)據(jù)集所屬的集群,對(duì)攻擊進(jìn)行分類(lèi).C3clusters是在第一級(jí)相似度降序排名前三名的3個(gè)集群,其中每個(gè)集群包括Ni個(gè)對(duì)象,其中i=1,2,3,4,5…,i是每個(gè)集群中的對(duì)象的連接次數(shù)表示為Si,i=1,2,3,…,每個(gè)集群中對(duì)象的平均連接次數(shù)為=1,2,3,Yi是集群中任意的對(duì)象,i=1,2,3,…,yj是集群C3clusters中任意的對(duì)象,是子集群中的任意對(duì)象的連接次數(shù),M表示數(shù)據(jù)集的屬性,M≤A,A表示5類(lèi)集群的屬性.
公式中的符號(hào)意義如下:M是數(shù)據(jù)集的屬性,A表示5類(lèi)集群的屬性,C3clusters是在第一級(jí)相似度所得的值進(jìn)行降序排名所得的前三名的集群,Ni是每個(gè)集群中的對(duì)象,C是數(shù)據(jù)集中的集群,Y是新傳入的數(shù)據(jù)集,S是集群中對(duì)象的連接次數(shù),yj是集群Y中的對(duì)象,表示每個(gè)集群中對(duì)象的平均連接次數(shù),是小集群中的任意對(duì)象的連接次數(shù)是數(shù)據(jù)集和3個(gè)集群之間基于連接次數(shù)的相似度.
第二級(jí)相似度分類(lèi)公式如下:
將以上所得的值進(jìn)行比較,根據(jù)結(jié)果的最大值,我們可以確定數(shù)據(jù)是否受到攻擊和受到哪個(gè)類(lèi)型的攻擊,并根據(jù)其屬性對(duì)數(shù)據(jù)進(jìn)行分類(lèi).
為了評(píng)估我們的方法,建立了一個(gè)模擬環(huán)境實(shí)驗(yàn).在實(shí)驗(yàn)中,隨機(jī)選擇數(shù)據(jù)集中的集群,標(biāo)記集群中的點(diǎn),將對(duì)象標(biāo)記為攻擊對(duì)象或不攻擊對(duì)象,并確定群集是否受到攻擊以及攻擊類(lèi)型.使用數(shù)據(jù)集和第一級(jí)模型和第二級(jí)模型的計(jì)算,獲得表3中的數(shù)據(jù)并獲得這四種攻擊的相似系數(shù).將來(lái),可以根據(jù)此數(shù)據(jù)對(duì)屬于U2R、R2L、Dos和Backdoor的攻擊還是屬于Normal Data進(jìn)行分類(lèi),更重要的是判斷該模型的準(zhǔn)確性.
我們分別標(biāo)記正常點(diǎn)和攻擊點(diǎn)并進(jìn)行測(cè)試,方法如下:在實(shí)驗(yàn)結(jié)果的基礎(chǔ)上,我們根據(jù)三個(gè)參數(shù)進(jìn)行分析:計(jì)算分類(lèi)模型的計(jì)算真正類(lèi)率(TPR)和誤報(bào)率(FAR)和召回率(RR),這對(duì)于分類(lèi)模型的性能測(cè)量非常重要.真正類(lèi)率(TPR)是正常數(shù)據(jù)被模型正確分類(lèi)為正確數(shù)據(jù)的百分比(方程式7).FAR是正常數(shù)據(jù)被模型錯(cuò)誤分類(lèi)為異常數(shù)據(jù)的百分比(方程式8).RR與FAR相反,是正常數(shù)據(jù)被模型錯(cuò)誤分類(lèi)為異常數(shù)據(jù)的百分比(方程式9).TTE為總誤差,由(方程式10)給出.這里,TP是正常數(shù)據(jù)被檢測(cè)為正常數(shù)據(jù)的數(shù)量,F(xiàn)P是異常數(shù)據(jù)被檢測(cè)為正常數(shù)據(jù)的數(shù)量,TN是異常數(shù)據(jù)被檢測(cè)為異常數(shù)據(jù)的數(shù)量;FN是正常數(shù)據(jù)被檢測(cè)為異常數(shù)據(jù)的數(shù)量.
單一類(lèi)型的攻擊模型訓(xùn)練僅僅具有正常流量的攻擊數(shù)據(jù).例如,Dos攻擊模型將考慮Dos攻擊和正常流量.表1給出了不考慮其他攻擊的分類(lèi)模型的結(jié)果.我們可以從表2中發(fā)現(xiàn),我們的模型控制了集群遭受的攻擊類(lèi)型的分類(lèi)FAR在1%以?xún)?nèi),RR在13%以?xún)?nèi).它證明我們的實(shí)驗(yàn)方法和模型仍然非??尚?
表1 相似度
表2 分類(lèi)結(jié)果
本文提出了一種基于數(shù)據(jù)的屬性,計(jì)算相似性和二次過(guò)濾的技術(shù),分別是Dos、U2R、R2L、Backdoor和Normal data.提取數(shù)據(jù)中每個(gè)對(duì)象和五個(gè)集群中的每個(gè)對(duì)象的連接持續(xù)時(shí)間和平均持續(xù)時(shí)間,并計(jì)算相似性.并且對(duì)數(shù)據(jù)進(jìn)行二次過(guò)濾,提取第一層所得數(shù)據(jù)中每個(gè)對(duì)象和五個(gè)集群中的每個(gè)對(duì)象的連接次數(shù)和平均連接次數(shù),進(jìn)一步的,保證了結(jié)果的準(zhǔn)確性.
該方法利用相似性對(duì)攻擊進(jìn)行分類(lèi),告別單一檢測(cè)攻擊,并對(duì)攻擊分類(lèi)進(jìn)行深入研究;改進(jìn)了單層分類(lèi)模型,并創(chuàng)新了四類(lèi)攻擊的分類(lèi)方法.擴(kuò)展到不同類(lèi)型攻擊的特征分類(lèi)和分類(lèi)準(zhǔn)確性.選擇在我們的模型中使用KDD數(shù)據(jù)集,因?yàn)樗亲钚虑易钊娴墓_(kāi)數(shù)據(jù)集.實(shí)驗(yàn)結(jié)果表明,相似性分類(lèi)技術(shù)在分類(lèi)檢測(cè)中可以達(dá)到99%的準(zhǔn)確率.我們建立了兩種分類(lèi)技術(shù)模型,傳統(tǒng)的分類(lèi)和我們自己的兩種分類(lèi)算法相比,結(jié)果表明,該方法的性能優(yōu)于傳統(tǒng)方法.然而,由于功能相似性和數(shù)據(jù)不平衡,并沒(méi)有計(jì)算和分類(lèi)相似系數(shù)和對(duì)更多類(lèi)型攻擊的期望.最后,我們強(qiáng)調(diào)需要更多數(shù)據(jù)或功能來(lái)區(qū)分這些攻擊.
渤海大學(xué)學(xué)報(bào)(自然科學(xué)版)2020年2期