KDD Cup 99網絡入侵檢測數據的分析

看論文算法

該數據集是從一個模擬的美國空軍局域網上採集來的 9 個星期的網絡鏈接數據, 分紅具備標識的訓練數據和未加標識的測試數據。測試數據和訓練數據有着不一樣的機率分佈, 測試數據包含了一些未出如今訓練數據中的攻擊類型, 這使得入侵檢測更具備現實性。shell

在訓練集中包含了1種正常的標識類型 normal 和 22種訓練攻擊類型。promise

一、KDDCup99入侵檢測實驗數據的標識類型

標識類型 含義 具體分類標識
Normal 正常記錄 normal
DOS 拒絕服務攻擊 back, land, neptune, pod, smurf, teardrop
Probing 監視和其餘探測活動 ipsweep, nmap, portsweep,satan
R2L 來自遠程機器的非法訪問 ftp_write, guess_passwd, imap, multihop, phf, spy, warezclient, warezmaster
U2R 普通用戶對本地超級用戶特權的非法訪問 buffer_overflow, loadmodule, perl, rootkit

標識位用來表示該條鏈接記錄是正常的,或是某個具體的攻擊類型;(正常標識有一種,攻擊標識有22種)
DOS:有6種,back,land,neptune,pod,smurf,teardropl
Probing:有4種,ipsweep,nmap,portsweep,satan;
R2L:有8種,ftp_wrute,guess_passwd,imap,multipod,phf,spy,warezclient,waremaster;
U2R:有4種,buffer_overflow,loadmodule,perl,rootkit;網絡

二、特徵屬性

在41個固定的特徵屬性中,9個特徵屬性爲離散型,其餘均爲連續型;tcp

duration,protocol_type,service,flag,src_bytes,dst_bytes,land,
wrong_fragment,urgent,ho,num_failed_logins,logged_in,num_compromised,
root_shell,su_attempted,num_root,num_file_creations,num_shells,
num_access_files,num_outbound_cmds,is_host_login,is_guest_login,count,
srv_count,serror_rate,srv_serror_rate,rerror_rate,srv_rerror_rate,
same_srv_rate,diff_srv_rate,srv_diff_host_rate,dst_host_count,
dst_host_srv_count,dst_host_same_srv_rate,dst_host_diff_srv_rate,
dst_host_same_src_port_rate,dst_host_srv_diff_host_rate,
dst_host_serror_rate,dst_host_srv_serror_rate,dst_host_rerror_rate,
dst_host_srv_rerror_rate,class

經過對41個固定特徵屬性的分析,比較能體現出狀態變化的是前31個特徵屬性,其中9個離散型,22個連續型。所以對鏈接記錄的分析處理是針對該31個特徵屬性。接下來將這31個特徵屬性進行總結分析。測試

三、單個TCP鏈接的基本特徵

特徵名 描述 類型
Duration 鏈接時間長度(單位:秒) 連續型
Protocol_type 協議類型,如tcp,udp 離散型
Service 在目標機的網絡服務,如http,telnet等 離散型
src_bytes 源地址到目標地址的數據流量 連續型
dst_bytes 目標地址到源地址的數據流量 連續型
flag 鏈接狀態(正常或錯誤) 離散型
land 1表示數據鏈接源地址和目標地址爲同一主機或端口;0表示其餘 離散型
wrong_fragment 錯誤碎片的數目 連續型
urgent 緊迫數據包的個數 連續型

四、一次鏈接中包含的內容特徵

特徵名 描述 類型
hot 訪問系統敏感文件和目錄的次數 連續型
mum_failed_logins 嘗試登陸失敗的次數 連續型
loggged_in 1表示成功登陸,0表示其餘 離散型
num_compromised 受到威脅狀態的次數 連續型
root_shell 1表示超級用戶的shell外殼,0表示其餘 離散型
su_attempted 1表示命令執行嘗試,0表示其餘 離散型
num_root root權限訪問的次數 連續型
num_file_creations 文件創做的操做次數 連續型
num_shells shell提示符合的個數 連續型
num_access_files 訪問控制文件的次數 連續型
num_outbound_cmds 一次ftp會話中傳遞命令的次數 連續型
is_hot_login 1表示屬於熱點清單的登陸,0表示其餘 離散型
is_guest_login 1表示guest用戶登陸,0表示其餘用戶名登陸 離散型
  • 在實驗研究中, 通常使用 KDDCup99 中的網絡入侵檢測數據包kddcup_data_10percent。 kddcup_data_10percent 數 據 包 是 對kddcup_data 數據包( 約 490 萬條數據記錄) 10%的抽樣。

