การโจมตีแบบ DoS

การโจมตีแบบ DoS คืออะไร

การโจมตีแบบ DoS โดยทั่วไปมีจุดประสงค์ เพื่อป้องกันไม่ให้ใช้งานหรือทำให้เกิดความเสียหายต่อการใช้งานคอมพิวเตอร์หรือทรัพยากรของระบบเครือข่าย สาเหตุที่ระบบที่เชื่อมต่อกับอินเทอร์เน็ตมักจะถูกโจมตีแบบ DoS ก็เนื่องมาจาก 2 สาเหตุหลักคือ

อินเทอร์เน็ตประกอบไปด้วยทรัพยากรที่มีอยู่อย่างจำกัดและสามารถถูกทำให้หมดเปลืองไปได้

โครงสร้างพื้นฐานของการเชื่อมต่อในโลกของอินเทอร์เน็ตนั้นประกอบไปด้วยทรัพยากรที่มีอยู่อย่างจำกัด เช่น แบนด์วิดธ์ พลังในการประมวลผล(processing power) และพื้นที่ที่จำกัดของการเก็บข้อมูล ล้วนแต่เป็นเป้าหมายในการโจมตีแบบ DoS ซึ่งต้องการให้มีการใช้งานทรัพยากรที่มีอยู่จนถึงขั้นที่ทำให้ระบบมีปัญหาได้ ระบบที่ได้รับการออกแบบให้มีทรัพยากรที่เหลือเฟือก็อาจจะสร้างความยุ่งยากในการโจมตีได้ แต่ในปัจจุบันก็ยังมีเครื่องมือและวิธีการที่จะสร้างความเสียหายต่อระบบที่มีทรัพยากรอย่างเหลือเฟือได้เช่นกัน

ความปลอดภัยในอินเทอร์เน็ตเป็นเรื่องที่ขึ้นต่อกัน

การโจมตีแบบ DoS ไม่จำเป็นต้องโจมตีที่ระบบของเหยื่อโดยตรง สามารถโจมตีไปที่ระบบซึ่งอยู่นอกขอบเขตของระบบของเหยื่อได้ ในหลายๆ กรณี จุดที่ผู้โจมตีใช้โจมตีนั้นมักจะเป็นระบบที่ถูก compromise โดยผู้โจมตีแล้ว ผู้โจมตีมักจะไม่ใช้ระบบของตนเองในการโจมตีต่อผู้อื่น เพราะอาจจะถูกตรวจสอบถึงตัวได้โดยง่าย การป้องกันการโจมตีไม่เพียงแต่เป็นการป้องกันการใช้งานอินเทอร์เน็ตในทางที่ผิด หากแต่ยังป้องกันไม่ให้มีการใช้ทรัพยากรเหล่านี้ไปโจมตีระบบของผู้อื่นต่อไป

การป้องกันการโจมตีแบบ DoS ยังเป็นเรื่องที่ยากและต้องศึกษากันอีก การทำ rate limiting, packet filetring, หรือใช้งาน tweaking software ก็สามารถลดผลกระทบที่เกิดจากการโจมตีแบบ DoS ได้ เช่น ทำให้เกิดการใช้ทรัพยากรน้อยกว่าที่มีอยู่ ในหลายๆ กรณี การป้องกันการโจมตีที่ได้ผลคือการ block source เพื่อป้องกันการโจมตีแบบต่อเนื่อง (ในกรณีที่สามารถสืบทราบ source address) แต่ในบางครั้งการโจมตีแบบ DoS สามารถปลอมแปลง source ip address ได้หรือสร้างการโจมตีแบบกระจาย DDoS ซึ่งก่อให้เกิดความยุ่งยากในการป้องกันเป็นอย่างยิ่ง

