999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Python的機(jī)器學(xué)習(xí)入侵檢測(cè)的研究

2019-08-07 06:01:14龍華秋
關(guān)鍵詞:檢測(cè)模型

◆孟 平 龍華秋

(五邑大學(xué)智能制造學(xué)部 廣東 529020)

如今互聯(lián)網(wǎng)的發(fā)展速度和規(guī)模的擴(kuò)張十分迅猛,IT技術(shù)、硬件產(chǎn)品和軟件產(chǎn)品的迭代更新非常迅速。互聯(lián)網(wǎng)+的時(shí)代,如此迅速的發(fā)展給我們的生活帶來(lái)了巨大的便利,同時(shí)也帶來(lái)了眾多的安全隱患。在大多數(shù)人眼中,互聯(lián)網(wǎng)上的安全問(wèn)題,大多都是數(shù)據(jù)泄露,以及其他相關(guān)問(wèn)題,這些問(wèn)題影響的大多都是企業(yè),造成的損失也基本是經(jīng)濟(jì)上的損失。然而近年來(lái)發(fā)生的多起工業(yè)控制系統(tǒng)相關(guān)的安全問(wèn)題,充分證明了攻擊者完全可以通過(guò)互聯(lián)網(wǎng)威脅到人們的現(xiàn)實(shí)生活,比如近期國(guó)外發(fā)生的工控系統(tǒng)入侵事件導(dǎo)致的他國(guó)全國(guó)范圍大部分地區(qū)停電的事件。當(dāng)下互聯(lián)網(wǎng)的安全問(wèn)題,已經(jīng)被國(guó)家高中重視,網(wǎng)絡(luò)安全事關(guān)國(guó)家安全。

利用機(jī)器學(xué)習(xí)中的監(jiān)督學(xué)習(xí)相關(guān)算法訓(xùn)練好的模型,在實(shí)際中應(yīng)用時(shí),可以快速對(duì)一個(gè)新提取的樣本做判斷,判斷其是否惡意。比以往通過(guò)特征碼等其他判斷方式,少了查詢“特征碼集合”和比對(duì)的操作,其判斷速度上要遠(yuǎn)快于傳統(tǒng)方式。良好的訓(xùn)練集和合適的算法及相應(yīng)的參數(shù),可使訓(xùn)練出來(lái)的模型具有很好的泛化性能。

1 系統(tǒng)設(shè)計(jì)

計(jì)算機(jī)網(wǎng)絡(luò)具有多層協(xié)議,在其七層模型(物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層、應(yīng)用層)中,物理層和數(shù)據(jù)鏈路層太過(guò)底層,會(huì)話層、表示層和應(yīng)用層涉及的協(xié)議眾多不適合作為用于進(jìn)行判斷其是否惡意的基礎(chǔ)。在網(wǎng)絡(luò)層上可以開(kāi)始不考慮具體的數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn),而傳輸層TCP和UDP協(xié)議是上層協(xié)議的基礎(chǔ)且僅為實(shí)現(xiàn)連續(xù)和離散的傳輸方式。因此在本次研究中,判斷流量是否惡意便是基于網(wǎng)絡(luò)層和傳輸層的數(shù)據(jù)報(bào)文。

在整個(gè)機(jī)器學(xué)習(xí)入侵檢測(cè)中,我們需要有“流量探針”為我們捕獲流量,而捕獲的數(shù)據(jù)報(bào)文要經(jīng)過(guò)“特征提取”,提取的特征會(huì)組成一個(gè)“樣本”,樣本將會(huì)是我們直接用于訓(xùn)練模型和模型判斷的目標(biāo)。在本次研究中,由于服務(wù)器性能等問(wèn)題,為了方便,我們直接使用KDD 99 比賽中提供的五百萬(wàn)現(xiàn)成的樣本,作為訓(xùn)練模型和模型評(píng)估的數(shù)據(jù)集合。在整個(gè)系統(tǒng)中將分為三個(gè)部分:模型訓(xùn)練、樣本采集和模型判斷。

圖1為系統(tǒng)流程圖。

2 具體實(shí)現(xiàn)

如流程圖中所示,整個(gè)系統(tǒng)中有三個(gè)部分相對(duì)獨(dú)立:模型訓(xùn)練、檢測(cè)判斷、樣本采集。本系統(tǒng)涉及機(jī)器學(xué)習(xí)的內(nèi)容,要保證模型訓(xùn)練、樣本采集和檢測(cè)判斷的部分的最終樣本的維度特征的一致性,才能保證模型的使用。因本課題中,對(duì)樣本的判斷可以看作是分類,即是否具有攻擊性和可能的攻擊類別,因此在機(jī)器學(xué)習(xí)模型算法的選擇上,我們將選擇分類器相關(guān)的算法。

圖1 系統(tǒng)流程圖

