WebAssembly (WA hoặc Wasm) là công nghệ mới, được ra mắt vào năm ngoái và hiện được hỗ trợ trên tất cả các trình duyệt chính bao gồm Chrome, Edge, Firefox và Safari.
Có thể hiểu nôm na WebAssembly là một trình biên dịch mã nhị phân được tích hợp vào trong các trình duyệt web, để biên dịch và giúp phần mềm có thể chạy trên trình duyệt.
Thay đổi trong WebAssembly có thể giảm nhẹ ảnh hưởng các cuộc tấn công Meltdown và Spectre
Các nhà sản xuất trình duyệt tạo ra WebAssembly nhằm mục đích để cải thiện tốc độ phân phối và hiệu suất của mã JavaScript, và cũng là một cách cho nhà phát triển biên dịch mã từ các ngôn ngữ cấp cao khác như C, C ++ và các ngôn ngữ khác sang Wasm, sau đó chạy trên trình duyệt.
WebAssembly cũng gây ra ảnh hưởng không mong muốn
Cũng giống như các công nghệ khác, WebAssembly cũng bao gồm một số hạn chế và không "miễn nhiễm" với các lạm dụng. Với các trình khai thác tiền ảo trên trình duyệt (script cryptojacking) có thể được phát hiện bằng cách bổ sung WebAssembly trong các trình duyệt chính, vì tất cả trình khai thác trong trình duyệt chạy trên WebAssembly, chứ không phải JavaScript thuần túy.
Bên cạnh đó nhà nghiên cứu của Forcepoint cũng đưa ra giả thiết WebAssembly có thể gây ra các ảnh hưởng không mong muốn cho người dùng web.
Bergbom giải thích, khi Wasm hỗ trợ các luồng có bộ nhớ chia sẻ, các bộ hẹn giờ [JavaScript] có thể được tạo ra và điều này có thể làm giảm nhẹ tác động của các cuộc tấn công kênh kề CPU.
WebAssembly có thể giảm nhẹ ảnh hưởng các cuộc tấn công Meltdown và Spectre
Nói chính xác hơn thì Bergbom đề cập đến các cuộc tấn công kênh kề theo thời gian (timing attack).
Các cuộc tấn công kênh kề theo thời gian là lớp tấn công mã hóa, thông qua đó người quan sát của bên thứ 3 có thể suy ra nội dung của dữ liệu được mã hóa bằng cách ghi và phân tích thời gian thực hiện các thuật toán mã hóa.
Các lỗ hổng Meltdown và Spectre CPU được tiết lộ gần đây cùng các biến thể [1, 2, 3] là các cuộc tấn công kề theo thời gian trên lõi CPU.
Tham khảo cách kiểm tra máy tính có bị ảnh hưởng bởi lỗ hổng Spectre và Meltdown
Chúng dựa vào khả năng của kẻ tấn công để đo khoảng thời gian chính xác, tham số cần thiết để thực hiện các cuộc tấn công kênh kề (side-channel attack) và khôi phục đủ thông tin từ các dữ liệu mã hóa để định phần còn lại.
Các nhà phát triển trình duyệt đã khắc phục vấn đề này hồi tháng 1
Các lỗ hổng Meltdown và Spectre xuất hiện vào hồi tháng 1 năm nay, các nhà nghiên cứu cũng đã công bố mã proof-of-concept mà kẻ tấn công có thể sử dụng để khai thác các lỗ hổng CPU từ xa, thông qua Internet, sử dụng mã JavaScript chạy trong trình duyệt.
Mã tấn công này sử dụng các hàm quan trọng trên trình duyệt để đo khoảng thời gian, chẳng hạn như "SharedArrayBuffer" và "performance.now ()".
Để giảm nhẹ ảnh hưởng các cuộc tấn công, các nhà phát triển trình duyệt như Firefox và Chrome đã phát hành các bản cập nhật làm giảm độ chính xác các chức năng hẹn giờ, hiển thị các cuộc tấn công Meltdown và Spectre và các cuộc tấn công kênh kề thời gian khác, nhưng hiệu quả không được như mong muốn.
Theo Bergbom, việc hạn chế hỗ trợ các luồng được thêm vào WebAssembly sẽ giảm nhẹ ảnh hưởng các cuộc tấn công.
Tuy nhiên nhà nghiên cứu cũng nhấn mạnh thêm, nhà phát triển cũng cần xem xét đến các vấn đề an ninh bảo mật tiềm ẩn. Cũng giống như JavaScript, khả năng của Wasm là vô tận.
Để ngăn chặn các cuộc tấn công có thể xảy ra đòi hỏi các nhà phát triển trình duyệt phải thực hiện cùng một cách tiếp cận bằng cách hạn chế hỗ trợ các luồng sắp tới trên WebAssembly để ngăn kẻ tấn công tạo ra đủ bộ tính giờ chính xác.
Theo một báo cáo gần đây từ công ty bảo mật Appthority, có tới hàng nghìn ứng dụng Android và iOS bị rò rỉ dữ liệu nhạy cảm khiến cho những thông tin của người dùng như mật khẩu, vị trí GPS, token Facebook,...bị rơi vào tay kẻ xấu.