Tuyển tập Báocáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 8 Đại học Đà Nẵng năm 2012
1
PHÁT TRIỂN PHẦN MỀMDIỆTVIRUS
ANTIVIRUS SOFTWARE DEVELOPMENT
SVTH: Nguyễn Quang Thái
Lớp 09S, Khoa Công nghệ Thông tin, Trường CĐ Công nghệ Thông tin, Đại học Đà Nẵng
GVHD: ThS. Đặng Đại Thọ
Khoa Công nghệ Thông tin, Trường CĐ Công nghệ Thông tin, Đại học Đà Nẵng
TÓM TẮT
Báo cáo này trình bày các hình thức phát tán và cơ chế lây nhiễm của virus máy tính. Báo
cáo cũng cho biết các phương pháp phát hiện và phòng chống virus. Dựa vào đó, chúng tôi phát
triển phầnmềm phòng chống virus (TDAv). Phầnmềm này có khả năng bảo vệ hệ thống và thông
tin người dùng; phát hiện, ngăn chặn sự phát tán và nhân bản, tiêu diệtvirus một cách triệt để.
Từ khóa: virus máy tính; lây nhiễm; phát tán; phát hiện; phòng chống; bảo vệ;
ABSTRACT
This report presents forms of the virus spread and mechanisms of virus infection. Besides,
the report presents the methods to detect and prevent viruses. Accordingly, we developed anti-
virus software (TDav). This software has the ability to protect system and user information, detect
viruses, prevent virus spread and replication, destroy virus thoroughly. It allows to protects your
computer in real time.
Keyword: computer virus; infection; spread; detect; anti-virus; protect;
1. Đặt vấn đề
Virus máy tính pháttriển theo sự pháttriển của công nghệ phầnmềm cũng như
phần cứng máy tính. Hệ điều hành thay đổi, virus cũng thay đổi để có thể ăn bám, ký sinh
trên hệ điều hành mới.
Sự pháttriển của Internet làm bùng nổ sự lây lan của virus trên phạm vi toàn cầu
với hậu quả cực kỳ nghiêm trọng. Các hệ thống máy tính thường xuyên phải đối phó với
các đợt tấn công, dẫn đến nguy cơ bị đình trệ, tắc nghẽn và tê liệt. Việc sử dụng virus lấy
cắp tài khoản ngân hàng hay thông tin cá nhân quan trọng, mở cửa sau cho tin tặc đột nhập
chiếm quyền điều khiển và các hành động khác nhằm có lợi cho người phát tán trở nên phổ
biến.
Nhằm ngăn chặn tác hại virus gây ra, đề tài “Phát triểnphầnmềm diệt virus” đã
nghiên cứu và phát triểnphầnmềm diệt virus TDav có khả năng phát hiện và tiêu diệt
virus; nhận biết các loại virus mới; bảo vệ hệ thống; bảo vệ thông tin người dùng; phát
triển chức năng quản lý người dùng.
2. Phát hiện và diệtvirus
2.1. VirusVirus là một đoạn mã, một chương trình nhỏ được viết ra nhằm thực hiện một việc
nào đó trên máy tính bị nhiễm mà không được sự cho phép hoặc người dùng không biết.
Chúng có khả năng tự nhân bản, lây lan sang các tập tin, chương trình khác trong máy tính
và sang các máy tính khác.
Virus hiện hành thường tấn công theo hai cổng chính là TCP 1080 và TCP 1745.
Khi mở được cổng, nó tiến hành thay đổi network engine policy; tìm post scan và các nút
options; sửa mục ports thành các ports tương thích với virus; sửa mục delta thành 60
seconds. Tiếp đến, virus tấn công vào hệ thống regitrys, system32 và logon.
Tuyển tập Báocáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 8 Đại học Đà Nẵng năm 2012
2
2.2. Phát hiện và diệtvirusVirus gắn chính đoạn mã của bản thân vào một phần của file để được kích hoạt khi
thực thi file này. Kỹ thuật so sánh mẫu sẽ phát hiện ra các đoạn mã của virus giống như
dấu hiệu nhận biết trong cơ sở dữ liệu của phầnmềmdiệt virus, phầnmềm sẽ tiến hành
loại bỏ các đoạn mã này.
Việc sửa chữa file đã bị nhiễm virus cũng có thể còn gây nên hư hỏng file nên
chúng ta thường lưu lại file trước khi sửa chữa (vẫn nguyên tình trạng bị nhiễm virus) dưới
dạng nén lại hoặc mã hóa để không thể lây nhiễm ngược trở lại.
2.2.1. So sánh với mẫu virus biết trước
a. Cập nhật mẫu:
Các file cần kiểm tra được phân tích và so sánh với các mẫu virus đã biết trước. Kỹ
thuật so sánh mẫu virus phải liên tục phải cập nhật cơ sở dữ liệu để có khả năng nhận biết
các loại virus mới cùng các biến thể của nó. Có hai dạng cập nhật cơ sở dữ liệu:
- Cập nhật mẫu virus bằng hình thức tải file từ Internet:
Hình thức này có thể tải một lần file cập nhật để có thể cập nhật cho nhiều máy
khác nhau, tuy nhiên kích thước file tải lớn, đa số các file cơ sở dữ liệu của các phần mềm
diệt virus thông dụng và được nhiều người sử dụng có kích thước file từ 16 Mb trở lên.
- Cập nhật virus bằng cách phân tích mẫu:
Dựa vào đặc tính hoạt động, được chia virus thành hai loại. Thứ nhất, loại virus ẩn
âm thầm chạy, không bộc lộ ra một triệu chứng hay dấu vết nào. Thứ hai, loại nhìn thấy
thực hiện nhiều hành động phá hoại công khai, chiếm nhiều tài nguyên của bộ xử lý,….
Đối với loại virus ẩn, chúng ta tiến hành so sánh HKEY_CLASSES_ROOT,
HKEY_CURENT_USER, HKEY_LOCAL_MACHINE, HKEY_USER với chuẩn của Hệ
điều hành Windows. Nếu có thay đổi, tiến hành phân tích theo các đường dẫn thay đổi để
đưa ra mẫu virus.
Khi virus nhìn thấy thực thi, máy tính sẽ có các triệu chứng như: CPU usage luôn ở
mức cao; start task manager, cmd, dung lượng file, svchost.exe,… thay đổi; start task
manager, my computer, một số phầnmềm văn phòng, ổ đĩa, notepad, USB, các lệnh của
windows,… bị khóa; máy bị treo; các chương trình tự động thực thi;… Chúng ta sẽ phân
tích HKEY_CLASSES_ROOT, HKEY_CURENT_USER, HKEY_USER, DOS,
WINDOWSể tìm ra mã nguồn thay đổi và files làm hệ thống bị ảnh hưởng, đưa ra mẫu
virus.
b. Quét
Chương trình quét để phát hiện virus. Chẳng hạn, với virus được mã hóa theo
chuẩn MD5, chương trình quét như sau:
Private Sub FileSystemWatcher1_Changed(ByVal sender As System.Object, ByVal e As
System.IO.FileSystemEventArgs) Handles FileSystemWatcher1.Changed
Try
Labellastreal.Text = e.FullPath
[Danh sach virus].Items.Add(Labellastreal.Text)
Me.OpenFileDialog1.FileName = ""
Dim Quet box As New TextBox
[Quet box].Text = My.Computer.FileSystem.ReadAllText("Co so du lieu").ToString
Dim md5 As New MD5CryptoServiceProvider
Dim f As New FileStream(e.FullPath, FileMode.Open, FileAccess.Read, FileShare.Read,
&H2000)
Tuyển tập Báocáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 8 Đại học Đà Nẵng năm 2012
3
f = New FileStream(e.FullPath, FileMode.Open, FileAccess.Read, FileShare.Read, &H2000)
md5.ComputeHash(f)
Dim hash As Byte() = md5.Hash
Dim buff As New StringBuilder
Dim hashByte As Byte
For Each hashByte In hash
buff.Append(String.Format("{0:X2}", hashByte))
Next
f.Close()
If [Quet box].Text.Contains(buff.ToString) Then
Me.OpenFileDialog1.FileName = e.FullPath
FrmThongbaovirus.ShowDialog()
End If
Catch exception1 As Exception
ProjectData.SetProjectError(exception1)
Dim ex As Exception = exception1
ProjectData.ClearProjectError()
End Try
End Sub
Nếu phát hiện một đoạn mã virus thì file đó có thể bị lây nhiễm virus và phầnmềm
thực hiện biện pháp loại bỏ virus khỏi file bị lây nhiễm.
2.2.2. Kiểm soát liên tục
Việc kiểm soát virus phải thực hiện liên tục theo thời gian thực để bảo vệ hệ thống.
Tất cả các dữ liệu đi vào hệ thống sẽ được so sánh mẫu cũng như bị theo dõi nếu có hành
động đáng ngờ. Với các phầnmềm có hành động giống virus hoặc các phầnmềmđộc hại
đều được phát hiện và cảnh báo với người dùng.
2.3. Cài đặt
Chúng tôi sử dụng ngôn ngữ VB.NET để cài đặt phầnmềmdiệtvirus TDAV.
Đối với người dùng, phầnmềm cho phép họ thực hiện các chức năng chính sau:
- Cập nhật tự động virus mới khi đã có tài khoản sử dụng qua Internet
- Phát hiện và diệtvirus theo vùng (ổ đĩa, thư mục,…) hoặc đối tượng được chọn.
- Phục hồi hệ thống
Tuyển tập Báocáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 8 Đại học Đà Nẵng năm 2012
4
3. Kết quả :
Chương trình TDAV hoạt động ổn định. Thử nghiệm với các loại virus autorun.inf,
exe, xcvProVirus.bat, kbiwkmnmqlvbrr.dll, chương trình đã:
- Phát hiện và tiêu diệt hết các virus này
- Kiểm tra và thông báo tình hình dữ liệu
- Tự động thông báo khi virusphát tán
- Tự động cảnh báo các tập tin có thể bị lây nhiễm
- Tự động cảnh báo khi phát hiện các hành động của các phầnmềm giống các hành
động của virus hoặc phầnmềmđộc hại.
4. Kết luận
Chương trình TDav hoạt động ổn định, phát hiện và tiêu diệt hết các virus đã cập
nhật mẫu một cách nhanh chóng. Để thu được kết quả nhận dạng với độ chính xác cao và
tối ưu hơn nữa về cấu trúc và các thông số, điều này đòi hỏi thời gian thử nghiệm và phân
tích lâu hơn để đưa ra các mẫu xử lý chính xác.
Trong tương lai, chúng tôi sẽ tiếp tục hoàn thiện các chức năng đã có và mở rộng
thêm các chức năng khác như phục hồi dữ liệu, quét phát hiện lỗ hổng bảo mật, …
TÀI LIỆU THAM KHẢO
[1] Nguyễn Ngọc Bình Phương – Lê Trần Nhật Quỳnh, “Các giải pháp lập trình Visual
Basic.Net”, NXB Giao thông Vận tải.
[2] Phương Lan – Trần Tiến Dũng, “Visual Studio Ngôn ngữ và ứng dụng”, NXB
Tuyển tập Báocáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 8 Đại học Đà Nẵng năm 2012
5
Phương Đông.
[3] Kaspersky Lab Hoa Kỳ (2003-2009), “Manager RECYCLE, S-1-5(18-300).
[4] Kaspersky Lab Việt Nam (2007 – 2011). “Tài liệu quản lý hệ thống, kiểm soát nội bộ
chương trình”.
[5] Berson, Thomas A. (1992), “Differential Cryptanalysis Mod 2
32
with Applications to
MD5”, EUROCRYPT, pages (71-80).
[6] Bert den Boer; Antoon Bosselaers (1993), “Collisions for the Compression Function
of MD5”, pages (293-304).
. phát tán trở nên phổ
biến.
Nhằm ngăn chặn tác hại virus gây ra, đề tài Phát triển phần mềm diệt virus đã
nghiên cứu và phát triển phần mềm diệt virus. Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 8 Đại học Đà Nẵng năm 2012
1
PHÁT TRIỂN PHẦN MỀM DIỆT VIRUS
ANTIVIRUS SOFTWARE DEVELOPMENT