(แปล) DoS Detection System Based on Dynamic Thresholding Algorithm using Netflow and Elasticsearch
Reference
- not found in public
Abstract
ด้วยความจำเป็นที่ผู้ดูแลระบบจะต้องคอยติดตามการทำงานและตรวจสอบปัญหาที่เกิดขึ้นในระบบเครือข่ายอยู่ตลอดเวลา ซึ่งแน่นอนว่าไม่สามารถทำงานได้อย่างมีประสิทธิภาพตลอด 24 ชั่วโมง ระบบ Network attack identification systems จึงถูกสร้างขึ้นมาเพื่อแก้ไขปัญหานี้ การศึกษานี้จึงถูกสร้างขึ้นโดยมีจุดประสงค์เพื่อตรวจหาการโจมตีแบบ DoS (Denial of Service) ด้วยวิธีการที่เรียกว่า Dynamic Thresholding ข้อมูลที่นำมาใช้ในการศึกษานี้ประกอบด้วยชุดข้อมูล DARPA 2000 และชุดข้อมูลที่สร้างขึ้นมาเอง โดยใช้เครื่องมือ Netflowและ Elasticsearch ผลจากการศึกษาสรุปได้ว่ามีอัตรา false-positive ที่ต่ำกว่า เมื่อเปรียบเทียบกับงานวิจัยที่มีอยู่ (อัตรา false-positive ของชุดข้องมูล DARPA 2000 เป็น 50% และ ชุดข้อมูลที่สร้างขึ้นเองอยู่ที่ 33.33% ส่วนงานวิจับเดิมที่พบอยู่ที่ 98%)
Intro
ในปัจจุบันที่เป็นยุคแห่งข้อมูลข่าวสารและการใช้งานอินเทอร์เน็ต นอกจากจจะมีการพัฒนาเทคโนโลยีที่สนับสนุนการทำงานในด้านต่างๆแล้ว การโจมตีด้วยวิธีการต่างๆยังถูกพัฒนาตามกันไปด้วย ใน CIA ทั้ง 3 ข้อที่ประกอบด้วย ความลับ, ความสมบูรณ์, ความพร้อมใช้งาน ยังมีการโจมตีจำนวนมากที่มุ่งเป้าหมายไปยังด่านที่ 3 หรือความพร้อมใช้งาน เช่นการโจมตีแบบ DoS ซึ่งถือว่าเป็นการโจมตีที่อันตรายมาก เพราะอาจก่อให้เกิดความเสียหายต่อระบบได้อย่างมากในระยะเวลาอันสั้น
เพราะเหตุนี้การศึกษาจำนวนมากจึงคิดที่นะเสนอแนวทางในการเอาชนะการโจมตีแบบ DoS จากกระบวนการตรวจหาและระบุถึงการโจมตีนั้น ไปจนถึงการบรรเทาผลกระทบจากกการถูกโจมตี ซึ่งวิธีการระบุลักษณะการโจมตีแบบ DoS สามารถแบ่งออกได้โดยใช้แหล่งข้อมูล และวิธีการที่ใช้
แบ่งโดยแหล่งข้อมูล
- Log ของเครื่องโฮสต์
- Log ของอุปกรณ์เครือข่าย
- ใช้ Log ทั้งสองแหล่ง (Hybrid)
แบ่งโดยวิธีการที่ใช้
- Signature-based (ข้อดี: ตรวจจับได้เร็วและอัตราการผิดพลาดต่ำ, ข้อเสีย: ไม่สามารถตรวจจับรูปแบบการโจมตีใหม่ๆได้)
- Anomaly-based (ข้อดี: ตรวจจับรูปแบบการโจมตีใหม่ๆได้, ข้อเสีย: อัตราการผิดพลาดสูงและต้องการทรัพยากรในการประมวลผลมาก)
Mukhlish et al. (2019) เสนอระบบ Log Management System โดยใช้ ELK Stack เพื่อช่วยผู้ดูแลระบบในการตรวจติดตามปัญหาของเครือข่าย ระบบนี้จะแบ่งแยกประเภท log ของอุปกรณ์เครือข่ายตามระดับความสำคัญของอุปกรณ์ ซึ่งการศึกษาทั้งหมดเน้นไปที่การประมวลผลข้อมูล log จากอุปกรณ์ภายในเครือข่าย
Kaur H. (2016) ทำการศึกษาเพื่อเปรียบเทียบและแบ่งแยกลักษณะเกี่ยวกับการโจมตีประเภท DoS โดยใช้แหล่งข้อมูลหลากหลายชนิด จากต่าง protocol และ ต่างชนิดอุปกรณ์ ซึ่งอธิบายถึงเครื่องมือที่ใช้ในการโจมตีเพื่อช่วยนักวิจัยในการเลือกเครื่องมือมาทำการทดลอง
David J. (2019) ทำการสร้างวิธีการในการตรวจจับ DoS โดยดูที่ความผิดปกติของข้อมูลที่ไหลผ่านเครือข่าย โดยใช้ประโยชน์จากวิธีการ Dynamic Thresholding วิธีการเปรียบเทียบคือดูที่ 4 แอตทริบิวต์บน header ที่ไหลเข้ามาในเครือข่าย ว่ามีค่าเฉลี่ยและความแปรปวนเป็นอย่างไรในช่วงระยะเวลาหนึ่ง ข้อดีคือใช้ทรัพยากรต่ำ แต่จะต้องตั้งค่าพารามิเตอร์ให้เหมาะสมกับการใช้งาน
จากการวิจัยของ David J. ผู้เขียนจึงพิจารณานำวิธีการ Dynamic Thresholding ไปใช้ในระบบจริง และพยายามทำให้ใกล้เคียงกับการใช้งานจริงมากที่สุด โดยมีจุดประสงค์เพื่อสร้างวิธีการตรวจจับและแยกประเภทการโจมตีแบบ DoS โดยใช้ข้อมูลจาก Cisco CSR1000v virtual router
Research Methodology
วิธีการวิจัยแบบ DSR (Design Science Research)
- กำหนดลักษณะโดยรวมของระบบ เช่น ความต้องการของระบบ, Topology, ขั้นตอนการทำงาน, วัตถุประสงค์ และประโยชน์
- ระบุข้อกำหนด ข้อจำกัดต่างๆ ของระบบ
- ปรับตั้งค่าและออกแบบระบบให้ตรงตามที่ความต้องการที่กำหนดเอาไว้
- ทดสอบและสรุปผลการทดสอบ
A. ระบุข้อกำหนด
ระบบสามารถรับข้อมูลจากเครือข่ายได้ในแต่ละช่วงเวลาที่เฉพาะเจาะจงเอาไว้ และประมวลผลข้อมูลที่รับมาและสามารถระบุได้ว่าการโจมตีเกิดขึ้นในช่วงเวลานั้นหรือไม่
B. ออกแบบ Topology
ในการทดลองใช้ PC 3 เครื่อง เป็นโฮสต์ที่จะส่ง request ปกติไปยังเว็บเซิร์ฟเวอรN และ ใช้ ีPC อีกเครื่องทำจำลองเป็นผู้โจมตี โดยจะส่ง request จำนวนมากๆไปยังเว็บเซิร์ฟเวอร์ การรับส่งข้อมูลทั้งหมดที่เข้ามายังเว็บเซิร์ฟเวอร์ จะถูกบันทึกและส่งไปยัง Filebeat ผ่านโปรโตคอล Netflow
C. ออกแบบระบบและขั้นตอนการทำงาน
Traffic จากโฮสต์ปกติส่งมายัง router -> router ทำงานตาปกติและส่งข้อมูล header ไปยัง Netflow -> Filebeat รับข้อมูลต่อจาก Netflow ปรับรูปแบบข้อมูลและส่งไปให้ Elasticsearch เก็บ -> ทุกๆ X วินาที ตัวตรวจจับจะมาเรียกข้อมูลจาก Elasticsearch ไปตรวจสอบ header ที่เก็บมาด้วยวิธีการที่กำหนดไว้ -> ตัวตรวจจับได้รับข้อมูลและวิเคราะห์ออกมาว่าเป็น traffic ปกติ หรือเป็นการโจมตี
D. ทดลองและสรุปผล
- สร้างระบบตรวจจับด้วยวิธีการ Dynamic Thresholding
ใช้ ภาษา python ในการพัฒนาโดยใช้ library ต่างๆที่สำคัญ และรับ parameter 2 ตัวคือ Window Size (K) และ Sampling Interval (T)
Window Size (K) ใช้กำหนดขนาดของค่าเฉลี่ยเคลื่อนที่และความแปรปรวน
Sampling Interval (T) ใช้กำหนดช่วงเวลาที่จะสุ่มตัวอย่างมาวิเคราะห์การโจมตี
ภาพแสดงจำนวน traffic ที่ไหลผ่านเครือข่ายในหน่วยวินาที
ภาพแสดงจำนวน traffic ที่ไหลผ่านเครือข่ายจาก ip ต้นทางที่แตกต่างกัน
ภาพแสดงจำนวน traffic ที่ไหลผ่านเครือข่ายจาก ip ปลายทางที่แตกต่างกัน
ภาพแสดงจำนวน protocol ที่แตกต่างกันในช่วงเวลาที่สุ่มมา
สรุปผลโดยใช้ Confusion Matrix
True Positive (TP)= วิเคราะห์ถูกต้องว่าเป็นการโจมตี
True Negative (TN)= วิเคราะห์ถูกต้องว่าเป็นข้อมูลปกติไม่ใช่การโจมตี
False Positive (FP)= วิเคราะห์ผิดว่าเป็นการโจมตี
False Negative (FN)= วิเคราะห์ผิดว่าเป็นข้อมูลปกติไม่ใช่การโจมตี
สรุปผลโดยการใช้ประโยชร์จาก Confusion Matrix
อัตราการโจมตีที่วิเคราะห์ได้ถูกต้องจากข้อมูลทั้งหมด
ความแม่นยำของการวิเคราะห์
อัตราความถูกต้องของการวิเคราะห์ข้อมูลที่ไม่ใช่การโจมตี
ผลการประเมินระบบแสดงอัตราการวิเคราะก์ที่ถูกต้องต่ำกว่างานวิจัยต้นฉบับในชุดข้อมูล DARPA2000
จากการทดลองกับชุดข้อมูลที่สร้างขึ้นเอง พบปัญหาว่าโปรโตคอล Netflow ไม่สอดคล้องกันในการรับส่งข้อมูล โดยมีความถูกต้องถึง OSI Layer 4 เท่านั้น แต่ในชุดข้อมูล DARPA 2000 โปรโตคอลการรับส่งข้อมูลสามารถแยกความแตกต่างได้ถึง OSI Layer 7 ดั้งนั้้นข้อแนะนำสำหรับการทำวิจัยเพิ่มเติมคือไปใช้เครื่องมืออื่นที่ไม่ใช่ Netflow เช่น tcpdump จะได้ความแม่นยำในการวิเคราะห์ที่มากกว่า