Bạn mở một trang tin tức công nghệ, đọc tài liệu chuyên môn hoặc duyệt qua diễn đàn thảo luận. Chỉ sau vài giây, quạt tản nhiệt của máy tính bất ngờ rú lên với tốc độ tối đa. Bề mặt máy nóng rực, lượng pin máy tính xách tay tụt dốc không phanh từ tám mươi phần trăm xuống còn hai mươi phần trăm chỉ trong chưa đầy ba mươi phút, còn con trỏ chuột di chuyển giật cục trên màn hình. Bạn mở bảng công cụ nhà phát triển để kiểm tra thì không thấy bất kỳ tệp JavaScript đáng ngờ nào. Phần mềm quét mã độc báo hệ thống hoàn toàn sạch sẽ, trong khi trình quản lý tác vụ hiển thị tiến trình trình duyệt đang ngốn trọn vẹn toàn bộ năng lực xử lý của vi xử lý.

Đây không phải là lỗi rò rỉ bộ nhớ đơn thuần. Phần cứng máy tính của bạn vừa bị huy động trái phép vào một cụm đào tiền mã hóa ngầm. Bạn đã trở thành nạn nhân của kỹ thuật đào tiền ảo trong trình duyệt (cryptojacking) sử dụng WebAssembly (WASM)—một chuẩn web tiên tiến vốn được tạo ra để mang lại hiệu năng đồ họa cao cấp, nhưng nay đang bị kẻ xấu biến thành công cụ thực thi mã nhị phân độc hại ngoài tầm kiểm soát của các lớp bảo mật truyền thống.

Ưu thế thực thi mã nhị phân của WebAssembly

Để hiểu vì sao WebAssembly lại trở thành vũ khí nguy hiểm cho mã độc đào tiền ảo, chúng ta cần so sánh sự khác biệt kiến trúc giữa tập lệnh web truyền thống và mã nhị phân biên dịch sẵn. Suốt nhiều thập kỷ, logic phía máy khách trên trình duyệt hoàn toàn do JavaScript đảm nhiệm. JavaScript là ngôn ngữ kịch bản thông dịch, kiểu dữ liệu động. Khi tải trang, công cụ phân tích (như V8 trên Chromium hay SpiderMonkey trên Firefox) đọc mã nguồn văn bản thuần, xây dựng cây cú pháp trừu tượng (AST) và biên dịch Just-In-Time (JIT). Nhờ mã ở dạng chữ rõ ràng, các tiện ích chặn quảng cáo và phần mềm bảo vệ dễ dàng quét chuỗi, nhận diện hàm độc hại và chặn đứng kịp thời.

WebAssembly thay đổi hoàn toàn cục diện thực thi này. Được thiết kế dưới dạng định dạng mã nhị phân di động, WASM cho phép lập trình viên biên dịch trực tiếp các ngôn ngữ cấp thấp như C, C++ và Rust thành các mô-đun nhị phân nhỏ gọn (tệp .wasm). Khi tải vào trình duyệt, WebAssembly chạy trong một máy ảo ngăn xếp độc lập với tốc độ gần tương đương phần cứng thực tế—đạt từ chín mươi đến chín mươi lăm phần trăm hiệu suất so với mã máy gốc.

Kẻ tấn công khai thác triệt để hiệu năng vượt trội này cho mục đích trục lợi bất chính. Các thuật toán đồng thuận bằng chứng công việc (như RandomX hoặc CryptoNight dùng để khai thác Monero) đòi hỏi xử lý phép toán số học 64-bit phức tạp và băm bộ nhớ liên tục. Trong khi JavaScript thông thường xử lý các phép tính này rất chậm, mô-đun WebAssembly biên dịch sẵn có thể chạy với tốc độ kinh ngạc, vắt kiệt công suất CPU của nạn nhân để giải mã khối mà không làm treo hoàn toàn giao diện trang web.

Kỹ thuật đào tiền ảo ngầm và ẩn mình trong bộ nhớ trình duyệt