เทคโนโลยีการโจมตีแบบ DoS ก่อนหน้านี้มักจะใช้เครื่องมือง่ายๆ สร้างแพ็กเก็ตจากเครื่องเดียวส่งออกไปยังปลายทางที่เป็นเครื่องเดี่ยวๆ เมื่อเวลาผ่านไปก็มีเครื่องมือที่สามารถโจมตีหลายๆ เป้าหมายได้จากเครื่องๆ เดียว จากหลายๆ เครื่องๆ โจมตีไปยังเป้าหมายเครื่องเดียว และจากหลายๆ เครื่องๆ โจมตีไปยังหลายๆ เป้าหมายได้

ปัจจุบัน รูปแบบการโจมตีที่ CERT/CC ได้รับแจ้ง มักจะเป็นการส่งแพ็กเก็ตจำนวนมากไปยังเครื่องเป้าหมายจนเกินขีดจำกัด ซึ่งอาจจะก่อให้เกิดการใช้งานเครือข่ายจนเต็ม เช่น การส่ง flooding packet โดยปกติมักจะพบในรูปแบบการส่งแพ็กเก็ตจากเครื่องเดียวส่งออกไปยังปลายทางที่เป็นเครื่องเดี่ยวๆ และจากหลายๆ เครื่องๆ โจมตีไปยังเป้าหมายเครื่องเดียว มักจะไม่พบรูปแบบที่โจมตีไปยังเป้าหมายหลายๆ ที่พร้อมกัน

แพ็คเก็ตที่ถูกส่งเพื่อก่อให้เกิดการ flood มักจะถูกใช้มาตั้งแต่อดีตและยังใช้กันอยู่จนถึงปัจจุบันคือ

  • TCP flood คือการส่งแพ็กเก็ต TCP ไปยังเครื่องเป้าหมาย เช่น SYN flood
  • ICMP echo request/reply คือการส่งแพ็กเก็ต ICMP จำนวนมากไปยังเครื่องเป้าหมาย เช่น ping flood, smurf
  • UDP flood คือการส่งแพ็กเก็ต UDP จำนวนมากไปยังเครื่องเป้าหมาย

การโจมตีแบบ flood มีจุดประสงค์เพื่อทำให้พลังในการประมวลผลหรือแบนด์วิดธ์ใช้ไปจนหมด ซึ่งขึ้นอยู่กับ ความเร็วในการส่งแพ็กเก็ตและจำนวนของข้อมูลที่ได้สัดส่วนกันพอดี ซึ่งเครื่องมือบางตัวมีการแก้ไขข้อมูลของแพ็กเก็ตก่อนที่จะส่งออกไปเพื่อเหตุผลบางอย่าง เช่น

  • การแก้ไข Source IP address – หรือเรียกอีกอย่างว่าการทำปลอมไอพี (IP spoofing) โดยอาจจะปลอมเป็นไอพีของเป้าหมาย แล้วส่งแพ็กเก็ตไปยังตัวกลางจำนวนมาก ซึ่งตัวกลางจะส่งแพ็กเก็ตตอบกลับไปยังเป้าหมายที่ต้องการ ตัวอย่างการโจมตีที่เห็นได้ชัดเจนคือ smurf หรือ fraggle
  • การแก้ไข Source/Destination port – การแก้ไขค่า port ในแพ็กเก็ตของ TCP/UDP อาจจะสร้างความยุ่งยากสำหรับ packet filtering firewall ได้
  • การแก้ไขค่า header ของ IP packet อื่นๆ – มีเครื่องมือบางตัวที่สามารถสุ่มเพื่อเปลี่ยนค่า IP header บางตัวได้

แพ็กเก็ตที่ถูกสร้างขึ้นและส่งผ่านเครือข่าย IPv4 นั้น จะสามารถส่งผ่านไปยังปลายทางได้ เนื่องจากไม่มีการตรวจสอบข้อมูลของแพ็กเก็ตในระหว่างการส่งต่อ (IPv4 เป็นส่งผ่านข้อมูลแบบ end to end) โดยทั่วไปผู้ที่สามารถสร้างแพ็กเก็ตได้จะต้องเป็นผู้ที่มีสิทธิ์สูงพอสมควรในเครื่องๆ นั้น