以下將對(duì)模型訓(xùn)練階段的內(nèi)容進(jìn)行講解:

2.1 機(jī)器學(xué)習(xí)算法—邏輯斯諦回歸

在本次研究課題中,我們采用的是機(jī)器學(xué)習(xí)中監(jiān)督學(xué)習(xí)的邏輯斯諦回歸算法(Logistic Regression)。需要注意的是,邏輯斯諦回歸算法并不是回歸模型相關(guān)的算法,而是用于分類的分類器算法。

2.1.1 算法原理

邏輯斯蒂回歸(Logistic Regression),是一種分類算法,其算法原理如下:

不同類的x對(duì)應(yīng)z的值為0或者1,單位階躍函數(shù)由于函數(shù)性質(zhì)不可導(dǎo)不連續(xù),所以引入sigmoid函數(shù):

圖2函數(shù)圖

所以令:

得到:

化成對(duì)數(shù)形式:

y/(1-y) 代表了樣本作為正例的可能性,1-y是反例。

所以y=概率p(y=1|x)

1-y=概率p(y=0|x)

所以上式又可化為:

解得:

將這2個(gè)等式化成一個(gè)等式:

對(duì)上式連乘,然后取對(duì)數(shù),進(jìn)行極大似然估計(jì):

最大化上式相等于最小化:

這是一個(gè)凸函數(shù),可以使用梯度下降或者牛頓迭代(割線法)來(lái)求最優(yōu)解。

梯度下降的迭代式為:

因?yàn)橐龈叩姆较颍允?號(hào),代表梯度的正方向。

2.1.2 邏輯斯蒂回歸——多分類擴(kuò)展

邏輯斯蒂回歸是二分類器,本系統(tǒng)是多分類器,所以采用OVR的方式將二分類器的方式擴(kuò)展到多分類器,OVR訓(xùn)練多個(gè)分類器,每一個(gè)分類器將某一類別的視為正樣本,其他視為負(fù)樣本,訓(xùn)練出n個(gè)后,然后輸出每個(gè)樣本對(duì)應(yīng)每個(gè)類別的概率,取最大的概率作為最終的輸出結(jié)果。

2.2 特征工程

為了方便,我們?cè)谀P陀?xùn)練階段直接使用了KDD 99比賽的數(shù)據(jù)集,以縮減前期數(shù)據(jù)采集的時(shí)間。該數(shù)據(jù)集采集自美國(guó)軍方網(wǎng)絡(luò),其樣本的特征基于計(jì)算機(jī)網(wǎng)絡(luò)的網(wǎng)絡(luò)層和傳輸層的,但在其提供的特征上做了適當(dāng)?shù)倪x擇和特征的向量化,使其更加適用于本課題的研究。

具體特征內(nèi)容如下:

(1)duration:TCP以3次握手建立到FIN/ACK連接結(jié)束為止的時(shí)間;

(2)protocol type:協(xié)議類型;

(3)Service:網(wǎng)絡(luò)服務(wù)類型;

(4)flag:連接正常或錯(cuò)誤;

(5)src_bytes:源主機(jī)到目標(biāo)主機(jī)數(shù)據(jù)字節(jié)數(shù);

(6)dst_bytes:目標(biāo)主機(jī)到源主機(jī)數(shù)據(jù)字節(jié)數(shù);

(7)land:若連接來(lái)自或送達(dá)同一個(gè)主機(jī)則為1,否則為0;

(8)wrong_fragment:錯(cuò)誤分段數(shù)量;

(9)urgent:加急包個(gè)數(shù);

(10)count:與當(dāng)前連接具有相同的目標(biāo)主機(jī)的連接數(shù);

(11)srv_count:與當(dāng)前連接具有相同服務(wù)的連接數(shù);

(12)serror_rate:在與當(dāng)前連接具有相同目標(biāo)主機(jī)的連接中,出現(xiàn)“SYN”錯(cuò)誤的連接的百分比;

(13)srv_serror_rate:在與當(dāng)前連接具有相同服務(wù)的連接中,出現(xiàn)“SYN”錯(cuò)誤的連接的百分比;

(14)rerror_rate:在與當(dāng)前連接具有相同目標(biāo)主機(jī)的連接中,出現(xiàn)“REJ”錯(cuò)誤的連接的百分比;

(15)srv_rerror_rate:在與當(dāng)前連接具有相同服務(wù)的連接中,出現(xiàn)“REJ”錯(cuò)誤的連接的百分比;

(16)same_srv_rate:在與當(dāng)前連接具有相同目標(biāo)主機(jī)的連接中,與當(dāng)前連接具有相同服務(wù)的連接的百分比;

(17)diff_srv_rate:在與當(dāng)前連接具有相同目標(biāo)主機(jī)的連接中,與當(dāng)前連接具有不同服務(wù)的連接的百分比;

