VoidStealer: Đột phá nguy hiểm bỏ qua mã hóa ABE Chrome

Một biến thể mới của **mã độc VoidStealer** infostealer đã thu hút sự chú ý nghiêm túc từ cộng đồng bảo mật. Đây là phần mềm độc hại đầu tiên được biết đến có khả năng **bỏ qua mã hóa ABE** (Application-Bound Encryption) của Google Chrome mà không yêu cầu tiêm mã (code injection) hoặc đặc quyền hệ thống nâng cao. Biến thể này, được giới thiệu trong phiên bản VoidStealer 2.0 vào ngày 13 tháng 3 năm 2026, sử dụng kỹ thuật dựa trên trình gỡ lỗi (debugger-based) để trích xuất thông tin đăng nhập trình duyệt đã mã hóa trực tiếp từ bộ nhớ một cách âm thầm, đánh dấu một sự thay đổi đáng kể trong phương pháp tiếp cận việc **đánh cắp thông tin trình duyệt** của các infostealer.
Tổng quan về VoidStealer và Cơ chế Bảo vệ ABE
Google đã giới thiệu ABE vào tháng 7 năm 2024 cùng với Chrome 127, nhằm mục đích khiến phần mềm độc hại khó tiếp cận dữ liệu trình duyệt nhạy cảm như mật khẩu đã lưu và cookie hơn. Đây là một nỗ lực quan trọng trong việc tăng cường **bảo mật trình duyệt** cho người dùng.
Cơ chế Application-Bound Encryption (ABE) của Chrome
ABE hoạt động bằng cách liên kết khóa mã hóa, được gọi là v20_master_key, với một dịch vụ cấp SYSTEM có tên là Google Chrome Elevation Service. Dịch vụ này chạy với các đặc quyền cao nhất trên hệ điều hành Windows. Điều này giúp đảm bảo rằng ngay cả khi kẻ tấn công có thể truy cập vào bộ nhớ quy trình của trình duyệt, việc giải mã dữ liệu vẫn cực kỳ khó khăn nếu không có quyền truy cập vào khóa này.
Mặc dù ABE đã nâng cao đáng kể hàng rào bảo vệ, nó không ngăn cản các tác nhân đe dọa tìm ra những cách thức tinh vi hơn để vượt qua. Kể từ khi ABE ra mắt, nhiều kỹ thuật bỏ qua khác nhau đã xuất hiện, mỗi kỹ thuật đều có những ưu và nhược điểm riêng về tính bí mật và độ tin cậy.
Sự Phát triển của Mã độc VoidStealer
Các nhà phân tích của GenDigital đã xác định **VoidStealer** là một infostealer dạng Malware-as-a-Service (MaaS). Phần mềm này lần đầu tiên xuất hiện trên các diễn đàn darkweb, bao gồm HackForums, vào giữa tháng 12 năm 2025. Sự xuất hiện của nó nhanh chóng thu hút sự chú ý của cộng đồng **an ninh mạng**.
Mã độc này đã phát triển nhanh chóng, tiến từ phiên bản 1.0 lên phiên bản 2.1 chỉ trong hơn ba tháng. Tốc độ cập nhật nhanh chóng cho thấy sự phát triển tích cực và liên tục của nhóm đứng sau **mã độc VoidStealer**.
Trong khi các phiên bản đầu của **VoidStealer** dựa vào một kỹ thuật bỏ qua dựa trên injection đã biết, phiên bản 2.0 đã giới thiệu một phương pháp tiếp cận mới. Kỹ thuật này được điều chỉnh từ dự án mã nguồn mở ElevationKatz, biến **VoidStealer** thành infostealer đầu tiên được phát hiện trong thực tế sử dụng kỹ thuật này để **bỏ qua mã hóa ABE**.
Chi tiết Kỹ thuật Bỏ qua Mã hóa ABE của VoidStealer
Mối nguy hiểm thực sự của biến thể **mã độc VoidStealer** này nằm ở khả năng khó bị phát hiện một cách bất thường. Hầu hết các kỹ thuật bỏ qua ABE hiện có đều yêu cầu đặc quyền cấp SYSTEM hoặc tiêm mã trực tiếp vào trình duyệt, những hành động mà các công cụ bảo mật có thể dễ dàng phát hiện hơn. Phương pháp mới của **VoidStealer** tránh cả hai điều này, thay vào đó dựa vào các API gỡ lỗi tiêu chuẩn của Windows, vốn thu hút ít sự chú ý hơn trong các môi trường thông thường. Điều này làm cho việc phát hiện trở nên khó khăn hơn.
Cơ chế Bỏ qua Mã hóa ABE
Cốt lõi của kỹ thuật bỏ qua độc đáo của **mã độc VoidStealer** liên quan đến việc tự gắn mình vào trình duyệt Chrome hoặc Edge dưới dạng một trình gỡ lỗi. Sau đó, nó đặt các breakpoint phần cứng vào đúng thời điểm khi v20_master_key hiện diện thoáng qua trong bộ nhớ dưới dạng văn bản thuần túy.
Quy trình khai thác chi tiết của **mã độc VoidStealer** bao gồm các bước sau:
- Khởi tạo và Gắn Debugger: VoidStealer bắt đầu bằng cách tạo một tiến trình trình duyệt bằng cách sử dụng
CreateProcessWvới các cờSW_HIDEvàCREATE_SUSPENDED. Ngay sau đó, nó tiếp tục và gắn một trình gỡ lỗi thông quaDebugActiveProcess.
HANDLE hProcess = CreateProcessW(... SW_HIDE, CREATE_SUSPENDED, ...);// ... resume process ...DebugActiveProcess(dwProcessId);- Giám sát Sự kiện Gỡ lỗi: Sau đó, nó lắng nghe các sự kiện gỡ lỗi thông qua
WaitForDebugEvent, theo dõi từng DLL khi nó tải vào không gian bộ nhớ của trình duyệt.
DEBUG_EVENT debugEvent;WaitForDebugEvent(&debugEvent, INFINITE);if (debugEvent.dwDebugEventCode == LOAD_DLL_DEBUG_EVENT) { // Inspect loaded DLL}- Định vị Khóa Chính: Khi
chrome.dllhoặcmsedge.dllđược tải, VoidStealer sử dụngReadProcessMemoryđể quét phần.rdatacủa DLL nhằm tìm kiếm chuỗi OSCrypt.AppBoundProvider.Decrypt.ResultCode. Đây là điểm chính xác trong mã Chrome nơi v20_master_key xuất hiện thoáng qua dưới dạng văn bản thuần túy. Sau đó, nó quét phần.textđể định vị lệnhLEAphù hợp, trở thành địa chỉ chính xác cho breakpoint. - Đặt Breakpoint Phần cứng: Các breakpoint phần cứng được đặt trên tất cả các luồng trình duyệt bằng cách ghi vào các thanh ghi gỡ lỗi DR0 và DR7 thông qua
SetThreadContext, mà không cần sửa đổi bộ nhớ của trình duyệt. Điều này cho phép thực hiện giám sát mà không để lại dấu vết trong bộ nhớ của tiến trình mục tiêu.
CONTEXT context;context.ContextFlags = CONTEXT_DEBUG_REGISTERS;GetThreadContext(hThread, &context);context.Dr0 = breakpointAddress;context.Dr7 = 0x01; // Enable DR0 breakpointSetThreadContext(hThread, &context);- Trích xuất Khóa: Khi breakpoint được kích hoạt, thanh ghi R15 đối với Chrome hoặc thanh ghi R14 đối với Edge giữ một con trỏ trực tiếp đến v20_master_key. **VoidStealer** sau đó trích xuất khóa này chỉ bằng hai lệnh gọi
ReadProcessMemory.
// Assuming R15 (Chrome) or R14 (Edge) holds the pointer to v20_master_keyBYTE masterKey[32]; // Example sizeReadProcessMemory(hProcess, (LPVOID)context.R15, masterKey, sizeof(masterKey), NULL);Tầm quan trọng và Cơ hội Phát hiện
Kỹ thuật mới này của **mã độc VoidStealer** làm nổi bật sự phát triển không ngừng của các mối đe dọa mạng và cho thấy rằng ngay cả những biện pháp bảo mật mạnh mẽ như ABE cũng có thể bị vượt qua bằng những phương pháp sáng tạo. Việc sử dụng các API gỡ lỗi tiêu chuẩn khiến việc phát hiện trở nên khó khăn hơn đối với các giải pháp bảo mật truyền thống.
Các Biện pháp Phát hiện và Phòng ngừa Kỹ thuật
Các nhà phòng thủ nên coi bất kỳ tiến trình nào tự động gắn một trình gỡ lỗi vào trình duyệt là một dấu hiệu cảnh báo nghiêm trọng, vì các ứng dụng hợp pháp thường không hoạt động theo cách này. Các cơ hội phát hiện mạnh mẽ bao gồm:
- Giám sát các hoạt động đọc bộ nhớ trình duyệt từ các tiến trình bên thứ ba.
- Đánh dấu các trình duyệt được khởi chạy bằng cờ
SW_HIDEhoặc headless. - Cảnh báo về các lệnh gọi
DebugActiveProcesskhông mong muốn nhắm vào các tiến trình trình duyệt. - Theo dõi các bản tin **tin tức bảo mật** mới nhất từ các nhà nghiên cứu để cập nhật các mối đe dọa.
Các tổ chức nên xem xét việc triển khai các giải pháp EDR (Endpoint Detection and Response) mạnh mẽ có khả năng theo dõi các hành vi bất thường ở cấp độ API hệ thống và bộ nhớ, đặc biệt là các hoạt động liên quan đến gỡ lỗi tiến trình. Tham khảo thêm về phân tích của GenDigital về VoidStealer tại đây.
Chỉ số Thỏa hiệp (IOC) của Mã độc VoidStealer v2.0
Việc theo dõi và chặn các chỉ số thỏa hiệp (IOC) là một bước quan trọng để bảo vệ hệ thống khỏi **mã độc VoidStealer** và các biến thể của nó.
- SHA256:
f783fde5cf7930e4b3054393efadd3675b505cbef8e9d7ae58aa35b435adeea4







