วันศุกร์ที่ 6 เมษายน พ.ศ. 2555

การจู่โจมระบบ (Denial of Service)

การโจมตีแบบ Distributed Denial of Service (DDoS)
มักจะนำเครื่องมือที่จะใช้ในการโจมตีไปติดตั้งบนเครื่องที่ถูกเจาะไว้แล้ว ซึ่งมีจำนวนพอสมควร จากนั้นจึงจะระดมส่งข้อมูลในรูปแบบที่ควบคุมได้โดยผู้ควบคุมการโจมตีไปยังเหยื่อหรือเป้าหมายที่ต้องการ ซึ่งการโจมตีรูปแบบนี้มักจะก่อให้เกิดการใช้แบนด์วิดธ์อย่างเต็มที่จนผู้อื่นไม่สามารถใช้งานได้ตามปกติ หรือทำให้ระบบที่ถูกโจมตีไม่มีทรัพยากรเหลือพอที่จะให้บริการผู้ใช้ธรรมดาได้
การป้องกันการโจมตีแบบ DoS นั้น จะสามารถทำได้ก็ต่อเมื่อทราบวิธีของการโจมตีก่อน และการป้องกันการโจมตีในบางครั้งก็ไม่สามารถทำได้ในครั้งเดียว ขึ้นอยู่กับรูปแบบการโจมตี สถาปัตยกรรมของเป้าหมายที่ถูกโจมตี ซึ่งการป้องกันอาจจะได้ผลหรือล้มเหลวก็ขึ้นอยู่กับปัจจัยเหล่านี้คือ
การมีคู่มือหรืเอกสารการใช้งานของระบบเป้าหมายที่ถูกโจมตี
การตรวจจับการโจมตีสามารถทำได้อย่างรวดเร็วและสามารถค้นหาต้นตอที่แท้จริงได้
มีวิธีดำเนินการสนองตอบเหตุการณ์ละเมิดความปลอดภัยอย่างเป็นขั้นตอน (incident response)
และการป้องกันรูปแบบอื่นที่สามารถทำได้
รูปแบบการโจมตีและการป้องกัน
เครื่องมือที่ใช้โจมตีแบบ DDoS มีใช้กันอย่างแพร่หลายมานานหลายปีแล้ว และบรรดาผู้ผลิตเองต่างก็มีวิธีป้องกันการโจมตีเช่นเดียวกัน รูปแบบการโจมตีที่นิยมใช้กันก็มีอย่าง SYN flood, UDP flood, ICMP flood, Smurf, Fraggle เป็นต้น ซึ่งจะได้ศึกษาในรายละเอียดและวิธีป้องกันกันต่อไป

SYN Flood
เป็นการโจมตีโดยการส่งแพ็คเก็ต TCP ที่ตั้งค่า SYN บิตไว้ไปยังเป้าหมาย เสมือนกับการเริ่มต้นร้องขอการติดต่อแบบ TCP ตามปกติ (ผู้โจมตีสามารถปลอมไอพีของ source address ได้) เครื่องที่เป็นเป้าหมายก็จะตอบสนองโดยการส่ง SYN-ACK กลับมายัง source ip address ที่ระบุไว้ ซึ่งผู้โจมตีจะควบคุมเครื่องที่ถูกระบุใน source ip address ไม่ให้ส่งข้อมูลตอบกลับ ทำให้เกิดสภาวะ half-open ขึ้นที่เครื่องเป้าหมาย หากมีการส่ง SYN flood จำนวนมาก ก็จะทำให้คิวของการให้บริการของเครื่องเป้าหมายเต็ม ทำให้ไม่สามารถให้บริการตามปกติได้ นอกจากนี้ SYN flood ที่ส่งไปจำนวนมาก ยังอาจจะทำให้เกิดการใช้แบนด์วิดธ์อย่างเต็มที่อีกด้วย