(18)srv_diff_host_rate:在與當(dāng)前連接具有相同服務(wù)的連接中,與當(dāng)前連接具有不同目標(biāo)主機(jī)的連接的百分比;

(19)dst_host_count:與當(dāng)前連接具有相同目標(biāo)主機(jī)的連接數(shù);

(20)dst_host_srv_count:與當(dāng)前連接具有相同目標(biāo)主機(jī)相同服務(wù)的連接數(shù);

(21)dst_host_same_srv_rate:與當(dāng)前連接具有相同目標(biāo)主機(jī)相同服務(wù)的連接所占的百分比;

(22)dst_host_diff_srv_rate:與當(dāng)前連接具有相同目標(biāo)主機(jī)不同服務(wù)的連接所占的百分比;

(23)dst_host_same_src_port_rate:與當(dāng)前連接具有相同目標(biāo)主機(jī)相同源端口的連接所占的百分比;

(24)dst_host_srv_diff_host_rate:與當(dāng)前連接具有相同目標(biāo)主機(jī)相同服務(wù)的連接中,與當(dāng)前連接具有不同源主機(jī)的連接所占的百分比;

(25)dst_host_serror_rate:與當(dāng)前連接具有相同目標(biāo)主機(jī)的連接中,出現(xiàn)SYN錯(cuò)誤的連接所占的百分比;

(26)dst_host_srv_serror_rate:與當(dāng)前連接具有相同目標(biāo)主機(jī)相同服務(wù)的連接中,出現(xiàn)SYN錯(cuò)誤的連接所占的百分比;

(27)dst_host_rerror_rate:與當(dāng)前連接具有相同目標(biāo)主機(jī)的連接中,出現(xiàn)REJ錯(cuò)誤的連接所占的百分比;

(28)dst_host_srv_rerror_rate:與當(dāng)前連接具有相同目標(biāo)主機(jī)相同服務(wù)的連接中,出現(xiàn)REJ錯(cuò)誤的連接所占的百分比。

2.3 模型訓(xùn)練代碼

def ReadData(path):

data=open(path).readlines()

data=np.array([i.split(',') for i in data])

data[:, -1]= [i.replace(' ', '').replace('.', '') for i in data[:, -1]]

data_r=np.zeros(shape=data.shape)

data_r[:,0]=[float(i) for i in data[:,0]]

for i in range(4,40):

data_r[:, i]= [float(j) for j in data[:, i]]

protocol_type={k:i for i,k in enumerate(set(data[:,1]))}

service={k:i for i,k in enumerate(set(data[:,2]))}

flag={k:i for i,k in enumerate(set(data[:,3]))}

label={k:i for i,k in enumerate(set(data[:,-1]))}

print(protocol_type)

print(service)

print(flag)

print(label)

data_r[:, 1]= [protocol_type[j]for j in data[:, 1]]

data_r[:, 2]= [service[j]for j in data[:, 2]]

data_r[:, 3]= [flag[j]for j in data[:, 3]]

data_r[:, -1]= [label[j]for j in data[:, -1]]

data_r=np.c_[data_r[:,0:9],data_r[:,22:42]]

weight={}

for j in range(len(label)):

weight[j]=len(data)-len([i for i in data_r if i[-1]==j])

return data_r,weight

def Classify(feature,weight):

lr=LogisticRegression()

X_train, X_test, y_train, y_test = train_test_split(feature[:,:-1],feature[:,-1], test_size = 0.3, random_state = 42)

w=[weight[i]for i in y_train]

d = [weight[i]for i in y_test]

lr.fit(X_train,y_train,sample_weight=w)

print(str(lr.score(X_test,y_test,sample_weight=d)))

joblib.dump(lr, 'kdd99lr')

def train():

feature,weight=ReadData(r'kddcup.data.corrected')

Classify(feature,weight)

train()

3 功能測(cè)試

3.1 數(shù)據(jù)采集功能(見(jiàn)圖3)

圖3 數(shù)據(jù)采集功能

其中DONE表明該表明該樣本已經(jīng)過(guò)模型檢測(cè)判斷等處理。

3.2 模型檢測(cè)

圖4內(nèi)容為已訓(xùn)練好的模型對(duì)樣本采集器中樣本的檢測(cè)結(jié)果。

圖4 檢測(cè)結(jié)果

3.3 模型性能評(píng)估(見(jiàn)表1)

表1 模型性能評(píng)估表