ในเดือนมิถุนายน 1999 เครื่องมือที่สร้างการโจมตีแบบ DDoS หรือการโจมตีจากหลายๆ ที่พร้อมกัน ได้ถูกพัฒนาและนำมาใช้ ซึ่งถือได้ว่าเป็นจุดเริ่มต้นของการพิจารณารูปแบบการโจมตีแบบ DoS เอกสารฉบับนี้จะมุ่งเน้นไปยังรูปแบบการพัฒนาของการโจมตีแบบ DoS และเครื่องมือที่สามารถนำมาใช้งานได้สำเร็จโดยผู้โจมตี

การป้องกันการโจมตีแบบ DoS

การโจมตีแบบ Distributed Denial of Service (DDoS) มักจะนำเครื่องมือที่จะใช้ในการโจมตีไปติดตั้งบนเครื่องที่ถูกเจาะไว้แล้ว ซึ่งมีจำนวนพอสมควร จากนั้นจึงจะระดมส่งข้อมูลในรูปแบบที่ควบคุมได้โดยผู้ควบคุมการโจมตีไปยังเหยื่อหรือเป้าหมายที่ต้องการ ซึ่งการโจมตีรูปแบบนี้มักจะก่อให้เกิดการใช้แบนด์วิดธ์อย่างเต็มที่จนผู้อื่นไม่สามารถใช้งานได้ตามปกติ หรือทำให้ระบบที่ถูกโจมตีไม่มีทรัพยากรเหลือพอที่จะให้บริการผู้ใช้ธรรมดาได้

การป้องกันการโจมตีแบบ DoS นั้น จะสามารถทำได้ก็ต่อเมื่อทราบวิธีของการโจมตีก่อน และการป้องกันการโจมตีในบางครั้งก็ไม่สามารถทำได้ในครั้งเดียว ขึ้นอยู่กับรูปแบบการโจมตี สถาปัตยกรรมของเป้าหมายที่ถูกโจมตี ซึ่งการป้องกันอาจจะได้ผลหรือล้มเหลวก็ขึ้นอยู่กับปัจจัยเหล่านี้คือ

  • การมีคู่มือหรืเอกสารการใช้งานของระบบเป้าหมายที่ถูกโจมตี
  • การตรวจจับการโจมตีสามารถทำได้อย่างรวดเร็วและสามารถค้นหาต้นตอที่แท้จริงได้
  • มีวิธีดำเนินการสนองตอบเหตุการณ์ละเมิดความปลอดภัยอย่างเป็นขั้นตอน (incident response)
  • และการป้องกันรูปแบบอื่นที่สามารถทำได้

รูปแบบการโจมตีและการป้องกัน

