Cyber Security 101 — DDoS การโจมตีสุดอันตราย
ขอแนะนำซีรีย์ 101 by Engiblog ที่จะพาทุกคนไปทำความรู้จักกับคำศัพท์เบสิกในโลกเทคโนโลยีที่คุณอาจจะรู้อยู่แล้วหรือไม่เคยรู้มาก่อน เรามาเรียนรู้กันไปด้วยกันใน 2 นาทีครับ
บทความนี้จะขอเล่าถึงเทคนิคการโจมตีรูปแบบหนึ่งที่มิจฉาชีพหรือผู้ปองร้ายนิยมมากๆ เนื่องจากโจมตีได้ไม่ยาก แต่ช้าก่อน! เราไม่ได้มาสอนให้โจมตี ชี้โพรงให้กระรอกนะ แต่เราจะมาทำความรู้จัก DDoS และวิธีการป้องกันกันครับ
DDoS (Distributed Denial of Service)
เทคนิคการโจมตีแบบ DDoS (Distributed Denial of Service) เป็นการโจมตีทางไซเบอร์รูปแบบหนึ่งที่มุ่งเป้าไปที่การทำงานของระบบ ทำอย่างไรก็ได้ให้ทรัพยากรระบบหรือเครือข่ายไม่สามารถใช้งานหรือให้บริการต่อไปได้ ซึ่งอาจจะใช้วิธีที่ทำให้เซิร์ฟเวอร์ทำงานหนักโดยการเรียกใช้ถี่ๆ (Request) จนทำให้เซิร์ฟเวอร์ทำงานช้าลงหรือหยุดทำงานโดยสิ้นเชิง ทำให้เครือข่าย (Network) ล่มด้วยปริมาณการจราจร (Traffic) ที่มากเกินไปจน Bandwidth เต็ม หรือใช้จุดอ่อน/ช่องโหว่ของซอฟต์แวร์เพื่อควบคุมระบบหรือเครือข่ายให้หยุดทำงาน
การโจมตีแบบ DDoS มีหลากหลายประเภทด้วยกัน เช่น
- การโจมตีแบบเชิงปริมาณ (Volumetric Attack) เป็นการทำให้เซิร์ฟเวอร์หรือเครือข่ายล่มด้วยปริมาณการจราจร (Traffic Bandwidth) ที่มากเกินไป จนเซิร์ฟเวอร์หรือเครือข่ายไม่สามารถให้บริการต่อได้ ซึ่งการโจมตีประเภทนี้มักใช้วิธีการต่างๆ เช่น การโจมตี SYN Flood การโจมตี UDP Flood และการโจมตี Ping Flood
- SYN Flood Attacks คือการสร้างการเชื่อมต่อ SYN จำนวนมากมายจนเต็มพื้นที่ในตารางการเชื่อมต่อของเครื่องแม่ข่ายเป้าหมาย โดยไม่ดำเนินการเชื่อมต่อให้สมบูรณ์ ทำให้ระบบถูกยับยั้งและไม่สามารถรับคำขอเชื่อมต่อจากผู้ใช้งานทั่วไปได้
- UDP Flood Attacks เน้นที่การส่งแพ็คเกจข้อมูล UDP (User Datagram Protocol) มาเครื่องแม่ข่ายหรือเซิร์ฟเวอร์เป้าหมาย เพื่อทำให้ระบบทำงานช้าลงหรือหยุดทำงาน โดยการส่งแพ็คเกจข้อมูล UDP นั้น จะไม่มีสถานะของการเชื่อมต่อเพื่อใช้ในการตรวจจับและแก้ไขข้อผิดพลาดจึงทำให้ยากต่อการป้องกัน
- ICMP Flood Attacks เป็นการส่งข้อความ ICMP Echo Request มาที่เครื่องแม่ข่ายหรือเซิร์ฟเวอร์เป้าหมาย ให้เกิดการเรียกคืนข้อความ Echo Reply จำนวนมากมาย จนระบบต้องใช้ทรัพยากรในการตอบสนองตลอดเวลา
- HTTP Flood Attacks เน้นที่การส่งคำขอ HTTP มาเว็บไซต์หรือเซิร์ฟเวอร์เป้าหมายด้วยจำนวนมาก ทำให้ทรัพยากรของระบบถูกบุกรุกและใช้หมดลง ผู้ใช้งานทั่วไปจึงไม่สามารถเข้าถึงบริการได้
- Application Layer Attacks เน้นการโจมตีที่ระดับแอปพลิเคชัน เช่น HTTP POST หรือ GET Requests จำนวนมากที่ส่งมาเว็บแอปพลิเคชันเป้าหมาย ทำให้เว็บไม่สามารถทำงานได้
- DNS Amplification Attacks เป็นการส่งคำขอ DNS Resolver มา DNS Server เป้าหมาย โดยปลอมแปลง IP Source Address ของผู้โจมตี เมื่อ DNS Resolver ตอบกลับ ก็จะตรงไปที่ IP Source Address ที่ถูกปลอมแทน
วิธีการการป้องกันการโจมตีแบบ DDoS
ที่นิยมใช้ก็จะมีด้วยกัน 3 วิธี ดังนี้
- การใช้ Firewall เพื่อทำการกรองหรือบล็อก Traffic ขาเข้าจากการโจมตี
- ควรมีระบบเซิร์ฟเวอร์หรือเครือข่ายสำรอง เมื่อระบบหลักโดนโจมตีด้วย DDoS เราสามารถย้ายไปใช้งานระบบเซิร์ฟเวอร์หรือเครือข่ายสำรองทำงานแทนก่อนได้
- ใช้บริการ DDoS Protection กับบริการที่มีความสำคัญเพื่อให้สามารถบริการได้อย่างต่อเนื่อง เช่น ใช้บริการ DDoS Protection ของทาง Cloudflare สำหรับ Web Server ของเว็บไซต์ที่เราต้องการป้องกันการโจมตีด้วยเทคนิค DDoS เนื่องจาก Cloudflare มีบริการป้องกัน DDoS ที่ช่วยป้องกัน (Block) Request ที่เรียกเว็บไซต์ไปยัง Web Server ได้
DDoS Attack เป็นการโจมตีทางไซเบอร์ที่เราประมาทไม่ได้เลย ดังนั้นผู้พัฒนาควรมีการออกแบบโครงสร้างของระบบให้มีการป้องกันการโจมตี DDoS ตั้งแต่แรก ไม่ว่าจะทางเซิร์ฟเวอร์และเครือข่าย เพราะถ้าไม่มีการออกแบบตั้งแต่แรก เมื่อเกิดการโจมตีขึ้น นอกจากจะส่งผลต่อการใช้งานแล้ว ยังกระทบความน่าเชื่อถือและชื่อเสียงขององค์กรด้วย โดยเฉพาะในกรณีของบริการที่มีความสำคัญหรือมีผู้ใช้บริการจำนวนมาก
สำหรับใครที่ชื่นชอบบทความนี้ อย่าลืมกดติดตาม Medium: KBTG Life เรามีสาระความรู้และเรื่องราวดีๆ จากชาว KBTG พร้อมเสิร์ฟให้ที่นี่ที่แรก