แกะรอยช่องโหว่: เข้าถึงระบบได้ แม้ยังไม่ใส่รหัส OTP!

แกะรอยช่องโหว่: เข้าถึงระบบได้ แม้ยังไม่ใส่รหัส OTP!

ในยุคดิจิทัลที่ภัยคุกคามไซเบอร์ซับซ้อนขึ้นทุกวัน การป้องกันบัญชีผู้ใช้เป็นสิ่งสำคัญยิ่ง หลายคนคุ้นเคยกับระบบยืนยันตัวตนแบบหลายปัจจัย หรือ Multi-Factor Authentication (MFA) ซึ่งเป็นเกราะป้องกันชั้นเยี่ยมที่เพิ่มความปลอดภัยให้บัญชีเรามากขึ้นไปอีกขั้น แทนที่จะใช้แค่รหัสผ่านอย่างเดียว ระบบ MFA จะขอให้เรายืนยันตัวตนด้วยปัจจัยที่สอง เช่น รหัสผ่านแบบใช้ครั้งเดียว (One-Time Password – OTP) ที่ส่งมายังโทรศัพท์มือถือ หรือการยืนยันผ่านแอปพลิเคชัน

แต่เคยสงสัยหรือไม่ว่า แม้จะมี OTP แล้ว ระบบยังอาจมีจุดอ่อนที่ทำให้ผู้ไม่หวังดีสามารถผ่านเข้าไปได้โดยไม่ต้องใส่รหัส OTP เลย? ช่องโหว่นี้มีชื่อว่า OTP Enforcement Bypass ซึ่งเผยให้เห็นถึงความสำคัญของการออกแบบระบบรักษาความปลอดภัยที่รัดกุมในทุกขั้นตอน

เข้าใจ Multi-Factor Authentication (MFA) และความสำคัญ

MFA คือกระบวนการยืนยันตัวตนที่ต้องการหลักฐานมากกว่าหนึ่งอย่างจากผู้ใช้ ก่อนจะอนุญาตให้เข้าถึงระบบหรือบัญชีได้

ปกติแล้วจะมี 3 ปัจจัยหลักคือ สิ่งที่รู้ (เช่น รหัสผ่าน), สิ่งที่ถืออยู่ (เช่น โทรศัพท์มือถือรับ OTP) และสิ่งที่ตัวเราเป็น (เช่น ลายนิ้วมือ)

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

แต่ความปลอดภัยของ MFA ขึ้นอยู่กับการนำไปใช้งานจริงอย่างถูกต้องและรัดกุม

ช่องโหว่ “OTP Enforcement Bypass” คืออะไร?

OTP Enforcement Bypass คือช่องโหว่ที่ทำให้ผู้โจมตีสามารถข้ามขั้นตอนการป้อนรหัส OTP เพื่อยืนยันตัวตนปัจจัยที่สองได้สำเร็จ

พูดง่าย ๆ คือ ผู้โจมตีสามารถเข้าสู่ระบบและเข้าถึงข้อมูลต่าง ๆ ได้ เหมือนกับว่าได้ใส่รหัส OTP ที่ถูกต้องแล้ว ทั้งที่จริง ๆ แล้วไม่ได้ใส่เลยแม้แต่น้อย

ช่องโหว่นี้มักเกิดจากการที่ระบบไม่ได้ตรวจสอบสถานะการยืนยันตัวตนปัจจัยที่สองอย่างเข้มงวดในทุก ๆ การสื่อสารระหว่างผู้ใช้กับเซิร์ฟเวอร์

กลไกการโจมตีทำงานอย่างไร?

กระบวนการโจมตีมักเริ่มต้นจากการที่ผู้โจมตีสามารถเข้าถึง ชื่อผู้ใช้ และ รหัสผ่าน ของเหยื่อได้ก่อน

เมื่อผู้โจมตีพยายามเข้าสู่ระบบด้วยข้อมูลดังกล่าว เซิร์ฟเวอร์จะส่งรหัส OTP ไปยังโทรศัพท์ของเหยื่อ และรอให้ผู้โจมตีป้อนรหัส OTP เพื่อยืนยันตัวตน

แต่ในบางกรณีที่ระบบมีการติดตั้งที่ผิดพลาด เมื่อผู้โจมตีส่งชื่อผู้ใช้และรหัสผ่านไป ระบบอาจจะสร้าง เซสชัน (session) หรือ โทเค็น (token) ที่ มีสถานะเป็น ‘เข้าสู่ระบบแล้ว’ อย่างสมบูรณ์ กลับมาให้ทันที แม้ว่าขั้นตอนการยืนยัน OTP จะยังไม่เสร็จสิ้น

ผู้โจมตีจะใช้เครื่องมือพิเศษในการดักจับการสื่อสารนี้ และนำเซสชันหรือโทเค็นที่ได้รับมานั้นไปใช้ในการเข้าถึงหน้าต่าง ๆ ของระบบได้เลย โดยไม่ต้องไปสนใจรหัส OTP ที่ถูกส่งไปให้เหยื่ออีกต่อไป

ความผิดพลาดนี้เกิดขึ้นเมื่อเซิร์ฟเวอร์ให้ “กุญแจหลัก” ที่ใช้เข้าสู่ระบบได้เต็มรูปแบบ ก่อนที่ “การตรวจสอบครั้งสุดท้าย” คือ OTP จะเสร็จสมบูรณ์

ทำไมช่องโหว่นี้ถึงเกิดขึ้น?

สาเหตุหลักของช่องโหว่นี้มาจากการ ออกแบบและติดตั้งระบบ MFA ที่บกพร่อง

นักพัฒนาอาจสร้างระบบที่สร้างเซสชันสำหรับผู้ใช้ขึ้นมาทันทีหลังจากใส่รหัสผ่านถูกต้อง โดยไม่ได้ตั้งสถานะของเซสชันนั้นให้เป็น “รอการยืนยัน OTP” ก่อนที่จะเปลี่ยนเป็น “เข้าสู่ระบบสมบูรณ์”

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

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

การป้องกันและแนวทางแก้ไข

การป้องกันช่องโหว่ OTP Enforcement Bypass จำเป็นต้องอาศัยการออกแบบและเขียนโค้ดที่รัดกุม

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

แทนที่จะเป็นเช่นนั้น ระบบควรสร้างเซสชันที่มีสถานะ “รอยืนยัน OTP” หรือ “MFA Pending” ซึ่งอนุญาตให้ทำได้เพียงแค่การส่งรหัส OTP เท่านั้น

เมื่อผู้ใช้ป้อนรหัส OTP ที่ถูกต้องแล้ว ระบบจึงค่อยเปลี่ยนสถานะของเซสชันนั้นให้เป็น “เข้าสู่ระบบสมบูรณ์” และมอบโทเค็นที่ใช้เข้าถึงส่วนอื่น ๆ ของระบบได้

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