22 มิ.ย. 2554
Microsoft: ไม่มีทางที่รองรับ WebGL แล้วจะผ่านเกณฑ์ความปลอดภัยของบริษัทได้
16 มิถุนายน 2554 - แม้ Internet Explorer 9 จะเป็นก้าวสำคัญการยกระดับการรองรับ standard และใน version 10 ก็ถูกตั้งเป้าไว้ให้รวม feature ใหม่ๆ หลากหลายชนิดไปด้วย แต่มีสิ่งหนึ่งที่ Microsoft ไม่แตะต้อง นั่นคือ WebGL ซึ่งเป็น specification ที่ทำให้หน้าเว็บสามารถสร้างกราฟฟิค 3 มิติ ขึ้นมาได้ โดยใช้ API ที่ต่อยอดมาจาก API ชื่อดังอย่าง OpenGL ใน blog post วันนี้จากวิศวกรความปลอดภัยของ Microsoft อาจอธิบายได้ว่าทำไม: พวกเขาไม่คิดว่ามันมีทางจะ implement ใช้ได้อย่างปลอดภัย
3 ประเด็นสำคัญได้ถูกแจกแจงใน post: WebGL มีลักษณะ sensitive, privileged, หรือ unhardened code เกินไปต่อเว็บ; พึ่งพา code ด้านความปลอดภัยจาก 3rd party มากเกินไป; และอ่อนแอต่อการโจมตีแบบ Denial of Service ประเด็นแรกสุดอาจจะเป็นประเด็นที่สำคัญที่สุดในกลุ่ม video hardware และ video driver จะเปิดให้ใช้งานกับ code ที่ trusted ได้ - นั่นคือโปรแกรมที่ผู้ใช้ install ลงไปอย่างชัดเจน driver แสดงผลนั้นขึ้นชื่อในเรื่องของความไม่เสถียรและมี bug เยอะ และนักพัฒนาโปรแกรม 3D ต้องใช้ความพยายามเพื่อให้โปรแกรมไม่ใช้ (หรือใช้ผิด) 3D hardware ในทางที่จะก่อให้เกิดปัญหา
หน้าเว็บมักจะมีโค้ดอันตรายแอบแฝงอยู่ ซึ่งถูกเขียนมาอย่างแนบเนียนเพื่อเปิดโปง bug และช่องโหว่ใน software เพื่อจะแก้ปัญหานี้ ตัว browser เองมักจะเสริมเกราะด้วยการใช้ sandbox ลดระดับสิทธิ และเทคนิคอื่นๆ เพื่อจะลดผลกระทบจากช่องโหว่ นอกจากนี้ยังมีการตรวจสอบหาปัญหาต่างๆ อย่างสม่ำเสมอ และ code โปรแกรมในแบบที่สามารถหาจุดที่มีการใช้ผิดได้อย่างรวดเร็ว และรับมือกับสถานการณ์ได้อย่างปลอดภัย - ไม่มีส่วนเล็กใดๆ เป็นผลของประวัติศาสตร์ที่ยาวนานของช่องโหว่ใน browser ในอดีต video driver ไม่เคยเจอปัญหาเช่นนี้มาก่อน และมันจึงไม่ได้ถูกเขียนมาให้รับมือกับภัยเหล่านี้ จึงเลือกที่เชื่อใจนักพัฒนา 3D ว่าสามารถทำได้อย่างถูกต้อง WebGL เปลี่ยนภาพลักษณ์นี้ออกไป และเปิดช่องว่างให้เว็บอันตรายสามารถเข้าถึงและจู่โจม driver ที่เปิดช่องว่าง ได้อย่างสบายๆ
นี่นำไปสู่ประเด็นที่ 2 - ในหลายๆ ช่องโหว่เหล่านี้ไม่มีอยู่ใน specification ของ WebGL แต่จะมีอยู่ใน driver แสดงผลที่เขียนโดย ATI, NVIDIA, และ Intel นี่ทำให้เป็นเรื่องยากสำหรับผู้สร้าง browser ที่จะต่อกรกับปัญหาเหล่านี้ แม้ว่าการโจมตีจะเพ่งเล็งไปที่ตัว browser แต่ตัว browser ไม่ใช่ตัวเปิดช่องโหว่ วิธีที่ดีที่สุดสำหรับ browser คือการ blacklist driver ที่ตรวจพบว่ามีช่องโหว่ แต่นี่จะทำให้อรรถรสในการเล่นเว็บลดลงอย่างมาก
WebGL ไม่ได้ถูกเขียนขึ้นมาจากศูนย์ และบางประเด็นก็ได้ถูกพิจารณาในขั้นตอนการออกแบบ OpenGL ได้เสริม feature ต่างๆ ที่ทำให้ driver ที่ถูกใช้งานทำการ validate 3D code อย่างละเอียดถี่ถ้วนขึ้น ด้วยความตั้งใจที่จะทำให้การใช้งาน WebGL นั้นปลอดภัยยิ่งขึ้น ในข้อที่ 3 ของ Microsoft ชี้ว่าเทคนิคเหล่านี้ไม่ได้ถูกพิสูจน์และมีแนวโน้มว่าไม่สมบูรณ์ (post เจาะจงเป็นพิเศษถึง extension ของ OpenGL ที่ถูกออกแบบมาเพื่อปรับปรุงระบบความปลอดภัยของ WebGL ด้วยการต่อเติม extension เดิมที่ไม่ค่อยเสถียร)
จากประเด็นทั้งหมด Microsoft บอกว่าประเด็นเหล่านี้จะทำให้การประยุกต์ใช้ WebGL ไม่ว่าทางใดก็ตามจะทำให้ไม่ผ่านความต้องการของบริษัทด้าน software security ของ standard ภายใน
แม้ว่าความคิดที่ Microsoft ปฏิเสธอะไรบางอย่างในเรื่องความปลอดภัยจะเป็นเรื่องน่าตลก แต่ก็มีความพยายามอย่างมากในการสร้าง วิธีการพัฒนา software และยังสามารถรักษาความปลอดภัยในทุกๆ ด้านของการออกแบบและพัฒนาผลิตภัณฑ์ Windows Vista และ 7 ต่างก็มีประวัติที่ดีกว่าใน XP เมื่อพูดถึงเรื่องช่องโหว่ด้านความปลอดภัย ทั้งคู่ได้รับผลกระทบจากช่องโหว่น้อยกว่า XP และลดความรุนแรงของ bug หลายๆ ตัวที่มันสามารถก่อได้ การปฏิเสธการ implement specification ซึ่งไม่ผ่านเกณฑ์ด้านความปลอดภัยที่เสริมภาพลักษณ์บริษัทเป็นอย่างดีในช่วงไม่กี่ปีนี้เป็นเรื่องที่เข้าใจ
พวกที่ชอบว่าร้ายอาจจะหาว่า ประเด็นเรื่องความปลอดภัยเป็นเพียงฉากบังหน้าและเป็นการปฏิเสธ open standard อีกครั้งของ Microsoft เพื่อผลประโยชน์ของ Direct3D ของบริษัทเอง การมองเช่นนี้นั้นเป็นเรื่องที่ไม่ค่อยน่าเชื่อถือเนื่องจาก Microsoft ได้เข้าไปมีส่วนร่วมในการพัฒนา HTML5 และให้การสนับสนุนในการใช้ HTML5 ที่เป็น open standard แม้ว่าอาจต้องแลกด้วยค่าใช้จ่ายที่หมดไปกับเทคโนโลยีของตัวบริษัทเอง บริษัทมีท่าทีในการพยายามทำในสิ่งที่ดีเพื่อสิ่งที่ถูก อย่างน้อยก็กับ HTML5 และ standard อื่นๆ ที่เกี่ยวข้อง
Microsoft ไม่ได้เป็นบริษัทเดียวที่พบปัญหาในเรื่องคุณภาพของ driver แสดงผล Firefox 4 ก็เหมือนกับ Internet Explorer 9 ที่ใช้ Direct2D และ Direct3D ในการเร่งความเร็วในการวาดภาพและเล่น animation บนหน้าเว็บ API เหล่านี้เร่งความเร็วจาก Hardware จึงพึ่งกับคุณภาพของ driver อย่างมาก แม้ว่าการใช้ API เหล่านี้จะถูกควบคุมและจำกัดเป็นอย่างดี - Firefox เลือกที่จะใช้งานมันมากกว่าจะใช้ WebGL javascript - นักพัฒนา Firefox ยังคงต้อง blacklist driver อีกเป็นจำนวนมาก โดยเฉพาะอันที่เก่าแล้ว ที่พบปัญหาการ crash และแสดงผลผิดพลาด พวกมันยังคาดเดาไม่ได้หรือไม่เสถียรพอที่จะใช้งานโดยปราศจากการทดสอบ และเมื่อพวกมัน crash ผลกระทบอาจจะใหญ่หลวง
Microsoft อาจต้องเผชิญกับปัญหานี้เช่นกันกับ Silverlight 5 ซึ่งจะถูกใช้เป็น application บนเว็บ จะรวมความสามารถบางอย่างของ Direct3D เข้าไป นี่อาจทำให้ browser เจอปัญหาต่างๆเช่นเดียวกับที่เกิดกับ WebGL - อย่างน้อยก็สำหรับเครื่องที่ลง Silverlight 5 และเปิดใช้งาน
WebGL มีลักษณะคล้ายคลึงกับการเป็นส่วนเติมเต็มให้ 2D Canvas API ที่หลายๆ browser - รวมถึง Internet Explorer 9 - สนับสนุน เพิ่มขีดความสามารถด้านกราฟฟิค 3D ให้กับ browser สิ่งที่ถูกละเลยก็จะถูกวิพากษ์วิจารณ์โดยกลุ่มนักพัฒนา โดยเฉพาะคำวิจารณ์ของ Microsoft ที่มีต่อ WebGL ที่ส่อแววจะดันให้ Mozilla, Google หรือ Apple ทิ้งเทคโนโลยีนี้ไป blog post ที่ออกมาได้แสดงให้เห็นถึงความสามารถของ WebGL แต่ก็ปฏิเสธการทำไป implement เพราะไม่ผ่านเกณฑ์มาตรฐานความปลอดภัยของบริษัท
ถ้า WebGL ไม่ใช่ มันก็ยากที่จะรู้ได้ว่าอะไรที่จะเป็น
Source: http://arstechnica.com/microsoft/news/2011/06/microsoft-no-way-to-support-webgl-and-meet-our-security-needs.ars
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)

ไม่มีความคิดเห็น:
แสดงความคิดเห็น