Checkpoint FW-1
FW-1 มีฟังก์ชั่นชื่อ SYN Defender ซึ่งถูกออกแบบมาเพื่อต่อต้านการโจมตีแบบ SYN flood โดยใช้หลักการเช่นเดียวกันกับ Cisco's TCP Intercept ซึ่งจะทำให้ SYN packet ถูกหยุดยั้งไว้ที่ FW-1 เช่นเดียวกันกับ Cisco's TCP Intercept ตัว FW-1 เองก็จะใช้ทรัพยากรมากกว่าปกติในการทำงานในลักษณะดังกล่าว

ICMP Flood
เป็นการส่งแพ็คเก็ต ICMP จำนวนมากไปยังเป้าหมาย ทำให้เกิดการใช้งานแบนด์วิดธ์เต็มที่
การป้องกัน
ระบบส่วนใหญ่สามารถทำงานได้โดยไม่ต้องใช้ ICMP Echo Request ซึ่งสามารถป้องกันการใช้งานได้โดยใช้คำสั่งที่เราเตอร์หรืออุปกรณ์กรองแพ็คเก็ตอื่นๆ

UDP Flood
เป็นการส่งแพ็คเก็ต UDP จำนวนมากไปยังเป้าหมาย ซึ่งทำให้เกิดการใช้แบนด์วิดธ์อย่างเต็มที่และ/หรือทำให้ทรัพยากรของเป้าหมายถูกใช้ไปจนหมด โดยจะส่ง UDP packet ไปยัง port ที่กำหนดไว้ เช่น 53 (DNS)
การป้องกัน
เราเตอร์และอุปกรณ์กรองแพ็คเก็ตอื่นๆ สามารถ drop แพ็คเก็ตที่มุ่งโจมตีมายัง port ที่ไม่เป็นที่ต้องการได้ เช่น โจมตีมายัง port ที่ไม่ได้ให้บริการใน port ดังกล่าว ในกรณีที่เป็นการโจมตีเฉพาะ port ที่เปิดให้บริการ เช่น port 53 ก็สามารถป้องกันระบบเป้าหมายได้โดยใช้ CAR เพื่อจำกัดจำนวนข้อมูล

Smurf
ผู้โจมตีจะส่ง ICMP Echo Request ไปยัง broadcast address ในเครือข่ายที่เป็นตัวกลาง(ปกติจะเรียกว่า amplifier) โดยปลอม source ip address เป็น ip address ของระบบที่ต้องการโจมตี ซึ่งจะทำให้เครือข่ายที่เป็นตัวกลางส่ง ICMP Echo Reply กลับไปยัง ip address ของเป้าหมายทันที ซึ่งทำให้มีการใช้งานแบนด์วิดธ์อย่างเต็มที่
การป้องกัน
เช่นเดียวกันกับการโจมตีแบบ ICMP flood เราเตอร์และอุปกรณ์กรองแพ็คเก็ตอื่นๆ สามารถ drop ICMP Echo Reply ซึ่งในกรณีนี้ควร drop ICMP Echo Reply ที่ส่งเข้ามาโดยไม่ได้มีการส่ง ICMP Echo Request ออกไปก่อน ซึ่งการทำงานลักษณะนี้อาจจะทำให้อุปกรณ์ packet filtering ใช้ทรัพยากรเพิ่มขึ้น และในกรณีที่เกิดการโจมตีขึ้นแล้วยังสามารถบล็อก source ip address ของ ICMP Echo Reply ได้ เพราะผู้โจมตีไม่สามารถเปลี่ยนแปลงข้อมูลส่วนนี้ได้
สำหรับผู้ดูแลระบบทั่วไปควรป้องกันไม่ให้ระบบของตัวเองถูกใช้เป็น amplifier โดยการไม่ตอบสนองต่อแพ็คเก็ตที่ส่งเข้ามายัง broadcast address ซึ่งมีวิธีการแก้ไขแยกตามระบบที่ http://www.pentics.net/denial-of-service/white-papers/smurf.cgi

