DDoS การโจมตีที่จะทำให้เว็บล่มได้

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

การโจมตี DDoS ทำงานอย่างไร?

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

  • มีการรับส่งข้อมูลจำนวนมากๆจาก IP เดียวกันหรือช่วง IP ใกล้กัน
  • การเข้าถึงหน้าเว็บมีพฤติกรรมเดียวกันเช่น มีการค้นหาข้อมูลที่เหมือนกันๆกันเป็นจำนวนมากๆ
  • มีรูปแบบการเข้าชมที่ไม่ปกติเช่น มีการเข้าชมที่เพิ่มขึ้นอย่างรวดเร็วในทุกๆ 10 วินาที

ประเภทการโจมตีของ DDoS

ในการโจมตีนั้นมีหลายประเภทซึ่งแต่ละประเภทล้วนมีเป้าหมายที่แตกต่างกัน โดยสามารถแบ่งประเภทการโจมตีได้ตาม Network Layer ที่มีอยู่ 7 Layers ด้วยกัน

1. Application Layer Attacks
     ในการโจมตีของ Application Layer นั้นจะใช้ทรัพยากรของเครื่องเป้าหมายจนหมดทำให้ผู้ใช้งานไม่สามารถใช้บริการได้ โดยคนที่โจมตีจะส่ง Requests เป็นจำนวนมากๆจากหลายๆเครื่องเช่น การค้นหาข้อมูลต่างๆบนหน้าเว็บที่มีการเรียก Databae มากๆหรือการ Refresh Web Browder จากหลายๆเครื่อง เมื่อมี Requests มากเกินไป Server ก็ไม่สามารถตอบสนองการใช้งานได้

2. Protocol Attacks
     เป็นการโจมตีระดับโปรโตคอล โดยคนโจมตีจะส่ง TCP(Transmission Control Protocol) Requests จำนวนมหาศาลที่มี IP Address ที่แตกต่างกันออกไป แล้วส่ง Requests ไปยัง Server เป้าหมายให้พยายามตอบนองแต่ละ Requests ซึ่งจะทำให้ Server ไม่สามารถตอบสนองการใช้งานได้หรือหยุดการทำงานไปชั่วคราว

3. Volumetric Attacks
     เป็นการโจมตีโดยการพยายามใช้แบนด์วิธที่มีอยู่ทั้งหมดเพื่อให้บริการขัดข้อง การโจมตีนี้จะทำให้ผู้ใช้บริการอินเทอร์เน็ตขนาดใหญ่(ISP) มีปัญหาในการใช้บริการได้ โดยคนโจมตีจะปลอม IP Address ขึ้นมาจากนั้นส่ง Requests เพื่อขอค้นหาชื่อ DNS ที่ Server เมื่อ DNS Server ได้รับ Requests มากเกินไปก็ทำผู้ให้บริการอินเทอร์เน็ตเกิดปัญหาขึ้นได้

ผลที่อาจเกิดขึ้นจากการทำ DDoS

1. เรียกค่าไถ่ เมื่อการโจมตีสำเร็จ ทำให้เว็บไซต์อาจไม่สามารถใช้งานได้ ทำให้เจ้าของเว็บไซต์เกิดความเสียหายทางธุรกิจ ในจังหวะนี้เองแฮกเกอร์ก็จะเรียกค่าไถ่กับเจ้าของเว็บไซต์เพื่อปลดล็อคให้ระบบสามารถใช้กลับมาได้งานได้ปกติอีกครั้ง
2. การโจตีบริษัทหรือหน่วยงานของรัฐบาล เว็บไซต์บริษัทใหญ่ๆหรือหน่วยรัฐบาลย่อมเป็นเป้าโจมตีของแฮกเกอร์เพื่อให้เกิดความเสียหายกับองค์กรนั้นๆ
3. การก่อสงครามไซเบอร์ ในหลายๆประเทศใช้ DDoS โจมตีโดยเฉพาะระบบสำคัญๆอย่างระบบสื่อสารต่างๆ ไม่ให้สามารถใช้งานได้ 

