PDA

View Full Version : Rootkit - mối nguy hiểm ti?m tàng



nguyenminhanhtu
12-14-2005, 08:06 AM
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