Rootkit khai thác io_uring trên Linux nhằm vượt qua các công cụ phát hiện mối đe dọa

linux

Các nhà nghiên cứu an ninh mạng vừa công bố một rootkit proof-of-concept (PoC) có tên Curing, khai thác cơ chế I/O bất đồng bộ của Linux – được gọi là io_uring – nhằm vượt qua các phương pháp giám sát truyền thống dựa trên system call – vốn là nền tảng của nhiều giải pháp bảo mật hiện nay.

Được giới thiệu từ phiên bản kernel 5.1 (2019), io_uring là một cơ chế I/O hiệu năng cao cho phép ứng dụng người dùng tương tác với nhân hệ điều hành thông qua hàng đợi gửi (SQ) và hàng đợi nhận (CQ), thay vì gọi trực tiếp các system call. Về mặt thiết kế, io_uring giúp giảm độ trễ I/O – nhưng cũng vô tình mở ra một “điểm mù” lớn cho các công cụ bảo mật runtime, vốn chỉ giám sát hành vi thông qua các system call.

Curing tận dụng io_uring để duy trì liên lạc với máy chủ điều khiển (C2) và thực thi lệnh từ xa mà không phát sinh bất kỳ system call nào liên quan đến hành vi độc hại. Trong khi đó, các công cụ như Falco và Tetragon – hiện vẫn là lựa chọn phổ biến cho giám sát runtime Linux – lại không có khả năng quan sát hoạt động nội bộ io_uring do phụ thuộc vào cơ chế hook system call. Điều này khiến toàn bộ quá trình kiểm soát hệ thống bị bỏ ngỏ trước các rootkit mới dạng này.

Không chỉ là lý thuyết, những lo ngại về io_uring đã được các tập đoàn lớn như Google xác nhận. Vào giữa năm 2023, Google đã hạn chế sử dụng io_uring trên Android, ChromeOS và hệ thống nội bộ do phát hiện giao diện này mang lại nhiều khả năng khai thác sâu vào nhân hệ điều hành.

Theo ARMO, bài toán phát hiện rootkit hiện nay đòi hỏi phải vượt ra khỏi cách tiếp cận thuần túy dựa vào system call. Giải pháp thay thế không đơn giản – bởi để phát hiện các hành vi bất thường như Curing, công cụ bảo mật cần có quyền truy cập sâu vào cấu trúc kernel, ngữ cảnh toàn hệ thống và khả năng phân tích hành vi ngoài phạm vi system call truyền thống.

Theo: The hacker news