VoidLink: Rootkit Linux Nguy Hiểm Bằng Kỹ Thuật eBPF Tàng Hình

VoidLink là một rootkit Linux mới nổi, cực kỳ tiên tiến, đặt ra mối đe dọa nghiêm trọng cho các hệ thống Linux. Mã độc này kết hợp tinh vi giữa các Module Hạt nhân Có thể Tải được (LKM) và chương trình Berkeley Packet Filter mở rộng (eBPF) để ẩn mình sâu bên trong nhân hệ điều hành.
Được Check Point Research ghi nhận lần đầu vào tháng 1 năm 2026, VoidLink là một framework mã độc Linux được viết bằng ngôn ngữ Zig, thiết kế theo hướng cloud-native.
Kiến Trúc và Khả Năng Che Giấu của VoidLink
VoidLink nổi bật với cấu trúc command-and-control (C2) dạng mô-đun, tích hợp hơn 30 plugin và nhiều lớp tàng hình. Điều này khiến nó trở thành một trong những rootkit Linux mạnh mẽ nhất từng được ghi nhận trong những năm gần đây.
Khả năng phát triển nhanh chóng của VoidLink là một điểm đáng báo động. Check Point Research đã phát hiện rằng một nhà phát triển duy nhất đã tạo ra toàn bộ framework này thông qua quy trình làm việc được hỗ trợ bởi AI, sử dụng môi trường phát triển tích hợp TRAE. Thời gian từ khi hình thành ý tưởng đến khi có một implant hoạt động chỉ trong vòng chưa đầy một tuần.
Cơ Chế Giả Mạo và Tàng Hình
Rootkit này tự ngụy trang dưới tên module là vl_stealth. Trong một số biến thể, nó sử dụng tên amd_mem_encrypt, giả mạo trình điều khiển bộ nhớ AMD hợp pháp để tránh bị nghi ngờ trên các máy chủ đám mây.
Các nhà phân tích từ Elastic Security Labs đã tiến hành phân tích sâu kiến trúc của mã độc sau khi thu thập được một bản sao dữ liệu chứa mã nguồn, các binary đã biên dịch và script triển khai của VoidLink. Bạn có thể tìm hiểu thêm chi tiết về phân tích này tại Illuminating VoidLink.
Nghiên cứu chỉ ra rằng bản sao dữ liệu đã hé lộ một framework rootkit Linux đa thế hệ, được phát triển và thử nghiệm trên nhiều hệ thống thực tế từ CentOS 7 đến Ubuntu 22.04. Mọi tệp nguồn đều được chú thích bằng tiếng Trung giản thể. Các tham chiếu hạ tầng cho thấy địa chỉ IP của Alibaba Cloud.
Tác Động của VoidLink đối với Hệ Thống
Tác động của VoidLink là đáng kể. Rootkit này có khả năng ẩn giấu các tiến trình đang chạy, các kết nối mạng và tệp tin khỏi các quản trị viên. Đồng thời, nó nhận lệnh thông qua một kênh ICMP bí mật mà không hiển thị bất kỳ cổng hoặc lưu lượng truy cập nào rõ ràng.
Biến thể gần đây nhất của mã độc này, có tên Ultimate Stealth v5, giới thiệu các tính năng tiên tiến như cài đặt hook bị trì hoãn, bộ đếm thời gian chống gỡ lỗi, bảo vệ chống dừng tiến trình, và tên module bị làm mờ bằng XOR. Những đặc điểm này làm cho việc điều tra pháp y trở nên cực kỳ khó khăn.
VoidLink không phải là một công cụ độc lập. Script khởi động của nó, load_lkm.sh, quét các implant không tệp đang chạy từ các bộ mô tả tệp bộ nhớ ẩn danh và ẩn chúng khi kích hoạt. Điều này xác nhận rằng VoidLink được thiết kế để bảo vệ một implant đồng hành, rất có thể là một reverse shell, đang chạy trên mục tiêu bị xâm nhập.
Thiết Kế Hybrid Độc Đáo: LKM và eBPF
Tính năng kỹ thuật nổi bật nhất của VoidLink là thiết kế hybrid của nó, phân chia nhiệm vụ giữa hai thành phần riêng biệt. Hầu hết các rootkit Linux thường chỉ dựa vào một phương pháp che giấu duy nhất—một LKM, một chương trình eBPF, hoặc một thư viện chia sẻ được tiêm vào.
Tuy nhiên, VoidLink triển khai cả hai thành phần này đồng thời, với mỗi thành phần xử lý vai trò mà nó thực hiện một cách đáng tin cậy nhất.
Vai Trò của Thành Phần LKM
Sử dụng framework theo dõi hàm của nhân Linux, thành phần LKM của VoidLink thực hiện việc hook các lệnh gọi hệ thống (syscalls). Nó chặn các danh sách thư mục getdents64 để che giấu tệp và tiến trình. Ngoài ra, nó lọc đầu ra của /proc/modules và /proc/kallsyms để xóa dấu vết của chính mình.
Thành phần LKM cũng vận hành một kênh điều khiển bí mật thông qua các hook Netfilter. Nó xử lý các hướng dẫn của kẻ tấn công được mã hóa bằng XOR, ẩn trong các gói ping thông thường mà không tạo ra bất kỳ phản hồi nào, duy trì sự tàng hình tuyệt đối.
Vai Trò của Thành Phần eBPF
Thành phần eBPF của VoidLink lấp đầy một khoảng trống mà LKM không thể tiếp cận: che giấu các kết nối đang hoạt động khỏi lệnh ss. Khác với netstat, vốn đọc từ /proc/net/tcp, tiện ích ss truy vấn kernel thông qua Netlink sockets – một đường dẫn dữ liệu nằm ngoài tầm kiểm soát của LKM.
Chương trình eBPF của VoidLink hook vào __sys_recvmsg và sửa đổi các phản hồi Netlink trong bộ nhớ user-space. Thay vì xóa các mục ẩn – điều này có thể làm hỏng chuỗi thông báo – nó “nuốt” chúng bằng cách kéo dài trường độ dài của thông báo trước đó, khiến trình phân tích ss bỏ qua kết nối ẩn dưới dạng phần đệm.
Phương pháp này đòi hỏi quá trình lặp lại phát triển đáng kể. Các nhà phát triển đã trải qua ít nhất 10 phiên bản chương trình eBPF, từ hide_ss_v1.bpf.c đến hide_ss_v9.bpf.c, trước khi phương pháp ổn định này xuất hiện. Điều này chứng tỏ các chu kỳ thử nghiệm thực tế trên hệ thống trực tiếp.
Chỉ Số Thỏa Hiệp (IOCs)
Các địa chỉ IP được xác định liên quan đến hạ tầng của VoidLink bao gồm:
8.149.128[.]10116.62.172[.]147
Biện Pháp Giảm Thiểu và Phòng Chống
Các nhóm an ninh mạng cần thực hiện nhiều bước để hạn chế rủi ro trước các rootkit Linux như VoidLink. Việc tăng cường Secure Boot và ký module nhân giúp ngăn chặn các LKM trái phép tải lên.
Kích hoạt chế độ khóa nhân (kernel lockdown mode), có sẵn từ Linux 5.4, sẽ hạn chế các hoạt động nhạy cảm của kernel ngay cả đối với người dùng root. Kiểm tra các syscall init_module và finit_module thông qua Auditd có thể phát hiện hoạt động module bất thường từ sớm.
Hạn chế syscall bpf() thông qua các profile seccomp và kích hoạt kernel.unprivileged_bpf_disabled sẽ giảm thiểu rủi ro lạm dụng eBPF. Thường xuyên đối chiếu chéo thông tin từ các lệnh như ps, ss và kiểm tra trực tiếp các thư mục /proc có thể giúp phơi bày hoạt động ẩn ngay cả khi các công cụ giám sát riêng lẻ không báo cáo điều gì đáng ngờ. Việc triển khai các biện pháp bảo vệ này là rất quan trọng để duy trì an ninh mạng và bảo vệ hệ thống khỏi các mối đe dọa tiên tiến.







