Linus Sarud และ Matthew Bryant นักวิจัยด้านความปลอดภัยได้ค้นพบช่องโหว่ใหญ่บน NoScript ปลั๊กอินยอดนิยมบน Firefox ที่ป้องกันไม่ให้เว็บเบราเซอร์รันโค้ดหรือสคริปต์ต่างๆ เช่น JavaScript, Java, Flash รวมทั้งป้องกันไม่ให้เว็บเบราเซอร์ดาวน์โหลดปลั๊กอินอื่นมาติดตั้งนอกจากปลั๊กอินที่ถูกระบุว่าเชื่อถือได้
พบช่องโหว่บน Whitelist ของ NoScript
Bryant พบช่องโหว่บน Whitelist ของ NoScript ที่ระบุเว็บไซต์ที่อนุญาตให้รันสคริปต์บนเว็บเบราเซอร์ได้ ซึ่ง Whitelist ดังกล่าวจะยินยอมให้ Subdomain ของเว็บไซต์นั้นๆรันสคริปต์ได้ด้วยเช่นกัน หลังจากตรวจสอบโดเมนที่เชื่อถือได้แล้ว Bryant พบว่า หนึ่งในนั้น คือ โดเมน zendcdn.net หมดอายุไปนานแล้ว
Bryant จึงซื้อชื่อโดเมนนี้ในราถาเพียง $11 หรือประมาณ 340 บาท แล้วสร้าง Subdomain เพื่อแอบใส่โค้ด JavaScript ลงไป จากนั้นทดลองรันเว็บเบราเซอร์ พบว่า NoScript ปล่อยให้สคริปต์นั้นรันโดยที่ไม่ได้บล็อคหรือแจ้งเตือนใดๆ จุดนี้เอง ทำให้เสี่ยงต่อการถูกแฮ็คเกอร์แอบใส่โค้ดแปลกปลอมเพื่อรันบนเว็บเบราเซอร์ของผู้ใช้งานทั่วไปโดยไม่รู้ตัวได้
สามารถฝังสคริปต์ผ่านทาง Google Cloud Storage
Sarud หลังจากทราบเรื่องที่ Bryant ค้นพบ ก็ได้ดาวน์โหลด NoScript มาทดลองเช่นกัน โดยเขาทดสอบกับ googleapis.com ที่อยู่ในรายชื่อ Whitelist ของ NoScript โดย Sarud ทราบว่า storage.googleapis.com คือที่ที่ผู้ใช้เข้าถึง Host File เมื่อใช้งาน Google Cloud Storage
Sarud จึงได้ทำการลงทะเบียนแล้วอัพโหลดโค้ด HTML ที่มีการฝังสคริปต์โง่ๆลงไปเพื่อทดสอบความปลอดภัยบน NoScript ผลปรากฏว่า NoScript อนุญาตให้ผู้ที่เข้าถึง HTML ดังกล่าวรันสคริปต์ได้เช่นเดียวกัน ซึ่งวิธีนี้นับว่าประหยัดต้นทุนกว่าของ Bryant เนื่องจาก Google Cloud Storage อนุญาตให้ทดลองใช้งานได้ฟรี 60 วัน
NoScript ทราบช่องโหว่และแก้ไขปัญหาเรียบร้อย
นักวิจัยทั้งสองคนได้แจ้งปัญหาช่องโหว่ดังกล่าวไปยัง Giorgio Maone หนึ่งในทีมพัฒนาของ NoScript ซึ่งเขาก็ได้ทำการแก้ไขปัญหาอย่างรวดเร็ว โดยการนำโดเมน zendcdn.net ออกจากรายการ Whitelist และเปลี่ยนชื่อ googleapis.com เป็น ajax.googleapis.com แทน อย่างไรก็ตาม นี่เป็นเพียงการแก้ปัญหาที่ปลายเหตุเท่านั้น Bryant และ Sarud แนะนำว่า ผู้ที่ใช้งาน NoScript กว่า 2 ล้านคนทั่วโลก ควรทำการรีวิว Whitelist ของตนเองว่า โดเมนไหนที่น่าเชื่อถือ และอนุญาตให้รันสคริปต์ได้ เพื่อป้องกันการรันโค้ดแปลกปลอม หรือถูกโจมตีแบบ XSS โดยไม่รู้ตัว
ที่มา:
http://thehackerblog.com/the-noscript-misnomer-why-should-i-trust-vjs-zendcdn-net/
http://labs.detectify.com/post/122837757551/using-google-cloud-to-bypass-noscript