五、數據預處理

  1. 聚類算法中要使用計算距離的方法對數據進行聚類, 而鏈接記錄的固定特徵屬性中有兩種類型的數值: 離散型和連續型。 對於連續型特徵屬性, 各屬性的度量方法不同。
  2. 通常而言, 所用的度量單位越小, 變量可能的值域就越大, 這樣對聚類結果的影響也越大, 即在計算數據間距離時對聚類的影響越大, 甚至會出現「大數」吃「小數」的現象。 所以爲了不對度量單位選擇的依賴, 消除因爲屬性度量的差別對聚類產生的影響, 須要對屬性值進行標準化
  3. 設訓練數據集有 n 條網絡鏈接記錄, 每一個記錄中有 22 個連續型屬性向量記做 Xij(1≤i≤n,11≤j≤32)。 對 Xij 數據預處理分爲兩步: 數值標準化和數值歸一化

六、以2秒時間窗口計算的流量特徵

特徵名 描述 類型
count 過去2秒內與當前鏈接有着相同的目的地址的鏈接 連續型
serror_rate 出現SYN錯誤的鏈接次數 連續型
rerroe_rate 出現REJ錯誤的鏈接次數 連續型
same_srv_rate 創建相同服務的鏈接次數 連續型
diff_srv_rate 建議不一樣服務的鏈接次數 連續型
srv_count 過去2秒時間內出現和當前鏈接服務相同的鏈接次數 連續型
srv_serror_rate 出現SYN錯誤的鏈接次數 連續型
srv_rerror_rate 出現REJ錯誤的鏈接次數 連續型
srv_diff_host_rate 鏈接不相同主機的次數 連續型

七、31個特徵屬性

八、小結

  • 在基於數據挖掘的網絡入侵檢測技術研究中, 數據源的獲取是研究的基礎;
  • 數據源的預初步處理更是直接影響入侵檢測技術的效果;

九、KDDCup99數據集完整分析

基本介紹:.net

KDD CUP 99 dataset
    即KDD競賽在1999年舉行的數據挖掘與知識發現競賽時採用的數據集;
    該數據集收集了9周時間的TCPdump(*)網絡鏈接和系統審計數據,仿真各類用戶類型、各類不一樣的網絡流量和攻擊手段;    
    原始數據包含兩個部分:
        (1)7周時間的訓練數據(**),大概包括5000000多個網絡鏈接記錄;
        (2)剩下的2周時間的測試數據大概包含2000000個網絡鏈接記錄;
    網絡鏈接被標記爲正常或異常,其中異常類型包括4大類39種攻擊類型(22種攻擊類型在訓練集中,另外17種未知攻擊類型出如今測試集中)
        (1)DOS攻擊,denial-of service.拒絕服務攻擊;
        (2)R2L,unauthorized access from a remote machine to a local machine.來自遠程主機的未受權訪問;
        (3)U2L,unauthorized access to local superuser privileges by a local unpivileged user.未受權的本地超級用戶特權訪問;
        (4)PROBING,surveillance and probing.端口監視或掃描
    KDD99數據集總共41個特徵,加上最後的標記,一共有42項;其中前41項特徵分爲4類:
        數據爲:2, tcp, smtp, SF, 1684, 363, 0, 0, 0,
                      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      1, 1, 0.00, 0.00, 0.00, 0.00, 1.00, 0.00, 0.00,
                      104, 66, 0.63, 0.03, 0.01, 0.00, 0.00, 0.00, 0.00, 0.00,
        標記爲:normal

詳細分析:code

