ช่องโหว่ WebGL ล่มFirefox,Chrome

“ ช่องโหว่ WebGL ล่ม Firefox,Chrome ”

แหล่งข่าว : http://www.arip.co.th/news.php?id=413641
วันที่ 13 พฤษภาคม 2554

CERT หน่วยงานที่ดูแลทางด้านความพร้อมต่อภาวะฉุกเฉินที่อาจเกิดขึ้นกับระบบคอมพิวเตอร์ของผู้ใช้ในสหรัฐ แนะนำยูสเซอร์ที่ใช้บราวเซอร์ Mozilla Firefox และ Google Chrome ยกเลิก (disable) กลไกเร่งการทำงานทางด้านกราฟิก 3D หรือ WebGL เนื่องจากตรวจสอบพบช่องโหว่ที่สามารถนำไปใช้ในการขโมยข้อมูล หรือล่มระบบการทำงานคอมพิวเตอร์ของผู้ใช้ได้

WebGL มาตรฐานเว็บที่เป็นกลไกการทำงานใหม่ล่าสุดสำหรับการแสดงผลกราฟิก 3D บนเว็บบราวเซอร์กำลังเปิดโอกาสให้เกิดการโจมตีที่ร้ายแรงสำหรับผู้ใช้ ซึ่งรวมถึงการขโมยรูปภาพต่างๆ ออกไปจากเครื่องคอมพิวเตอร์ของเหยื่อไปจนถึงการสร้างรูปแบบการโจมตีแบบ DoS (Denial-of-Service attacks) ซึ่งนอกจากหน่วยงานข้างต้นแล้วยังมีบริษัทวิจัย Context Information Security ที่ออกมาแจ้งเตือนในเรื่องนี้ด้วย โดยกลไกการทำงานของ WebGL จะพบได้ในบราวเซอร์ Chrome เวอร์ชัน 9 ขึ้นไป และ Firefox 4 ในขณะเดียวกัน WebGL กำลังอยู่ในระหว่างการพัฒนาเพิ่มเข้าไปในบราวเซอร์ Opera และ Safari ด้วย

Webgl1.jpg

อย่างไรก็ดี เจ้าหน้าที่จาก Context ไม่คิดว่าช่องโหว่ใน WebGL จะถูกนำไปใช้โจมตีอย่างแพร่หลายได้อย่างรวดเร็วนัก แต่เพื่อความปลอดภัย ผู้ใช้ และแผนกไอทีในหน่วยงานต่างๆ ควรปิดการทำงานของ WebGL ในบราวเซอร์ เทคโนโลยี WebGL ได้รับการออกแบบให้สามารถเร่งการสร้างกราฟิก 3D ในบราวเซอร์ โดยเปิดโอกาสให้บราวเซอร์ทำงานกับฮาร์ดแวร์ในส่วนที่เป็นการ์ดแสดงผลกราฟิกได้โดยตรง ช่องโหว่ที่พบใน WebGL จะเปิดช่องให้แฮคเกอร์สามารถเข้าโจมตีจนระบบล่มด้วย BSOD (Blue Screen of Death) หรือแม้แต่การขโมยข้อมูลสำคัญออกไปจากคอมพิวเตอร์ของเหยื่อได้ สำหรับการยกเลิก WebGL ใน Firefox 4 ให้พิมพ์ about:config ในช่องป้อนแอดเดรส แล้วตั้งค่าของ webgl.disabled เป็น true ส่วน Chrome ให้เปิดหน้าต่าง cmd (พิมพ์คำสั่ง cmd ในช่อง serch/run ของ windows แล้วกด Enter) จากนั้นพิมพ์บรรทัดคำสั่ง chrome.exe —disable-webgl แล้วกดปุ่ม Enter บนคีย์บอร์ด เป็นอันเรียบร้อย

webgl2.jpg
webgl3.jpg

บทวิเคราะห์ข่าว

การโจมตีแบบ DOS

การโจมตีแบบ DoS โดยทั่วไปมีจุดประสงค์เพื่อป้องกันไม่ให้ใช้งานหรือทำให้เกิดความเสียหายต่อการใช้งานคอมพิวเตอร์หรือทรัพยากรของระบบเครือข่าย

รู้จักกับ Blue Screen of Death