Fraggle
เป็นอีกรูปแบบหนึ่งของการโจมตีแบบ Smurf โดยผู้โจมตีจะส่ง UDP Echo Request (UDP port 7) ไปยัง broadcast address ของ amplifier network โดยปลอม source ip address ไปเป็น ip address ของเป้าหมาย ซึ่งทำให้มีการใช้งานแบนด์วิดธ์อย่างเต็มที่ และ/หรือทำให้มีการใช้ทรัพยากรของเป้าหมายจนหมดไป ซึ่งการโจมตียังสามารถใช้ได้กับ UDP, TCP services อื่น เช่น Chargen อีกด้วย
การป้องกัน
สามารถป้องกันได้คล้ายๆ กับการป้องกันการโจมตีแบบ Smurf attack โดยใช้เราเตอร์หรืออุปกรณ์กรองแพ็คเก็ตอื่นๆ drop แพ็คเก็ต UDP/TCP ที่ใช้โจมตีเข้ามา หรืออาจจะใช้วิธีบล็อก source ip address ได้เช่นเดียวกัน
สำหรับผู้ดูแลระบบทั่วไปควรป้องกันไม่ให้ระบบของตัวเองถูกใช้เป็น amplifier โดยการไม่ตอบสนองต่อแพ็คเก็ตที่ส่งเข้ามายัง broadcast address ซึ่งมีวิธีการแก้ไขแยกตามระบบที่ http://www.pentics.net/denial-of-service/white-papers/smurf.cgi
อย่างไรก็ตามผู้ดูแลระบบควรยกเลิกการใช้งาน UDP, TCP service บางตัวเช่น Echo, Chargen, Discard ซึ่งไม่มีความจำเป็นในการใช้งานอีกแล้ว ซึ่งสำหรับเราเตอร์ของ Cisco แล้ว สามารถใช้คำสั่งด้านล่างนี้เพื่อยกเลิกบริการดังกล่าว
no service udp-small-servers
no service tcp-small-servers

การโจมตีรูปแบบอื่นๆ
การโจมตีรูปแบบอื่นๆ สามารถเกิดขึ้นได้ จำเป็นต้องมีการตรวจสอบและป้องกันแก้ไขตามเหตุการณ์ที่เกิดขึ้น
จะทำอย่างไรเมื่อถูกโจมตี
การโจมตีที่เกิดขึ้นมักจะทำให้เกิดการใช้งานแบนด์วิดธ์จนเต็มที่ เช่น SYN flood ถ้าหากทำการกรองแพ็คเก็ตที่ ISP ได้ ก็จะสามารถลดผลกระทบที่จะเกิดขึ้นได้
ติดตั้ง hardware ที่มีขีดความสามารถสูงไว้ระหว่างเครือข่ายของ ISP กับของระบบที่ต้องการป้องกัน เช่น การติดตั้งเราเตอร์ประสิทธิภาพสูง ที่สามารถทำ filtering ได้
โดยปกติการโจมตีแบบ DoS ผู้โจมตีมักจะโจมตีไปยังเป้าหมายโดยระบุเป็น ip address โดยตรง ไม่ได้ผ่านการทำ DNS lookup มาก่อน ดังนั้น เมื่อเกิดการโจมตีขึ้น ยังสามารถหาหนทางหลบหลีกการโจมตีดังกล่าวได้ 2 วิธีคือ 1. เปลี่ยน ip address เมื่อเกิดการโจมตี 2. เปลี่ยน ip address ไปเรื่อยๆ แม้จะไม่มีการโจมตี ซึ่งการกระทำทั้งสองรูปแบบก็มีข้อดีข้อเสียต่างกัน ในรูปแบบแรกจะต้องมีระบบตรวจจับที่ดี สามารถแจ้งเตือนผู้ดูแลระบบให้สามารถปรับเปลี่ยน ip address ได้อย่างรวดเร็ว จะเห็นว่ามีช่องว่างระหว่างการดำเนินงานอยู่ แต่ก็มียังมีข้อดีที่ผู้โจมตีจะไม่สามารถรู้แทกติกนี้จนกว่าจะเริ่มโจมตี ในขณะที่วิธีที่สองจะมีความยากลำบากในการเริ่มโจมตีมากกว่า
มีวิธีปฏิบัติที่ใช้ได้จริงซึ่งต้องการการแก้ไขเพียงเล็กน้อย และพยายามลดผลกระทบที่จะเกิดขึ้นกับผู้ใช้ให้น้อยที่สุด ดังนี้

ข้อมูลจาก ruk-com.in.th

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

;