Rootkit (/ru:tkit/ đọc là rút-kít) là một tập hợp phần mềm được cài đặt bởi kẻ xâm nhập để cho phép chúng quay lại và kiểm soát máy tính mà không bị phát hiện, từ đó có thể can thiệp vào các hoạt động cơ bản của hệ thống. Những mục đích chính của việc sử dụng rootkit bao gồm:
- thu thập thông tin về máy tính và người dùng của nó (như mật khẩu và dữ liệu tài chính),
- gây ra lỗi hoặc làm gián đoạn hoạt động của máy tính,
- phát tán hoặc chuyển tiếp spam.
Có nhiều loại rootkit được phát triển cho các hệ điều hành khác nhau như Linux, Solaris và các phiên bản của Microsoft Windows.
Thuật ngữ 'rootkit' trở nên nổi bật sau vụ tranh cãi về chống sao chép CD của Sony vào năm 2005, khi các đĩa CD nhạc của Sony BMG cài đặt một rootkit vào máy tính chạy hệ điều hành Microsoft Windows.
Nguồn gốc của rootkit
Thuật ngữ 'rootkit' (cũng viết là 'root kit') ban đầu chỉ một bộ công cụ Unix được điều chỉnh như các lệnh 'ps', 'netstat', 'w' và 'passwd' nhằm che giấu dấu vết của kẻ xâm nhập mà những lệnh này thường hiển thị, từ đó cho phép kẻ tấn công duy trì quyền 'root' (quyền cao nhất) trên hệ thống mà không bị phát hiện bởi người quản trị.
Ngày nay, thuật ngữ này không chỉ áp dụng cho các hệ điều hành Unix mà còn được dùng để chỉ các công cụ thực hiện chức năng tương tự trên các hệ điều hành không phải Unix như Microsoft Windows (dù hệ điều hành đó không có tài khoản 'root').
Hoạt động
Chức năng của rootkit
Rootkit tạo ra các lối vào bí mật cho kẻ tấn công trở lại, thông qua việc cài đặt một cửa hậu (backdoor) ẩn, chẳng hạn như một phiên bản đã bị sửa đổi của telnetd hoặc sshd. Cửa hậu này được cấu hình để hoạt động trên một cổng không phải cổng mặc định, mà các dịch vụ thường sử dụng. (Daemon là các chương trình chạy nền, chờ được kích hoạt bởi điều kiện hoặc sự kiện cụ thể và không bị người dùng điều khiển trực tiếp).
Một rootkit chất lượng sẽ có khả năng giấu kín hoặc loại bỏ mọi dấu vết của sự hiện diện của nó, bao gồm việc sửa đổi nhật ký hệ thống để xóa hoặc không ghi lại thông tin liên quan đến sự cài đặt, các lần truy cập sau đó của kẻ tấn công, và các tiến trình mà rootkit thực thi. Những kẻ tấn công kém kỹ năng có thể chỉ xóa nhật ký, điều này có thể là dấu hiệu của hành vi đáng ngờ.
Sử dụng bởi kẻ phá hoại
Trong nhiều trường hợp, rootkit có khả năng ẩn dấu các đăng nhập, tiến trình, tập tin và nhật ký, và có thể bao gồm phần mềm đánh cắp dữ liệu từ trạm đầu cuối (terminal), các kết nối mạng, và bàn phím. Rootkit thường được coi là loại Trojan.
Cửa sau cho phép các tiến trình từ người dùng bình thường thực hiện các chức năng của siêu người dùng. Rootkit cũng có thể giấu kín các công cụ khác dùng để xâm phạm hệ thống, bao gồm các công cụ tấn công như công cụ bắt gói tin (packet sniffer) và phần mềm ghi lại thao tác trên bàn phím (keylogger). Một kỹ thuật phổ biến là sử dụng hệ thống bị xâm nhập làm điểm xuất phát cho các cuộc tấn công tiếp theo, làm cho chúng có vẻ như đến từ hệ thống bị chiếm đoạt thay vì từ kẻ tấn công. Các công cụ này bao gồm công cụ tấn công từ chối dịch vụ (DDOS), công cụ chuyển tiếp phiên chat, và các cuộc tấn công spam email.
Gần đây, một ví dụ về việc sử dụng rootkit là vụ tranh cãi quanh việc bảo vệ quyền kỹ thuật số của CD Sony vào năm 2005.
Lây nhiễm
Tương tự như các loại phần mềm độc hại khác, máy tính có thể bị nhiễm rootkit qua nhiều cách, chẳng hạn như tải xuống từ Internet, mở tệp đính kèm trong email, hoặc thậm chí khi truy cập vào một số trang web nhất định. Rootkit cũng có thể được cài đặt thông qua việc đọc từ ổ đĩa đặc biệt hoặc thẻ nhớ USB.
Phân biệt
Rootkit không phải là khai thác lỗi
Mặc dù rootkit có thể được sử dụng cùng với một kỹ thuật khai thác lỗi (exploit), nhưng nó tự nó chỉ là tập hợp các công cụ tiện ích. Các công cụ này thường không phụ thuộc vào các lỗi phần mềm như lỗi tràn bộ đệm mà các exploit khai thác. Nhiều tin tặc có nhiều exploit, nhưng thường chỉ có một hoặc hai chương trình rootkit để sử dụng. Khi đã xâm nhập vào hệ thống, tin tặc sẽ triển khai rootkit thích hợp, bất kể exploit nào được sử dụng.
Mặc dù rootkit không phải là exploit, nó có thể chứa một exploit. Rootkit thường yêu cầu quyền truy cập vào nhân hệ điều hành và chứa các chương trình sẽ chạy khi hệ thống khởi động. Một phương pháp cài đặt rootkit là sử dụng exploit phần mềm, chẳng hạn như lỗi tràn bộ đệm, để tải mã vào nhân hệ điều hành.
Rootkit không phải là virus
Virus máy tính là chương trình có khả năng tự sao chép và phát tán. Ngược lại, rootkit không tự nhân bản và không hoạt động độc lập. Rootkit hoàn toàn nằm dưới sự kiểm soát của kẻ tấn công, còn virus thì không hoạt động theo cách này.