Tải bản đầy đủ (.pdf) (48 trang)

Cách tiếp cận mới về virus máy tính

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.58 MB, 48 trang )


1
Luận văn: Cách tiếp cận mới về virus máy tính,
Bảo vệ năm 2012

MỤC LỤC
Trang
LỜI NÓI ĐẦU 3
Chương 1 TỔNG QUAN VỀ VIRUS VÀ HACKER 6
1.1. Tổng quan về Virus 6
1.1.1. Virus là gì 6
1.1.2. Các loại virus máy tính 6
1.2. Tổng quan về Hacker 10
1.2.1. Hacker là gì 10
1.2.2. Phân loại Hacker 11
Chương 2 CÁCH TIẾP CẬN MỚI VỀ VIRUS 14
2.1. Đặc trưng về tần số 14
2.2. Đặc trưng về thời gian 15
2.3. Đặc trưng về kích thước 16
2.4. Hướng giải quyết 17
Chương 3 THỰC NGHIỆM 19
3.1. Phân tích chức năng chương trình 19
3.1.1. Chức năng liệt kê 19
3.1.1.1. Liệt kê các phần mềm đã cài trong máy tính 19
3.1.1.2. Liệt kê các tiến trình đang hoạt động 20
3.1.2. Chức năng loại bỏ 22

2
3.1.2.1. Kết thúc tiến trình đang hoạt động 23
3.1.2.2. Tìm kiếm, thống kê, loại bỏ file 24
3.2. Thực nghiệm 26


3.2.1. Thực nghiệm trên các file *.exe, *.bat 26
3.2.2. Thực nghiệm trên các file *.com 29
3.2.3. Thực nghiệm trên các file *.doc 30
KẾT LUẬN 34
TÀI LIỆU THAM KHẢO 35
PHỤ LỤC 36

3
LỜI NÓI ĐẦU
1. Lý do chọn đề tài
Hiện nay, khoa học máy tính đang phát triển với tốc độ vũ bão, cả về công
nghệ phần cứng lẫn công nghệ phần mềm. Các công việc hàng ngày của chúng ta
đang dần được máy tính trợ giúp và thay thế. Tuy nhiên, bên cạnh thuận lợi đó
thì chúng ta cũng phải quan tâm đến vấn đề an ninh máy tính. Hacker, virus ngày
càng phát triển mạnh và tinh vi hơn. Chúng tấn công hệ thống nhằm ăn cắp, phá
hoại thông tin quan trọng và gây những hậu nghiêm trọng khác về cả phần cứng
và phần mềm. Để bảo vệ người sử dụng, các chương trình diệt virus, ngăn chặn
hacker cũng phải phát triển không ngừng. Nhìn chung, khi đã xuất hiện virus và
bị bị hacker tấn công, xâm nhập hệ thống máy tính/website, thì các chương trình
diệt virus mới phát hiện được đưa ra được “thuốc” để tiêu diệt chúng. Do vậy
người sử dụng phải thường xuyên cập nhật các chương trình diệt virus, các phiên
bản mới để bảo vệ hệ thống máy tính của mình. Nhưng nguy cơ bị tấn công vẫn
là rất cao và khó có thể tránh khỏi, đặc biệt là những tấn công lạ chưa từng xuất
hiện trong cơ sở dữ liệu của các phần mềm diệt virus.
Từ những lý do trên đã đặt ra một hướng mới trong bảo mật máy tính tránh
sự xâm nhập, phá hoại của virus, hacker là phát hiện xâm nhập dựa trên hành vi
và dựa trên đặc trưng của virus.
Chúng ta đã biết virus có đặc trưng chung là lây lan nhanh chóng trong một
thời gian rất ngắn, các file mà virus tạo ra có ngày giờ tạo lập và kích thước
(dung lượng lưu trữ) như nhau, cũng có thể virus thực hiện những hành động

nguy hiểm như: Chiếm quyền điều khiển hệ thống, không cho hiển thị file ẩn, tự
động cài đặt những phần mềm quảng cáo, liên tục mở những trang web lạ, những
trang web không lành mạnh… Chúng ta có thể dựa trên những đặc trưng chung

