ThaiCERT: Thai Computer Emergency Response Team
ศูนย์ประสานงานการรักษาความปลอดภัยคอมพิวเตอร์ ประเทศไทย 
 
 
 

ชื่อเรื่อง : การสร้างระบบการป้องกันการบุกรุกโดยใช้ Open Source Software
ที่มา : http://www.sans.org
เรียบเรียงโดย :
ร.อ. วิวัต เรืองมี
เรียบเรียงเมื่อ : 14 สิงหาคม 2544

กล่าวนำ
หลายท่านอาจจะได้ยินข่าวคราวเกี่ยวกับการที่เครือข่ายของหน่วยงานต่างๆ นั้นถูก compromised ซึ่งภัยคุกคามดังกล่าวอาจเป็นไปไว้ก็แต่ไวรัสธรรมดาจนถึง remote compromise สคริปต์ซึ่งทำให้ผู้โจมตีสามารถเข้าถึง (access) ระบบได้โดยรวดเร็วและง่ายดาย ซึ่งโดยทั่วไปแล้วผู้ดูแลระบบ (system administrator) ไม่มีเวลารวมทั้งทรัพยากรในการที่จะป้องกันผู้โจมตี ในช่วงหลายปีที่ผ่านมาได้มีบริษัทต่างๆ ได้พยายามพัฒนา software ซึ่งจะทำการตรวจจับการบุกรุก แต่เนื่องจากราคาที่ค่อนข้างสูงของ software ดังกล่าว ดังนั้น open source community จึงได้พัฒนา software ซึ่งมีราคาถูกกว่าซึ่งในปัจจุบันได้มีการใช้ IDS ซึ่งเป็น open source software อย่างจริงจัง software ดังกล่าว สามารถ download ได้จาก Internet และต้องการการลงทุนด้าน hardware เพียงเล็กน้อยเท่านั้น สำหรับบทความนี้จะเป็นการใช้ shadow และ snort ในการสร้าง IDS (Intrusion Detection System)

การวิเคราะห์ Traffic vs. Content
ในการเลือกใช้ tools ที่เหมาะสม จำเป็นที่จะต้องมีการทราบรายละเอียดเกี่ยวกับวิธีการของการตรวจจับการบุกรุก : traffic และ content analysis IDS ส่วนใหญ่จะใช้ content analysis เนื่องจาก network admin คงไม่มีเวลาในการคอยตรวจเช็คข้อมูลซึ่งมีขนาดมหาศาลทั้งหมดได้ เพราะฉะนั้นการวิเคราะห์ Content ของข้อมูลจะเป็นการตรวจหา signatures (rules) ใน payload ซึ่งการทำงานแบบนี้จะคล้ายกับการทำงานของ anti-virus software ซึ่งท่านจำเป็นที่ต้องกำหนด signatures หรือ rules ให้กับ IDS การเขียน rules ให้กับ IDS นั้นจำเป็นที่ต้องใช้ความละเอียด เพราะท่านคงไม่ต้องการการแจ้งเตือนที่ไม่จำเป็นจาก IDS หรือ false alarm และท่านก็ไม่ต้องการให้เกิดการตรวจจับที่ผิดพลาดเช่นเดียวกัน

The Shadow Method
Shadow เป็นระบบที่ใช้แนวความคิดของ CIDER (Cooperative Intresion Detection Evaluation and Response) โดยที่ Shadow จะเป็นการรวบรวม Perl scripts ที่ทำการโต้ตอบและติดต่อกับ tcpdump และ SSH ซึ่ง output จากการวิเคราะห์ traffic ของ shadow นั้นจะเป็น html document และสามารถดูได้จาก web browser Shadow เป็นโปรแกรมสำหรับระบบปฏิบัติการ unix-like shadow และ IDS อื่นๆอีกหลายชนิดจะประกอบด้วย 2 ส่วนใหญ่ๆคือ
- sensor
- analyzer
sensor จะเริ่มต้น tcpdump process ทุกๆชั่วโมง และจะหยุด process ของชั่วโมงที่แล้ว แล้ว analyzer จะทำการดึง file ของชม.ที่แล้วโดยใช้ SSH มาทำการวิเคราะห์ หลังจากนั้น analyzer ทำการวิเคราะห์ข้อมูลของ tcpdump โดยใช้ tcpdump filters แล้วทำการสร้าง html pages

