การทดสอบความปลอดภัย - การปฏิเสธการให้บริการ

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

อาการของ DoS

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

Hands ON

Step 1- เปิด WebGoat และไปที่ส่วน 'ปฏิเสธการให้บริการ' ภาพรวมของสถานการณ์ได้รับด้านล่าง เราจำเป็นต้องล็อกอินหลายครั้งโดยการละเมิดขนาดเธรดพูล DB สูงสุด

Step 2- ก่อนอื่นเราต้องได้รับรายชื่อการเข้าสู่ระบบที่ถูกต้อง เราใช้ SQL Injection ในกรณีนี้

Step 3 - หากความพยายามสำเร็จจะแสดงข้อมูลรับรองที่ถูกต้องทั้งหมดให้กับผู้ใช้

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

กลไกการป้องกัน

  • ดำเนินการตรวจสอบอินพุตอย่างละเอียด

  • หลีกเลี่ยงการดำเนินการที่ใช้ CPU สูง

  • แยกดิสก์ข้อมูลออกจากดิสก์ระบบจะดีกว่า