รู้จัก CSRF: ภัยเงียบที่แฮกบัญชีคุณได้แค่คลิกเดียว

รู้จัก CSRF: ภัยเงียบที่แฮกบัญชีคุณได้แค่คลิกเดียว

เคยสงสัยไหมว่าทำไมจู่ๆ บัญชีออนไลน์ของคุณถึงมีการเคลื่อนไหวแปลกๆ ทั้งที่คุณไม่ได้ตั้งใจทำ? นี่คือการโจมตีที่เรียกว่า CSRF หรือ Cross-Site Request Forgery เป็นเทคนิคที่หลอกเบราว์เซอร์ของคุณ ให้ทำตามคำสั่งร้ายๆ บนเว็บไซต์ที่คุณล็อกอินอยู่ โดยที่คุณไม่รู้ตัวเลย

CSRF ทำงานยังไง?

ลองนึกภาพว่าคุณล็อกอิน ธนาคารออนไลน์ (เว็บไซต์ A) อยู่ แล้วบังเอิญไปคลิกลิงก์น่าสงสัยในอีเมล หรือเว็บไซต์อื่น (เว็บไซต์ B) ที่ถูกสร้างมาเพื่อหลอกลวง

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

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

เงื่อนไขที่ทำให้ CSRF เกิดขึ้นได้

CSRF จะสำเร็จได้ ต้องมีองค์ประกอบสำคัญ

หนึ่งคือ ผู้ใช้งานต้อง ล็อกอิน เข้าสู่ระบบของเว็บไซต์เป้าหมายอยู่แล้ว

สองคือ เว็บไซต์ต้องใช้ คุกกี้ ในการยืนยันเซสชัน

สามคือ คำสั่งที่ผู้โจมตีต้องการ ส่งผ่านได้ด้วยการร้องขอแบบ HTTP GET หรือ HTTP POST ทั่วไป

และสุดท้าย คำสั่งนั้น ไม่ต้องมีการยืนยันเพิ่มเติม จากผู้ใช้งาน เช่น ไม่ต้องใส่รหัสผ่านซ้ำ หรือป้อน OTP

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

เมื่อการโจมตี CSRF สำเร็จ ความเสียหายอาจร้ายแรง

ผู้โจมตีสามารถ เปลี่ยนรหัสผ่าน หรือ เปลี่ยนอีเมล ทำให้เข้าควบคุมบัญชีคุณได้

อาจมีการ โอนเงิน ออกจากบัญชีธนาคาร หรือ สั่งซื้อสินค้า โดยไม่ได้รับอนุญาต

รวมถึงการ ลบบัญชี โพสต์ข้อความ ที่คุณไม่ต้องการ หรือ เปลี่ยนข้อมูลส่วนตัว บนโซเชียลมีเดีย

แนวทางป้องกันสำหรับนักพัฒนาและเว็บไซต์

การป้องกัน CSRF สำคัญยิ่งสำหรับนักพัฒนาเว็บไซต์

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

อีกวิธีคือการตั้งค่า SameSite Cookie Attribute ซึ่งจำกัดไม่ให้เบราว์เซอร์ส่งคุกกี้ไปยังเว็บไซต์อื่นเมื่อมีการร้องขอข้ามโดเมน

สำหรับคำสั่งที่มีความสำคัญพิเศษ ควรมีการ ยืนยันตัวตนซ้ำ เช่น ให้ผู้ใช้งานป้อนรหัสผ่านอีกครั้ง หรือป้อน OTP

เราในฐานะผู้ใช้งาน ควรทำอะไรบ้าง?

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

สิ่งแรกคือ ล็อกเอาต์ ออกจากเว็บไซต์สำคัญเสมอเมื่อเลิกใช้งาน โดยเฉพาะบนคอมพิวเตอร์สาธารณะ

สองคือ ระมัดระวัง เป็นพิเศษกับลิงก์ที่คลิก โดยเฉพาะลิงก์จากอีเมลแปลกๆ หรือแหล่งที่ไม่น่าเชื่อถือ ตรวจสอบ URL ก่อนคลิกเสมอ

และสามคือ อัปเดตเบราว์เซอร์ และระบบปฏิบัติการของคุณให้เป็นเวอร์ชันล่าสุดเสมอ เพื่อให้ได้รับแพตช์ความปลอดภัย

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