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

Tiểu luận trí tuệ nhân tạo 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 (192.06 KB, 29 trang )

LờI Mở ĐầU
Trí tuệ nhân tạo là một môn học chuyên ngành bắt buộc đối với sinh viên thuộc
chuyên ngành tin học. Môn học này trang bị cho sinh viên một số kiến thức cơ bản nhất
về các phơng pháp giải quyết vấn đề và kỹ thuật xử lý tri thức. Đó là một nền tảng vững
chắc để đi sâu nghiên cứu các chuyên đề khác. Sự ra đời và phát triển của trí tuệ nhân
tạo đã kéo theo hàng loạt công nghệ mới và khoa học kỹ thuật ngày càng phát triển. Các
sản phẩm của trí tuệ nhân tạo đa số phục vụ cho mục đích tốt và ngày càng đa dạng
phong phú nh : phần mềm phục vụ cho học tập và giải trí v.v
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 muốn hiểu rõ hơn về Virus máy tính, chúng tôi quyết định chọn đề tài về
Virus để nghiên cứu.
Trong quá trình thực hiện đề tài này, chúng tôi nhận đợc rất nhiều sự giúp đỡ
của các thầy cô bộ môn trong trờng. Chúng tôi xin chân thành cảm ơn sự giúp đỡ của
các thầy cô bộ môn.
Đây là một đề tài khá rộng nên không thể tránh khỏi sự thiếu sót. Rất đợc sự ủng
hộ và góp ý của thầy cô và các bạn .

Xin chân thành cảm ơn!

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 ta 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, nhng 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
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
3
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
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 ý. Nhng 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:
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.
4
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
- 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 nhngluô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:
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:
5
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
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 cha 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.
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ữ
6
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
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 máy
trạm ), làm cho việc phòng chống vô cùng khó khăn, cho đến tận tháng 9 năm
2002 , ở Việt Nam vẫn còn những cơ quan với mạng máy tính có hàng trăm
máytính bị Virus Nimda quấy nhiễu. Chúng cũng chỉ ra một xu hớng mới của các
loại virus máy tính là tất cả trong một , trong một virus bao gồm nhiều virus ,
nhiều nguyên lý khác nhau.
- Năm 2002-Sự ra đời của hàng loạt loại virus mới:
Ngay trong tháng 1 năm 2002 đã có một loại virus mới ra đời. Virus này lây
nhiễm file .SWF, điều cha từng xảy ra trớc đó (shock waveflash-một loại công cụ
7
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
làm cho các trang web thêm phong phú). Tháng 3 đánh dấu sự ra đời của loại
virus viết bằng ngôn ngữ C#, một ngôn ngữ mới của Microsoft. Con sâu .net này
có tên là sharpA và đợc viết bởi một phụ nữ !
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 loại virus máy tính và cách thức tấn công
Thông thờng ,dựa vào đối tợng lây lan là file hay đĩa mà virus đợc chia thành
hai nhóm chính:

-B-Virus: Virus chỉ tấn công trên Master Boot hay Boot Sector.
-F-Virus: Virus chỉ tấn công lên các file khả thi.
Mặc dù cách phân chia này cũng không hẳn là chính xác. Ngoại lệ vẫn có các virus vừa
tấn công lên Master Boot(Boot Sector) vừa tấn công lên các file khả thi.
Để có một cái nhìn tổng quan về Virus , ta xem chúng dành quyền điều khiển nh thế
nào
a/ B-Virus:
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 vậy, quyền điều khiển ban
đầu đợc trao cho đoạn mã tại 0FFFFh:0h, đoạn mã này thực ra chỉ là lệnh nhảy JMP
FAR đến một đoạn chơng trình trong ROM, đoạn chơng trình này thực hiện quá trình
POST (Power On Self Test-tự kiểm tra khi khởi động).
Quá trình POST sẽ lần lợt kiểm tra các thanh ghi, kiểm tra bộ nhớ, khởi tạo các Chip
điều khiển DMA, bộ điều khiển ngắt, bộ điều khiển đĩa Sau đó nó sẽ tim các Cart
thiết bị gắn thêm để trao quyền điều khiển cho chúng tự khởi tạo rồi lấy lại quyền điều
khiển. Chú ý rằng đây là đoạn chơng trình trong ROM(Read Only Memory) nên không
thể sửa đổi , cũng nh cũng không thể chèn thêm một đoạn mã nào khác.
Sau quá trình POST, đoạn chơng trình trong ROM tiến hành đọc Boot Secter trên đĩa A
hoặc Master Boot trên đĩa cứng vào RAM (Random Access Memory) tại địa chỉ
8
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
0:7C00h và trao quyền điều khiển cho đoạn mã đó bằng lệnh JMP FAR 0:7C00h. Đây
là chỗ mà B-Virus lợi dụng để tấn công vào Boot Sector(Master Boot) , nghĩa là nó sẽ
thay Boot Secter chuẩn bằng đoạn mã virus, vì thế quyền điều khiển đợc trao cho virus,
nó sẽ tiến hành các hoạt động của mình trớc, rồi sau đó mới tiến hành các thao tác nh
thông thờng: đọc Boot Sector (Master Boot) chuẩn mà nó cất giấu ở đâu đó vào
0:7C00h rồi trao quyền điều khiển cho đoạn mã chuẩn này, và ngời sử dụng có cảm
giác máy tính của mình vẫn hoạt động bình thờng.
b/F-Virus:
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 điểm của B-Virus
1/Phân loại B-Virus
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 độ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ữ
9
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
trong Side 0, cylinder 0 vì trong cả track này, DOS chỉ sử dụng sector đầu tiên cho bảng
partition. Trên đĩa mềm vị trí cất giữ sẽ phức tạp hơn vì mọi chỗ đều có khả năng bị ghi
đè thông tin. Một số hớng dẫn sau đây đã đợc các virus áp dụng:
Sử dụng sector ở cuối Root Directory, vì nó thờng ít đợc sử dụng.
ợ Sử dụng các sector cuối cùng trên đĩa , vì khi phân bổ vùng trống cho file,
DOS tìm vùng trống từ nhỏ đến lớn cho nên vùng này thờng ít đợc sử dụng.
Ghi vào vùng trống trên đĩa , đánh dấu trong bảng FAT vùng này là vùng bị
hỏng để DOS không sử dụng cấp phát nữa. Cách làm này an toàn hơn các cách làm

trên.
t Format thêm track và ghi vào track vừa đợc format thêm.
tuỳ thuộc vào độ lớn của đoạn mã virus mà B-virus đợc chia làm 2 loại:
a/SB-virus:
Chơng trình của SB-virus chỉ chiếm đúng 1 sector khởi động, các tác vụ của SB-
virus không nhiều và tơng đối đơn giản. Hiện nay số các virus loại này thờng ít gặp.
b/DB-virus:
Đây là những loại virus mà đoạn mã của nó lớn hơn 512 bytes (thờng thấy). Vì
thế mà chơng trình virus đợc chia thành 2 phần:
-Phân đầu virus: đợc cài đặt trong sector khởi động để chiếm quyền điều khiển khi
quyền điều khiển đợc trao cho sector khởi động này. nhiệm vụ duy nhất của phần đầu
là: tải tiếp phần thân của virus vào vùng nhớ và trao quyền điều khiển cho phần thân đó.
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 cha có gì xảy ra cả.
2/Một số kỹ thuật cơ bản của B-virus:
10
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
Dù là B-Virus hay DB-Virus, nhng để 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ì 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ớ cha có virus, ngợc lại nếu virus đã lu 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 lu trú
11
Tiểu luận trí tuệ nhân tạo Tìm Hiểu Virus Máy Tính
Sau khi thực hiện xong chơng trình POST, giá trị tổng số vùng nhớ đợc Test sẽ
đợc lu 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 để lu trú, mọi B-
virus đều áp dụng kĩ thuật sau đây: Sau khi tải phần lu 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 cha ( kỹ thuật kiểm tra đã nói ở
trên). Nếu sector khởi động đó cha bị nhiễm virus thì virus sẽ tạo một sector khởi độ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.
12

×