Bạn đã từng nghe nói về rootkit ở đâu đó? Bạn không thực sự hiểu rõ rootkit là gì? Rootkit có phải là một loại sâu, virus hay trojan? Rootkit có thực sự nguy hiểm?... Trong bài viết này, chúng tôi sẽ giải đáp giúp bạn đọc những thắc mắc về rootkit, đồng thời giới thiệu một số phần mềm miễn phí giúp bạn "hạ gục nhanh tiêu diệt gọn" rootkit.
Khái niệm rootkit
Khái niệm rootkit được sử dụng để mô tả các cơ chế và kĩ thuật được sử dụng bởi malware (malware là các phần mềm làm sai chức năng chương trình ứng dụng gồm: virus, spyware, và trojan...) cố gắng ẩn nấp, trốn tránh không bị phát hiện bởi các chương trình chống spyware, virus và các tiện ích hệ thống. Thực ra, rootkit tự bản thân không mang tính hiểm độc nhưng khi chúng được sử dụng cùng với các chương trình mang tính "phá hoại" như: virus, sâu, phần mềm gián điệp, trojan... thì lại nguy hiểm hơn rất nhiều.
Rootkit nguy hiểm như thế nào?
Rootkit thực tế chẳng gây ảnh hưởng xấu nào. Mục đính duy nhất của rootkit là ẩn nấp, và tránh không bị phát hiện. Tuy nhiên, rootkit được sử dụng để giấu các đoạn mã hiểm độc thì rất nguy hiểm. Một số các sâu, virus, trojan và phần mềm gián điệp vẫn có khả năng duy trì hoạt động và không bị phát hiện khi sử dụng rootkit. Các malware sẽ không bị phát hiện thậm chí khi hệ thống được bảo vệ bởi các chương trình chống virus tốt nhất. Do đó, Rootkit thực sự là mối đe dọa rất nghiêm trọng.
Thực ra, hiện nay chỉ có một vài các phần mềm gián điệp và virus sử dụng rootkit để lẩn trốn. Một trong những ví dụ điển hình là sử dụng rootkit để xâm nhập hệ thống là vụ ăn trộm mã nguồn trò chơi nổi tiếng Half-Life 2.
Rootkit được sử dụng phổ biến trong các phần mềm gián điệp hơn là các virus. Một điều chắc chắn là rootkit vẫn là kĩ thuật còn đang phát triển, chưa có nhiều trong thực tế, nên mối đe dọa hiện tại của rootkit không lớn lắm so với những mối nguy hiểm tiềm tàng của kĩ thuật này.
Phân loại Rootkit
Rootkit được phân loại dựa trên sự duy trì sau khi khởi động lại hoặc hoạt động ở chế độ người dùng (user mode) hay ở chế độ cấp hệ thống (kernel mode).
Rootkit bám dai (Persistent Rootkits)
Persistent root kit là một loại rootkit kết hợp với các malware khác hoạt động mỗi khi hệ thống khởi động. Bởi vì các malware chứa mã phá hoại sẽ được thực thi tự động mỗi khi hệ thống khởi động hoặc khi người sử dụng đăng nhập vào hệ thống. Chúng cần phải lưu trữ các đoạn mã thực thi chương trình trong Registry, các tập tin hệ thống và các phương pháp cho phép âm thầm chạy các đoạn mã mà người sử dụng không hay biết
Rootkit trên bộ nhớ (Memory-Based Rootkits )
Loại rootkit này chính là các malware không có những đoạn mã "dai dẳng" - chỉ lưu trong bộ nhớ, chính vì thế loại rootkit này không tồn tại sau khi khởi động lại máy.
Rootkit chế độ người dùng (User-mode Rootkits)
Rootkit ở chế độ người dùng sử dụng nhiều phương pháp khác nhau để lẩn trốn không bị phát hiện. Ví dụ: rootkit ở chế độ người dùng sẽ chặn tất cả các hàm gọi hệ thống API (Application Programming Interface - Giao tiếp lập trình ứng dụng) như: FindFirstFile/FindNextFile. Những hàm này được gọi bởi các chương trình quản lý tập tin của Windows như Explorer và dấu đợi lệnh, để liệt kê toàn bộ các thư mục tập tin hệ thống. Khi một ứng dụng thực thi liệt kê danh sách thư mục và các tập tin có thể chứa rootkit, các rootkit này sẽ chặn các hàm này và thay đổi các kết quả dữ liệu đầu ra nhằm loại bỏ các tập tin chứa rootkit khỏi danh sách liệt kê.
Các hàm API hệ thống của Windows cung cấp giao tiếp (interface) giữa chế độ người dùng và dịch vụ hệ thống. Những rootkit ở chế độ người dùng phức tạp hơn sẽ chặn các tập tin hệ thống, Registry, và các hàm liệt kê các tiến trình (process) từ các hàm API hệ thống. Do đó, mọi sự phát hiện bởi các chương trình quét tập tin mà lấy kết quả từ các hàm liệt kê API của Windows đều bị thay đổi. Chính vì lẽ đó, hầu hết các chương trình diệt virus, spyware không thể phát hiện được rootkit.
Rootkit chế độ nhân (Kernel-mode Rootkits)
Rootkit chế độ nhân nguy hiểm hơn các loại trên, chúng không chỉ chặn các hàm API hệ thống mà còn có thể thao tác trực tiếp các cấu trúc dữ liệu trong chế độ nhân. Một kĩ thuật chung cho việc ẩn nấp các tiến trình malware là loại bỏ các tiến trình này ra khỏi danh sách các tiến trình ở chế độ nhân. Bởi vì các hàm API quản lý các tiến trình đều phải phụ thuộc vào nội dung trong các cấu trúc dữ liệu này, nên khi rootkit thay đổi nội dung cấu trúc dữ liệu hệ thống thì các công cụ như Task Manager hoặc Process Explorer cũng không thể phát hiện được.
Những malware nào sử dụng kĩ thuật rootkit?
Vài Rootkit mang đúng ý nghĩa và tính chất của rootkit được biết đến như: Hacker Defender và FU. Một số phần mềm gián điệp, quảng cáo có sử dụng rootkit: EliteToolbar, ProAgent, and Probot SE. Các trojan như: Berbew/Padodor và Feutel/Hupigon và một số sâu như: Myfip.h và họ sâu Maslan cũng sử dụng rootkit.
Dự đoán về rootkit
Rootkit thực sự đã trở thành phổ biến trong các phần mềm gián điệp và chúng cũng sẽ dần phổ biến trong các virus và sâu. Các tác giả viết virus bây giờ đã chuyên nghiệp hơn và cũng hoạt động với mục đích kinh doanh nữa. Chính vì vậy, họ hoàn toàn có đủ kĩ năng cũng như trình độ để cài đặt các rootkit rất phức tạp vào trong virus và sâu.
Rootkit có thể làm ẩn các trojan và thư rác (spam) lâu hơn trên những máy bị nhiễm. Đây cũng là một nguyên nhân dẫn tới sự bùng nổ rootkit trong tương lai.
Tại sao các chương trình diệt virus không phát hiện rootkit trước khi chúng kịp ẩn nấp?
Điều này đúng nhưng chỉ trong một số trường hợp. Bởi vì rootkit thường được phát tán bằng mã nguồn mở, điều này có nghĩa là hacker có thể thay đổi mã rootkit một cách nhanh chóng để các chương trình diệt virus không thể phát hiện được. Một số phần mềm chống virus mới có thể phát hiện được rootkit như F-Secure Internet Security 2005 có tính năng "Manipulation Control". Tính năng này có cơ cấu chặn các tiến trình hiểm độc "thao tác" gây ảnh hưởng tới các tiến trình khác. Tuy nhiên, chương trình F-Secure Internet Security 2005 cũng chỉ chặn được một vài rootkit.
Phần mềm tiêu diệt Rootkit
Rootkit khi kết hợp với malware trở nên nguy hiểm hơn rất nhiều. Vậy có phần mềm nào có thể phát hiện được rootkit đang ẩn nấp trong hệ thống ?
Dưới đây là một số phần mềm có thể phát hiện và tiêu diệt rootkit:
RootkitRevealer là chương trình tìm và tiêu diệt rootkit khá hiệu quả và hoàn toàn miễn phí, dung lượng chỉ 190KB. Chương trình có giao diện đơn giản bạn chỉ cần nhấn nút Scan và RootkitRevealer sẽ thực hiện công việc của mình. Để biết thêm thông tin và làm thế nào để sử dụng chương trình thật hiệu quả. Bạn có thểđọc thêm thông tin trong phần hướng dẫn hoặc truy cập tại Website: http://www.sysinternals.com/utilities/rootkitrevealer.html
BlackLight là phần mềm tiêu diệt rootkit của hãng F-Secure. Hiện nay, phiên bản beta của BlackLight miễn phí, bạn có thể download tại: http://www.europe.f-secure.com/exclude/blacklight/index.shtml
Minh Phúc