บทเรียนสำคัญ เมื่อแฮ็กเกอร์รัสเซียใช้ช่องโหว่อีเมลโจมตีเว็บไซต์ Django

   By: DH Team

   อัปเดตล่าสุด Jan. 17, 2025

บทเรียนสำคัญ เมื่อแฮ็กเกอร์รัสเซียใช้ช่องโหว่อีเมลโจมตีเว็บไซต์ Django

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




เว็บ thelifesigns.com


เหตุการณ์เริ่มต้น

อีเมลแจ้งเตือนจาก AWS: เจ้าของเว็บไซต์ได้รับอีเมลจาก Amazon Web Services (AWS) ระบุว่าการส่งอีเมลผ่านบริการ AWS Simple Email Service (SES) ของเขามีอัตราการร้องเรียนว่าเป็น "สแปม" สูงถึง 0.5% ซึ่งเกินกว่าค่ามาตรฐานที่ AWS กำหนดไว้ที่ 0.1%

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



บริการของเว็บ Lifesigns

Lifesigns เป็นเว็บไซต์ nonprofit (ไม่แสวงหากำไร) ที่พัฒนาด้วย Django Framework มีวัตถุประสงค์เพื่อช่วยเหลือผู้ที่อาศัยอยู่คนเดียว โดยระบบทำงานผ่านอีเมลที่ส่งให้ผู้ใช้งานเพื่อตรวจสอบ "สัญญาณชีวิต"

    วิธีการทำงาน

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


      ต้นตอของปัญหา

      1. การวิเคราะห์ GeoIP

      เจ้าของเว็บไซต์ใช้เครื่องมือ GeoIP เพื่อตรวจสอบที่มาของการร้องเรียน พบว่าผู้ใช้งานที่แจ้งว่าอีเมลเป็นสแปมส่วนใหญ่มาจาก รัสเซีย



        2. พฤติกรรมของผู้ใช้งานจากรัสเซีย

        ผู้ใช้งานจากรัสเซียส่วนใหญ่ลงทะเบียนด้วยอีเมล Gmail, Yahoo หรือ Hotmail ซึ่งเป็นผู้ให้บริการ Email service ยอดนิยมในอเมริกา แต่พวกเขาไม่เคยเข้าสู่ระบบหรือใช้งานบริการจริง



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


        3. ช่องโหว่ในระบบ Reset Password

        ระบบอนุญาตให้ผู้ใช้กรอกอีเมลเพื่อ "Reset Password" ได้โดยไม่ตรวจสอบว่าที่อยู่อีเมลนั้นมีบัญชีอยู่จริงหรือไม่

        แฮกเกอร์ใช้ช่องโหว่นี้ส่งคำขอ Reset Password ไปยังอีเมลจำนวนมาก และกดแจ้งว่าเป็นสแปม ทำให้อัตราการร้องเรียนเพิ่มสูงขึ้น



        การแก้ปัญหา

        1. เพิ่ม CAPTCHA
        • ระบบถูกปรับปรุงโดยเพิ่ม CAPTCHA ในขั้นตอนการลงทะเบียน เพื่อลดจำนวนการสมัครบัญชีปลอม
        • ผลลัพธ์คือการลงทะเบียนจากรัสเซียลดลงอย่างมาก


        เพิ่ม Captcha เข้ามาช่วยแก้ปัญหาส่วนนี้ได้


        2. แก้ไขช่องโหว่ Reset Password
        • ระบบถูกแก้ไขให้ตรวจสอบก่อนว่าอีเมลที่กรอกในฟีเจอร์ Reset Password มีบัญชีอยู่ในระบบจริงหรือไม่ ก่อนจะส่งอีเมล
        ซึ่งโดยปกติแล้วระบบควรมีการตรวจสอบอีเมลก่อนดำเนินการ เช่น ค้นหาว่าอีเมลดังกล่าวมีอยู่ในฐานข้อมูลของผู้ใช้งานหรือไม่ หากไม่มี ก็ควรแสดงข้อความแจ้งว่า "อีเมลนี้ไม่ได้ลงทะเบียนในระบบ" และไม่ดำเนินการส่งอีเมลใด ๆ ไป เพราะแฮกเกอร์ใช้เครื่องมือหรือสคริปต์อัตโนมัติ (Automation Scripts) เพื่อส่งคำขอ Reset Password ไปยังอีเมลจำนวนมาก


        บทเรียนสำคัญในครั้งนี้

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


        ที่มา


        เปิดโลกการเขียนโปรแกรมและ Software Development ด้วย online courses ที่จะพาคุณอัพสกิลและพัฒนาสู่การเป็นมืออาชีพ เรียนออนไลน์ เรียนจากที่ไหนก็ได้ พร้อมซัพพอร์ตหลังเรียน

        เรียนเขียนโปรแกรม