นาย 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