เครื่องมือที่ใช้โจมตีแบบ DDoS มีใช้กันอย่างแพร่หลายมานานหลายปีแล้ว และบรรดาผู้ผลิตเองต่างก็มีวิธีป้องกันการโจมตีเช่นเดียวกัน รูปแบบการโจมตีที่นิยมใช้กันก็มีอย่าง SYN flood, UDP flood, ICMP flood, Smurf, Fraggle เป็นต้น ซึ่งจะได้ศึกษาในรายละเอียดและวิธีป้องกันกันต่อไป

  1. SYN Flood
    • รายละเอียด
      เป็นการโจมตีโดยการส่งแพ็คเก็ต TCP ที่ตั้งค่า SYN บิตไว้ไปยังเป้าหมาย เสมือนกับการเริ่มต้นร้องขอการติดต่อแบบ TCP ตามปกติ (ผู้โจมตีสามารถปลอมไอพีของ source address ได้) เครื่องที่เป็นเป้าหมายก็จะตอบสนองโดยการส่ง SYN-ACK กลับมายัง source ip address ที่ระบุไว้ ซึ่งผู้โจมตีจะควบคุมเครื่องที่ถูกระบุใน source ip address ไม่ให้ส่งข้อมูลตอบกลับ ทำให้เกิดสภาวะ half-open ขึ้นที่เครื่องเป้าหมาย หากมีการส่ง SYN flood จำนวนมาก ก็จะทำให้คิวของการให้บริการของเครื่องเป้าหมายเต็ม ทำให้ไม่สามารถให้บริการตามปกติได้ นอกจากนี้ SYN flood ที่ส่งไปจำนวนมาก ยังอาจจะทำให้เกิดการใช้แบนด์วิดธ์อย่างเต็มที่อีกด้วย 
    • การป้องกัน
      • Cisco Router
        เราเตอร์ของ Cisco มีฟังก์ชันการทำงานชื่อ TCP Intercept ซึ่งถูกออกแบบมาเพื่อต่อต้านการโจมตีแบบ SYN flood โดย TCP intercept software จะพยายามสร้างการเชื่อมต่อกับ client หากสำเร็จการเชื่อมต่อดังกล่าวก็จะถูกส่งไปให้กับเครื่องให้บริการต่อไป ดังนั้นการโจมตีแบบ SYN flood จะไม่สามารถเข้าไปถึงเครื่องเป้าหมายจริงๆ ได้ และเราเตอร์ก็ถูกออกแบบให้รองรับการเชื่อมต่อได้มากกว่าเครื่องให้บริการ (server) อีกด้วย แต่ก็มีข้อเสียคือจะทำให้เราเตอร์ใช้ทรัพยากรมากกว่าปกตินอกจากนี้เราเตอร์ของ Cisco ยังมีฟังก์ชันชื่อ Committed Access Rate (CAR) ซึ่งใช้ในการจำกัดแบนด์วิดธ์ที่ใช้สำหรับแต่ละบริการได้ (แก้ไขได้ผ่านทาง extended access control list) ซึ่งไม่เพียงแต่ป้องกันการโจมตีแบบ SYN flood ยังป้องกันการเชื่อมต่อที่ถูกต้องไม่ให้ใช้แบนด์วิดธ์มากเกินไป ซึ่งข้อเสียในการนำไปใช้งานคือในขณะที่เครื่องเป้าหมายถูกโจมตีจะทำให้การเชื่อมต่อจากผู้ใช้ธรรมดาไม่สามารถทำได้ เทคนิคหนึ่งในการนำ CAR ไปใช้งานคือ การจำกัดการเข้าถึงโดยระบุเป็นจำนวน client ที่สามารถเข้าใช้งานได้

         

      • Checkpoint FW-1
        FW-1 มีฟังก์ชั่นชื่อ SYN Defender ซึ่งถูกออกแบบมาเพื่อต่อต้านการโจมตีแบบ SYN flood โดยใช้หลักการเช่นเดียวกันกับ Cisco’s TCP Intercept ซึ่งจะทำให้ SYN packet ถูกหยุดยั้งไว้ที่ FW-1 เช่นเดียวกันกับ Cisco’s TCP Intercept ตัว FW-1 เองก็จะใช้ทรัพยากรมากกว่าปกติในการทำงานในลักษณะดังกล่าว 
      • ไฟร์วอลล์และเราเตอร์ยี่ห้ออื่น
        ส่วนใหญ่จะมีฟังก์ชันที่ป้องกันการโจมตีคล้ายๆ กัน โปรดศึกษาจากคู่มือการใช้งาน 
  2. ICMP Flood
    • รายละเอียด
      เป็นการส่งแพ็คเก็ต ICMP จำนวนมากไปยังเป้าหมาย ทำให้เกิดการใช้งานแบนด์วิดธ์เต็มที่ 
    • การป้องกัน
      ระบบส่วนใหญ่สามารถทำงานได้โดยไม่ต้องใช้ ICMP Echo Request ซึ่งสามารถป้องกันการใช้งานได้โดยใช้คำสั่งที่เราเตอร์หรืออุปกรณ์กรองแพ็คเก็ตอื่นๆ 
  3. UDP Flood
    • รายละเอียด
      เป็นการส่งแพ็คเก็ต UDP จำนวนมากไปยังเป้าหมาย ซึ่งทำให้เกิดการใช้แบนด์วิดธ์อย่างเต็มที่และ/หรือทำให้ทรัพยากรของเป้าหมายถูกใช้ไปจนหมด โดยจะส่ง UDP packet ไปยัง port ที่กำหนดไว้ เช่น 53 (DNS) 
    • การป้องกัน
      เราเตอร์และอุปกรณ์กรองแพ็คเก็ตอื่นๆ สามารถ drop แพ็คเก็ตที่มุ่งโจมตีมายัง port ที่ไม่เป็นที่ต้องการได้ เช่น โจมตีมายัง port ที่ไม่ได้ให้บริการใน port ดังกล่าว ในกรณีที่เป็นการโจมตีเฉพาะ port ที่เปิดให้บริการ เช่น port 53 ก็สามารถป้องกันระบบเป้าหมายได้โดยใช้ CAR เพื่อจำกัดจำนวนข้อมูล 
  4. 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 ได้ เพราะผู้โจมตีไม่สามารถเปลี่ยนแปลงข้อมูลส่วนนี้ได้ 
  5. 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 ได้เช่นเดียวกัน 

