รู้จักการโจมตีแบบ Cross-site Request Forgery และวิธีป้องกันตนเอง

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

Credit: ShutterStock

CSRF คืออะไร

การโจมตีแบบ CSRF จะใช้ “ตัวตน (Identity)” และ “สิทธิ์ (Privilege)” ของเหยื่อที่มีบนเว็บไซต์ ในการปลอมตัวเป็นเหยื่อและกระทำการหรือธุรกรรมไม่พึงประสงค์ แฮ็คเกอร์จะพยายามใช้ประโยชน์จากเหยื่อที่มี Login Cookies เก็บไว้ในเว็บเบราเซอร์ ส่งผลให้เว็บไซต์ E-commerce ที่ส่ง Cookie ไปเก็บข้อมูลการพิสูจน์ตัวตนของผู้ใช้มักตกเป็นเป้าหมายของการโจมตีนี้

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

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

ป้องกันการโจมตีแบบ CSRF ได้อย่างไร

เว็บไซต์ Network World ได้แนะนำวิธีป้องกันการโจมตีแบบ CSRF ของทั้งฝั่งเซิร์ฟเวอร์และฝั่งผู้ใช้งาน ดังนี้

ฝั่งเซิร์ฟเวอร์

  • เว็บไซต์ของธนาคารและผู้ประกอบการควรเปลี่ยนจากการใช้ Cookies ที่ทำ Session-tracking มาเป็น Session Token ที่ถูกสร้างขึ้นแบบไดนามิกแทน ซึ่งช่วยให้แฮ็คเกอร์ขโมยเซสชันจากผู้ใช้ได้ยากยิ่งขึ้น
  • อย่าเชื่อว่าทุกเว็บไซต์จะมีมาตรการในการป้องกัน CSRF แนะนำให้ทำการป้องกันที่ฝั่งผู้ใช้ด้วยเช่นกัน

ฝั่งผู้ใช้

  • ติดตั้งโปรแกรม Antivirus และอัปเดตฐานข้อมูลล่าสุดอยู่เสมอ สคริปต์อันตรายบางอย่างอาจถูกบล็อกโดยโปรแกรมเหล่านี้ได้
  • อย่าเปิดอีเมลหรือใช้งานเว็บไซต์อื่นๆ ขณะที่ล็อกอินเข้าเว็บไซต์ของธนาคารหรือ E-commerce เพื่อทำธุรกรรมออนไลน์ เพื่อลดความเสี่ยงในการคลิกลิงค์ซึ่งอาจเป็นสคริปต์สำหรับโจมตีแบบ CSRF ได้
  • หลังจากที่ทำธุรกรรมออนไลน์เสร็จสิ้นให้ล็อกเอาท์ออกจากเว็บไซต์ทันที เพื่อไม่ให้มีเซสชันค้างให้แฮ็คเกอร์มาขโมยใช้งานได้
  • ไม่บันทึกชื่อล็อกอินและรหัสผ่านของเว็บไซต์ธนาคารและสถานบันการเงินไว้บนเว็บเบราเซอร์ สคริปต์ CSRF อาจเจาะถึงข้อมูลตรงจุดนี้และนำไปใช้ประโยชน์ได้
  • ยกเลิกการใช้สคริปต์บนเว็บเบราเซอร์ เพื่อเพิ่มความมั่นคงปลอดภัยสูงสุด
  • แยกการทำธุรกรรมออนไลน์ไว้บนเบราเซอร์หนึ่ง ส่วนเว็บไซต์ที่เหลือไว้บนอีกเบราเซอร์หนึ่ง เพื่อไม่ให้แฮ็คเกอร์ใช้ประโยชน์จากเว็บเบราเซอร์เดียวกันในการโจมตีเว็บไซต์ที่กำลังทำธุรกรรม

ที่มา: http://www.networkworld.com/article/3190444/security/how-to-protect-against-cross-site-request-forgery-attacks.html

About techtalkthai

ทีมงาน TechTalkThai เป็นกลุ่มบุคคลที่ทำงานในสาย Enterprise IT ที่มีความเชี่ยวชาญทางด้าน Network, Security, Server, Storage, Operating System และ Virtualization มารวมตัวกันเพื่ออัพเดตข่าวสารทางด้าน Enterprise IT ให้แก่ชาว IT ในไทยโดยเฉพาะ

Check Also

Tenable จับมือ Anthropic เข้าร่วม “Project Glasswing” ยกระดับการป้องกันไซเบอร์ในยุค AI [Guest Post]

การเข้าร่วม Project Glasswing และการได้ร่วมทำงานกับ Claude Mythos Preview ในครั้งนี้ จะช่วยให้ Tenable สามารถสนับสนุนลูกค้าให้เข้าใจพฤติกรรมของโมเดล AI ระดับแนวหน้า (Frontier AI) …

[Video] WatchGuard Webinar : Zero Trust Made Simple

ในอดีต การวางระบบ Zero Trust Architecture มักถูกมองว่าเป็น ‘ยาขม’ ของฝ่ายไอทีและองค์กรจำนวนมาก เพราะแนวคิดที่ต้อง ‘ไม่เชื่อใจใคร และต้องตรวจสอบเสมอ’ นั้น มักตามมาด้วยความซับซ้อนยุ่งเหยิงในการบริหารจัดการ ในงาน WatchGuard Webinar ครั้งนี้ท่านจะได้รับชมกับแนวทางที่ทำให้ Zero Trust …