Intrusion Detection and Prevention System อาจารย์ ธนัญชัย ตรีภาค ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง
Introduction การ Monitoring เป็นกระบวนการที่สำคัญในกลุ่มการทำงาน PDR Intrusion Detection System คืออุปกรณ์ที่ใช้ในการ Detect สัญญาณของปัญหาต่างๆ ในระบบสารสนเทศ Intrusion Prevention System เป็นระบบที่มีความสามารถมากกว่า Intrusion Detection System โดยมีความสามารถในการ Prevent และ Response ต่อปัญหาการโจมตีต่างๆ ได้
Introduction IPS คือ IDS ที่ปรับปรุงการทำงานเกี่ยวกับการ Filter และการ Response โดยพิจารณาข้อมูลในชั้น Application Layer ร่วมกับการทำงานตามโพรโตคอลมาตรฐานต่างๆ Firewall เน้นการทำงานที่ Network Layer + Transport Layer ผู้ดูแลระบบสามารถ disable การทำงานส่วน prevention ให้ทำงานเฉพาะส่วน detection เท่านั้น = IDS
Intrusion การทำงานที่ทำให้ระบบสูญเสีย Confidentiality , Integrity, Availability การทำงานที่ทำให้กระบวนการ Security Mechanism ต่างๆ ไม่สามารถทำงานได้ เช่นการทำงานของมัลแวร์ต่างๆ , unauthorized access, authorized users ที่ดำเนินการเพิ่มสิทธิของตนเอง การทำงานโดยไม่รู้หรือไม่ตั้งใจของผู้ใช้งานเช่นพิมพ์ผิด การเข้าใช้งานระบบผิด อาจทำให้มองได้ว่าเป็นการบุกรุก (False Positive)
Intrusion Detection and Prevention System (IDPS) ระบบในการตรวจจับการบุกรุกในระบบ (intrusion Detection) และตอบสนองต่อการโจมตีได้ (Intrusion Prevention)
การทำงานของ IDPS ระบุเหตุฉุกเฉินที่เป็นไปได้ เก็บข้อมูลเหตุฉุกเฉินที่พบ พยายามหยุดการบุกรุกโดยอัตโนมัติ ระบุปัญหาที่เกิดขึ้นซึ่งขัดกับนโยบายการรักษาความปลอดภัย จัดทำรายงานและแจ้งเตือนผู้ดูแลระบบ
การดำเนินการเพื่อป้องกันการโจมตีของ IDPS ระงับการเชื่อมต่อเครือข่ายหรือ user session ปิดกั้นการเชื่อมต่อไปยังเครื่องเป้าหมาย โดยระงับบัญชีผู้ใช้, IP Address หรืออื่นๆ ปิดกั้นการเข้าถึง host, service, application หรือทรัพยากรอื่นๆ ดำเนินการเปลี่ยนแปลงการตั้งค่า firewall, router, switch เปลี่ยนแปลงการตั้งค่าของ host-based firewall ในเครื่องเป้าหมาย บาง IDPS สามารถติดตั้ง Patch ในเครื่องเป้าหมายได้
การดำเนินการเพื่อป้องกันการโจมตีของ IDPS ทำการปรับเปลี่ยนข้อมูลส่วนที่มีปัญหาในแพ็กเก็ตที่แฮกเกอร์ส่งเช่น ตัดส่วนของไฟล์แนบที่เป็นส่วนของการกระจายตัวของมัลแวร์ออกจาก e-mail ที่ส่งเข้าสู่ระบบ มีระบบชดเชยการทำงานเพื่อป้องกันการโจมตีประเภท Evasion
Evasion Technique Evasion คือเทคนิคประกอบการโจมตีที่ทำให้ IDPS เห็นว่าการโจมตีนั้นเป็นการทำงานปกติ การเปลี่ยนรูปแบบการโจมตี หรือเวลาของการโจมตี โดยแฮกเกอร์จะใช้เทคนิค evasion เพื่อป้องกันการถูกตรวจจับโดย IDPS ยกตัวอย่างเช่นทำการ Encode ข้อมูลให้เป็นข้อมูลที่ระบบปลายทางสามารถตีความได้ แต่ IDPS ไม่สามารถตีความได้ว่ามีการโจมตีเกิดขึ้น IDPS จะใช้กระบวนการพิเศษในการตีความข้อมูลเหมือนกับระบบเป้าหมายทำให้ IDPS สามารถตรวจจับความผิดปกติต่างๆ ได้
ทฤษฏีพื้นฐานของ IDPS
ทฤษฎีที่เกี่ยวข้อง ในอุดมคติระบบ IDPS ต้องทราบถึงการทำงานต่างๆ ของระบบทั้งหมด
System System
IDPS Knowledge IDPS Knowledge
System = IDPS Knowledge Ideal Solution System = IDPS Knowledge
การสร้างขอบเขต Knowledge ของ IDS Anomaly Detection (Behavior based) Misuse Detection (Signature based)
Anomaly Detection Scheme System
Anomaly Detection เก็บข้อมูลเกี่ยวกับการทำงานต่างๆ ที่เป็นการทำงานปกติไว้ เปรียบเทียบกับเหตุการณ์ที่เกิดขึ้น ถ้าแตกต่างกันจะแปลว่าเกิดการทำงานที่ผิดปกติขึ้นจึงดำเนินการตอบสนองในรูปแบบต่างๆ สามารถตรวจจับการโจมตีใหม่ๆ ได้ มี overhead และใช้การประมวลผลมากกว่า signature-based .
Misuse Detection Scheme System
Misuse Detection (Signature Based) จะเป็นการเก็บข้อมูลรูปแบบการทำงานที่ผิดปกติไว้ เปรียบเทียบกับเหตุการณ์ที่เกิดขึ้น หากเหตุการณ์ใดตรงกับข้อมูลที่เก็บไว้จะหมายความว่าเกิดเหตุการณ์ผิดปกติขึ้น มีความแม่นยำในการตรวจสอบรูปแบบเฉพาะสูง แต่ไม่สามารถตรวจสอบการ การโจมตีที่ถูกปรับเปลี่ยนเล็กน้อยได้ ไม่สามารถตรวจสอบการโจมตีที่ใช้การเชื่อมต่อที่ซับซ้อนหลายขั้นตอนได้เนื่องจากเป็นการทำงานแบบ Pattern Matching
Misuse Detection (Signature Based) ยกตัวอย่างการทำงาน การตรวจจับการ telnet ที่ใช้ username “root” E-mail ที่มีการแนบไฟล์ที่มีนามสกุล “.exe” โปรแกรมสแกนไวรัส โปรแกรมสแกนช่องโหว่ของเครื่องคอมพิวเตอร์
False Alarm โลกของความเป็นจริงเราไม่สามารถทำให้ Knowledge ของ IDS และ System Behavior เป็นข้อมูลชุดเดียวกันได้ ขอบเขตของ Knowledge กับ System จะเหลื่อมกัน ทำให้เกิด False Alarm Result is Positive …. But False Result is Negative … But False
IDS Knowledge & System false negative System IDS Knowledge false positive
การพิจารณาคุณลักษณะของ IDPS
ความสามารถของโปรแกรม IDPS ต่างๆ ที่มาของข้อมูล ระยะเวลาการทำงานและตอบสนอง กระบวนการตรวจจับ ผลลัพธ์การทำงานของ IDPS
ที่มาของข้อมูล ข้อมูลต่างๆที่มีอยู่ภายในระบบ Log File ข้อมูลใน Network File System System Call Agent อื่นๆ
ระยะเวลาการทำงานและตอบสนอง Realtime Batch
กระบวนการตรวจจับ Misuse Detection Anomaly Detection Rate Based Content Based Signature Based Anomaly Detection Profile Based
ผลลัพธ์การทำงานของ IDPS ผลลัพธ์ส่วนใหญ่จะเป็นการแจ้งเตือนและเก็บข้อมูลการแจ้งเตือนในรูปแบบต่างๆ เช่น การแสดง Alert Message ในหน้าจอ การส่งอีเมล์ , SMS แจ้งเตือน การส่งเสียง , ไฟกะพริบแจ้งเตือน ความสามารถในการตอบสนองต่อปัญหา ตัดการเชื่อมต่อ ตั้งค่าระบบเพิ่มเติม
การทำงานของ IDPS
หลักการตรวจสอบของ IDPS Rate Based Protocol Analysis (Content Based)
การกำหนดจุดตรวจสอบ (Rate-based) จากสถิติการใช้งานเว็บไซต์จะใช้แบนวิดท์ที่เครือข่ายหลักเฉลี่ย 13 % ในช่วงเวลาทำงาน กำหนดค่าระบบ IDPS ให้เฝ้าระวังค่าดังกล่าว เมื่อค่าการใช้งานแบนวิดท์ มากกว่าค่าที่เฝ้าระวัง ระบบจะแจ้งเตือนให้ผู้ดูแลระบบทราบ การตั้งค่าระบบเฝ้าระวังอื่นๆ จำนวน e-mail ที่ส่งออกจากบัญชีผู้ใช้ จำนวนการพยายาม login ที่ไม่สามารถ authentication ได้ ปริมาณการใช้งาน CPU ในช่วงระยะเวลาหนึ่ง กำหนดการ Query DNS ที่ 1000 ครั้งต่อวินาที
ข้อเสียของ Rate-based IDPS การหาค่าที่เหมาะสมในการกำหนดค่าจุดตรวจสอบที่ต้องการเฝ้าระวัง การกำหนดค่าการทำงานที่เป็นปกติต่างๆ เช่นจำนวน connection ปกติของ web server จำเป็นต้องใช้ผู้ดูแลระบบที่มีความสามารถในการประเมินปัญหาได้อย่างถูกต้อง เนื่องจากการ alert แต่อาจเป็นเหตุการณ์ปกติได้ ต้องการการปรับค่าต่างๆ เป็นประจำ จึงทำงานได้อย่างดี
ใช้ protocol analysis (Content Based) Protocol analyzer จะ decode ข้อมูลในชั้น application layer เช่น FTP/HTTP IPS Analysis Engine จะค้นหาข้อมูลที่ผิดปกติต่างๆ โดยเทียบกับการทำงานปกติต่างๆ การทำงานของ IPS ในลักษณะนี้มีปัญหาคือไม่สามารถตรวจสอบการโจมตีได้อย่างแม่นยำ โดยเฉพาะอย่างยิ่งการโจมตีที่มีขั้นตอนการดำเนินการสอดคล้องกับการดำเนินการของโพรโตคอลต่างๆ
Content-based products คัดกรองข้อมูลโดยใช้ attack signatures และความผิดปกติของ โพรโตคอล มี signature ของการโจมตีต่างๆ เช่น Worms แพ็กเก็ตที่ไม่ถูกต้องตาม TCP/IP RFCs จะถูกคัดกรอง พฤติกรรมผิดปกติเช่นการสแกนพอร์ตจะทำให้ IPS ดำเนินการคัดกรองการเชื่อมต่อใดๆ จากเครื่องที่ทำการสแกนได้ content-based IDPS จะมีกระบวนการที่หลากหลายในการตรวจจับข้อมูลที่ผิดปกติในแพ็กเก็ตและมีการทำงานเพื่อตอบสนองที่หลากหลายเช่น คัดกรองแพ็กเก็จที่มีปัญหา คัดกรองแพ็กเก็ตจากแฮกเกอร์ในอนาคต การรายงานผลและแจ้งเตือน
ตัวอย่างการโจมตีที่พบจาก Protocol Analysis ใน User Agent Field ของ HTTP มีข้อมูล binary file ขนาดใหญ่ ซึ่งเป็นการทำงานที่ผิดปกติอย่างชัดเจน IPS Engine ทำการ drop แพ็กเก็ตดังกล่าว
Network / Host IDPS
Network-based IDPS ใช้ข้อมูลจากเครือข่ายเป็นแหล่งข้อมูล ตั้งค่าการ์ดเครือข่ายให้ทำงานแบบ promiscuous mode เพื่อตรวจจับแพ็กเก็ตต่างๆ ในเครือข่าย ใช้เทคนิคต่างๆ ในการตรวจสอบสัญญาณการโจมตีได้แก่ Pattern, regular expression หรือ bytecode matching; ความถี่หรือสัดส่วนของการเกิด activity ต่างๆ ความสอดคล้องกันของเหตุการกับเหตุการณ์ที่มีการเกิดน้อยกว่า
Placement of Network-based IDPS นอกไฟล์วอลล์ ในไฟล์วอลล์ การใช้งานทั้งคู่ร่วมกันจะช่วยให้สามารถประเมินการตั้งกฎต่างๆ ในไฟร์วอลล์ได้ หลัง remote access server ระหว่างเครือข่ายของ Business Units ระหว่าง Corporate Network และ Partner Networks
Network-based IDPS Response Capability User Configurable Policy Attack Recognition Filter Engine Packet Grabber Network Sensor Adapter Network
Placement of Network-based IDPS Internet Sensor Mail server Firewall Perimeter Network Sensor Web server Sensor Console Protected Network
Host Based IDPS ตรวจสอบการทำงานในเครื่องคอมพิวเตอร์ และเหตุการณ์ต่างๆ ที่เกิดขึ้นในระบบ ตรวจสอบข้อมูลเกี่ยวกับ system logs, running processes, file access การเปลี่ยนแปลงต่างๆ ในระบบ และค่า configuration ต่างๆ มักใช้การประเมินผลลัพธ์ร่วมกันทั้งแบบ attack signatures และ knowledge ในการระบุการโจมตีที่ระบบ IDPS ทราบและไม่ทราบในระบบ
Host-based IDPS ตรวจสอบ event , log ตรวจสอบ system files และไฟล์สำคัญที่ถูกเรียกใช้งานโดยใช้ checksum มักใช้ regular-expressions ในการเพิ่มความถูกต้องในการตรวจสอบสัญญาณการโจมตีต่างๆ ในระบบ บางผลิตภัณฑ์สามารถเฝ้าระวังพอร์ตต่างๆ และแจ้งเตือนเมื่อมีการติดต่อมายังพอร์ตที่ระบุ
การติดตั้ง Host-based IDPS ตำแหน่งติดตั้ง: เซิร์ฟเวอร์ที่มีข้อมูลสำคัญ และเกี่ยวข้องกับการทำงานสำคัญขององค์กร Web servers FTP and DNS servers E-commerce database servers etc.
Host-based IDPS Response Capability User Configurable Policy Attack Recognition Filter Engine Log files and file checksums Host Sensor
Placement of Host-based IDPS Internet Sensor Mail server Firewall Perimeter Network Web server An example use: can check integrity of index.html files by regularly comparing a checksum computed over the file on the server with a checksum for the original file – this checksum is held securely on the console. Likewise, can maintain integrity of mailserver configuration and protect it against attacks via eg, sendmail application. Can check for suspicious account activity on human resources network. Sensor Human Resources Network Console Sensor
การติดตั้ง IDPS
IDPS Architecture การกระจายเซ็นเซอร์ – ติดตั้งทั้งในเครื่องคอมพิวเตอร์และระบบเครือข่ายเพื่อเก็บข้อมูล หน่วยควบคุม ในการบริหารจัดการเซ็นเซอร์ต่างๆ วิเคราะห์ข้อมูล ทำรายงานและตอบสนองต่อเหตุการณ์ต่างๆ และมีการทำงานเพื่อป้องกันอื่นๆ เพื่อให้หน่วยควบคุมมีความปลอดภัยจากการโจมตีต่างๆ ป้องกันการเชื่อมต่อระหว่างเซ็นเซอร์และหน่วยควบคุม ป้องกันหน่วยเก็บข้อมูลทั้งฐานข้อมูลของ Signature และ log ต่างๆ ตั้งค่าระบบของหน่วยควบคุมให้ปลอดภัย การ update Signature ด้วยความปลอดภัยจากผู้ผลิต
Deployment example Network Sensor Local/Host Sensor Log Analysis Sensor
Deployment example Network Sensor Local/Host Sensor Log Analysis Sensor
Deployment Example
โปรแกรมที่ทำงานในลักษณะเดียวกับ IDPS โปรแกรมตรวจจับไวรัส (Virus Scanner) โปรแกรมสแกนช่องโหว่ในระบบ (Vulnerability Scanner)