Mặc dù GNU/Linux là hệ điều hành cực kỳ an toàn, nhiều người rơi vào cảm giác an toàn giả tạo. Họ nghĩ sai rằng không có gì xảy ra vì làm việc từ môi trường an toàn. Thực tế rất ít malware cho Linux, nhưng vẫn hoàn toàn có thể cài đặt Linux bị xâm phạm. Nếu không gì khác, xem xét khả năng rootkit và tấn công tương tự là phần quan trọng quản trị hệ thống. Rootkit là bộ công cụ bên thứ ba dùng sau khi truy cập hệ thống máy tính không có quyền. Bộ này dùng sửa file mà người dùng hợp pháp không biết. Gói unhide cung cấp công nghệ cần thiết nhanh chóng tìm phần mềm bị xâm phạm.
Unhide có trong kho hầu hết bản phân phối Linux chính. Lệnh trình quản lý gói như sudo apt-get install unhide đủ cài trên Debian/Ubuntu. Server có GUI dùng Synaptic Package Manager. Phân phối Fedora và Arch có unhide dựng sẵn cho hệ thống quản lý gói của họ. Sau khi cài unhide, admin hệ thống có thể dùng nó vài cách khác nhau.
Phương pháp 1: Bruteforce Process ID
Kỹ thuật cơ bản nhất bruteforce từng process ID đảm bảo không có tiến trình nào bị ẩn khỏi user. Trừ khi có root access, gõ sudo unhide brute -d tại CLI. Tùy chọn -d gấp đôi test giảm false positive.
Output rất cơ bản. Sau thông báo copyright, unhide giải thích kiểm tra nó thực hiện. Có dòng:
[*]Starting scanning using brute force against PIDS with fork()
Và dòng khác:
[*]Starting scanning using brute force against PIDS with pthread functions
Nếu không output khác, không có lý do lo ngại. Nếu subroutine brute tìm thấy gì, báo như:
Found HIDDEN PID: 0000
Bốn số 0 thay bằng số hợp lệ. Nếu chỉ đọc "transitory process", có thể false positive. Chạy test vài lần cho kết quả sạch. Nếu có thêm thông tin, có thể cần kiểm tra tiếp. Cần log thì dùng -f tạo file log thư mục hiện tại. Phiên bản mới gọi file unhide-linux.log, output plain text.
Phương pháp 2: So sánh /proc và /bin/ps
Bạn có thể chỉ dẫn unhide so sánh danh sách tiến trình /bin/ps và /proc đảm bảo hai danh sách riêng trong cây file Unix khớp. Nếu có sự cố, chương trình báo PID bất thường. Quy tắc Unix quy định tiến trình chạy phải hiện ID trong hai danh sách. Gõ sudo unhide proc -v bắt đầu test. Thêm -v cho verbose mode.
Phương pháp này trả về prompt:
[*]Searching for Hidden processes through /proc stat scanning
Nếu có bất thường, xuất hiện sau dòng này.
Phương pháp 3: Kết hợp Proc và Procfs
Nếu cần, thực sự so sánh /bin/ps và /proc Unix file tree lists đồng thời so sánh tất cả thông tin từ /bin/ps với entry ảo procfs. Kiểm tra cả quy tắc cây file Unix và dữ liệu procfs. Gõ sudo unhide procall -v thực hiện test, có thể mất thời gian vì quét tất cả /proc stats và vài test khác. Cách tuyệt vời đảm bảo mọi thứ trên server ổn.
Phương pháp 4: So sánh procfs với /bin/ps
Test trước quá phức tạp cho hầu hết ứng dụng, nhưng bạn có thể chạy kiểm tra proc file system độc lập cho nhanh. Gõ sudo unhide procfs -m, thực hiện kiểm tra này cộng thêm vài kiểm tra từ -m.
Vẫn test khá phức tạp, có thể mất chút. Trả về ba dòng output riêng:
[*]Searching for Hidden processes through procfs
[*]Searching for Hidden processes through procfs (2)
[*]Searching for Hidden processes through procfs (3)
Nhớ bạn có thể tạo log đầy đủ với bất kỳ test nào bằng thêm -f vào lệnh.
Phương pháp 5: Chạy Quick Scan
Nếu chỉ cần quick scan không lo kiểm tra sâu, gõ sudo unhide quick, chạy nhanh như tên. Kỹ thuật quét proc lists và proc file system. Cũng chạy kiểm tra so sánh info từ /bin/ps với info từ system resource calls. Cung cấp một dòng output, nhưng tăng rủi ro false positive. Hữu ích double-check sau xem kết quả trước.
Output như sau:
[*]Searching for Hidden processes through comparison of results of system calls, proc, dir and ps
Có thể thấy vài transitory process sau scan này.
Phương pháp 6: Chạy Reverse Scan
Kỹ thuật tuyệt vời phát hiện rootkit: xác minh tất cả thread ps. Chạy ps tại CLI, thấy danh sách lệnh chạy từ terminal. Reverse scan xác minh mỗi thread processor mà ps hiển thị có system call hợp lệ và tra cứu được trong procfs listing. Cách hay đảm bảo rootkit không kill tiến trình. Gõ sudo unhide reverse chạy check. Nó chạy cực nhanh. Khi chạy, chương trình thông báo đang tìm fake process.
Phương pháp 7: So sánh /bin/ps với System Calls
Cuối cùng, kiểm tra toàn diện nhất: so sánh tất cả info từ /bin/ps listing với info từ system call hợp lệ. Gõ sudo unhide sys bắt đầu test. Nó nhiều khả năng chạy lâu hơn các test khác. Vì cung cấp nhiều dòng output, bạn có thể dùng -f log-to-file dễ nhìn lại mọi thứ nó tìm thấy.
VỀ TÁC GIẢ

Kevin Arrows
Kevin Arrows là chuyên gia công nghệ giàu kinh nghiệm với hơn một thập kỷ trong ngành. Anh持有 chứng chỉ Microsoft Certified Technology Specialist (MCTS) và đam mê cập nhật các phát triển công nghệ mới nhất. Kevin đã viết nhiều về các chủ đề công nghệ, thể hiện chuyên môn trong phát triển phần mềm, an ninh mạng và điện toán đám mây. Đóng góp của anh được công nhận rộng rãi và được đồng nghiệp tôn trọng, đặc biệt là khả năng giải thích các khái niệm kỹ thuật phức tạp một cách rõ ràng, súc tích.