ระวัง!! ช่องโหว่ 0.0.0.0 Day ภัยเงียบที่ซ่อนเร้นมากว่า 18 ปี
12 สิงหาคม 2567 | สืบสาย โสดานิล
เมื่อ 18 ปีที่แล้วช่องโหว่ความปลอดภัยที่ถูกพบมีชื่อว่า “0.0.0.0 Day” ช่วยให้เว็บไซต์ที่เป็นอันตรายสามารถหลีกเลี่ยงระบบความปลอดภัยใน Google Chrome, Mozilla Firefox และ Apple Safari และโต้ตอบกับบริการในเครือข่ายภายในได้ อย่างไรก็ตาม ควรสังเกตว่าปัญหานี้ส่งผลกระทบต่ออุปกรณ์ Linux และ macOS เท่านั้น และไม่มีผลกระทบบนระบบเครือข่าย Windows
แต่ปัญหานี้ยังคงไม่ได้รับการแก้ไขใน Chrome, Firefox และ Safari และทั้งสามเบราวเซอร์รับทราบปัญหาแล้วและกำลังดำเนินการแก้ไขอยู่ ช่องโหว่ 0.0.0.0 Day เกิดจากกลไกความปลอดภัยที่ไม่สอดคล้องกันระหว่างเบราว์เซอร์ต่างๆ และการขาดมาตรฐานที่อนุญาตให้เว็บไซต์สาธารณะสื่อสารกับบริการเครือข่ายภายใน โดยทั่วไป 0.0.0.0 แทนที่อยู่ IP ทั้งหมดบนเครื่องคอมพิวเตอร์หรืออินเทอร์เฟซเครือข่ายทั้งหมดบนโฮสต์ สามารถใช้เป็นที่อยู่ตัวแทนในคำขอ DHCP หรือตีความเป็น localhost (127.0.0.1) เมื่อใช้ในเครือข่ายภายใน โดยเว็บไซต์ที่เป็นอันตรายสามารถส่งคำขอ HTTP ไปยัง 0.0.0.0 เพื่อโจมตีบริการที่ทำงานบนเครื่องของผู้ใช้
ช่องโหว่ 0.0.0.0 Day หรือที่เรียกว่า “Zero-Day Localhost API Access” เป็นช่องโหว่ด้านความปลอดภัยที่ส่งผลกระทบต่อเบราว์เซอร์ยอดนิยมหลายตัว ช่องโหว่นี้เกิดจากการที่เว็บไซต์สามารถเข้าถึง API (Application Programming Interfaces) บน localhost (127.0.0.1) ผ่านเบราว์เซอร์ได้ ซึ่งโดยปกติแล้ว API เหล่านี้ควรจะถูกจำกัดการเข้าถึงจากภายนอกเท่านั้น
สาเหตุของช่องโหว่
ช่องโหว่นี้มีสาเหตุหลักมาจาก: การตีความที่ผิดพลาดของ Fetch API: เบราว์เซอร์บางตัวตีความที่อยู่ IP “0.0.0.0” ว่าเป็น localhost (127.0.0.1) ซึ่งทำให้เว็บไซต์สามารถส่งคำขอไปยัง API บน localhost ได้โดยตรงการขาดการตรวจสอบความถูกต้องของแหล่งที่มา: เบราว์เซอร์บางตัวไม่ได้ตรวจสอบแหล่งที่มาของคำขออย่างเข้มงวดเพียงพอ ทำให้เว็บไซต์ที่เป็นอันตรายสามารถปลอมแปลงแหล่งที่มาของคำขอและเข้าถึง API บน localhost ได้
ผลกระทบจากช่องโหว่
ช่องโหว่นี้เปิดโอกาสให้ผู้โจมตีสามารถทำการโจมตีได้หลายรูปแบบ เช่น
การโจมตีแบบ Server-Side Request Forgery (SSRF): ผู้โจมตีสามารถใช้ช่องโหว่นี้เพื่อส่งคำขอไปยังเซิร์ฟเวอร์ภายในเครือข่ายของเหยื่อ ซึ่งอาจนำไปสู่: การเข้าถึงข้อมูลที่สำคัญหรือการควบคุมเซิร์ฟเวอร์
การบายพาสไฟร์วอลล์และระบบรักษาความปลอดภัยอื่นๆ การโจมตีบริการภายในที่ไม่ได้รับการป้องกันอย่างเพียงพอ
การขโมยข้อมูล: ผู้โจมตีอาจใช้ช่องโหว่นี้เพื่อเข้าถึงข้อมูลที่สำคัญบน localhost ของเหยื่อ เช่น:
คุกกี้ (Cookies) ที่อาจมีข้อมูลการเข้าสู่ระบบหรือข้อมูลส่วนบุคคลอื่นๆ
ข้อมูลการเข้าสู่ระบบที่บันทึกไว้ในเบราว์เซอร์
ข้อมูลที่จัดเก็บไว้ใน LocalStorage หรือ SessionStorage
การโจมตีแบบ Cross-Site Scripting (XSS): ผู้โจมตีอาจใช้ช่องโหว่นี้ร่วมกับช่องโหว่ XSS เพื่อ: ขโมยข้อมูลที่สำคัญจากเหยื่อ
ควบคุมเบราว์เซอร์ของเหยื่อและทำการกระทำต่างๆ ในนามของเหยื่อ
ติดตั้งมัลแวร์บนอุปกรณ์ของเหยื่อ
การโจมตีแบบ Denial-of-Service (DoS): ผู้โจมตีอาจใช้ช่องโหว่นี้เพื่อส่งคำขอจำนวนมากไปยัง localhost ของเหยื่อ ซึ่งอาจทำให้:
เซิร์ฟเวอร์ล่มหรือทำงานช้าลง
ผู้ใช้ไม่สามารถเข้าถึงบริการต่างๆ ได้
วิธีป้องกัน
เพื่อป้องกันตนเองจากช่องโหว่นี้ ผู้ใช้และผู้ดูแลระบบควรดำเนินการดังต่อไปนี้:
อัปเดตเบราว์เซอร์เป็นเวอร์ชันล่าสุด: เบราว์เซอร์รุ่นล่าสุดได้แก้ไขช่องโหว่นี้แล้ว ดังนั้นการอัปเดตเบราว์เซอร์เป็นสิ่งสำคัญในการป้องกัน
ระมัดระวังการอนุญาตให้เว็บไซต์เข้าถึง localhost: ผู้ใช้ควรระมัดระวังการอนุญาตให้เว็บไซต์เข้าถึง localhost และควรอนุญาตเฉพาะเว็บไซต์ที่เชื่อถือได้เท่านั้น
ใช้ไฟร์วอลล์: ไฟร์วอลล์สามารถช่วยป้องกันการเข้าถึง API บน localhost จากภายนอกได้
ตรวจสอบและอัปเดตซอฟต์แวร์ที่ทำงานบน localhost: ผู้ดูแลระบบควรตรวจสอบและอัปเดตซอฟต์แวร์ที่ทำงานบน localhost อย่างสม่ำเสมอ เพื่อป้องกันช่องโหว่ที่อาจถูกนำไปใช้ในการโจมตีร่วมกับ 0.0.0.0 Day
ใช้ HTTPS: การใช้ HTTPS ช่วยป้องกันการดักจับและแก้ไขข้อมูลระหว่างการสื่อสาร ซึ่งอาจช่วยลดความเสี่ยงจากการโจมตีบางประเภท
สรุป
ช่องโหว่ 0.0.0.0 Day เป็นช่องโหว่ที่ร้ายแรงที่อาจถูกนำไปใช้ในการโจมตีได้หลายรูปแบบ ผู้ใช้และผู้ดูแลระบบควรดำเนินการตามคำแนะนำข้างต้นเพื่อป้องกันตนเองและระบบของตนจากช่องโหว่นี้