Blue Screen of Death (BOD) คือ หน้าจอที่แสดงอาการผิดปกติของวินโดวส์ ซึ่งอาการที่เกิดได้ก็มาจากหลายๆ สาเหตุ ทั้งเกิดจากซอฟต์แวร์ก็ได้ หรือฮาร์ดแวร์ก็ได้ หรือเกิดพร้อมๆ กันเลยก็มี เหตุที่ตั้งชื่อให้มันน่ากลัวขนาดนั้น ก็เพราะถ้าหน้าจอสีฟ้านี้แสดงขึ้นมา มันหมายความว่าอาการผิดปกติที่เกิดขึ้น ค่อนข้างหนักหนาจนวินโดวส์ไม่สามารถทำงานต่อไปได้ นอกจากรีเซ็ตเครื่องเพียงอย่างเดียว ในวินโดวส์ NT, 2000 และ XP นั้น Blue Screen of Death ที่เกิดขึ้น มักเกิดมาจากเคอร์แนลหรือไดรเวอร์ ที่เกิดทำงานผิดพลาดโดยที่ไม่สามารถจะคืนสภาพการทำงานให้กลับมาเหมือนเดิมได้ เช่น ไดรเวอร์ส่งค่าบางอย่างที่ไม่ถูกต้องไปยังกระบวนการอื่นๆ ทำให่ตัวระบบปฏิบัติการทำงานผิดพลาด วิธีเดียวที่ผู้ใช้จะแก้ไขได้ คือ รีบูตเครื่องคอมพิวเตอร์ ซึ่งนั่นหมายความว่า ข้อมูลหรืองานที่คุณกำลังทำอยู่มีโอกาสที่จะหายไปด้วยเพราะวินโดวส์ไม่ได้ถูกสั่งปิดแบบปกติ การพิจารณาแก้ปัญหา BOD ดูได้จากข้อความที่แสดงและเออเรอร์โค้ด บางปัญหาวินโดวส์จะแสดงข้อความที่เป็นสาเหตุอย่างชัดเจน แต่บางปัญหาก็ไม่สามารถอาศัยข้อความที่แสดงเพียงอย่างเดียว ต้องนำเอาเออเรอร์โค้ดมาร่วมพิจารณาด้วย ตำแหน่งของข้อความและเออเรอร์โค้ด

blue%20screen%20of%20death%20mac%5B2%5D.jpg

ทำความรู้จัก WebGL

WebGL เป็นเทคโนโลยีแสดงผลในรูปแบบ 3 มิติ บนเว็บเบราว์เซอร์ผ่าน JavaScript โดยพื้นฐานมาจาก OpenGL ES ซึ่งทั้ง WebGL และ OpenGL ES ก็พัฒนามาจากองค์กร Khronos โดยวันที่ 3 มีนาคม 2554 ที่ผ่านมาสเปกของ WebGL 1.0 ได้เสร็จสมบูรณ์แล้ว ซึ่งก็ได้รับการสนับสนุนจากผู้ผลิตเบราว์เซอร์ 4 รายใหญ่คือ Firefox, Chrome, Safari และ Opera อย่างไรก็ตามยังขาด IE จากฝั่งไมโครซอฟท์ เนื่องจาก WebGL อยู่บนเทคโนโลยี OpenGL ซึ่งเป็นคู่แข่งกับ DirectX ของไมโครซอฟท์นั่นเอง และ WebGL ยังต้องแข่งกับเทคโนโลยี 3 มิติของ Flash Player ซึ่งมีรหัสว่า “Molehill” อีกด้วย

ก่อนหน้านั้น WebGL ก็ได้เริ่มเป็นที่รู้จักกันอย่างแพร่หลายในกลุ่มนักพัฒนา Web3D อย่างมากในปีที่แล้ว ซึ่งก็มี Websites สำหรับการเรียนรู้ WebGL เกิดขึ้นมาไม่ว่าจะเป็นของ Mozilla เองที่สร้าง Demo ของ WebGL ขึ้น และเว็บ Learningwebgl ก็เป็นที่นิยมและเป็นที่รู้จักอย่างแพร่หลายด้วยเช่นกัน ซึ่ง ณ ขณะนี้ WebGL ได้รับการสนับสนุนจากหลายองค์กร ซึ่งก็คือผู้ผลิตเบราว์เซอร์รายใหญ่ 4 ราย ได้แก่ Firefox, Chrome, Safari และ Opera ซึ่งแน่นอนยังขาด IE อาจด้วยเหตุผลที่ Microsoft ได้พัฒนา DirectX ซึ่งหาก WebGL เข้ามา Direct X จะไปอยู่ที่ไหน

