วิลลี่

ผู้เขียน : วิลลี่

อัพเดท: 13 ต.ค. 2006 02.24 น. บทความนี้มีผู้ชม: 18001 ครั้ง

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


คืออะไร ป้องกันและโต้ตอบได้อย่างไร

*ขอขอบคุณ เอกสารเผยแพร่จาก ThaiCERT


ชื่อบทความ Denial of Service Attacks หรือ DoS
เรียบเรียงจาก
CERT Coordination Center "Denial of Service Attacks"
ผู้เรียบเรียง เลอศักดิ์ ลิ้มวิวัฒน์กุล
วันที่ 19 มิถุนายน 2549


บทนำ

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

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

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

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



ผลกระทบ

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

การโจมตีแบบ DoS มีข้อน่าสังเกตอีกว่าผู้โจมตีหรือผู้บุกรุกไม่จำเป็นต้องมีเครื่องโจมตีที่มีกำลังการทำงานสูงมากนักก็สามารถที่จะทำให้เป้าหมายตกอยู่ในสภาพการปฏิเสธการให้บริการหรือ DoS ก็ได้ เรามักเรียกว่า "Aymmetric Attack" ตัวอย่างเช่นการนำไฟล์ขึ้นมาวางในพื้นที่ของบริการ FTP เป็นต้น



รูปแบบของการโจมตี

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

ก. การเข้าใช้หรือยึดครองทรัพยากรที่มีอย่างจำกัดหรือไม่สามารถสร้างขึ้นใหม่ได้โดยง่าย

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

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

    http://www.cert.org/advisories/CA-1996-21.html

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

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

  2. การใช้ทรัพยากรของเป้าหมายให้เป็นประโยชน์

    ผู้บุกรุกสามารถใช้ทรัพยากรของเป้าหมายในการสร้างความเสียหายให้กับเป้าหมายเองได้ ตัวอย่างเช่น

    http://www.cert.org/advisories/CA-1996-01.html

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

  3. การใช้ทรัพยากรแบนด์วิธ

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

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

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

    ดังนั้นแบนด์วิธถือเป็นเป้าหมายอันดับแรกเสมอสำหรับการโจมตีทั้งแบบ DoS หรือ DDoS ก็ตาม

  4. การใช้ทรัพยากรประเภทอื่น

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

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

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

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

    ผู้บุกรุกยังสามารถใช้ทรัพยากรของหน่วยเก็บข้อมูลสำรองหรือดิสก์ในระบบได้ เช่น

    • ส่งอีเมล์จำนวนมากเข้าสู่ระบบให้บริการอีเมล์

      http://www.cert.org/tech_tips/email_bombing_spamming.html

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

      http://www.cert.org/tech_tips/anonymous_ftp_config.html

    • การนำไฟล์ไปวางไว้ในพื้นที่แชร์ไฟล์ร่วมกันในเครือข่าย โดยมีจุดประสงค์ในการใช้เนื้อที่จนเต็ม

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

    บางระบบกำหนดจำนวนครั้งสูงสุดที่สามารถล็อกอินผิดพลาด เมื่อครบจำนวน ระบบจะทำการดิสเอเบิลสถานภาพการล็อกอินเข้าสู่ระบบของผู้ใช้โดยทันที เช่นกำหนดให้พิมพ์รหัสผ่านผิดพลาดได้ไม่เกิน 3 หรือ 5 ครั้งถ้าผิดเกิดจำนวนระบบจะไม่อนุญาตให้ผู้ใช้ทำการล็อกอินได้อีก ต้องติดต่อผู้ดูแลระบบเพื่อขออนุญาตใช้งานอีกครั้งเป็นต้น การป้องกันระบบด้วยวิธีการนี้ทำให้ผู้บุกรุกสามารถใช้ในการทำให้ผู้ใช้ปกติในระบบไม่สามารถล็อกอินเข้าสู่ระบบได้ รวมถึงผู้ดูแลระบบเองก็อาจจะถูกเหมารวมไปในวิธีการเดียวกันนี้ เป็นสาเหตุให้ผู้ดูแลระบบเองก็ไม่สามารถล็อกอินเข้าสู่ระบบได้ด้วย ผู้ดูแลระบบต้องแน่ใจว่ามีระบบสำรองไว้เข้าสู่ระบบในกรณีที่เกิดเหตุการณ์นี้ขึ้น ควรจะศึกษาคู่มือระบบให้เข้าใจถึงการทำงานของการกำหนดจำนวนครั้งที่ผิดพลาดในการล็อกอินก่อนจะทำการดิสเอเบิลผู้ใช้นั้นๆ รวมถึงวิธีการแก้ไขเมื่อเกิดกรณีฉุกเฉินขึ้น

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

    http://www.cert.org/advisories/CA-1996-26.html

    ถ้าระบบพบอาการที่ไม่สามารถทำงานได้ตามปกติโดยไม่ทราบสาเหตุบ่อยครั้ง อาจจะเป็นข้อสังเกตถึงการโดนโจมตีในลักษณะนี้ก็เป็นได้

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

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

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

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

http://www.cert.org/tech_tips/unix_configuration_guidelines.html

สำหรับระบบปฏิบัติการในตระกูลวินโดวส์หาข้อมูลเพิ่มเติมได้ที่

http://www.microsoft.com/security

ค. การเข้าทำลายหรือเปลี่ยนแปลงอุปกรณ์เครือข่ายหรือชื้นส่วนหนึ่งส่วนใดทางกายภาพ

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

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



การป้องกันและการโต้ตอบ

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


เอกสารอ้างอิง
[1] CERT Coordination Center, "Denial of Service Attack,", http://www.cert.org/tech_tips/denial_of_service.html



Revision History
4 สิงหาคม 2546   แปลและเรียบเรียงครั้งที่ 1


*ขอขอบคุณ เอกสารเผยแพร่จาก ThaiCERT

บทความนี้เกิดจากการเขียนและส่งขึ้นมาสู่ระบบแบบอัตโนมัติ สมาคมฯไม่รับผิดชอบต่อบทความหรือข้อความใดๆ ทั้งสิ้น เพราะไม่สามารถระบุได้ว่าเป็นความจริงหรือไม่ ผู้อ่านจึงควรใช้วิจารณญาณในการกลั่นกรอง และหากท่านพบเห็นข้อความใดที่ขัดต่อกฎหมายและศีลธรรม หรือทำให้เกิดความเสียหาย หรือละเมิดสิทธิใดๆ กรุณาแจ้งมาที่ ht.ro.apt@ecivres-bew เพื่อทีมงานจะได้ดำเนินการลบออกจากระบบในทันที