นักวิจัยชี้ความสามารถใหม่ใน WebAssembly อาจกระทบแพตช์ Meltdown และ Spectre บน Browser

นาย John Bergbom นักวิจัยด้านความมั่นคงปลอดภัยจาก Forcepoint ได้ออกมาเตือนว่าตาม Roadmap ของ WebAssembly จะเพิ่มการทำงานสำหรับ Thread ด้วยการ Share memory ซึ่งจะทำให้สามารถสร้าง Timer ที่มีความแม่นยำและขัดแย้งกับวิธีการแก้ไขปัญหา Meltdown และ Spectre ใน Browser ที่พยายามลดความเที่ยงตรงของ Timer 
WebAssembly เป็นเทคโนโลยีที่ออกมาเมื่อปีก่อนและได้รับเสียงตอบรับในวงนักพัฒนาเป็นอย่างดี ตอนนี้เองก็มี Browser รองรับแล้วหลายตัว เช่น Chrome, Edge, Firefox และ Safari ซึ่งประโยชน์คือจะช่วยเพิ่มความรวดเร็วให้ Browser โดยการทำให้คอมไพล์ภาษาระดับต่ำบนเว็บได้ (ทุกคนรู้ดีว่าการเขียนภาษาระดับต่ำนั้นให้ประสิทธิภาพด้านเวลาได้ดีมากเพราะทำงานใกล้ชิดกับฮาร์ดแวร์มากกว่า) เช่น หากอยากแปลงโค้ดจาก C/C++ ซึ่งเป็นภาษาระดับสูงมาใช้บนเว็บก็สามารถทำได้แต่ต้องแปลงเป็น .wasm เสียก่อน ดังนั้นในมุมของนักพัฒนาจึงถือเป็นการเปลี่ยนแปลงอย่างใหญ่หลวงในด้านบวก
อย่างไรก็ตามผลกระทบคือเป็นที่ทราบกันดีว่าการใช้ช่องโหว่ Meltdown และ Spectre เกี่ยวพันกับ Timing Attack (การสังเกตบันทึกค่าเวลาที่เกิดขึ้นของ input เพื่อวิเคราะห์อัลกอริธึมการเข้ารหัส) แบบเต็มๆ ซึ่งโค้ด PoC ของการใช้ช่องโหว่นี้บน Browser มีการใช้ฟังก์ชันดั้งเดิมเพื่อวัดค่าเวลา เช่น SharedArrayBuffer และ performance.now() จากนั้นทาง Firefox และ Chrome และ Browser อื่นก็แก้เกมด้วยการแพตช์เพื่อลดความแม่นยำในฟังก์ชัน Timer แต่โชคร้ายดูเหมือนว่า Roadmap ของ WebAssembly ดูจะสวนทางกับการป้องกันช่องโหว่เหล่านี้เพราะอาจจะเปิดช่องให้สร้างฟังก์ชัน Timer ที่มีความแม่นยำสูงได้
ผู้สนใจสามารถติดตามรายงานฉบับเต็มได้ที่ https://www.forcepoint.com/blog/security-labs/webassembly-potentials-and-pitfalls

Comments

Popular posts from this blog

นักวิจัยปล่อยโค้ดที่ทำให้เกิดจอฟ้ากับเครื่อง Windows จำนวนมากบน GitHub

ผู้เชี่ยวชาญพบมัลแวร์ใช้ Windows BITS เพื่อติดต่อเซิร์ฟเวอร์ควบคุม

รู้สาเหตุแล้ว ประเทศในแถบเอเชียตะวันออกเฉียงใต้เน็ตช้าเพราะสายเคเบิลใต้ทะเลขาด