透過您的圖書館登入
IP:18.117.105.28
  • 學位論文

軟體定義網路中基於混合式機器學習演算法之入侵檢測系統

An Intrusion Detection System based on Hybrid Machine Learning for Software Defined Networks

指導教授 : 莊博任

摘要


入侵檢測系統(Intrusion Detection System, IDS)[1]是最普遍的網路安全設備,可以檢查進入系統的流量中是否有可疑、有威脅性的封包,偵測到時會發出警報。入侵檢測系統最重要的是威脅封包的特徵資料集,入侵檢測系統需要透過這樣的一個資料集對未知的封包做檢測,所以入侵檢測系統需要事先知道攻擊的特徵才能做防禦。 KDD CUP 1999[2]是一個公開的已知流量資料集,包含正常流量與各種類型的攻擊流量,攻擊流量包括DoS、Probe、U2R、R2L這四種最常見的攻擊型態。為了從KDD CUP 1999[2]資料集中整理出各種攻擊的特徵。機器學習(Machine Learning)是一個常見的做法,機器學習能將資料集經過訓練後準確的找出各種攻擊型態的特徵,但是每一種機器學習演算法都會有一些小缺失。例如,K-means演算法[3],演算過程簡單複雜度低,所以演算的速度快,但準確率卻稍嫌不足。 為了改進機器學習演算法,有一部分的研究採用混合式機器學習演算法(Hybrid Machine Learning Algorithm),利用不同種機器學習演算法的優點來彌補各自的缺點。我們參考了三種的混合式機器學習演算法,三種方法各自運用在不同的研究方向,而我們會將三種參考方法都使用入侵檢測系統實現並且加入我們的方法一起評估與比較,以常見的機器學習演算法評比指標加以評價。 在本論文中,我們提出了以改善演算時間為目的的改進方法,因為對於入侵檢測系統來說,提高準確率固然可以增加整體的安全性,但網路攻擊的種類日新月異,若是入侵檢測系統花費太多的時間在資料集的訓練上,那麼很可能會遇到主機已經受到攻擊了,入侵檢測系統才檢測出攻擊的窘境。因此我們認為加速檢測時間也是入侵檢測系統中非常重要的一環。 實驗結果證實,我們的改進方法不僅可以大幅改善檢測的時間,在準確率上也有著很優秀的表現,而且不只在傳統網路的環境中可以得到改善,在軟體定義網路的環境中我們的方法甚至可以表現的優異,另外,我們的方法在不同的環境中,也有著非常不錯的穩定性,這些都是我們的方法表現的比參考方法更優秀的地方。

並列摘要


Intrusion Detection System (IDS) [1] is the most common network security device. It can check whether there are suspicious and threatening packets in the traffic entering the system. When IDS detect it, IDS will send an alarm to user. The most important part of the Intrusion Detection System is the feature data set of the threat packet. The Intrusion Detection System needs to detect the unknown packet through such a data set, so the Intrusion Detection System needs to know the characteristics of the attack in advance to defend. KDD CUP 1999 [2] is a publicly known data set of traffic data, including normal traffic and various types of attack traffic. Attack traffic includes the four most common types of attacks: DoS, Probe, U2R, and R2L. In order to sort out the characteristics of various attacks from the KDD CUP 1999 [2] data set. Machine Learning is a common practice. Machine learning can train data sets to accurately identify the characteristics of various attack patterns, but each machine learning algorithm will have some minor defects. For example, the K-means algorithm [3], the calculation process is simple and complex, so the calculation speed is fast, but the accuracy is slightly insufficient. To improve the machine learning algorithms, some studies using Hybrid Machine Learning Algorithm, take advantage of various kinds of machine learning algorithms to compensate for respective disadvantages. We refer to three hybrid machine learning algorithms, each of the three hybrid algorithms used in different research direction, we will use three kinds of reference hybrid algorithms to achieve Intrusion Detection System and improve our hybrid algorithm. To assess together with comparison with common machine learning algorithm evaluation indicators are evaluated. In this paper, we propose an improved hybrid algorithm for improving the calculation time. For the Intrusion Detection System, improving the accuracy can increase the overall security, but the type of network attack is changing with each passing day. If the Intrusion Detection System cost too much time in training, It is very likely that the host has been attacked, and then the Intrusion Detection System detects the attack, such a dilemma. Therefore, we believe that decreasing detection time is also a very important part of the Intrusion Detection System. The experimental results confirm that our improved hybrid algorithm not only improve the detection time, but also has excellent performance in accuracy, and can not only be improved in the traditional network environment, in the environment of Software Defined Networks, our hybrid algorithm can even perform well. In addition, our hybrid algorithm has very good stability in different environments, which can prove that our hybrid algorithm performs better than the reference hybrid algorithm.

參考文獻


[1] children16, “IDS (Intrusion Detection System, 入侵偵測系統)” [Online]. Available: http://sls.weco.net/node/10693.
[2] “KDD CUP 1999 Data” [Online]. Available: http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html.
[3] 陳鍾誠, “K-Means分群演算法” [Online]. Available: http://ccckmit.wikidot.com/ai:kmeans.
[4] “Open Networking Foundation.” [Online]. Available: https://www.opennetworking.org/about/onf-overview.
[5] “機器學習:使用Python” [Online]. Available: https://machine-learning-python.kspax.io.

延伸閱讀