Snort
การใช้ snort เป็น IDS นั้นมีมาตั้งแต่ปี 1998 และในปัจจุบันได้รับความนิยมอย่างมาก ซึ่ง snort เป็น open source, rule-based และ content analysis snort มีเข้าสำหรับ unix platform และ Windows NT/2000
สำหรับ rules ของ snort นั้นก็สามารถเข้าใจได้ง่าย ซึ่งทำให้สามารถใช้ snort กับ tools อื่นๆได้อีกและที่สำคัญคือ snort rules ทำให้เกิดการแจ้งเตือนแบบ real time ท่านสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับ snort ได้ที่ http://www.snort.org

Open Source Software อื่นๆ(กล่าวโดยสังเขป)
- Tcpdump
เป็น network sniffer โดยที่ tcpdump จะคอยเฝ้าดูและรวบรวม traffic ทั้งหมด ก็แม้ว่าจะมี sniffer อื่นๆ อีกหลายตัวที่มีอยู่ แต่ tcpdump มีข้อดีหลายอย่างที่ได้เปรียบ sniffer ชนิดอื่นๆคือ tcpdump มีอยู่ในทุกๆ platform และ output ของ tcpdump สามารถนำไปใช้โดย tools อีกหลายชนิด แต่ยังไงก็แล้วแต่ tcpdump ต้องการ libpcap library ในการจับ packet [ ftp://ftp.ee.lbl.gov/]

- logsurfer
เป็น tool ใช้ในการ monitor text log files เมื่อมีเหตุการณ์ไม่ปกติเกิดขึ้น logsurfer จะส่งการแจ้งเตือนไปยัง system asministrator ได้ http://www.cert.dfn.de/eng/logsurf/

- shadow
shadow เป็น IDS ที่สามารถใช้ได้ทั้งที่เป็นตัวมันเองหรือใช้ร่วมกับ application อื่นๆ http://www.nswc.navy.mil/ISSEC/CID/step.tar.gz

- snort
เป็น IDS ซึ่งเขียนโดยใช้ภาษา C เป็น stand-alone program แต่ snort จะมีประสิทธิ์ภาพยิ่งขึ้นเมื่อมีการใช้ร่วมกับ tools อื่นๆ http://www.snort.org

Shadow/Snort Hybrid
เนื่องจาก shadow ประกอบด้วย Perl scripts ซึ่งทำหน้าที่ในการจัดการและ process ข้อมูลจาก sensor ในขณะที่ snort จะทำการprocess tcpdump binary files แต่เราสามารถทำการแก้ไข shadow ให้สามารถทำการ process ข้อมูลของ tcpdump ผ่านทาง snort
ส่วนหน้าที่สามารถแก้ไขได้คือ ความยาวของข้อมูลที่จะทำการ capture โดย tcpdump ของ sensor ซึ่งจะต้องทำการแก้ไขสามารถ capture ข้อมูลมากกว่า 88 byte แต่ admin ก็ต้องพิจารณาถึง disk storage ด้วยนั้นคือ admin ต้องเลือก snaplen ซึ่งสามารถเก็บข้อมูลให้ได้ประโยชน์ในการวิเคราะห์มากที่สุดแต่ขณะเดียวกันก็ไม่ทำให้ประสิทธิภาพการ processing ของระบบลดลง
วิธีนี้เหมาะสำหรับองค์กรที่มีข้อจำกัดของบุคลากรและเวลา ถึงแม้ว่า ข้อมูลไม่ถูกวิเคราะห์แบบ real-time แต่เพียงแค่ admin เพียงคนเดียวก็สามารถ respond ได้ตลอดเวลา

กล่าวโดยสรุป

Software ที่ใช้

บทท้าย
บทความนี้ได้อธิบายวิธีการ implement IDS แบบง่ายๆ แต่ก็คงเป็นประโยชน์สำหรับ administor เพื่อในการนำไปใช้ปรับปรุงและพัฒนา IDS ให้มีความสามารถและประสิทธิภาพมากยิ่งขึ้น แต่ถึงอย่างไรก็แล้วแต่ IDS แต่ละตัวนั้นก็มีข้อจำกัดในการตรวจจับการโจมตีได้เช่นเดียวกัน



Home || เอกสารเผยแพร่ || IDS

ThaiCERT Disclaimer | Copyright © 2001 ThaiCERT(NECTEC). All rights reserved.