phf 0.00 0.00 0.00 1 ipsweep 0.98 0.20 0.33 3709 smurf 1.00 1.00 1.00 842033 pod 0.00 0.00 0.00 72 rootkit 0.00 0.00 0.00 3 neptune 0.99 1.00 0.99 321807 warezmaster 0.00 0.00 0.00 5 multihop 0.00 0.00 0.00 1 nmap 0.88 0.09 0.17 733 teardrop 1.00 0.99 0.99 279 back 0.00 0.00 0.00 664 spy 0.00 0.00 0.00 1 ftp_write 0.00 0.00 0.00 4 loadmodule 0.00 0.00 0.00 3 land 0.50 0.20 0.29 10 buffer_overflow 0.00 0.00 0.00 10 warezclient 0.00 0.00 0.00 303 guess_passwd 0.00 0.00 0.00 13 portsweep 0.25 0.00 0.00 3079 Imap 0.00 0.00 0.00 1 perl 0.00 0.00 0.00 1 multihop 0.98 1.00 0.99 291976 Micro-avg 0.99 0.99 0.99 1469530 Macro-avg 0.33 0.23 0.25 1469530 Weighted-avg 0.99 0.99 0.99 1469530

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

本文詳細(xì)介紹了基于Python的機(jī)器學(xué)習(xí)入侵檢測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。項(xiàng)目總共有三大功能需要實(shí)現(xiàn):模型訓(xùn)練、檢測(cè)判斷、樣本采集。在本項(xiàng)目中,我們直接使用KDD 99 比賽中提供的五百萬(wàn)現(xiàn)成的樣本,作為訓(xùn)練模型和模型評(píng)估的數(shù)據(jù)集,使用邏輯斯蒂回歸算法對(duì)流量樣本進(jìn)行訓(xùn)練,從大量的流量數(shù)據(jù)集合中找到惡意樣本。通過(guò)在實(shí)際環(huán)境進(jìn)行的大量網(wǎng)絡(luò)流量測(cè)試,與流量樣本的測(cè)試,驗(yàn)證了該入侵檢測(cè)系統(tǒng)的實(shí)用性。

猜你喜歡
檢測(cè)模型
一半模型
“不等式”檢測(cè)題
“一元一次不等式”檢測(cè)題
“一元一次不等式組”檢測(cè)題
“幾何圖形”檢測(cè)題
“角”檢測(cè)題
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
3D打印中的模型分割與打包
小波變換在PCB缺陷檢測(cè)中的應(yīng)用
主站蜘蛛池模板: 欧美不卡在线视频| 国产亚洲男人的天堂在线观看| 又粗又硬又大又爽免费视频播放| 久久婷婷国产综合尤物精品| 国产性爱网站| 免费不卡视频| 日韩精品欧美国产在线| 久久永久精品免费视频| 日本欧美在线观看| www.99在线观看| 欧美日韩中文国产| 亚洲大学生视频在线播放| 狠狠色丁香婷婷综合| 综合人妻久久一区二区精品 | 99久久国产综合精品女同| 先锋资源久久| 三级国产在线观看| 丝袜国产一区| 国产91色| 国产真实乱子伦精品视手机观看| 亚洲色图在线观看| 久久久久久久久亚洲精品| 久久精品人妻中文视频| 亚洲天堂免费在线视频| 欧美在线网| 91人人妻人人做人人爽男同| 国产成人亚洲综合A∨在线播放| 美女潮喷出白浆在线观看视频| 日本午夜视频在线观看| 国产成人精品优优av| av在线手机播放| 亚洲A∨无码精品午夜在线观看| 99久久精品美女高潮喷水| 久久久无码人妻精品无码| 丁香亚洲综合五月天婷婷| 网友自拍视频精品区| 黄色国产在线| 99热这里只有精品免费| 亚洲三级色| 2022精品国偷自产免费观看| 日韩小视频在线观看| 日本久久久久久免费网络| 亚洲国产欧美目韩成人综合| 亚洲一区二区在线无码| 久久综合结合久久狠狠狠97色| 色婷婷亚洲十月十月色天| 日本爱爱精品一区二区| 国产黄网永久免费| 日韩在线永久免费播放| 伊人久久精品无码麻豆精品 | 亚洲视频四区| 亚洲国产一区在线观看| 免费国产一级 片内射老| 黄色在线网| 91久久精品日日躁夜夜躁欧美| 亚洲国产看片基地久久1024| 国产簧片免费在线播放| 97精品国产高清久久久久蜜芽| 91青青视频| 久久久无码人妻精品无码| 色悠久久综合| 日韩人妻无码制服丝袜视频| 日韩av高清无码一区二区三区| 97国产精品视频自在拍| 欧美在线黄| 欧美日韩国产精品va| 国产凹凸视频在线观看| 台湾AV国片精品女同性| 欧美日韩亚洲国产主播第一区| 亚洲欧美人成电影在线观看| 亚洲国产成人在线| 国产91精品久久| 在线一级毛片| 福利国产在线| 日韩无码白| 一级成人a做片免费| 国产一级精品毛片基地| 久久久国产精品免费视频| 国产成人精品一区二区免费看京| 午夜精品久久久久久久99热下载| 亚洲第一成年免费网站| 中国国产高清免费AV片|