4
này và những hành động của chúng để đưa ra kết luận đó có phải là virus hay
không.
Vấn đề này cũng đã được một vài tác giả đề cập đến [3], tuy nhiên mới chỉ
dừng ở nghiên cứu một đặc tính của virus: đưa ra cảnh báo nguy hiểm với những
tệp có số lần xuất hiện quá 3 lần. Vì cách tiếp cận là đơn giản, nên kết quả thực
nghiệm chưa thực sự thuyết phục.
Từ những phân tích trên em xin mạnh dạn lựa chọn đề tài “Một số cách
tiếp cận mới về bảo mật máy tính” làm khóa luận tốt nghiệp của mình.
2. Mục đích nghiên cứu
Nghiên cứu về phát hiện virus dựa trên đặc trưng và hành vi.
3. Nhiệm vụ nghiên cứu
- Tìm hiểu tổng quan về virus và hacker;
- Nghiên cứu lý thuyết về phát hiện virus dựa trên đặc trưng và dựa trên
hành vi;
- Cài đặt chương trình thử nghiệm.
4. Phương pháp nghiên cứu
- Nghiên cứu lý thuyết;
- Tiến hành thực nghiệm;
- Tham khảo ý kiến chuyên gia.
5. Cấu trúc đề tài
Khóa luận bao gồm ba chương:
Chương 1: Tổng quan về virus và hacker.
Chương 2: Cách tiếp cận mới về virus.
Chương 3: Thực nghiệm.


5
Ngoài ra, còn có phụ lục là một số modun chính sử dụng minh họa chương
trình.