一、TCP鏈接基本特徵(共9種,1~9)
            duration:鏈接持續時間,連續;protocal_type:協議類型;service:目標主機的網絡服務類型,離散類型;
            flag:鏈接正常或錯誤的狀態;src_bytes:從源主機到目標主機的數據的字節數,連續類型;dst_bytes:從目標主機到源主機的數據的字節數,連續類型;
            land:若鏈接來自同一個主機則爲1,不然爲0;wrong_fragment:錯誤分段的數量,連續類型;urgent:加急包的個數,連續類型。
        二、TCP鏈接的內容特徵(共13種,10~22)
            hot:訪問系統敏感文件和目錄的次數,連續;num_failed_logins:嘗試登錄失敗的次數,連續;logged_in:成功登陸爲1,不然爲0;
            num__compromised:compromised條件(**)出現的次數,連續;root_shell:若得到root shell則爲1,不然爲0;su_attempted:若出現"su root"命令則爲1,不然爲0;
            num_root:root用戶訪問次數,連續;num_file_creations:文件建立操做的次數,連續;num_shells;使用shell命令的次數,連續;
            num_access_files:訪問控制文件的次數,連續;num_outbound_cmds:一個FTP會話中出站鏈接的次數,連續;is_hot_login:登陸是否屬於「hot」列表(***),是爲1,不然爲0;
            is_guest_login:如果guest登陸則爲1,不然爲0;
        三、基於時間的網絡流量統計特徵(共9種,23~31)
            只觀察過去兩秒內與當前鏈接有相同目標主機的鏈接(same host)
            只觀察過去兩秒內與當前鏈接有相同服務的鏈接(same service)
            count:過去兩秒內,當前鏈接具備相同目標主機的鏈接數,連續;srv_conut:與當前鏈接具備相同服務的鏈接數;serror_rate:與當前鏈接具備相同目標主機的鏈接中,出現"SYN"錯誤的鏈接的百分比,連續;
            srv_serror_rate:與當前鏈接具備相同服務的鏈接中,出現"SYN"錯誤的鏈接的百分比,連續;rerror_rate:與當前鏈接具備相同目標主機的鏈接中,出現"REJ"錯誤的鏈接的百分比;srv_rerror_rate:在當前鏈接具備相同服務的鏈接中,出現"REJ"錯誤的鏈接的百分比,連續;
            same_srv_rate:在與當前鏈接具備相同目標主機的鏈接中,與當前鏈接具備相同服務的百分比,連續;diff_srv_rate:在於當前鏈接具備相同目標主機的鏈接中,與當前鏈接具備不一樣服務的鏈接的百分比,連續;srv_diff_host_rate:在於當前鏈接具備相同服務的鏈接中,與當前鏈接具備不一樣目標主機的鏈接;
        四、基於主機的網絡流量統計特徵(共10種,32~41)
            按照目標主機進行分類,使用一個具備100個鏈接的時間窗,統計當前鏈接以前100個鏈接記錄中與當前鏈接具備相同目標主機的統計信息;
            dst_hots_count:前100個鏈接中,與當前鏈接具備相同目標主機的鏈接數,連續;dst_host_srv_count:與當前鏈接具備相同目標主機相同服務的鏈接數,連續;dst_host_same_srv_rate:與當前鏈接具備相同目標主機相同服務的鏈接所佔的百分比,連續;
            dst_host_diff_srv_rate:與當前鏈接具備相同目標主機不一樣服務的鏈接所佔的百分比,連續;dst_host_same_src_port_rate:與當前鏈接具備相同目標主機相同源端口的鏈接所佔的百分比,連續;dst_host_srv_diff_host_rate:與當前鏈接具備相同目標主機相同服務的鏈接中,與當前鏈接具備不一樣源主機的鏈接所佔的百分比,連續;
            dst_host_serror_rate:與當前鏈接具備相同目標主機的鏈接中,出現SYN錯誤的鏈接所佔的百分比,連續;dst_host_srv_serror_rate:與當前鏈接具備相同目標主機相同服務的鏈接中,出現REJ錯誤的鏈接所佔的百分比,連續;dst_host_rerror_rate:與當前鏈接具備相同目標主機的鏈接中,出現REJ錯誤的鏈接所佔的百分比,連續;
            st_host_srv_rerror_rate:與當前鏈接具備相同目標主機系湍妨維接中,出現REJ錯誤的鏈接所佔的百分比,連續;

連續量和離散量分類:orm

連續量:(5種)duration,src_bytes,dst_bytes,wrong_fragment,urgent;
                            (8種)hot,num_failed_logins,num__compromised,num_root,num_file_creations,num_shells,num_access_files,num_outbound_cmds;
                            (9種)count,srv_conut,serror_rate,srv_serror_rate,rerror_rate,srv_rerror_rate,same_srv_rate,diff_srv_rate,srv_diff_host_rate;
                            (10種)dst_hots_count,dst_host_srv_count,dst_host_same_srv_rate,dst_host_diff_srv_rate,dst_host_same_src_port_rate,dst_host_srv_diff_host_rate,dst_host_serror_rate
            離散量:5+5
(來自哥倫比亞大學的Sal Stolfo 教授和來自北卡羅萊納州立大學的 Wenke Lee 教授採用數據挖掘等技術對以上的數據集進行特徵分析和數據預處理,造成了一個新的數據集。
  該數據集用於1999年舉行的KDD CUP競賽中,成爲著名的KDD99數據集。
  雖然年代有些久遠,但KDD99數據集仍然是網絡入侵檢測領域的事實Benckmark,爲基於計算智能的網絡入侵檢測研究奠基基礎)

另外kddcup99數據集可參考:
kddcup99詳細解讀blog

相關文章
相關標籤/搜索