จะทำอย่างไรเมื่อถูกโจมตี

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

    1. การแก้ไข DNS
      การแก้ไข DNS entries โดยเปลี่ยน ip address ของระบบที่กำลังถูกโจมตีไปเป็น ip address ใหม่ ให้พยายามลดค่า TTL ของ DNS record ให้น้อยที่สุดเท่าที่จะเป็นไปได้ และพิจารณาว่าควรย้าย DNS server ไปยังลิ้งค์อื่นที่ไม่ใช่ลิ้งค์เดียวกันกับระบบที่กำลังถูกโจมตี โดยพิจารณาได้จาก traffic ที่จะเกิดขึ้นจาก DNS server เครื่องนี้ นอกจากนี้ควรตรวจสอบ secondary DNS server ด้วยว่ามีความพร้อมในการทำงานหรือไม่หาก primary DNS server มีปัญหา 
    2. Network Address Translation
      หากระบบที่ถูกโจมตีสามารถใช้งาน NAT ได้ ก็จะทำให้ง่ายในการเปลี่ยน ip address หากไม่มี NAT ถูกติดตั้งในระบบไว้แล้ว ก็ควรติดตั้งเพิ่มเติม โดยปกติแล้วเราเตอร์ก็มีความสามารถนี้ นอกจากนี้ควรพิจารณาถึงระบบที่สามารถทำ load balancing ได้ เพื่อกระจายภาระงานให้ทั่วถึง 
    3. filter ค่า ip address เดิม
      traffic ที่เข้ามายัง ip address ตัวเดิมจะมีแค่ traffic ที่เกิดจากการโจมตี และจากผู้ใช้ที่ยังใช้ค่า DNS entry เก่าเท่านั้น(ซึ่งเกิดจากการกระจายตัวของ DNS entry นั้นจะต้องใช้เวลาซักระยะ) ดังนั้นจึงสามารถบล็อก traffic สำหรับ ip address นี้ได้ หากไม่ต้องการให้ traffic ของ ip address ชุดเดิมเข้ามาภายในระบบก็สามารถทำได้โดยการยกเลิก routing สำหรับ ip address เดิมเสีย 
    4. ใช้ ip address ชุดใหม่และลิ้งค์ที่แตกต่าง
      มีวิธีแก้ไขที่ได้ผลอีกวิธีคือ การเปลี่ยนไปใช้ลิ้งค์ชุดใหม่และ ip address บล็อกใหม่ทั้งหมด หากผู้โจมตีหยุดการโจมตีและเปลี่ยนเป้าหมายเป็น ip address ชุดใหม่ ผู้ดูแลระบบก็สามารถเปลี่ยน ip address และลิ้งค์กลับไปเป็นลิ้งค์เดิมได้ 
    5. การป้องกันการโจมตี DNS server
      การป้องกันการโจมตีที่กล่าวมาด้านบนนี้ อาศัยฟังก์ชันการทำงานของ DNS server เพื่อกระจายข่าวการเปลี่ยน ip address ชุดใหม่ ดังนั้นผู้โจมตีอาจจะเปลี่ยนเป้าหมายมาเป็น DNS server ก็เป็นได้ โดยสามารถโจมตีมายัง port 53 ทั้ง UDP flood หรือ SYN flood ได้ มีวิธีป้องกันดังต่อไปนี้

      • วางเครื่อง primary DNS server ไว้ในลิ้งค์ที่แยกต่างหาก
      • สำรองข้อมูลของ primary DNS server ไปยังที่ตั้งแห่งใหม่
      • สร้าง secondary DNS server ไว้ในหลายๆ จุด บนลิ้งค์ที่แตกต่างกัน
      • ใช้ primary DNS server ที่ผู้อื่นมองไม่เห็น (unadvertised) และเชื่อมโยงไปยัง secondary DNS server โดยลิ้งค์ที่แยกต่างหาก
      • สร้าง non-advertised secondary DNS server ที่สามารถพร้อม advertise ได้ตลอดเวลา
    6. ผู้โจมตี
      หากผู้โจมตีเปลี่ยนเป้าหมายมาเป็น ip address ใหม่ตามที่กำหนด จะทำให้สามารถประมาณการณ์การตั้งรับได้ เช่น

      • เมื่อผู้โจมตีซึ่งควบคุมการโจมตีเปลี่ยนแปลงคำสั่ง ก็จะทำให้เพิ่มโอกาสในการตามจับตัวได้ง่ายขึ้น
      • หากมีการจับตาดู traffic จะทำให้เพิ่มโอกาสในการตามจับตัวได้ง่ายขึ้น

