應用類神經網路於阻斷式服務.pptx

Download Report

Transcript 應用類神經網路於阻斷式服務.pptx

應用類神經網路於阻斷式服務攻
擊之預測
FORECAST OF DENIAL OF
SERVICE (DOS) ATTACKS
VIA NEURAL NETWORKS
作者:紀宏宜 張偉德 陳志榮
報告人:黃俊儒
目錄
•
•
•
•
•
•
•
摘要
前言
倒傳遞類神經網路
阻斷服務攻擊
實驗模擬與分析
TCP SYN Flood模擬攻擊與結果分析
結論
摘要
本文的目的是利用倒傳遞類神經網路來偵測伺服主機是否遭
受阻斷服務攻擊。而倒傳遞類神經網路模式是目前神經網路
中最具代表性之一,屬於監督式學習網路,適合於系統診斷、
預測等應用。此外阻斷服務攻擊是,其攻擊特性為針對某一
網路服務,湧入大量網路訊息要求服務,使得提供服務之網
路伺服主機,陷入忙碌運作的陷阱中,無法提供其他使用者
正常服務。由於該攻擊方式尚未出現有效之預防措施,因此
本文嘗試透過倒傳遞類神經網路,事先學習主機在異常以及
正常的運作狀況下之訓練資料,以期進一步應用在實際網路
攻擊之預測。
前言
• 對於DoS或是DDoS類型攻擊,目前沒有一種簡單或是廉
價的入侵偵測系統可供使用。再加上管理人員工作忙碌,
且攻擊的方式逐漸朝向正常封包連線要求,閃躲偵測系統,
使得要防止這類攻擊的方法愈是困難。
• 利用RBF (幅狀基底函數Radial Basis Function, RBF)類神
經網路來偵測網路DDoS 攻擊,藉由常使用的DARPA (為
針對入侵偵測系統做評估的標準)資料集進行網路模擬攻
擊來紀錄網路封包標頭內容,包括來源端的port 號、客戶
端封包序號、視窗大小、以及各種類旗標值,透過RBF 類
神經網路來偵測出DDoS 攻擊。
前言
• 本研究是針對大型封包阻塞服務主機頻寛的DoS攻擊方式,
嘗試收集網路伺機主機上的資料,包括CPU使用率、
Process 數量、Memory 使用量、網路封包進出量等數值,
這種資料收集的方式。當資料收集完成後,再分析平時正
常使用量以及模擬遭受網路攻擊時之使用量,利用倒傳遞
類神經網路演算法(back-propagationneural
networks),將收集到的資料當作輸入資料,經由適當數
量之隱藏層運算,最後經由輸出層輸出一值。藉由訓練出
來的類神經網路模型,用於伺服主機上之系統資源監控,
當有異常情況發生時,可立即通知網管人員處理,減少網
站損失。
倒傳遞類神經網路(BPN)
本研究中所採用的神經
網路模式是倒傳遞類神
經網路,具學習能力強
以及容錯能力高的特性
。其數學運作模式我們
簡述如右:
倒傳遞類神經網路(BPN)
阻斷服務攻擊
依照攻擊類型可以將其區分成二大類:
• Logical Attack:利用通訊協定定義上的漏洞,或是系統
實作上的缺點,造成邏輯判斷上的錯誤,防禦方式是定期
更新相關系統程式即可。
• FloodingAttack:此攻擊方式主要利用大量封包將受害
者之電腦系統資源耗盡,使其無法接受正常使用者之服務
要求。
實驗模擬與分析
• 本實驗目的在於利用倒傳遞類神經網路演算法,針於DoS
攻擊中之TCP SYN Flood形式,訓練出可偵測此種攻擊形
式的類神經網路模式。
• 註: TCP SYN Flood:攻擊者利用TCP建立連線時三手交握(three-way handshake:
TWH)的特性,使用大量偽造的來源IP,向目標主機發出帶有SYN 旗標之TCP 封包,當
目標主機回應SYN+ACK 封包後,將會等待回應。如目標主機之連結緩衝區被填滿,正
常使用服務之使用者將無法與該主機連結,服務即告中斷。
實驗模擬與分析
實驗模擬與分析
• 網路環境模擬情況如圖所示,說明如下:
• i. 利用可方便取得之RedHat Linux 9.0作業系統,架設一部模擬被攻擊之目
標伺服主機,提供Web 網站服務、FTP 檔案傳輸服務,並啟動SNMP
(simplenetwork management protocol)功能,使該主機可提供系統相關
資料。
• ii. 將A、B、C、D 四部電腦及目標伺服主機,以一部集線器連接。
• iii. 設定A、B 兩部電腦為非攻擊端,可正常連線使用目標伺服主機之網路服
務。
• iv. 利用Knoppix-STD Linux架設C、D兩部攻擊用的電腦,模擬DoS攻擊來源
端。
實驗模擬與分析
• 本次實驗嘗試收集下列五項與伺服主機運作有相關的參考數據,用以
判斷該主機是否正遭受網路攻擊:
• i. CPU閒置率:顯示CPU目前的使用量,如果有程式在CPU中執行,
將使比率下降,表示該程式利用CPU資源的程度。
• ii. 記憶體使用量:當有程式執行時,作業系統將給予該程式一個資料
暫存空間,依照程式大小,所佔用的記憶體空間大小也會跟著改變。
記憶體使用率=(記憶體使用量值/512*1024kbytes)*100%
• iii. 網路封包流入量:記錄進入伺服主機之網路封包大小。在系統中通
常以累計的方式,記錄其大小。當記錄值超過2的32次方,即歸零重
新計算。程序使用率=(系統程序目前數量/300)*100%
• iv. 網路封包流出量:記錄輸出伺服主機之網路封包大小,記錄方式如
上一項。
• v. 系統程序(process)目前數量:記錄目前系統中,正在執行的程序
數量。程序為程式正在執行的形態,從該值可以了解目前系統的工作
量是否過高。
實驗模擬與分析
• 針對倒傳遞類神經網路演算法,所需要收集的資料種類如
下:
• i. 平時正常運作之資料:於目標伺服主機上,收集系統主
要五項參數值,及設定理想目標值。每筆資料依序為
(1)CPU閒置率、(2)記憶體使用量、(3)系統程序目前數量、
(4)網路封包流出量、(5)網路封包流入量以及(6)理想目標
值,設定為”0”。
• ii. 模擬攻擊時之資料:每筆資料所收集之項目與順序同上,
唯有最後之(6)理想目標值,設定為”1”。
• iii. 測試之資料:針對實驗用之目標主機,進行阻斷服務攻
擊,收集當時系統運作參數值。
實驗模擬與分析
• 網路封包流出量:由於系統中,原始資料是封包大小的累計資料,如想知道當時的流出量,必須要
減去前一筆資料,才可獲得。另外,該值只要超過2的32 次方,即會重新計算,是故必須分開計算
該值,轉換方式如下所列:
• 如果該值比前一筆值大,表示未超過2的32次方值:
• 如果該值比前一筆值小,表示已超過2的32次方值:
• 網路封包流入量:計算方式與上一項相同,轉換方式如下所列:
• 如果該值比前一筆值大,表示未超過2的32次方值:值小,表示已超過2的32次方值:
• 如果該值比前一筆值小,表示已超過2的32次方值:
實驗模擬與分析
CPU閒置率、記憶體使用率及程序使用率
網路封包流出率及流入率
實驗模擬與分析
不同學習速率的RMSE收斂曲線圖
輸入攻擊訓練資料之辨識圖
輸入另外一組攻擊測試資料之辨識圖
結論
• 本文利用倒傳遞類神經網路成功地預測網路伺服主機是否遭受
到DoS 阻斷服務之攻擊,但在實際運作上,如果某種攻擊行動
無法造成系統運作異常特徵的產生,除了收集上述五個輸入指
標之外,也必須考慮其他的參考數據,如此才能正確地做出判
斷。同時未來繼續研究的方向可歸納出下列幾點:
• 1. 實作應用程式於伺服主機上:將所訓練好之類神經網路演算
法,應用到實際的伺服主機上。
• 2. 收集更多被攻擊之範例:由於本實驗只針對TCPSYN Flood
攻擊方式做模擬測試,但現今的網路攻擊的方法日新月異,因
此需要收集更多不同種類的攻擊當作訓練資料,才能同時辨識
與偵測出攻擊。
• 3. 改善倒傳遞類神經網路演算法:加快其收斂速度,或是利用
其他類神經網路模式,以增強辨識能力。