Tags:
Node Thumbnail

Mozilla เผยข้อมูลของ RLBox เทคนิคการทำ sandbox แบบใหม่ที่จะเริ่มใช้ใน Firefox 95 โดยเป็นความร่วมมือกับงานวิจัยของมหาวิทยาลัย UC San Diego และ University of Texas

เว็บเบราว์เซอร์ยุคปัจจุบันมีการทำ sandbox ห่อหุ้มเว็บไซต์ไว้ในโพรเซสของตัวเอง ป้องกันไม่ให้เว็บอันตรายสามารถเข้าถึงเว็บอื่นๆ หรือออกมาสร้างอันตรายนอกเบราว์เซอร์ได้

Mozilla บอกว่าเมื่อห่อหุ้มเว็บเพจได้แล้ว เป้าหมายต่อไปคือการแยกคอมโพเนนต์แต่ละส่วนของเบราว์เซอร์ ไม่ให้มายุ่งเกี่ยวกันได้ (เช่น แยกโพรเซสประมวลผลวิดีโอออกมา ไม่ต้องยุ่งกับเบราว์เซอร์หลัก) โดยเฉพาะไลบรารีภายนอกที่อาจมีช่องโหว่ แต่ Mozilla ไม่สามารถควบคุมคุณภาพของโค้ดได้เอง (ปํญหา supply-chain attack ที่เกิดขึ้นบ่อยในช่วงหลัง)

อย่างไรก็ตาม การแยกคอมโพเนนต์ออกมาเป็นอีกโพรเซสมีความซับซ้อนสูงมาก ส่งผลกระทบต่อประสิทธิภาพ และมี overhead เรื่องหน่วยความจำ ทำให้ต้องใช้หน่วยความจำรวมเยอะขึ้นอีก

No Description

RLBox เป็นเทคนิคใหม่ที่สร้างขึ้นมาเพื่อแก้ปัญหานี้ การทำงานของมันคือแปลงโค้ดเป็น WebAssembly ก่อน แล้วค่อยคอมไพล์ WebAssembly เป็นโค้ดเนทีฟอีกที วิธีนี้ช่วยให้โค้ดที่ถูกแปลงเป็น WebAssembly ไม่สามารถเรียกใช้หน่วยความจำนอกพื้นที่ของตัวเองได้ ถือเป็นทางออกตรงกลาง เพราะไม่ต้องแยกโพรเซสใหม่ให้ยุ่งยาก แต่แยกส่วนหน่วยความจำให้มีขอบเขตชัดเจน ปลอดภัยขึ้นกว่าเดิม

อย่างไรก็ตาม RLBox เองก็มีข้อจำกัด เพราะถ้าคอมโพเนนต์ส่วนที่ต้องแชร์หน่วยความจำกับส่วนอื่นมากๆ จะทำงานไม่ได้ จึงเหมาะกับไลบรารีภายนอกที่ทำงานของตัวเองเป็นหลักเท่านั้น ปัจจุบัน Mozilla เลือกใช้ RLBox กับไลบรารีภายนอก 5 ตัว ได้แก่ ตัวเรนเดอร์กราฟิก Graphite, ตัวตรวจสะกดคำ Hunspell, ตัวเล่นไฟล์มีเดีย Ogg, XML Parser Expat และตัววาดฟอนต์ Woff2

Mozilla บอกว่าการนำ RLBox มาใช้ในแอพที่คนใช้เป็นจำนวนมากอย่าง Firefox ถือเป็นพัฒนาการที่ดีของ RLBox ที่เริ่มมาจากงานวิจัยในสายวิศวกรรมคอมพิวเตอร์ และหวังว่า Firefox จะเป็นตัวอย่างให้แอพตัวอื่นๆ เดินรอยตาม นำ RLBox ไปใช้งานเพื่อยกระดับความปลอดภัยให้มากขึ้นได้

RLBox จะใช้งานใน Firefox 95 ทั้งเวอร์ชันเดสก์ท็อปและมือถือ

ที่มา - Mozilla Hacks

Get latest news from Blognone