đồ án đề tài khái quát về virus tin học - Pdf 22

LỜI NÓI ĐẦU Virus là một chương trình máy tính trong đó bao hàm những kỹ thuật cao
về một chương trình tự hành. Là một chương trình gắn liền với chức năng phần
cứng.
Tìm hiểu về virus để từ đó xây dựng chương trình tự hành, cách thức lập
trình, và lập trình với cấu trúc phần cứng.
Nội dung của đề tài “Tìm hiểu file virus trên DOS ” bao gồm:
Chương 1: Tổng quan về virus
1.1.
Giới thiệu về virus
1.2. Cấu trúc của chương trình virus
1.3. Các kỹ thuật xây dựng virus
Chương 2: Tổ chức và cách thức thực thi một chương tình trên DOS
2.1. Một số hàm chức năng quan trọng trên DOS
2.2. Cách thức thức thi chương trình
Chương 3: Xây dựng chương trình thử nghiệm


Người dùng sẽ sử dụng các chương trình này một cách thông thường và sẽ thực
thi cùng với chúng. Bằng cách này, virus sẽ tồn tại được.
Một cách chính xác, thuật ngữ virus máy tính là thuật ngữ sai. Nó được
đặt tên bởi Fred Cohen trong luận v
ăn tốt nghiệp năm 1985 của ông. Đây là luận
văn trình bày về phần mềm tự sao chép được và khả năng của nó làm hại cái gọi
là hệ thống bảo mật.Thật sự thì virus là một cái tên không được đúng lắm.Từ
này báo trước điềm xấu và phỏng đóan cái gì đó không tốt.Thậm chí ngay cả
Fred Cohen cũng hối tiếc vì đã đặt ra thuật ngữ này. Và bây giờ ông cho rằng
chúng ta g
ọi những chương trình này là "chương trình sống".
Trên thực tế,virus giống như một sinh vật sống đơn bào đơn giản hơn là
hơn là một virus sinh học. Mặc dù tự nó có thể xâm nhập vào các chương trình
khác, những chương trình này sẽ không tồn tại trong bất kỳ khả năng nào. Hơn
thế nữa, một sinh vật sống vốn không có gì là xấu mặc dù nó có vẻ khá cứng
đầu. Giống như cây địa y có thể
ăn sâu vào trong đá và phá hủy nó theo thời
gian, virus máy tính có thể ăn sâu vào máy tính và làm những việc mà bạn
không mong muốn. Một vài loại virus có thể phá hủy toàn bộ dữ liệu trong ổ
cứng trong khi một số khác sẽ sử dụng một vài chu trình của máy tính.
Ngoại trừ vẻ bề ngoài cứng cổ, ta cũng nên nhận thấy rằng virus máy tính
không vốn dĩ đã là tiêu cực. Chúng có thể chiếm một vài chu trình của
computer, tuy nhiên, khi một virus có ý nhắm tới việc phá hủy, chỉ những virus
thành công mới có thể khiến hệ thống tài nguyên của bạn chú ý một phần nhỏ.
Virus có thể đặt cho virus máy tính 1 cái tên cho sự phá hủy một cách chung
nhất là bom logic mà khởi đầu là ngày tháng và sau đó hiển thị lời nhắn hoặc
gây fiền nhiễu, khó chịu. Giống bom logic, tuy nhiên, không có gì để làm với sự
tự sao chép gi
ống virus. Chúng là phần trọng tải thêm vào đoạn mã tự sao chép.
Khi em nói rằng virus máy tính không hẳn đã là tiêu cực tất nhiên, em

