TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÕNG
KHOA CÔNG NGHỆ THÔNG TIN
BẢO VỆ ĐỒ ÁN
ĐỀ TÀI: TÌM HIỂU FILE VIRUS TRÊN DOS
Giáo viên hướng dẫn:ThS.Đỗ Xuân Toàn
Sinh viên thực hiện: Đinh Thị Hòa
LỜI NÓI ĐẦU
. Virus là một chương trình máy tính trong đó
bao gồm những kỹ thuật cao về một chương
trình tự hành. Là chương trình gắn kết 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ự vận 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 TRÌNH BẦY
1. Tổng quan về F-virus
2. Tổ chức và cách thức thực thi một chương
trình trên DOS
3. Xây dựng chương trình virus thử nghiệm
Tổng quan về F-virus
1.1 Giới thiệu
-Virus tin học là gì?
Nói theo cách đơn giản, nó là một chương trình có khả
năng sao chép. Khi nó thực thi, nó sẽ tạo ra một hay nhiều bản
copy của chính nó một cách đơn giản nhất. Những copy này
sau đó có thể tiếp tục thực hiện nhiều copy khác.
- Phân loại:
B-virus
F-virus
1. Tổng quan về F-virus
1.2 Cấu trúc tổng quan của F-virus:
Thấy
Cài đặt CT vào bộ nhớ RAM
Tìm kiếm file để lây
Lây nhiễm
KT Đã có CT trong vùng
nhớ chưa?
Cần phá họai
Chưa
Có rồi
Sai
Begin
Sai
End
Thực hiện CT phá hoại
Trả quyền điều khiển cho file chủ
Đúng
1. Tổng quan về F-virus
1.3 Một số kỹ thuật xây dựng F-virus:
- Kiểm tra tính tồn tại
- Kỹ thuật lây lan
- Kỹ thuật thường trú
- Kỹ thuật phá hoại
Kiểm tra tính tồn tại
-Trong vùng nhớ:
Tạo thêm chức năng cho DOS, để kiểm tra tính
tồn tại chỉ cần gọi chức năng này. Có thể biết bằng cách
tạo chức năng con cho một chức năng của DOS, giá trị
trong thanh ghi sẽ quyết định sự tồn tại của virus hay
chưa. Điều này dựa vào sự kiện nếu gọi một chức năng
lớn hơn chức năng cao nhất mà DOS có
-Trên file:
• Có thể có các cách kiểm tra sau:
• - Kiểm tra bằng kích thước
• - Kiểm tra bằng Key_value
• - Kiểm tra bằng cách dò đoạn mã.
Kỹ thuật lây lan
Các kỹ thuật chung trên file
Kỹ thuật định vị trên file
Chèn đầu
Chèn cuối
Kỹ thuật tìm kiếm file đối tượng
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: Cách này dựa
vào phương pháp thi hành chương trình hai lần. Tức là lấy tên
chương trình đang thi hành trong môi trường mà DOS tổ chức,
rồi một lần nữa, nó sẽ thi hành ngay chính bản thân mình, sau
khi đã giảm vùng nhớ xuống còn tối thiểu. Sau khi file thi
hành xong, quyền điều khiển bây giờ lại trao về cho virus, và
lúc này nó mới tiến hành thường trú bằng chức năng 31h của
DOS như một chương trình bình thường
Kỹ thuật phá hoại
Tính chất phá hoại đây là tính chất nguy hiểm nhất của virus.
Tùy thuộc vào mục đích mà các đoạn mã được viết ra có mức
độ phá hoại khác nhau. F-virus lây nhiễm trên các file thực thi
nên các file này cũng khó tránh khỏi việc bị virus phá hoại như
lệch lạc về dữ liệu và tạo lỗi trong chương trình.
2. Tổ chức và cách thức thực thi một
chương trình trên DOS
2.1 Một số hàm chức năng quan trọng của DOS:
- 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. Tổ chức và cách thức thực thi một chương trình trên DOS
2.2 Cách thực thi một chương trình trên DOS:
- Hàm Exec
- PSP
- File . COM/.EXE
3. Xây dựng chương trình virus thử nghiệm
3.1 Mô tả chức năng của virus:
- Chiếm ngắt 21h
- Tạo hàm chức năng 6868h
- Thường trú ở 9800h:0000h
- Lây nhiễm các file .EXE
- Ghi bản thân chương trì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. Xây dựng chương trình virus thử nghiệm
3.2 Cấu trúc chương trình virus:
- Giải thuật chung:
Sai
begin
Lấy địa chỉ của đỉnh Stack
Đặt lại Stack
Kiểm tra xem ngắt 21h
có phải của virus
không?
Trả lại quyền thực thi cho
chương trình lây
Cài đặt(Install)
End
Đúng
3. Xây dựng chương trình virus thử nghiệm
3.2 Cấu trúc chương trình virus:
- Cài đặt (Install):
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. Xây dựng chương trình virus thử nghiệm
3.2 Cấu trúc chương trình virus:
-Hàm Int21_New
End
Đúng
Gọi int21h cũ
Begin
Gọi hàm kiểm tra
Gọi hàm thực thi 4B00h
Gọi hàm tải File
4B01h
Đặt ax=2007h
Lây
nhiễm(Infecter)
Sai
Sai
Sai
Đúng
3. Xây dựng chương trình virus thử nghiệm
3.2 Cấu trúc chương trình virus:
- Lây nhiễm (Infector)
Đúng
Sai
Sai
Đúng
End
Kiểm tra file
bị lây chưa?
File exe?
Begin
Infector_Exe
Lấy lại thuộc tính file ,đặt lại thuộc tính là 0, mở
file, lấy ngày giờ tạo file, đọc 28 byte tiêu đề
Đặt lại ngày giờ ,
đóng file, đặt lại
thuộc tính
3. Xây dựng chương trình virus thử nghiệm
3.2 Cấu trúc chương trình virus:
- Kiểm tra xem file đã bị lây chưa (Test_file_infector)
end
Sai
Đúng
Begin
Đọc 5 byte cuối
So sánh với
mã quy
định
bx = 0
2.3. Xây dựng chương trình virus thử nghiệm
3.2 Cấu trúc chương trình virus:
- Lây file EXE (Infector_Exe)
Begin
Nhảy đến mỗi cuồi file
Ghi chương trình virus vào
Đặt lại các tham số trong Header
CS:IP , SS:SP, FileSize
Chuyển về đầu file
Ghi đè tiêu đề mới
End
Kết luận và hướng phát triể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.
Em xin chân thành cảm ơn !