
ในยุคที่คลินิกและสถานพยาบาลใช้ระบบออนไลน์กันมากขึ้น ความปลอดภัยของข้อมูลจึงเป็นเรื่องสำคัญ บทความนี้จะอธิบายเรื่อง CSRF ซึ่งเป็นช่องโหว่ด้านความปลอดภัยที่พบบ่อยในระบบเว็บแอปพลิเคชัน โดยไม่ต้องมีพื้นฐาน IT ก็เข้าใจได้ พร้อมอธิบายว่าโปรแกรมคลินิก kksEHR มีวิธีการป้องกันอย่างไร
CSRF
CSRF ย่อมาจาก Cross-Site Request Forgery (บางทีเรียกว่า “XSRF”) คือการโจมตีทางไซเบอร์ที่แฮกเกอร์ “หลอก” ให้เบราว์เซอร์ของคุณ ส่งคำสั่งในนามของคุณไปยังเว็บไซต์ที่คุณล็อกอินอยู่ โดยที่คุณไม่รู้ตัวเลย ถ้าไม่มีระบบป้องกัน Application server หรือโปรแกรมคลินิก ไม่สามารถแยกแยะระหว่างคำขอที่ได้รับอนุญาตอย่างถูกต้องและคำขอที่ปลอมแปลง
พูดง่าย ๆ คือ: แฮกเกอร์ใช้ “ความน่าเชื่อถือ” ที่เว็บไซต์มีต่อเบราว์เซอร์ของคุณ เพื่อทำสิ่งที่ตัวเองต้องการ
ยกตัวอย่างการทำธุรกรรม
ลองนึกภาพว่าคุณกำลังเข้าสู่ระบบธนาคารออนไลน์อยู่ในแท็บหนึ่ง ขณะเดียวกันคุณเปิดเว็บไซต์น่าสงสัยในอีกแท็บ เว็บไซต์นั้นอาจส่งคำสั่งลับไปยังธนาคาร ในนามของคุณ เช่น โอนเงินไปยังบัญชีอื่น โดยใช้ Cookie ที่เบราว์เซอร์คุณเก็บไว้ นั่นคือการโจมตีแบบ CSRF
ระบบป้องกัน CSRF Token ทำงานอย่างไร?
I. เมื่อคุณเปิดหน้าเว็บ เซิร์ฟเวอร์สร้าง Token ลับเฉพาะสำหรับเซสชันนั้น
Token คือรหัสแบบสุ่มที่ไม่ซ้ำกัน เดาไม่ได้
II. Token ถูกฝังอยู่ในฟอร์มหรือคำขอทุกครั้งที่คุณกดปุ่ม
Jakarta Token: xgNC89/GJXsF/PtetEB8aQZVc0c8F30R61j...
Session ID: ada48704c852f14035b160e5...
III. เซิร์ฟเวอร์ตรวจสอบว่า Token ที่ส่งมาตรงกับที่สร้างไว้หรือไม่
หากไม่ตรง คำสั่งนั้นจะถูกปฏิเสธทันที
IV. เว็บไซต์อื่นไม่มีทางรู้ Token ลับนี้ได้
ทำให้การโจมตีแบบ CSRF ไม่สามารถสำเร็จได้
อธิบายตามแสดงในรูปข้างล่างนี้
สิ่งที่ผู้ใช้ควรทำเพิ่มเติม
- ออกจากระบบทุกครั้งเมื่อใช้งานเสร็จ
- อย่าเปิดเว็บไซต์ที่ไม่น่าเชื่อถือขณะล็อกอินอยู่ หลีกเลี่ยงการคลิกลิงก์แปลกๆ จาก Email Chat หรือที่เชื่อถือไม่ได้
- ใช้เบราว์เซอร์ที่ทันสมัยและอัปเดตอยู่เสมอ เพื่อรับการป้องกันล่าสุดจากผู้ผลิตเบราว์เซอร์
- หากพบพฤติกรรมผิดปกติ ให้แจ้งผู้ดูแลระบบทันที
นอกจากนี้ ผู้ใช้สามารถเพิ่มความปลอดภัยมากขึ้นด้วย การใช้ 2FA ซึ่งมาพร้อมกับระบบ kksEHR
สรุป
การใช้ CSRF จะมี Token(โดยทั่วไปจะเป็นช่องกรอกข้อมูลที่ซ่อนอยู่) ช่วยให้มั่นใจได้ว่าคำขอเข้าสู่ระบบนั้นเริ่มต้นจากหน้าเข้าสู่ระบบที่ถูกต้องของเว็บไซต์ ไม่ใช่จากเว็บไซต์ของบุคคลที่สาม หรือภายนอกที่ทำการปลอมแทรกเข้ามา โดย Token นี้จะถูกสร้างขึ้นใหม่แบบสุ่มในทุกครั้งที่โหลด และเซิร์ฟเวอร์จะตรวจสอบความถูกต้องก่อนดำเนินการทุกครั้ง