Tavis Ormandy นักวิจัยด้านความมั่นคงปลอดภัยจาก Google Project Zero ออกมาเปิดเผยถึงช่องโหว่ Buffer Overflow บน CloudFlare ผู้ให้บริการ CDN และ Web Security ชื่อดัง ซึ่งช่วยให้แฮ็คเกอร์สามารถขโมยข้อมูลสำคัญของเว็บไซต์เหล่านั้น ไม่ว่าจะเป็น Passwords, Cookies และ Tokens ที่ใช้ในการพิสูจน์ตัวตนออกไปได้ โดยเรียกช่องโหว่นี้ว่า Cloudbleed
CloudFlare ทำหน้าที่เสมือนเป็น Proxy สำหรับทำ Caching ระหว่างผู้ใช้และ Web Server โดยเซิร์ฟเวอร์ของ CloudFlare หรือที่เรียกว่า Edge Server จะกระจายตัวอยู่ทั่วโลกเพื่อช่วยแบ่งเบาภาระจำนวนคำร้องขอที่ถูกส่งไปยัง Web Server จริง ซึ่งคำร้องขอเหล่านี้จะถูกประมวลผลและตรวจสอบภัยคุกคามบนเซิร์ฟเวอร์ดังกล่าวเพื่อเพิ่มประสิทธิภาพและความมั่นคงปลอดภัยให้ถึงขีดสุด ปัจจุบันนี้ CloudFlare ดูแลเว็บไซต์มากกว่า 5.5 ล้านไซต์ทั่วโลก
ช่องโหว่ Buffer Overflow ที่ทำให้ข้อมูลบนหน่วยความจำรั่วไหลสู่ภายนอก
Cloudbleed เป็นช่องโหว่ Buffer Overflow บน Edge Server ที่ Ormandy ค้นพบเมื่อสัปดาห์ก่อน ซึ่งช่วยให้แฮ็คเกอร์สามารถขโมยข้อมูลสำคัญที่อยู่ในหน่วยความจำของเซิร์ฟเวอร์ ไม่ว่าจะเป็น Private Session Keys, HTTP Cookies, Authentication Tokens และ HTTP Post Bodies ซึ่งข้อมูลเหล่านี้บางส่วนถูกแคชโดย Search Engine เป็นที่เรียบร้อยไปแล้ว
สาเหตุมาจากการพิมพ์โค้ดผิด 1 ตัวอักษร
จากการตรวจสอบของ CloudFlare พบว่า สาเหตุของปัญหา Buffer Overflow นี้มาจากการพิมพ์โค้ดในส่วนของ HTML Parser ซึ่งเป็นโมดูลที่ใช้อ่านซอร์สโค้ดของเว็บไซต์ และส่งต่อไปยังโมดูลอื่นเพื่อให้เขียนข้อมูลทับตามที่ผู้ใช้บริการกำหนด พลาดไป 1 ตัวอักษร คือจาก “==” ไปเป็น “>=” ซึ่งปกติแล้วไม่น่าเป็นประเด็นอะไรเนื่องจากโปรแกรมเมอร์หลายคนพิมพ์แบบหลังเมื่อทำการตรวจสอบเงื่อนไขบางอย่าง อย่างไรก็ตาม ในกรณีของ CloudFlare การพิมพ์โค้ดเพื่อตรวจสอบเงื่อนไขแบบนั้นกลับทำให้เกิด Buffer Overflow ขึ้น ส่งผลให้ข้อมูลบางส่วนบนหน่วยความจำหลุดรั่วออกไปกับคำร้องของ HTTP จากผู้ใช้
CloudFlare ระบุว่า ปัญหานี้จะเกิดเฉพาะกับผู้ใช้บริการที่มีการตั้งค่า Email Obfuscation และ Automatic HTTPS Rewrites บนบัญชีของตน
ช่องโหว่อายุนานกว่า 5 เดือน
หลังจากตรวจสอบโดยละเอียด CloudFlare เปิดเผยว่า การพิมพ์โค้ดพลาดนี้เกิดขึ้นตั้งแต่เมื่อวันที่ 22 กันยายน 2016 ที่ HTML Parser เริ่มเปิดใช้บริการ ซึ่ง CloudFlare จัดการแก้ไขปัญหาเรียบร้อยในวันที่ 18 กุมภาพันธ์ 2017 หลังจากที่ได้รับรายงานจาก Ormandy
“ช่วงเวลาที่ได้รับผลกระทบหนักที่สุดคือตั้งแต่ 13 ถึง 18 กุมภาพันธ์ ซึ่งประมาณ 1 คำร้องจากทุกๆ 3,300,000 คำร้อง HTTP มายัง CloudFlare อาจก่อให้เกิดข้อมูลจากหน่วยความจำรั่วไหลออกไปได้ (คิดเป็นประมาณ 0.00003% ของคำร้องขอทั้งหมด)” — John Graham-Cumming CTO ของ CloudFlare ระบุ
เริ่มแก้ปัญหาหลังทราบเรื่องเพียง 47 นาที
อย่างไรก็ตาม CloudFlare ได้ทำการตรวจสอบและดำเนินการหยุดการทำงานของ Email Obfuscation ของผู้ใช้บริการทั้งหมด ภายในเวลาเพียง 47 นาที หลังทราบถึงช่องโหว่จาก Ormandy ตามด้วยยกเลิกการทำงานของ Automatic HTTPS Rewrites ไม่นานหลังจากนั้น
ผ่านไป 6 ชั่วโมง CloudFlare ก็ทราบถึงต้นตอสาเหตุหลักของช่องโหว่ Buffer Overflow ที่มาจากการพิมพ์โค้ดพลาด และดำเนินการแก้ไข รวมไปถึงติดต่อกับ Search Engines หลายรายเพื่อให้ช่วยลบข้อมูลที่ถูก Cache บนเซิร์ฟเวอร์ออกไป
เราควรรับมือกับ Cloudbleed อย่างไร
ทั้ง Ormandy, CloudFlare และนักวิจัยด้านความมั่นคงปลอดภัยท่านอื่นต่างไม่แน่ใจว่ามีใครเจาะระบบเพื่อขโมยข้อมูลจากช่องโหว่ Cloudbleed นี้ออกไปหรือไม่ แต่หลายคนเชื่อว่า Crawlers ต่างๆ ได้ทำการเก็บรวบรวมข้อมูล และผู้ใช้ก็ได้ทำการ Cache ข้อมูลบางส่วนเอาไว้โดยที่ตัวเองก็อาจไม่รู้ตัว
ดังนั้นแนะนำให้ผู้ใช้บริการออนไลน์ทุกคนเปลี่ยนรหัสผ่านใหม่ทั้งหมด และคอยติดตามบัญชีออนไลน์อย่างใกล้ชิดว่ามีสิ่งใดผิดปกติหรือไม่ สำหรับผู้ใช้บริการ CloudFlare แนะนำให้ทำการบังคับให้ผู้ใช้ทำการเปลี่ยนรหัสผ่านใหม่โดยเร็วที่สุด เพื่อป้องกันปัญหาที่อาจตามมาในอนาคต
ที่มาและเครดิตรูปภาพ: https://www.bleepingcomputer.com/news/security/typo-in-cloudflare-server-source-code-leaks-customer-info-cookies-passwords/