วิธีป้องกันการโจมตี DDoS

     การรับมือจากการโจมตีแบบ DDoS นั้นเป็นเรื่องที่ยาก เพราะต้องแยกให้ได้ระหว่างการใช้บริการปกติหรือเป็นการโจมตีแบบ DDoS ดังนั้นควรมีการบริหารจัดการด้าน Serverและการดูแลข้อมูลของระบบเพื่อเตรียมรับมือหากมีการโจมตีเกิดขึ้น

  • ประเมิน Trafic บนเว็บไซต์: เจ้าของเว็บไซต์ควรทราบว่าในแต่ละวันจะมีผู้ใช้บริการบนเว็บไซต์เท่าไร่ หรือบางช่วงอาจมี Trafic  เพิ่มขึ้นจากการใช้งานของลูกค้า เช่น เว็บ E-commerce ที่มักมีการจัดโปรโมชั่น ซึ่งจะทำให้ทราบว่าจำนวนคนที่อาจจะเพิ่มขึ้นจะอยู่ในช่วงไหน เพื่อจะประเมินได้ว่าช่วงที่มี Trafic เพิ่มสูงเป็นช่วงที่อยู่ในการคาดการณ์อยู่แล้วไม่ได้เกิดจาก DDoS แต่หากช่วงที่ Trafic สูงไม่ได้อยู่ในการคาดการณ์แล้วก็สามารถตั้งการแจ้งเตือนจากระบบ Cloud Service ได้ เพื่อให้ DevOps สามารถเข้ามาตรวจสอบและป้องกันการโจมตีนี้ได้
  • Rate Limiting: เป็นอีกวิธีหนึ่งที่ช่วงลดการโจมตี DDoS ได้คือการจำกัดจำนวน Requests ที่ขอไปยัง Server โดยอาจกำหนดได้ว่าหากมีการ Requests จาก IP หนึ่งที่ดูผิดปกติมากเกินจำนวนที่จำกัดไว้แล้ว การจะขอ Requests ใหม่ได้นั้นต้องรอตามจำนวนเวลาที่กำหนดไว้
  • การประเมินความเสี่ยงและค้นหาช่องโหว่: ในองค์กรใหญ่ควรประเมินความเสี่ยงของซอฟต์แวร์เช่น มีการจ้างบริษัทที่มีความเชี่ยวชาญทำ penetration testing เพื่อตรวจสอบว่าเรามีช่องโหว่ตรงที่แฮกเกอร์อาจนำมาเป็นเป้าโจมตีได้
  • ใช้ Content Delivery Network(CDN): CDN นั้นคือระบบเครือข่ายขนาดใหญ่โดยมีการกระจายตัวของเครื่อง Server อยู่ตามภูมิภาคต่างๆทั่วโลก ดังนั้นหากเกิดการโจมตีเกิดขึ้นเรายังสามารถเรียกใช้ข้อมูลจาก Server อื่นๆได้

ตัวอย่างเหตุการณ์การ การโจมตี DDoS

1. มีการโจมตี Amazon Web Services (AWS) ในปี 2020 AWS เป็นบริษัทที่ให้บริการประมวลผลบนคลาวด์(Cloud Computing) ให้บริการทั้งหน่วยงานรัฐบาลและบริษัทต่างๆกว่า 1 ล้านแห่ง การโจมตีนี้พบว่ามีการรับส่งข้อมูลขนาดผิดปกติ 2.3 terabits ต่อวินาทีเข้าในใน Server ต่อเนื่องกันเป็นเวลา 3 วัน หวังให้บริการของ AWS ล่ม คนโจมตีใช้เทคนิคที่เรียกว่า Connectionless Lightweight Directory Access Protocol (CLDAP) คือการปลอมหมายเลข IP ตัวเองเป็น IP เป้าหมายแทนแล้วส่ง Request ไปยัง DNS เพื่อให้เกิด Response ขนาดใหญ่ หวังให้ไปรบกวน Bandwidth ของผู้ใช้บริการจนไม่สามารถให้บริการได้ โชคดีที่ AWS สามารถยับยั้งการโจมตีนี้เอาไว้ได้แต่การโจมตีครั้งนี้นับเป็นครั้งที่ใหญ่ที่สุด
2. GitHub เว็บไซต์ที่เป็นศูนย์รวมของนักพัฒนาซอฟต์แวร์จากทั่วโลกถูกโจมตีในปี 2018 การโจมตีนี้มี Trafic เข้ามามากถึง 1.35 Tbps หรือ 1,350 Mb ต่อวินาที การโจมตีใช้เวลา 20 นาที ระหว่างการโจมตี GitHub มีระบบแจ้งเตือนเกิดขึ้นแต่การโจมตีนี้ก็ทำให้ GitHub ไม่สามารถใช้งานได้ 10 นาที การโจมนี้นี้ไม่ได้ใช้เทคนิคที่สร้างบอทขึ้นมาเหมือนทั่วๆไปแต่ใช้การสร้าง Server ที่เรียกว่า Memcached Server ขึ้นมา ซึ่งเครื่องนี้สามารถสร้าง Trafic ขนาดใหญ่ในการส่ง Requests ได้
3. การโจมตี Google เมื่อวันที่ 11 มิถุนายน 2022 โดย Google ได้มีการรายงานภัยคุกคามการโจมตีระบบ มีการส่ง Requests มากกว่า 10,000 ครั้งต่อวินาที 8 นาทีต่อมามีการส่ง Requests อีกเพิ่มเป็น 100,000 ครั้งต่อวินาที การโจมตีครั้งนี้ไม่สำเร็จเพราะมีระบบ Cloud Armor Adaptive Protection แจ้งเตือนมีการประเมินว่าการรับส่งข้อมูลที่เกิดขึ้นไม่ปกติและบล็อกการรับส่งข้อมูลนี้

ป้ายกำกับ

แสดงเพิ่มเติม

บทความยอดนิยม

Software Development Life Cycle (SDLC) คืออะไร ทำไมจำเป็นต่อการพัฒนาซอฟต์แวร์

ม.ปลายอยากเข้าสายคอม วิทยาการคอม วิศวกรรมคอม เตรียมตัวอย่างไร ต้องมีพื้นฐานอะไรบ้าง

Automation testing หรือ การทดสอบซอฟต์แวร์อัตโนมัติ คืออะไร ทำไมถึงสำคัญต่อการทดสอบซอฟต์แวร์

วิธีเก็บ วิเคราะห์ รวบรวม requirement อย่างไรให้มีประสิทธิภาพ

Performance Test คือ อะไร วัดประสิทธิภาพของระบบ ล่มไม่ล่ม จะรู้ได้อย่างไร

8 สิ่งที่ AI จะมาเปลี่ยนโลกในอนาคต

ถอดรหัสความลับเครื่อง Enigma จุดเริ่มต้นและจุดจบของสงครามโลกครั้งที่ 2