ในปัจจุบันคนเริ่มเปลี่ยนจากการใช้ DirectX มาใช้ OpenGL กันแล้วซึ่งเป็นสิ่งที่รองรับกันในทุกระบบปฏิบัติการไม่ว่าจะเป็น Windows, Mac OS หรือ Linux ก็ต่างรองรับ OpenGL ทั้งสิ้น ซึ่งมันเปิดกว้างมากกว่าที่จะยึดอยู่กับระบบปฏิบัติการเดียว ซึ่งระบบปฏิบัติการอื่นๆนอกจาก Windows มีแนวโน้มได้รับความนิยมสูงขึ้นเรื่อยๆ ตลอดหลายปีที่ผ่านมา สำหรับ Direct X การใช้งานแบบเห็นกันมากและชัดเจนที่สุดก็คือเกมส์ ซึ่งส่วนใหญ่ยังอยู่บน Windows และใช้ Direct X กันแทบทั้งหมดหมด นอกจากที่ WebGL จะไปชนกับ Direct X แล้วยังมาชนกับ Molehill ของ Adobe อีกด้วย ซึ่งเป็นเทคโนโลยี 3 มิติของ Flash Player แต่ถึงกระนั้น WebGL ก็มีผู้สนับสนุนอยู่มาก ได้แก่ NVIDIA, Facebook, Qualcomm etc. และยังมีการประยุกต์ไปใช้ในเทคโนโลยีตัวอื่นๆได้อีก เช่น X3DOM ซึ่งเป็นเทคโนโลยีที่มีการใช้ WebGL ด้วยการเขียนในรูปแบบ X3D หรือที่เทคโยโลยีที่น่าสนใจอย่างมากที่กำลังมานี้ก็คือ WebCL ซึ่งจะช่วยให้การประมวลผลของ WebGL มีประสิทธิภาพสูงมากขึ้น โดยเป็นการใช้ GPU และ multi-core CPU ประมวลผลจากเว็บเบราว์เซอร์ ซึ่งจะช่วยลดปัญหาด้านความเร็วของ WebGL ได้มาก

สำหรับทางเลือกในการเปิดใช้ Web3D ในปัจจุบัน Plugins ก็ยังเป็นสิ่งที่สำคัญอยู่ เนื่องจากลบจุดด้อยด้านความเร็วที่ยังช้าอยู่ของ WebGL ซึ่งหากเทียบกับใช้ Plugins ในขณะนี้ ความเร็วยังสู้ไม่ได้ และด้วยวิธีการประมวลผลที่แตกต่างกัน สำหรับ Plugins ก็มีการพัฒนาหลายองค์กรด้วยกันไม่ว่าจะเป็น BS Contact ของ Bitmanagement Software GmbH หรือจะเป็นของ Octaga

ข่าวสนับสนุนเพิ่มเติมการพบช่องโหว่จาก WebGL

รายงานข่าวล่าสุด Vupen Security บริษัทวิจัยระบบรักษาความปลอดภัยในฝรั่งเศษอ้างว่า พวกเขาสามารถแฮค Chrome เว็บบราวเซอร์ที่กำลังมาแรงของ Google ผ่านทางช่องโหว่ที่ยังไม่มีการเปิดเผย (zero-day bug) ได้เป็นผลสำเร็จ โดยทีมนักวิจัยได้พัฒนาชุดคำสั่งที่สามารถก้าวข้ามผ่านคุณสมบัติระบบรักษาความปลอดภัยของ Google Chrome ได้ทั้งหมดรายละเอียดในบล็อกของ Vupen ได้มีการเผยแพร่คลิปวิดีโอสาธิตการเจาะระบบผ่านทางช่องโหว่ที่พบใน Google Chrome โดยการทำงานของโค้ดที่ปรากฎในคลิปวิดีโอสามารถกระโดดข้ามคุณสมบัติของระบบรักษาความปลอดภัยทั้งหมดของ Google Chrome ได้ ไม่ว่าจะเป็น DEP, ASLR หรือแม้แต่ Sandbox ที่สำคัญ การเจาะผ่านเข้าไปในระบบผ่านช่องโหว่ใน Chrome ด้วยโค้ดดังกล่าวจะไม่มีการแสดงอะไรให้ผู้ใช้ทราบได้เลย โดยเฉพาะการที่มันไม่เกิดการล่มการทำงานหลังจากเจาะเข้าไปได้แล้ว

Vupen เปิดเผยว่า ช่องโหว่ดังกล่าวสามารถทำงานบนระบบปฏิบัติการ Windows (32 และ 64 บิต) นั่นหมายความว่า หากมีการนำช่องโหว่นี้ไปใช้โจมตี มันก็จะสร้างความเสียหายได้ไม่ใช่น้อยเลยทีเดียว ประเด็นที่น่าตกใจยิ่งกว่าก็คือ ช่องโหว่ที่พบมีความเกี่ยวข้องกับมาตรฐานใหม่สำหรับการแสดงผลกราฟิก 3D บนบราวเซอร์นั่นก็คือ WebGL (ไดรเวอร์กราฟิก) ซึ่งมีการใช้ใน Chrome, Firefox และ Safari โดยแฮคเกอร์สามารถสร้างการโจมตี GPU ผ่านทาง WebGL ได้อีกด้วย

แหล่งข้อมูลอ้างอิง

http://www.ohodownloads.com/software-news/webgl-3-d-web/
http://forum.thaidvd.net/index.php?showtopic=111971
http://www.thaicert.nectec.or.th/paper/DoS/DoS_trends.php
http://www.bcoms.net/bluescreen/intro.asp
http://www.arip.co.th/news.php?id=413618