
FreeWavm: Nghiên cứu mới nhất của Goplus về khai thác lỗ hổng máy ảo WebAssembly đã được chấp nhận chính thức dưới dạng bài toàn văn tại ISSTA 2025
Tuyển chọn TechFlowTuyển chọn TechFlow

FreeWavm: Nghiên cứu mới nhất của Goplus về khai thác lỗ hổng máy ảo WebAssembly đã được chấp nhận chính thức dưới dạng bài toàn văn tại ISSTA 2025
WebAssembly Runtime là cơ sở hạ tầng thực thi mã WebAssembly, được sử dụng rộng rãi như một công cụ thực thi trong các trình duyệt web và hệ thống blockchain.
Gần đây, nghiên cứu mới nhất của Goplus về khai thác lỗ hổng máy ảo WebAssembly đã chính thức được chấp nhận đăng toàn văn tại hội nghị ISSTA2025!
ISSTA là một trong bốn hội nghị hàng đầu trong lĩnh vực kỹ nghệ phần mềm, đồng thời cũng là hội nghị học thuật quốc tế hạng A do Hiệp hội Máy tính Trung Quốc (CCF) công nhận, chuyên tập trung vào những tiến bộ前沿 mới nhất từ các tổ chức nghiên cứu và doanh nghiệp công nghệ toàn cầu trong lĩnh vực kỹ nghệ phần mềm và kiểm thử phần mềm.

1. Định nghĩa vấn đề
Runtime WebAssembly là cơ sở hạ tầng thực thi mã WebAssembly, được sử dụng rộng rãi như một công cụ thực thi trong trình duyệt web và các hệ thống blockchain. Ví dụ, Ethereum 2.0 và Polkadot đã áp dụng runtime WebAssembly làm môi trường thực thi hợp đồng thông minh nhằm nâng cao hiệu suất và độ an toàn. Mặc dù ngày càng phổ biến, runtime WebAssembly cũng mở ra những mặt tấn công mới. Những lỗi và sai sót trong runtime WebAssembly có thể dẫn đến hành vi bất ngờ, kết quả sai lệch hoặc thậm chí hậu quả an ninh nghiêm trọng — đặc biệt đối với các nền tảng blockchain dựa vào việc biên dịch hợp đồng thông minh thành mã bytecode WebAssembly.
2. Khung thử nghiệm mờ cho máy ảo hợp đồng thông minh blockchain
Nhằm mục tiêu khai thác lỗ hổng trên máy ảo WebAssembly, bài báo này đề xuất một khung thử nghiệm mờ tên FreeWavm dựa trên đột biến cây phân tích cú pháp và định hướng theo điểm ảnh (snapshot-guided).
FreeWavm gồm bốn thành phần chính.
(1) Để nắm bắt đặc điểm cấu trúc của mã WebAssembly, nhóm nghiên cứu xây dựng một bộ phân tích module WebAssembly nhằm chuyển đổi mã bytecode WebAssembly thành cấu trúc dạng cây phân tích cú pháp (parse tree).
(2) Tiếp đó, thiết kế một mô-đun đột biến nhận diện cấu trúc để tạo đầu vào kiểm thử có ý nghĩa cho runtime WebAssembly. Quá trình này bao gồm việc áp dụng chiến lược ưu tiên nút tùy chỉnh để lọc ra các nút "thú vị" từ cây phân tích cú pháp, sau đó thực hiện các phép đột biến cụ thể lên các nút này.
(3) Để đảm bảo tính toàn vẹn của đầu vào kiểm thử sau đột biến, nhóm đề xuất một cơ chế tự động sửa lỗi nhằm điều chỉnh lại cây phân tích cú pháp đã bị thay đổi. Điều này đảm bảo bộ phân tích có thể phân tích thành công đầu vào kiểm thử mới được tạo, từ đó duy trì hiệu quả của các lần đột biến liên tiếp.
(4) Xây dựng một kho điểm ảnh (snapshot pool) để lưu giữ các cấu trúc cây phân tích cú pháp chưa hoàn thiện — những cây này hoặc gây sập chương trình hoặc bao phủ các đường dẫn thực thi mới trong runtime đích — qua đó tận dụng kiến thức trước đó cho các đột biến tiếp theo, nâng cao xác suất phát hiện các lỗ hổng sâu trong runtime WebAssembly.

Kiến trúc tổng thể của FreeWavm
Nhóm đã tiến hành thí nghiệm rộng rãi trên nhiều máy ảo WebAssembly. FreeWavm đã thành công phát hiện 69 lỗ hổng mới, trong đó 24 lỗ hổng được cấp mã CVE. So sánh với các công cụ cùng loại, FreeWavm vượt trội hơn hẳn về độ phủ mã nguồn cũng như số lượng lỗ hổng được kích hoạt trong vòng 24 giờ chạy thử nghiệm.
Chào mừng tham gia cộng đồng chính thức TechFlow
Nhóm Telegram:https://t.me/TechFlowDaily
Tài khoản Twitter chính thức:https://x.com/TechFlowPost
Tài khoản Twitter tiếng Anh:https://x.com/BlockFlow_News














