Furtex: Đánh Giá Bảo Mật Linux Hiệu Quả Với EDR & io_uring

Furtex: Đánh Giá Bảo Mật Linux Hiệu Quả Với EDR & io_uring

Furtex là một dự án mã nguồn mở mới, được thiết kế như một bộ công cụ nghiên cứu và né tránh hậu khai thác tập trung vào Linux. Bộ công cụ này dành cho các nhà nghiên cứu an ninh được ủy quyền và các đội đỏ (Red Team). Nó giúp kiểm tra và cải thiện khả năng bảo mật mạng hiện có.

Dự án tích hợp các lệnh gọi hệ thống io_uring thô, công cụ BPFeBPF, cùng các tiện ích nghiên cứu né tránh EDR. Furtex không phụ thuộc vào liburing hay các framework lớn hơn.

Furtex gồm nhiều công cụ đơn mục đích, trình diễn cách kiểm tra các hệ thống đo từ xa (telemetry) Linux hiện đại. Nó cũng kiểm tra giám sát kernel và các hệ thống phòng thủ điểm cuối (endpoint defenses).

Kho lưu trữ dự án chỉ rõ mục đích sử dụng là để nghiên cứu được cấp phép, kiểm thử thâm nhập (penetration testing), môi trường CTF và phát triển phòng thủ. Điều này nhằm nâng cao tổng thể bảo mật mạng.

Furtex và Nâng Cao Khả Năng Phát Hiện Xâm Nhập

Furtex được chia thành năm khu vực chính: io_uring, bpf, ebpf, edrstechniques. Mỗi phần đều đóng góp vào việc đánh giá khả năng phát hiện xâm nhập của hệ thống.

Kỹ Thuật io_uring và Khoảng Cách Hiển Thị

Phần io_uring của Furtex chứa 13 công cụ sử dụng các giao diện kernel thô. Chúng phục vụ cho các hoạt động tệp, mạng, chèn tiến trình và truyền dữ liệu.

Trọng tâm nghiên cứu là khoảng cách hiển thị (visibility gap) khi các hoạt động được gửi qua hàng đợi công việc io_uring. Điều này khác biệt so với các đường dẫn điều phối syscall truyền thống.

Dự án chỉ ra rằng một số hoạt động io_uring có thể không kích hoạt các tracepoints sys_enter_*. Hoặc chúng không đi qua các hook đặt trên các chức năng điều phối bảng syscall.

Điều này quan trọng vì các sản phẩm bảo mật thường thu thập dữ liệu đo từ xa Linux. Họ thực hiện điều này thông qua dò vết syscall, kprobes, chương trình eBPF, quy tắc kiểm tra (audit rules) hoặc chặn ở không gian người dùng. Mục đích là để phát hiện xâm nhập.

Furtex cung cấp các ví dụ để giúp các nhà phòng thủ đánh giá. Họ cần kiểm tra xem ngăn xếp giám sát của họ có quan sát được các đường dẫn thực thi kernel thay thế hay không. Điều này củng cố bảo mật mạng.

BPF và eBPF trong Đánh Giá Hệ Thống

Các thành phần BPFeBPF mở rộng khả năng đánh giá này. Furtex bao gồm các tiện ích để liệt kê các bản đồ (maps) và chương trình BPF đã tải.

Nó cũng giúp xem xét các liên kết BPF, phát hiện các hook của Linux Security Module (LSM). Đồng thời, kiểm tra cấu hình có thể gây ra lỗ hổng trong giám sát điểm cuối.

Bộ công cụ còn chứa các chương trình bằng chứng khái niệm (PoC) eBPF. Chúng dùng để giám sát hoạt động tiến trình, mạng, đường dẫn thông tin xác thực và thiết bị đầu cuối. Điều này hỗ trợ phát hiện xâm nhập.

Công Cụ Nghiên Cứu Né Tránh EDR

Thư mục lớn nhất, edrs, bao gồm khoảng 75 tiện ích được phân loại theo yêu cầu đặc quyền. Những tiện ích này rất quan trọng đối với bảo mật mạng.

Các công cụ này bao gồm trinh sát EDR, khám phá chương trình BPF, liệt kê hook kernel. Bên cạnh đó, chúng kiểm tra khả năng hiển thị kiểm toán và ghi nhật ký.

Các công cụ còn bao gồm hoạt động không gian tên (namespace activity), giả mạo tiến trình. Cùng với đó là các khái niệm thực thi dựa trên bộ nhớ và thử nghiệm kênh mạng.

Một số chức năng yêu cầu các khả năng Linux được nâng cao. Ví dụ như CAP_BPF, CAP_PERFMON, CAP_NET_RAW, CAP_NET_ADMIN hoặc CAP_AUDIT_CONTROL. Việc quản lý chúng là cần thiết cho an ninh mạng.

Các Kỹ Thuật Phát Hiện và Phòng Thủ với Furtex

Được phát triển bởi MatheuZSecurity và có sẵn trên GitHub, Furtex bao gồm thư mục techniques tập trung vào kỹ thuật phát hiện của Falco. Tham khảo dự án tại: https://github.com/MatheuZSecurity/Furtex.

Kho lưu trữ mô tả các công cụ đánh giá điều kiện vượt qua (bypass conditions) chống lại bộ quy tắc mặc định của Falco. Điều này bao gồm các kịch bản liên quan đến thu thập sự kiện, tên tiến trình, đường dẫn, không gian tên và các phương pháp thực thi thay thế.

Đối với các nhà phòng thủ, những kiểm thử này có thể xác định các cơ chế phát hiện. Đặc biệt là những cơ chế quá phụ thuộc vào một nguồn sự kiện duy nhất, tên tiến trình hoặc mẫu dòng lệnh. Điều này giúp cải thiện an ninh mạng tổng thể.

Yêu Cầu Kỹ Thuật và Khả Năng Tương Thích của Furtex

Bộ công cụ này yêu cầu GCC, Clang, Make, Linux kernel headers, libbpf development files và bpftool. Đây là các thành phần cơ bản để đảm bảo hoạt động cho các kiểm thử bảo mật mạng.

Một số tính năng eBPF cũng phụ thuộc vào hỗ trợ BTF của kernel. Yêu cầu này được kích hoạt thông qua cấu hình CONFIG_DEBUG_INFO_BTF=y.

Furtex ghi lại các phụ thuộc phiên bản kernel. Nó lưu ý rằng các tính năng cụ thể khả dụng trên các phiên bản kernel Linux từ 5.4 đến 5.19.

Mặc dù Furtex có thể hữu ích để xác thực phạm vi bao phủ EDR Linux, nhưng khả năng của nó là lưỡng dụng và tiềm ẩn rủi ro cao. Nó có thể được sử dụng để phát hiện xâm nhập hoặc tạo ra các kỹ thuật xâm nhập mới, ảnh hưởng đến an ninh mạng.

Khuyến Nghị Cho Đội Ngũ An Ninh Khi Sử Dụng Furtex

Các đội ngũ an ninh nên coi dự án này như một tài nguyên mô hình hóa mối đe dọa. Họ cần giám sát hoạt động io_uring và theo dõi các thay đổi chương trình và liên kết BPF.

Cần cảnh báo về việc sử dụng các khả năng bất thường, bảo vệ cấu hình kiểm toán. Đồng thời, tương quan các sự kiện kernel cấp thấp với đo từ xa tiến trình và mạng. Điều này tăng cường bảo mật mạng tổng thể.