Service là những chương trình Windows mà bắt đầu khi nạp Windows và tiếp tục chạy ở mức nền (background) của hệ điều hành và không có sự tương tác từ phía người dùng. Với những người quen *nix, service trên Windows tương tự như daemon trên *.nix.
Phần lớn các service trên Windows là dạng exe, tuy nhiên cũng có một vài service dạng dll. Windows không có cách thực hiện file dll trực tiếp, mà thông qua một chương trình đóng vai trò launch các dll này. Cụ thể, Windows sử dụng SVCHOST.EXE để launch các service dll, nó còn được gọi là Generic Host Process for Win32 Services. Mỗi SVCHOST process có thể quản lý một hoặc nhiều Service DLL khác nhau. Virus tân tiến thường lợi dụng đặt thêm các service để tự bảo vệ, có những trường hợp thậm chí cho phép khởi động cùng Windows kể cả ở chế độ khởi động an toàn Safe - mode, để ngăn cản chúng ta kill các tiến trình virus, hay xóa các tập tin thành phần của chúng. Bài viết này hướng dẫn các bạn cách tự nhận biết và disable các service không mong muốn, qua đó tự tay diệt được virus bằng tay một cách hiệu quả hơn
.
Dưới đây là 02 phương pháp để xem một svchost.exe process kiểm soát máy tính của bạn
1. Xác định service nào chạy dưới svchost.exe process bằng Process Explorer
Process Explorer là một chương trình quản lý process, cho phép thấy được những process đang chạy trên Windows và đưa ra thông tin cho mỗi process. Một tính năng của Process Explorer là cho phép đưa ra các service và svchost.exe điều khiển.
Process Explorer là một công cụ miễn phí nằm trong gói công cụ của hãng Sysinternal. Hiện gói các công cụ này được MS mua lại. Tham khảo về Process Explorer và download theo link dưới:
http://www.microsoft.com/technet/sysintern...ssExplorer.mspxSau khi download Process Explorer, chạy, giao diện như Hình 1
Trên Hình 1, cuộn danh sách các process để tìm các svchost.exe process. Để xem những service nào đang chạy trong svchost.exe nào, nhắp đúp vào svchost.exe đó. Trong ví dụ ở hình 1, svchost.exe có PID = 656 có 2 service là rapimgr.exe và Dot1XCfg.exe (Chú ý rằng các svchost.exe sẽ được phân biệt bằng PID).
Để chi tiết về một svchost.exe, nhắp đúp vào svchost.exe đó, sẽ xuất hiện hộp thoại svchost.exe Properties như Hình 2.
Hình 2: svchost.exe properties – tab Services
Trên svchost.exe Properties, chọn tab Services. Sẽ xuất hiện danh sách các service chạy bên dưới svchost.exe. Có thể kiểm tra chi tiết về các file này. Như vậy với phương pháp trên sẽ xác định được service nào đang chạy trong svchost.exe nào.
2. Xác định service chạy dưới svchost.exe process bằng lệnh tasklist
Trên Windows XP Pro và Windows 2003 có công cụ là tasklist.exe. Công cụ này cho phép liệt kê những process, service đang chạy trên Windows.
Để chạy tasklist.exe, chạy cửa sổ Terminal, sau đó gõ lệnh. Ví dụ thực hiện lệnh sau:
tasklist /svc /fi "imagename eq svchost.exe" (1)
Trên Hình 3 là việc thực hiện câu lệnh (1). Nhận thấy rằng svchost.exe có PID = 656, đang chạy 02 Service là DcomLaunch và TermService.
3. Thông tin nâng cao về svchost.exe
Bây giờ chúng ta đã biết một svchost.exe process có thể nạp và quản lý nhiều service. Tuy nhiên những service nào lại được ghép thành một nhóm để cùng chạy dưới một svchost.exe? Những nhóm này được định nghĩa bởi việc thiết lập trong Windows Registry key sau:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SVCHOST
Trên Hình 4 là Registry, mục svchost. Ở cột bên phải, chú ý rằng với mỗi nhóm có giá trị REG_MULTI_SZ là danh sách các tên Service.
Bảng dưới đây sẽ mô tả chi tiết các Group Name và các Service trong từng Group đó.
Mỗi Service Name trong Group tương ứng với một mục trong Windows Registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es
Dưới mỗi mục của từng service trong Windows Registry trên có subkey là Parameters có chứa một ServiceDLL có giá trị trỏ đến file dll tương ứng của service đó (xem hình 7).
Khi Windows nạp, nó start các service mà đã enable. Một số service được start bằng cách sử dụng lệnh svchost.exe. Khi Windows launch các service kiểu này, sẽ kiểm tra xem có svchost.exe nào đang quản lý service trong nhóm không, nếu không có, Windows sẽ chạy một svchost.exe mới. Tham khảo một lệnh sau:
C:\WINDOWS\system32\svchost.exe -k DcomLaunch
Với lệnh trên, svchost.exe sẽ xem ServiceDLL liên quan đến Service Name từ nhóm DcomLaunch và nạp nó.
Sau khi nhận biết các service name nhờ Process Explorer, các bạn có thể bắt đầu việc disable chúng.
Registry keys để Group Policy thông qua mà disable các service hoặc drivers là:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es]
Tất cả device drivers, services & applications các bạn đều có thể tìm thấy tại đó. Ví dụ, bạn muốn disable một Audio device driver:
Audio driver này ví dụ là aeaudio.sys và registry key sẽ là:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\aeaudio]
Ở bảng bên phải, có một giá trị DWORD “Start”
Tùy theo đặt các giá trị cho DWORD này, lần lượt sẽ được:
“4″ - Disable
“3″ - Manual
“2″ - Automatic
“1″ - System
“0″ - boot
Giá trị “4″ disables driver. Đặt giá trị cho DWORD là “4″ sẽ disable driver này.
| Ảnh dưới đây đã được chỉnh sửa kích cỡ. Hãy click vào đây để xem toàn bộ ảnh. Ảnh gốc có kích thước 640x159 và độ lớn là 11KB |
Sau khi thay đổi giá trị trong REGEDIT, các bạn hãy Start/Run/
nhập
tskill explorer
để thay đổi Registry có hiệu lực ngay
.