คำแนะนำทั่วไป

  • จัดหาแบนด์วิดธ์ให้มากกว่าความต้องการใช้งานยามปกติ
  • สร้างระบบสำรองทั้งระบบเครือข่ายและระบบของเครื่องให้บริการ
  • ถ้าเป็นไปได้พยายามแยก traffic ให้ออกจากกันให้ได้ เช่น ใช้ ISP คนละแห่งกันสำหรับลิ้งค์ไปยัง web server และลิ้งค์เพื่อใช้งานอินเทอร์เน็ต
  • ติดต่อ network service provider ในเรื่อง
    • นำระบบป้องกันการโจมตีแบบ DoS มาใช้
    • ระบบป้องกัน DoS ที่มีอยู่
    • ข้อมูลติดต่อในกรณีฉุกเฉิน
    • ผู้ให้บริการ upstream
  • ให้กรองข้อมูลที่ไม่มีประโยชน์ทิ้ง เช่น
    • กรอง private ip addresses เช่น 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16
    • กรอง broadcast address ซึ่งปกติจะลงท้ายด้วย .255 หรือ .0
    • กรอง loopback address (127.0.0.0/8)
    • ป้องกันการปลอมแปลง ip address โดยกรองแพ็คเก็ตที่มาจากภายนอกและมี source ip address ตรงกันกับ ip address ในระบบเครือข่ายของตนเอง

แหล่งที่มา :    http://www.compspot.net/index.php?option=com_content&task=view&id=314&Itemid=49

ใส่ความเห็น