
Credit pic : https://d3eaqdewfg2crq.cloudfront.net/wp-content/uploads/2013/04/csrf.png
CSRF หรือ Cross-site Request Forgery คืออะไร
การโจมตีแบบ CSRF จะใช้ “ตัวตน (Identity)” และ “สิทธิ์ (Privilege)” ของเหยื่อที่มีบนเว็บไซต์ ในการปลอมตัวเป็นเหยื่อและกระทำการหรือธุรกรรมไม่พึงประสงค์ แฮ็คเกอร์จะพยายามใช้ประโยชน์จากเหยื่อที่มี Login Cookies เก็บไว้ในเว็บเบราเซอร์ ส่งผลให้เว็บไซต์ E-commerce ที่ส่ง Cookie ไปเก็บข้อมูลการพิสูจน์ตัวตนของผู้ใช้มักตกเป็นเป้าหมายของการโจมตีนี้ตัวอย่างการโจมตีแบบ CSRF
ที่เห็นชัดๆคือ ขณะที่เหยื่อล็อกอินเข้าใช้เว็บไซต์ของธนาคารแล้ว และเซสชันยังคงค้างอยู่ เหยื่อเผลอกดลิงค์บางอย่างจากแฮ็คเกอร์ที่อาจแฝงมากับอีเมล Phishing หรือสคริปต์บนเว็บไซต์ต่างๆ ส่งผลให้เหยื่อกระทำธุรกรรมตามที่แฮ็คเกอร์ต้องการ เช่น โอนเงินจากบัญชีของตนไปให้แฮ็คเกอร์ โดยที่เหยื่อไม่รู้ตัว และเว็บไซต์ของธนาคารก็นึกว่าเป็นการทำธุรกรรมปกติที่มาจากตัวเหยื่อเอง
การโจมตีแบบนี้ตรวจจับได้ยากเนื่องจากเป็นการกระทำธุรกรรมปกติในนามของเหยื่อเอง ทั้งข้อมูลการพิสูจน์ตัวตนและ IP ต่างถูกนำมาใช้เพื่อยืนยันว่าเป็นเจ้าของบัญชีทำธุรกรรมจริง ส่งผลให้ทางธนาคารต้องใช้เวลานานในการเก็บข้อมูลและสืบสวน ก่อนที่จะดำเนินเรื่องย้อนหลังการทำธุรกรรม หรือทำให้ธุรกรรมเป็นโมฆะไป

Credit pic : https://i1.wp.com/blog.wisered.com/wp-content/uploads/2016/01/Screen-Shot-2559-01-21-at-11.15.28-AM.png?w=1742&ssl=1
ป้องกันการโจมตีแบบ CSRF ได้อย่างไร
เว็บไซต์ Network World ได้แนะนำวิธีป้องกันการโจมตีแบบ CSRF ของทั้งฝั่งเซิร์ฟเวอร์และฝั่งผู้ใช้งาน ดังนี้
ฝั่งเซิร์ฟเวอร์
- เว็บไซต์ของธนาคารและผู้ประกอบการควรเปลี่ยนจากการใช้ Cookies ที่ทำ Session-tracking มาเป็น Session Token ที่ถูกสร้างขึ้นแบบไดนามิกแทน ซึ่งช่วยให้แฮ็คเกอร์ขโมยเซสชันจากผู้ใช้ได้ยากยิ่งขึ้น
- อย่าเชื่อว่าทุกเว็บไซต์จะมีมาตรการในการป้องกัน CSRF แนะนำให้ทำการป้องกันที่ฝั่งผู้ใช้ด้วยเช่นกัน
- ติดตั้งโปรแกรม Antivirus และอัปเดตฐานข้อมูลล่าสุดอยู่เสมอ สคริปต์อันตรายบางอย่างอาจถูกบล็อกโดยโปรแกรมเหล่านี้ได้
- อย่าเปิดอีเมลหรือใช้งานเว็บไซต์อื่นๆ ขณะที่ล็อกอินเข้าเว็บไซต์ของธนาคารหรือ E-commerce เพื่อทำธุรกรรมออนไลน์ เพื่อลดความเสี่ยงในการคลิกลิงค์ซึ่งอาจเป็นสคริปต์สำหรับโจมตีแบบ CSRF ได้
- หลังจากที่ทำธุรกรรมออนไลน์เสร็จสิ้นให้ล็อกเอาท์ออกจากเว็บไซต์ทันที เพื่อไม่ให้มีเซสชันค้างให้แฮ็คเกอร์มาขโมยใช้งานได้
- ไม่บันทึกชื่อล็อกอินและรหัสผ่านของเว็บไซต์ธนาคารและสถานบันการเงินไว้บนเว็บเบราเซอร์ สคริปต์ CSRF อาจเจาะถึงข้อมูลตรงจุดนี้และนำไปใช้ประโยชน์ได้
- ยกเลิกการใช้สคริปต์บนเว็บเบราเซอร์ เพื่อเพิ่มความมั่นคงปลอดภัยสูงสุด
- แยกการทำธุรกรรมออนไลน์ไว้บนเบราเซอร์หนึ่ง ส่วนเว็บไซต์ที่เหลือไว้บนอีกเบราเซอร์หนึ่ง เพื่อไม่ให้แฮ็คเกอร์ใช้ประโยชน์จากเว็บเบราเซอร์เดียวกันในการโจมตีเว็บไซต์ที่กำลังทำธุรกรรม
ขอขอบคุณข้อมูลจาก
- https://www.techtalkthai.com/how-to-prevent-csrf/
- https://blog.wisered.com/%E0%B8%8A%E0%B9%88%E0%B8%AD%E0%B8%87%E0%B9%82%E0%B8%AB%E0%B8%A7%E0%B9%88%E0%B8%9B%E0%B8%A3%E0%B8%B0%E0%B9%80%E0%B8%A0%E0%B8%97-cross-site-script-forgery-csrf/
- http://www.cs.utexas.edu/~shmat/courses/cs378_spring09/zeller.pdf
No comments:
Post a Comment