Mối nguy hiểm thực sự của mã độc WebAssembly không chỉ nằm ở tốc độ tính toán, mà còn ở khả năng tàng hình trước các cơ chế thanh tra an ninh:

  1. Gói dữ liệu nhị phân mờ đục: Khác với mã nguồn JavaScript, các tệp WebAssembly được phân phối dưới dạng khối nhị phân cô đọng. Kẻ tấn công lược bỏ toàn bộ bảng ký hiệu gỡ lỗi, làm xáo trộn luồng điều khiển và nén dữ liệu tùy biến. Các công cụ quét dựa trên mẫu chuỗi văn bản không thể nhìn xuyên qua tệp .wasm, khiến mã độc dễ dàng lọt qua các hàng rào kiểm duyệt tự động.

  2. Huy động toàn bộ lõi xử lý qua Web Workers: Để ngăn trình duyệt bị đơ cứng—dấu hiệu khiến người dùng đóng ngay thẻ duyệt web—mã khai thác sử dụng giao diện lập trình Web Workers. Tập lệnh chính kiểm tra thông số phần cứng và sinh ra hàng loạt luồng xử lý chạy ngầm tương ứng với số lõi CPU thực tế. Mỗi luồng khởi tạo một cỗ máy tính toán WebAssembly riêng biệt, âm thầm hoạt động song song mà giao diện trang web vẫn cuộn mượt mà.

  3. Cơ chế né tránh môi trường phân tích: Các đoạn mã đào ngầm tinh vi được trang bị cơ chế tự vệ linh hoạt. Trước khi bắt đầu vòng lặp tính toán nặng, kịch bản sẽ truy vấn trạng thái nguồn điện qua API pin của trình duyệt và theo dõi tốc độ khung hình. Nếu phát hiện thiết bị đang dùng pin hoặc người dùng vừa bật bảng điều khiển gỡ lỗi (F12), mã độc sẽ ngay lập tức giảm tốc độ tính toán về mức tối thiểu hoặc tạm dừng hoàn toàn.

  4. Khai thác kênh phụ vi kiến trúc: Ngoài đào tiền ảo, các nhà nghiên cứu an ninh mạng đã chỉ ra rằng bộ đếm thời gian độ phân giải cao trong WebAssembly có thể bị lạm dụng để thực hiện các cuộc tấn công kênh phụ vào bộ nhớ đệm CPU (tương tự biến thể Spectre), cho phép đọc trộm dữ liệu xuyên ranh giới tiến trình trong trình duyệt.

Phòng thủ đa tầng: Kiểm soát tập lệnh và cô lập kết nối mạng

Ngăn chặn mã độc đào ngầm WebAssembly đòi hỏi chiến lược kết hợp giữa việc kiểm soát tập lệnh thực thi trên trình duyệt và chặn đứng kênh liên lạc mạng ra bên ngoài:

Kiểm soát tập lệnh và tiến trình chạy ngầm

Để bảo vệ vi xử lý khỏi việc bị vắt kiệt tài nguyên, người dùng nên áp dụng các biện pháp kiểm soát tại máy khách:

  • Sử dụng tiện ích lọc nội dung: Cài đặt các tiện ích mở rộng có khả năng nhận diện và chặn danh sách các miền đào tiền ảo chuyên dụng.
  • Hạn chế thực thi mã không tin cậy: Với các môi trường làm việc yêu cầu an toàn cao, bạn có thể thiết lập chặn tập lệnh mặc định trên các trang web lạ và chỉ cho phép chạy WebAssembly trên các ứng dụng đồ họa hay công cụ trực tuyến uy tín.
  • Theo dõi tiến trình nội bộ: Khi thấy máy nóng lên bất thường mà không rõ nguyên nhân, hãy mở trình quản lý tác vụ riêng của trình duyệt (phím tắt Shift + Esc trên Chromium) để nhận diện thẻ web đang tiêu tốn CPU và đóng ngay lập tức.

Cắt đứt kết nối máy chủ đào tiền ảo bằng lá chắn mạng

Mã độc WebAssembly trong trình duyệt không thể sinh lợi nếu hoạt động cô lập; nó bắt buộc phải giữ liên lạc liên tục với máy chủ điều khiển để nộp kết quả tính toán qua giao thức WebSocket hoặc giao thức Stratum trên cổng TCP.

Sử dụng ứng dụng VPNRice cung cấp tuyến phòng thủ kiên cố ở tầng mạng truyền dẫn. Thông qua các thuật toán mã hóa hiện đại như ChaCha20-Poly1305 và AES-256-GCM, đường hầm bảo vệ chủ động sàng lọc các kết nối ra ngoài. Giao thức độc quyền RiceGuard và RiceGuardX loại bỏ các đặc trưng bắt tay và ngăn chặn các kết nối hướng tới các bể đào tiền ảo trái phép, khiến mã nhị phân WebAssembly trên máy bị cô lập và không thể gửi dữ liệu khai thác về máy chủ đích.

Trước khi truy cập các nguồn tài nguyên web lạ, bạn hãy kiểm tra độ an toàn của đường truyền qua công cụ Tra cứu địa chỉ IP và rà soát các nguy cơ rò rỉ giao tiếp qua trình Kiểm tra rò rỉ WebRTC. Sự kết hợp giữa quản lý tập lệnh trình duyệt và duy trì đường hầm mã hóa mạng liên tục sẽ giữ cho phần cứng của bạn luôn an toàn trước các thủ đoạn chiếm dụng tài nguyên ngầm.