Vùng lây lan
virus
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ẽ dò tìm các Card thiết bị gắn thêm để trao quyền đ
iều khiển cho chúng tự
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ư 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
Sector trên đĩa A hoặc Master Boot trên đĩa cứng vào RAM (Random Acess
Memory) tại địa chỉ 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 Sector (Master Boot) 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 rằng máy tính của mình vẫn hoạt động bình thường.
* Ưu điểm:
Không phụ thuộc hệ điều hành
* Nhược điểm:
- Đối tượng lây nhiễm ít->Khả năng lây nhiễm không cao.
- Kích cỡ bị hạn chế.
- Không sử dụng được dịch vụ của hệ điều hành(vì nó chạy trước

* Ưu điểm:
- Đối tượng lây nhiễm lớn ->Khả năng lây nhiễm cao
- Kích thước không bị hạn chế
- Sử dụng được các dịch vụ của hệ điều hành
=>”Dễ viết” dễ lây nhiễm.
* Nhược điểm: Bị
phụ thuộc hệ điều hành
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 trong như ngắt 21h,
ngắt 13h,…Mỗi khi các ngắt được gọi, virus sẽ dành quyền
điều khiển để tiến
hành các hoạt động các hoạt động của mình trước khi trả lại các ngắt chuẩn của
DOS.
1.2. CẤU TRÚC TỔNG QUAN CỦA VIRUS FILE
Cấu trúc của một virus File được thể hiện một cách tổng quát qua
sơ đồ giả thuật sau:

Thấy
Chưa
Có rồi
Sai
Begin
Sai

Từ sơ đồ cấu trúc trên ta có thể đặt ra một số các yêu cầu sau cho virus file:
- Tính tồn tại duy nhất:
Tính tồn tai duy nhất được đảm bảo bởi phần kiểm tra virus đã có trong
vùng nhớ hay không. Việc kiểm tra này đảm bảo cho virus có mặt chỉ một lần
trong vùng nhớ hay trên file ( tất nhiên ta không xét đến trường hợp nhiều virus
tấn côg một file hay một hệ thống ).
Yêu cầu này đảm bảo làm giảm thời gian thi hành file khi trong vùng nhớ

có thể có quá nhiều bản sao của một virus, cũng như đảm bảo kích thước file
không tăng lên quá nhanh làm làm virus dễ bị phát hiện nhưng cũng làm tăng
thời gian nạp file.
- Tính thường trú:
Tính thường trú thể hiện cho quá trình cài đặt virus vào RAM. Tính chất
này yêu cầu file virus sau khi kiểm tra trong vùng nhớ thấy vung nhớ còn “sạch”
thì phải lập tức lưu trú vào bộ nhơ RAM để có thể thực hiện việc chiếm quyền
điều khi
ển khi cần lây nhiễm sang file đang được gọi hoặc khi phá hoại.
- Tính lây lan:
Đây là yêu cầu bắt buộc của bất cứ một loại virus nào. Nó được thực hiện
trong 2 quá trình: tìm kiếm và lây nhiễm. Nó đảm bảo cho sự tồn tại và phát
triển của virus, và thế mới gọi là “Virus”. Một virus khoẻ phải có tốc độ lây lan
nhanh và do đó nó mới đảm bảo cho tính tồn tại của mình.
- Tính phá hoại:

+ Kiểm tra bằng kích thước:
Được áp dụng trong những virus đầu tiên, tuy độ chính xác của nó không
cao và mặt khác cũng không kiểm tra được version của nó. Tuy nhiên việc kiểm
tra nhanh và kết quả phụ trong quá trình kiểm tra có thể được dùng về sau nên
nó được ưa chu
ộng.
1.3.2. Kỹ thuật lây lan
Hai loại virus có hai cách lây lan hoàn toàn khác nhau, do đó kỹ thuật lây
lan cũng sẽ đề cập thành hai phần tương ứng. Tuy vậy, vẫn có những phần
chung mà cả hai loại đều phải dùng.
a. Các kỹ thuật chung trên file
Đối tượng lây của virus file là file. Do đó, các phương pháp định vị, tính
kích thước v.v đều giống nhau, Để có thể truy xuất file, virus phải dự trù các
trường hợp sau đó có thể xảy ra. Đó là:
Mộ
t file được mở với chế độ đọc /ghi phải đảm bảo không có thuộc tính
Sys(hệ thống), hoặc Read …ly (chỉ đọc),hoặc Hidden(dấu mặt). Do đó cần phải
đổi lại thuộc tính khi cần thiết để có thể truy nhập. Mặt khác khi một file được
cập nhật, ngày giờ cập nhật cũng được đưa vào, do đó làm thay đổi giá trị ban
đầu của file. Đôi khi lại tạo ra lỗi cho file này (n
ếu đó cũng là cách kiểm tra của
file). Để khắc phục hai lỗi này, cách tốt nhất lên đổi lại thuộc tính file, lưu giữ
ngày tháng tạo file để rồi sau đó trả lại đầy đủ thuộc tính ban đầu cho chúng.
b. Kỹ thuật định vị trên file
Ở đây chỉ đề cập đến 2 phương pháp chèn đầu & chèn cuối File, một
phương pháp dùng cho .COM và còn lại cho .EXE.
+ Chèn đầu: Virus sẽ chèn vào đoạn mã 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. Phương
pháp này thường áp dụng đối với file .COM nghĩa là đầu vào chương trình luôn
ở PSP:100.

để tìm file. Vì quyền điều khiển trao cho nó quá ít ỏi, nên virus tranh thủ tìm
kiếm càng nhiều file càng tốt, nó có thể:
Đầu vào
Virus .COM
File đã bị nhiễm
.COM
Đầu vào
File chưa bị nhiễm
Đầu vào
.COM Virus
File đã bị nhiễm
.COM
Đầu vào
File chưa bị nhiễm
+ Lây toàn bộ file thi hành trong thư mục hiện hành. Tuy vậy do lệnh
PATH được dùng quá nhiều, từ một thư mục chỉ chứa file dữ liệu có thể gọi
được mà không bị lây. Do đó, virus đã được cải tiến.
+Lây các file trong thư mục chỉ ra trong lệnh PART điều này vô cùng
thuận lợi, bảo đảm quyền tồn tại của virus. Tuy vậy cũng chưa hết.
+ Lây toàn bộ file trong đĩa hiện hành. Điều này
đảm bảo chỉ lây 1 lần,
tuy vậy kích thước đĩa quá lớn làm thời gian lây kéo dài, người sử dụng dễ nhận
thấy.
1.3.3. Kỹ thuật thường trú
Để tồn tại và phát triển thì virus file cũng như các loại virus khác nó
không chỉ lây nhiễm mà nó còn phải thường trú trong vùng nhớ, bằng cách sử
dụng khôn khéo các chức năng của DOS :
Thường trú sau khi đoạt lại quyền điều khiển:
Để thường trú, mộ
t số Hacker đã đề nghị một phương pháp vô cùng sáng

chiếm ngăt của DOS. Một trong các ngắt mà được virus sử dụng nhất đó là ngắt
21h của DOS vì ngắt này gọi các chức năng của DOS, thao tác tr
ực tiếp với các
file như :Mở/đóng file,xóa/ghi file, thi hành file… Các chức năng này tương ứng
với các hàm. Một số hàm của ngắt 21 được sử dụng trong khi xây dựng Virus:
- Hàm 35h: Lấy địa chỉ ngắt 21h
- Hàm 25h: Đặt lại địa chỉ ngắt 21h
- Hàm 3Dh: Mở một file
- Hàm 3Fh: Đọc một file
- Hàm 43h: Lấy thuộc tính file
- Hàm 57h: Lấy ngày giờ tạo file
- Hàm 4Bh: Thực thi chương trình
- Hàm 31h: Kết thúc chương trình và ở lại thường trú
2.2 . CÁCH THỰC THI MỘT CHƯƠNG TRÌNH TRÊN DOS
File virus chỉ lây nhiễm trên các file khả thi. Mà các file khả thi trên DOS
là file .COM và .EXE. Vậy chúng ta hãy cùng nhau đi tìm hiểu xem các file này
trên DOS được thực hiện như thế nào ?
2.1.1. Hàm Exec lạp và thực hiện chương trình
- Hàm EXEC có chức năng dùng để nạp và thực hiện chương trình. Hàm
EXEC có thể gọi thông qua ngắt 21h của DOS (số hàm là 4Bh).
- Hàm EXEC cho phép một chương trình mẹ gọi một ch
ương trình con.
Chương trình con sẽ được nạp vào bộ nhớ RAM từ bộ nhớ ngoài và sau đó được
thực hiện. Nếu chương trình này không được cài đặt nội trú thì bộ nhớ mà nó
chiếm sẽ giải phóng sau khi chương trình này thực hiện xong. Đến lượt mình
chương trình con lại có thể gọi một chương trình con khác. Như vậy ta có thể tạo
ra chuỗi các chương trình mà độ dài của nó chỉ bị hạn chế bởi kích th
ước của bộ
nhớ RAM còn tự do.
- Chú ý: Hàm EXEC chỉ nạp chương trình con nếu bộ nhớ RAM tự do

PSP có độ dài 256 bytes và chứa nhiều thông tin quan trọng cho DOS và
chương trình thực hiện. Ý nghĩa của các trường trong PSP như sau :
- Tại ô nhớ 00h là lời gọi hàm của DOS dùng để kết thúc chương trình,
giải phóng bộ nhớ và trả quyền điều khiển cho bộ xử lý.
- Tại ô nhớ 02h là địa chỉ đoạn của ô nhớ cuối cùng dành cho chương
trình.Nếu chương trình cần thêm bộ nhớ, nó có thể thông qua địa chỉ này để
yêu
cầu thêm vùng nhớ.
- Tại ô nhớ 05h là lệnh FAR CALL gọi tới chương trình điều phối các
hàm của DOS (có thể gọi tới các hàm từ 00h-24h).
- Tại các ô nhớ 0Ah, 0Eh, 12h chứa nội dung 3 vector ngắt để kết thúc
chương trình, phản ứng khi các phím Ctrl – C hoặc Ctrl – Breack được bấm và
phản ứng với các lỗi.
- Tại các ô nhớ 2Ch lưu trữ địa chỉ đoạn của khối biến môi trường. Khối
bi
ến môi trường là một loạt các chuỗi kí tự ASCII chứa thông tin như: đường
dẫn tìm kiếm (lệnh PATH), thư mục chứa bộ xử lý lệnh.
- Tại ô nhớ 5Ch, 6Ch chứa hai khối điều khiển file(File Control Block-
FCB) là hai tham số đầu tiên trong dòng lệnh liên quan đến tên file.
- Tại ô nhớ 80h ghi số lượng trong dòng lệnh và có thể được DOS sử dụng
làm vùng chuyển dữ liệu đĩa.
- Từ ô nhớ 81h đến 0FFh chứa các tham số và dòng lệ
nh.
2.1.3. File COM
- Các file COM được lưu trên đĩa là hình ảnh chính xác của nội dung file
sẽ được nạp bộ nhớ khi chạy, nó không cần thêm một thông tin nào nữa và có thể
chạy ngay.
- Khi thực hiện , chương trình COM được nạp vào bộ nhớ từ ô nhớ sát với
ô nhớ cuối cùng của PSP, nghĩa là từ địa chỉ offset 100h. Ô nhớ này thường chứa
một lệnh nhảy đến phần đầu thực sự của ch

10h Nội dung thanh ghi SP lúc khởi động chương trình 1word
12h Kiểm tra chẵn lẻ phần tiêu đề của file 1word
14h Nội dung thanh ghi IP lúc khởi động chương trình 1word
16h Địa chỉ bắt đầu của đoạn mã trong file EXE 1word
18h Địa chỉ của bảng định lại giá trị 1word
1Ah Số Overlay 1word
1Ch Bộ nhớ đệ
m Thay đổi
?? Bảng chứa các địa chỉ cần định lại giá trị biến Thay đổi
?? Mã chương trình, các đoạn số liệu và ngăn xếp biến Thay đổi CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHỆM
3.1. Mô tả chức năng của virus
Virus được xây dựng thử nghiệm có những đặc trưng sau:
- Nó chiếm ngắt 21h của DOS và thay thế bằng hàm của mình.
- Tạo ra hàm chức năng 6868h của ngắt 21h, dùng để kiểm tra virus trong
vùng nhớ.
- Thường trú chương trình ở địa chỉ 9800h:0000h (32KB dưới DOS).
- Lây nhiễm các file .EXE trên DOS khi chúng được gọi thực thi bởi hàm
chức năng 4Bh của ngắt 21h trên DOS.
- Khi lây nhiễ
m file .EXE virus ghi bản thân chương trình của mình vào
cuối file bị lây.
- Ngoài ra virus sẽ ghi vào cuối tệp bị lây 5 bytes key value (CT701) dùng
để kiểm tra việc lây nhiễm trên file.
3.2. Cấu trúc chương trình virus
3.2.1. Giải thuật chung
End
Đúng
Lấy địa chỉ Int21h
Chuyển chương trình sang
vùng nhớ 9800h:0000h
Đặt lại địa chỉ Int21h là
hàm int21
_
New
3.2.3. Hàm Int21_ New

Sai
Đúng
3.2.5. Kiểm tra xem file đã bị lây chưa (Test_file_infector) 3.2.6. Lây file EXE (Infector_Exe)

Đặt lại các tham số trong
Header CS:IP , SS:SP, FileSize
Chuyển về đầu file
Ghi đè tiêu đề mới
En
d
KẾT LUẬN

Đồ án đã trình bầy khái quát về virus tin học, cấu trúc và các kỹ thuật xây
dựng F-virus trên DOS. Xây dựng một chương trình Demo mô phỏng việc lây
lan của virus trên file EXE.
DOS là hệ điều hành gắn liền với phần cứng máy tính, là tiền đề hệ thống
cho chương trình tư duy từ đó ta có thể xây dựng nên hệ thống nhúng, hệ thống
phụ thuộc phần cứng.
Hướng phát triển của
đề tài:Tìm hiểu về phương pháp nhận dạng virus từ
đó xây dựng chương trình nhận dạng virus.
Trong quá trình tìm hiểu và thực hiện đề tài không tránh khỏi những thiếu
xót, em rất mong được sự góp ý và định hướng của thầy(cô) để bài viết được
hoàn thiện hơn.
Em xin chân thành cảm ơn !
Hải Phòng, ngày tháng năm 2007
Sinh viên thực hiện Đinh Thị Hòa




Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status