6
Chương 1
TỔNG QUAN VỀ VIRUS VÀ HACKER
1.1. Tổng quan về Virus
1.1.1. Virus là gì
Virus máy tính (gọi tắt là virus) là những chương trình hay đoạn mã được
thiết kế để tự nhân bản và sao chép chính nó vào các đối tượng lây nhiễm khác
(file, ổ đĩa, máy tính…[1, tr6]
1.1.2. Các loại virus máy tính
Trong tiến trình lịch sử phát triển của mình, có nhiều loại virus máy tính đã
ra đời, nhưng tiêu biểu có thể kể tên các loại virus sau đây:
- Boot virus: nhiễm trên hệ thống đĩa.
- File virus: nhiễm trên các tập tin thi hành.
- Macro virus: nhiễm trên các tập tin tư liệu Office.
- Worm: nhiễm chủ yếu trên hệ thống thư điện tử, các dịch vụ mạng.
- Trojan horse.
- Rootkit [1, tr6].
1.1.2.1. Boot virus
Khi máy tính của bạn khởi động, một đoạn chương trình nhỏ trong ổ đĩa
khởi động của bạn sẽ được thực thi. Đoạn chương trình này có nhiệm vụ nạp hệ
điều hành (Windows, Linux hay Unix ). Sau khi nạp xong hệ điều hành, bạn
mới có thể bắt đầu sử dụng máy. Đoạn mã nói trên thường được để ở vùng trên
cùng của ổ đĩa khởi động, và chúng được gọi là "Boot sector".
Boot virus là tên gọi dành cho những virus lây vào Boot sector. Các Boot
virus sẽ được thi hành mỗi khi máy bị nhiễm khởi động, trước cả thời điểm hệ


7
điều hành được nạp lên [3].

8
1.1.2.2. File virus
Là những virus lây vào những file chương trình, phổ biến nhất là trên hệ
điều hành Windows, như các file có đuôi mở rộng .com, .exe, .bat, .pif, .sys
Khi ta chạy một file chương trình đã bị nhiễm virus cũng là lúc virus được kích
hoạt và tiếp tục tìm các file chương trình khác trong máy tính để lây vào [3].
1.1.2.3. Macro virus
Là loại virus lây vào những file văn bản (Microsoft Word), file bảng tính
(Microsoft Excel) hay các file trình diễn (Microsoft Power Point) trong bộ
Microsoft Office. Macro là tên gọi chung của những đoạn mã được thiết kế để bổ
sung tính năng cho các file của Office. Chúng ta có thể cài đặt sẵn một số thao
tác vào trong macro, và mỗi lần gọi macro là các phần cài sẵn lần lượt được thực
hiện, giúp người sử dụng giảm bớt được công lặp đi lặp lại những thao tác giống
nhau. Có thể hiểu việc dùng Macro giống như việc ta ghi lại các thao tác, để rồi
sau đó cho tự động lặp lại các thao tác đó bằng một yêu cầu duy nhất.
Ngày nay, trên thực tế các loại Macro virus cũng gần như “tuyệt chủng” và
hầu như không ai còn sử dụng đến các macro nữa [3].
1.1.2.4. Worm (sâu)
Worm (sâu) là loại virus có sức lây lan rộng, nhanh và phổ biến nhất hiện
nay. Worm kết hợp cả sức phá hoại của virus, đặc tính âm thầm của Trojan và
hơn hết là sự lây lan đáng sợ mà những kẻ viết virus trang bị cho nó để trở thành
một kẻ phá hoại với vũ khí tối tân. Tiêu biểu như Mellisa hay Love Letter. Với
sự lây lan đáng sợ chúng đã làm tê liệt hàng loạt hệ thống máy chủ, làm ách tắc
đường truyền Internet.
Với sự lây lan nhanh và rộng lớn như vậy, Worm thường được cài thêm
nhiều tính năng đặc biệt, như khả năng định cùng một ngày giờ và đồng loạt từ


9
các máy nạn nhân (hàng triệu máy) tấn công vào một địa chỉ nào đó. Ngoài ra,
chúng còn có thể mang theo các BackDoor thả lên máy nạn nhân, cho phép chủ
nhân của chúng truy nhập vào máy của nạn nhân thực hiện những hành vi xấu.
Ngày nay, khái niệm Worm đã được mở rộng để bao gồm cả các virus lây
lan qua mạng chia sẻ ngang hàng peer to peer, các virus lây lan qua ổ đĩa USB
hay các dịch vụ gửi tin nhắn tức thời (chat), đặc biệt là các virus khai thác các lỗ
hổng phần mềm để lây lan [1, tr11].
1.1.2.5. Trojan horse
Thuật ngữ này dựa vào một điển tích, đó là cuộc chiến giữa người Hy Lạp
và người thành Tơ-roa. Thành Tơ-roa là một thành trì kiên cố, quân Hy Lạp
không sao có thể đột nhập vào được. Người Hy Lạp đã nghĩ ra một kế, giả vờ rút
lui, sau đó để lại thành Tơ-roa một con ngựa gỗ khổng lồ. Sau khi ngựa được
đưa vào trong thành, đêm xuống, những quân lính từ trong bụng ngựa xông ra và
đánh chiếm thành từ bên trong.
Phương pháp trên cũng chính là cách mà các Trojan máy tính áp dụng. Khác
với virus, Trojan là một đoạn mã chương trình “Hoàn toàn không có tính lây
lan”. Đầu tiên, kẻ viết ra Trojan bằng cách nào đó lừa đối phương sử dụng
chương trình của mình hoặc ghép Trojan đi kèm với các virus (đặc biệt là các
virus dạng Worm) để xâm nhập, cài đặt lên máy nạn nhân. Đến thời điểm thuận
lợi, Trojan sẽ ăn cắp thông tin quan trọng trên máy tính của nạn nhân như số thẻ
tín dụng, mật khẩu để gửi về cho chủ nhân của nó ở trên mạng hoặc có thể xoá
dữ liệu nếu được lập trình trước.
Bên cạnh các Trojan ăn cắp thông tin truyền thống, một số khái niệm mới
cũng được sử dụng để đặt tên cho các Trojan mang tính chất riêng biệt như sau:

10
 Backdoor: Loại Trojan sau khi được cài đặt vào máy nạn nhân sẽ tự mở ra
một cổng dịch vụ cho phép kẻ tấn công (hacker) có thể kết nối từ xa tới máy
nạn nhân, từ đó nó sẽ nhận và thực hiện lệnh mà kẻ tấn công đưa ra.

 Phần mềm quảng cáo bất hợp pháp - Adware và phần mềm gián điệp -
Spyware: Thay đổi trang web mặc định (home page), các trang tìm kiếm mặc
định (search page)… hay liên tục tự động hiện ra (popup) các trang web
quảng cáo khi bạn đang duyệt web. Chúng thường bí mật xâm nhập vào máy
của bạn khi bạn “ghé thăm” những trang web có nội dung không lành mạnh,
các trang web bẻ khóa phần mềm… hoặc chúng đi theo các phần mềm miễn
phí không đáng tin cậy hay các phần mềm bẻ khóa (crack, keygen) [2, tr4].
1.1.2.6. Rootkit
Rootkit là bộ công cụ phần mềm thường được người viết ra nó sử dụng để
che giấu sự tồn tại và hoạt động của những tiến trình hoặc những file mà họ
mong muốn.
Đặc điểm của Rootkit là có khả năng ẩn các tiến trình, file và cả dữ liệu
trong registry (với Windows). Nếu chỉ dùng những công cụ phổ biến của hệ điều
hành như "Registry Editor", "Task Manager", "Find Files" thì không thể phát
hiện ra các file và tiến trình này.
Ngoài ra nó còn có thể ghi lại các thông số về kết nối mạng, ghi lại các
phím bấm (giữ vai trò của keylogger). Cũng có thể Rootkit được dùng trong
những việc tốt, nhưng trong nhiều trường hợp, Rootkit được coi là Trojan vì
chúng có những hành vi như nghe trộm, che giấu hoặc bị lợi dụng để che giấu
các chương trình độc hại [3].
1.2. Tổng quan về Hacker
1.2.1. Hacker là gì

11
Hacker là người có thể viết hay chỉnh sửa phần mềm, phần cứng máy tính
bao gồm lập trình, quản trị và bảo mật. Những người này hiểu rõ hoạt động của
hệ thống máy tính, mạng máy tính và dùng kiến thức bản thân để làm thay đổi,
chỉnh sửa nó với nhiều mục đích tốt xấu khác nhau. [3].
1.2.2. Phân loại Hacker
Có nhiều tiêu chí để phân loại Hacker, trong phần này chúng ta sẽ phân loại

Hacker theo hai tiêu chí:
- Phân loại hacker theo hành động thâm nhập
- Phân loại hacker dựa trên lĩnh vực [3].


12
1.2.2.1. Phân loại Hacker theo hành động thâm nhập
Theo tiêu chí phân loại theo hành động thâm nhập người ta chia Hacker
thành những loại sau:
- Hacker mũ trắng: Là từ thường được gọi những người mà hành động
thâm nhập và thay đổi hệ thống của họ được xem là tốt, chẳng hạn như
những nhà bảo mật, lập trình viên, chuyên viên mạng máy tính.
- Hacker mũ đen: Là từ thường được gọi những người mà hành động thâm
nhập là có mục đích phá hoại, hoặc vi phạm pháp luật.
Ngoài ra còn có hacker mũ xanh (blue hat), mũ xám (grey hat) với ý nghĩa
khác, nhưng chưa được công nhận rộng rãi [3].
1.2.2.2. Phân loại Hacker dựa trên lĩnh vực
Theo tiêu chí này thì người ta chia Hacker thành những loại sau:
- Hacker là lập trình viên giỏi: Trên phương diện tích cực, người hacker
lập trình giỏi là người hiểu biết rất sâu về các ngôn ngữ lập trình và có khả năng
lập trình rất nhanh và hiệu quả. Tuy vậy, mặt trái của họ là khả năng bảo trì lâu
dài, văn bản lập trình và sự hoàn tất.
- Hacker là chuyên gia mạng và hệ thống: Là người có kiến thức chuyên
sâu về các giao thức và hệ thống mạng. Có khả năng hoàn thiện và tối ưu hóa hệ
thống mạng. Mặt tối của những hacker này là khả năng tìm ra điểm yếu mạng và
lợi dụng những điểm yếu này để đột nhập vào hệ thống mạng.
- Hacker là chuyên gia phần cứng: Là những người yêu thích và có kiến
thức sâu về phần cứng, họ có khả năng sửa đổi hệ thống phần cứng để tạo ra
những hệ thống có chức năng đặc biệt hơn, hoặc mở rộng các chức năng được
thiết kế ban đầu [3].


13
Ở những chương tiếp theo, đề tài sẽ trình bày một số cách tiếp cận mới về
virus máy tính.
Nội dung bảo mật liên quan đến hacker có thể được hiểu đơn giản như sau:
dựa vào đặc trưng về hành vi (vượt tường lửa, giả mạo,…), về cấu trúc các gói
tin truyền và nhận trên mạng, từ đó hệ thống bảo mật tiến hành ngăn chặn hoặc
đưa ra cảnh báo cho người quản trị. Để giải quyết những vấn đề như vậy, chương
trình bảo mật cần có chức năng “Chặn, bắt và phân tích các gói tin”. Nội dung lý
thuyết chuyên sâu và những thực nghiệm về vấn đề này vượt ngoài phạm vi
nghiên cứu của đề tài.


14
Chương 2
CÁCH TIẾP CẬN MỚI VỀ VIRUS
Hiện nay, virus máy tính ngày càng phát triển nhanh, mạnh và phức tạp.
Chúng xóa sạch các thông tin trên ổ cứng, làm tắc nghẽn lưu lượng mạng, phát
tán thư rác, ăn cắp các thông tin cá nhân, cài đặt lén lút các phần mềm quảng
cáo, gây ra lỗi phần cứng… Để ngăn chặn virus, cần phải sử dụng những phần
mềm diệt virus đủ mạnh, và phải thường xuyên cập nhật những phiên bản mới.
Nhưng điều đó không đảm bảo là máy tính của chúng ta sẽ thoát khỏi sự phá
hoại của virus. Bởi hàng ngày có hàng trăm loại virus mới ra đời nên các phần
mềm diệt virus khó có thể cập nhật hết. Điều này dẫn đến trường hợp virus thâm
nhập, phá hoại dữ liệu thì chương trình diệt virus mới phát hiện được. Nguyên
nhân là bởi hầu hết các chương trình diệt virus hiện nay đều sử dụng phương
pháp so mã để phát hiện virus [2, tr2].
Virus có những đặc trưng riêng như đặc trưng về tần số xuất hiện, đặc trưng
về thời gian tạo lập, về kích thước… Vì vậy, thay vì sử dụng phương pháp so
mã, chúng ta có thể căn cứ vào những đặc trưng, những hành vi mà chương trình

thực hiện để đưa ra kết luận chương trình đó có phải là virus hay không. Trong
chương này, em sẽ trình bày chi tiết phương pháp phát hiện virus theo đặc trưng.
Thông qua phương pháp được trình bày trong chương này, có thể giải bài
toán sau một cách hiệu quả: “Cho trước một số file trên máy tính. Hãy cho biết
những file nào có khả năng là virus”.
2.1. Đặc trưng về tần số
Minh họa cho đặc trưng này có thể kể đến virus W32.CodeRed II (hay ngắn
gọn là Code Red II). Khi thâm nhập vào máy tính, Code Red II sẽ nhanh chóng
nhân bản thành hàng trăm file trong thời gian ngắn và lan truyền qua mạng

15
Internet lây ra các máy tính khác. Cư ngụ trong những máy tính bị nhiễm, nó sẽ
tấn công các website bằng cách gửi tới tấp hàng loạt dữ liệu đến máy chủ
Internet, dẫn đến vượt quá khả năng xử lý của máy chủ khiến hệ thống bị tê liệt.
Ngoài ra, các virus như “Newfolder.exe”, “Mydoom”… cũng có khả năng tương
tự [3].
Như vậy, một trong những đặc trưng của virus là tính nhân bản. Điều đó có
nghĩa là một file virus sẽ xuất hiện lặp đi lặp lại rất nhiều lần trong máy tính.
Vậy nếu một file xuất hiện quá n lần thì có thể kết luận file đó là virus.
Việc kết luận virus như trên sẽ dẫn đến khuyết điểm là coi cả những file tốt,
file của người dùng (xuất hiện quá n lần) là virus. Để giải quyết trường hợp này,
cần kết hợp với đặc trưng khác của virus nhằm đưa ra kết luận chính xác. Cách
giải quyết này sẽ được giải thích rõ ở những phần tiếp theo.
2.2. Đặc trưng về thời gian
Virus có tốc độ lây lan theo cấp số nhân. Nó có thể tạo ra hàng nghìn file
giống nhau trong một thời gian ngắn. Chẳng hạn với virus “I LOVE YOU” hay
“Melissa” sau khi thâm nhập vào hệ thống thì chỉ một vài phút sau nó sẽ tự copy
nhiều lần, ẩn các copy trong nhiều thư mục trên ổ cứng, sau đó phát tán qua
email tới các máy tính khác.
Đối với các tệp không phải virus liệu có nhiều bản copy không? Câu trả lời

là có. Chẳng hạn, một tệp văn bản có thể có nhiều phiên bản khác nhau. Nhưng
những phiên bản này sẽ có sự khác biệt về thời gian tạo lập lớn.
Dựa vào những phân tích trên ta có đưa thêm cách phát hiện virus như sau:
Nếu một file xuất hiện quá n lần và thời gian tạo lập của nó là như nhau thì ta có
thể kết luận file đó là virus.
Từ ý tưởng trên ta xây dựng thành thuật toán như sau:
Giả sử ta có một file xuất hiện n lần

16
- B1: Ta tính thời gian tạo lập trung bình của n file đó (bằng tổng thời gian
tạo lập của n file chia cho n).
- B2: Lấy một file có thời gian tạo lập lớn nhất rồi so sánh với thời gian
tạo lập trung bình để tính độ lệch về mặt thời gian.
- B3: Nếu độ lệch thời gian bằng 0. Điều này có nghĩa là các file trên được
tạo ra trong cùng một khoảng thời gian, nguy cơ file này là virus rất cao. Ngược
lại, nếu độ lệch thời gian khác 0 thì có thể những file này là file có thể do người
dùng tạo ra.
2.3. Đặc trưng về kích thước
Như đã nói ở trên virus copy một file thành hàng nghìn file trong một thời
gian ngắn nên kích cỡ các file sẽ hoàn toàn giống nhau.
Với người dùng, cho dù muốn nhân bản để lưu trữ dữ liệu thì cũng không
thể dẫn đến tình huống như xảy ra với virus.
Vì vậy: Nếu một file nào đó xuất hiện quá n lần và kích thước của chúng là
như nhau thì ta có thể kết luận file đó là virus.
Ta xây dựng thuật toán tương tự như trên:
Giả sử có một file xuất hiện n lần
- B1: Tính kích thước trung bình của n file đó (bằng tổng kích thước của n
file chia cho n).
- B2: Lấy một file có kích thước lớn nhất rồi so sánh với kích thước trung
bình để tính độ lệch về kích thước.

- B3: Nếu độ lệch bằng 0. Điều này có nghĩa là các file trên có kích thước
như nhau, file này có nguy cơ là virus. Ngược lại, nếu độ lệch khác 0 thì có thể
những file này là file do người dùng tạo ra.

17
2.4. Hướng giải quyết
Để tránh trường hợp đưa ra những kết luận vội vàng như ở phần 2.1 coi mọi
file xuất hiện quá n lần là virus, em đã kết hợp cả ba đặc trưng về: tần số, thời
gian và kích thước để đưa ra kết luận có độ chính xác cao về độ nguy hiểm của
file. Nếu độ nguy hiểm của một file nào đó lớn, thì có thể kết luận nó là virus.
Độ nguy hiểm của một file sẽ là tổng điểm của ba điểm thành phần: điểm
tần suất, điểm thời gian và điểm kích thước. Trong đó:
- Điểm tần suất được tính bằng số lần xuất hiện của file *10 (nhân với 10
nhằm tăng tầm quan trọng của tần suất).
- Điểm thời gian được tính như sau:
+ Nếu tần suất là 1, thì điểm thời gian được gán bằng 0;
+ Nếu tần suất lớn hơn 1 và các file có thời gian tạo lập như nhau, thì
điểm thời gian bằng max (là 10000);
+ Nếu tần suất lớn hơn 1 và các file có thời gian tạo lập khác nhau thì
điểm thời gian = 10000/độ lệch thời gian. Trong đó, độ lệch thời gian =
|thời gian tạo lập của file có ngày tạo lập lớn nhất – thời gian tạo lập
trung bình| (chọn số 10000 dựa vào phân tích: Giả sử thời gian tạo lập
của virus diễn ra trong 7 ngày. Mà độ lệch thời gian được tính theo đơn
vị là phút nên 7 ngày sẽ xấp xỉ 10000 phút. Lấy 10000 chia cho độ lệch
thời gian nhằm làm cho số điểm thời gian nhỏ hơn 3 chữ số cho trường
hợp không phải virus).
- Điểm kích thước được tính tương tự như điểm thời gian:
+ Nếu tần suất là 1, thì điểm kích thước được gán bằng 0;
+ Nếu tần suất lớn hơn 1 và các file có kích thước như nhau, thì điểm
kích thước bằng max (là 1000);


18
+ Nếu tần suất lớn hơn 1 và các file có kích thước khác nhau thì điểm
kích thước = 1000/độ lệch kích thước. Trong đó, độ lệch kích thước =
|file có kích thước lớn nhất – kích thước trung bình| (chọn số 1000 là
dựa trên phân tích: một file virus thường có kích thước khá nhỏ, giả sử
là 1KB xấp xỉ bằng 1000byte (độ lệch kích thước tính theo byte). Lấy
1000 chia cho độ lệch kích thước nhằm làm cho điểm kích thước nhỏ
hơn 3 chữ số trong trường hợp không phải virus).

19
Chương 3
THỰC NGHIỆM
3.1. Phân tích chức năng chương trình
Chương trình có hai chức năng chính là: Liệt kê và xóa bỏ đối tượng (tệp,
tiến trình).
3.1.1. Chức năng liệt kê

Hình 3.1. Giao diện chính của chương trình
3.1.1.1. Liệt kê các phần mềm đã cài trong máy tính

20
Như chúng ta đã biết một trong những mục đích của virus khi xâm nhập vào
máy tính là cài đặt lén lút các phần mềm, có thể là phần mềm quảng cáo hay các
phần mềm gián điệp nhằm ăn cắp thông tin cá nhân của người dùng. Vì vậy liệt
kê các phần mềm đã được cài đặt vào máy tính là một chức năng hết sức cần
thiết để người dùng phát hiện xem có phần mềm lạ nào xuất hiện hay không.
Những phần mềm đó có thể là do virus cài đặt vào từ đó người dùng sẽ có những
xử lý thích hợp.




Hình 3.2. Giao diện chương trình “Installed Software”
3.1.1.2. Liệt kê các tiến trình đang hoạt động

21
Chức năng liệt kê thứ hai đó là liệt kê các tiến trình đang hoạt động. Chức
năng này tương tự như chức năng Task Manager của Windows. Nhưng nó có
điểm khác là ngoài việc đưa ra tên của tiến trình, chức năng này còn đưa ra
đường dẫn đến tiến trình đó, việc này sẽ rất thuận tiện cho người dùng trong việc
diệt thủ công đối với những virus mới mà các chương trình diệt virus chưa thể
phát hiện. Chức năng liệt kê các tiến trình đang hoạt động được dùng để kiểm tra
xem có tiến trình lạ nào đang chạy không. Virus thường tạo ra những chương
trình chạy ngầm trong máy, có thể có những loại virus không cho hiển thị chức
năng Task Manager của Windows, ta sử dụng chức năng này phát hiện những
tiến trình hoạt động bất thường, dựa theo đường dẫn để diệt virus nếu các
chương trình diệt virus không diệt được.


22


Hình 3.3. Giao diện chương trình “Running process”
3.1.2. Chức năng loại bỏ
Trong phần này cũng bao gồm hai chức năng chính đó là: Kết thúc tiến trình
đang hoạt động và các thao tác với file.

23

Hình 3.4. Giao diện chính của chương trình với chức năng loại bỏ

3.1.2.1. Kết thúc tiến trình đang hoạt động

24

Hình 3.5. Giao diện chương trình “Kill process”
Đối với chức năng kết thúc tiến trình đang hoạt động. Để tránh việc người
dùng vô tình đóng những tiến trình của hệ thống làm máy tính không hoạt động
được thì trong chức năng này chỉ cho phép liệt kê những tiến trình đang hoạt
động của người dùng.
Để kết thúc tiến trình trước hết ta phải biết người dùng đang chạy những
tiến trình nào. Ta nhấn List Process để liệt kê tất cả tiến trình của người dùng,
sau đó muốn kết thúc tiến trình nào thì tích vào ô bên cạnh tiến trình đó, rồi nhấn
Kill Process.
3.1.2.2. Tìm kiếm, thống kê, loại bỏ file

25

Hình 3.6. Giao diện chương trình “Kill File”
Trong chương trình này chúng ta cần hiểu ý nghĩa của một số nút lệnh
- Find File: Tìm kiếm file trong thư mục theo loại file. Kết quả sẽ được
hiển thị trên danh sách bên trái theo thứ tự tên file giảm dần.
- Kill File: Xóa bỏ những file được đánh dấu (tick) trong danh sách bên
trái. Việc xóa file ở đây được hiểu là xóa file vĩnh viễn (không đưa vào thùng
rác).
- Frequency: Là thanh trượt dùng để lựa chọn tần số xuất hiện của file.
- File Statistics: Nút lệnh này sẽ thống kê những file xuất hiện không ít hơn
số lần đã chọn trên thanh trượt, kết quả sẽ được hiển thị trên danh sách bên phải
theo thứ tự độ nguy hiểm giảm dần (cách tính độ nguy hiểm đã được nói rõ trong
chương 2).
- Good File: Là chức năng lựa chọn file tốt. Đây là một phần giao tiếp với

người dùng, người dùng có thể lựa chọn những file mà họ cho là không nguy
hiểm (file tốt). Chức năng này hoàn toàn phụ thuộc vào sự hiểu biết cũng như
quyết định cảm tính của người dùng.

×