มาทำความรู้จัก Cross Site Request Forgery (CSRF) เพื่อเพิ่มความปลอดภัยกับเว็บไซต์

การโจมตีเว็บสามารถถูกโจมตีจากช่องโหว่เช่น Buffer Overflow (บัฟเฟอร โอเวอฟลาว) ได้เช่นเดียวกันกับ Software (ซอฟต์แวร์) ทุกตัวในโลก แต่ช่องโหว่นั้น นับตั้งแต่ Bug (บั๊ก) ที่เปิดให้ผู้ใช้อัพโหลดสคริปต์ขึ้นไปรันบนเว็บได้ด้วยตัวเอง ไปจนถึงการตรวจสอบสิทธิผู้ใช้ด้วยยูอาร์แอลเพียงอย่างเดียว ทำให้เมื่อผู้ใช้แชร์ url (ยูอาร์แอล) ไป เกิดเหตุการณ์ข้อมูลส่วนตัวรั่วไปได้อย่างง่ายดาย

Cross Site Request Forgery (CSRF)
Cross Site Request Forgery (CSRF)

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

หลักการโจมตี

  1. ผู้ใช้งาน login เพื่อทำซื่อขายสินค้า
  2. server ตอบกลับว่า login สำเร็จ
  3. ผู้ใช้งาน ทำการเข้าเว็บไซต์ www.kayride.com
  4. www.kayride.com ทำการสร้าง link ที่ใช้ในการโอนเงิน ส่งไปให้กับเว็บเบราเซอร์ของ user
  5. ว็บเบราเซอร์ทำการ redirect ไปตาม link ที่ www.kayride.com ส่งมา www.ธนาคาร.com ทำการโอนเงินไปให้กับ kayride เนื่องจากเป็น request ที่ถูกส่งมาจาก user ที่ทำการ login อยู่ในระบบแล้ว (ขั้นตอนนี้ แฮกเกอร์ สามารถขโมบเงินจากธนาคารของ ผู้ใช้เท่าไรก็ได้)

ในขั้นตอนของการ redirect kayride เทคนิคที่ใช้ <img> tag ดังตัวอย่างด้านล่าง

<img src="http://www.somebank.com?send_money_to=kayride_account&amount=10000000></img>

YouTube: ก็เคยถูกโจมตีด้วย CSRF เช่นกัน จากยูอาร์แอลของการเพิ่มวิดีโอเข้า playlist ที่ไม่มีการตรวจสอบล่วงหน้า และมี playlist พิเศษที่ทำให้ชื่อเป็น add_to_favorite ทำให้แฮกเกอร์สามารถเพิ่มวิดีโอที่ต้องการโปรโมทเข้าไปยังผู้ใช้ทุกคนได้

แนวทางการในการป้องกัน CSRF

CSRF มีสาเหตุหลักมาจากการที่เว็บไม่ได้ทำการตรวจสอบว่า request ที่ถูกส่งมาจากผู้ใช้งานนั้นถูกส่งมาจากผู้ใช้งานจริงโดยตั้งใจหรือไม่ ดังนั้น แนวทางในการป้องกัน CSRF ประกอบไปด้วย 3 วิธีหลัก ๆ ได้แก่

  1. Synchronizer Token Pattern
  2. HTTP referer header
  3. Re-authentication & CAPTCHA
CSRF
CSRF

 

Cross-site Request Forgery (CSRF) เป็นช่องโหว่ที่เกิดจากการที่ผู้ไม่หวังดีทำการสั่งให้เว็บเบราเซอร์ของเหยื่อส่งคำสั่งไปให้กับเว็บแอปพลิเคชัน CSRF สามารถสร้างผลกระทบต่อผู้ใช้งานอย่างร้ายแรง เช่น การโอนเงินจากบัญชีผู้ใช้งานไปยังบัญชีอื่นโดยที่ผู้ใช้งานไม่ได้ยินยอม แนวทางการป้องกัน CSRF ที่ดีที่สุด คือการใช้ Synchronizer Token Pattern ปัจจุบัน

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
อัปเดต Joomla เวอร์ชัน 5.0.2 และ 4.4.2 แก้ไขปัญหาปัญหาระบบต่าง ๆ
โดย Thanapoom1514 อ 28 ม.ค. 2024 2:37 pm บอร์ด MindPHP News & Feedback
1
621
อ 30 ม.ค. 2024 11:53 am โดย mrfurniture View Topic อัปเดต Joomla เวอร์ชัน 5.0.2 และ 4.4.2 แก้ไขปัญหาปัญหาระบบต่าง ๆ
10 คำถาม เกี่ยวกับคอมพิวเตอร์ Q&A
โดย Best1677 พฤ 25 ม.ค. 2024 11:29 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
869
พฤ 25 ม.ค. 2024 11:29 am โดย Best1677 View Topic 10 คำถาม เกี่ยวกับคอมพิวเตอร์  Q&A
หลอด T8 LED วิวัฒนาการของวงการหลอดไฟ
โดย admeadme พฤ 25 ม.ค. 2024 9:23 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
744
พฤ 25 ม.ค. 2024 9:23 am โดย admeadme View Topic หลอด T8 LED วิวัฒนาการของวงการหลอดไฟ
ปัญหา เร้าเตอร์เน็ต ขึ้น los สีแดง
โดย Thanavat_n พ 24 ม.ค. 2024 4:28 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
435
พ 24 ม.ค. 2024 4:29 pm โดย Thanavat_n View Topic ปัญหา เร้าเตอร์เน็ต ขึ้น los สีแดง
ใช้โปรแกรมอะไรดีสุดครับ จะอัพโค้ด PHP ขึ้นโฮส ทำการเช่าโฮสไว้แล้ว
โดย Anonymous อ 23 ม.ค. 2024 10:46 am บอร์ด Programming - PHP
1
1541
พ 24 ม.ค. 2024 7:47 am โดย mindphp View Topic ใช้โปรแกรมอะไรดีสุดครับ จะอัพโค้ด PHP ขึ้นโฮส ทำการเช่าโฮสไว้แล้ว
ภาษา Lua ตอนที่ 9 : ตัวดำเนินการตรรกะ
โดย worramaitk พฤ 18 ม.ค. 2024 5:17 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
821
พฤ 18 ม.ค. 2024 5:17 pm โดย worramaitk View Topic ภาษา Lua ตอนที่ 9 : ตัวดำเนินการตรรกะ
ภาษา Lua ตอนที่ 8 : ตัวดำเนินการ
โดย worramaitk พฤ 18 ม.ค. 2024 4:55 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
568
พฤ 18 ม.ค. 2024 4:55 pm โดย worramaitk View Topic ภาษา Lua ตอนที่ 8 : ตัวดำเนินการ
ภาษา Lua ตอนที่ 7 : ชนิดข้อมูล Table (2)
โดย worramaitk พฤ 18 ม.ค. 2024 4:02 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
819
พฤ 18 ม.ค. 2024 4:02 pm โดย worramaitk View Topic ภาษา Lua ตอนที่ 7 : ชนิดข้อมูล Table (2)