1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

22 696 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 336,3 KB

Nội dung

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 CHƯƠNG 1: TỔNG QUAN VỀVIRUS FILE 1.1 . GIỚI THIỆU VỀVIRUS 1.1.1 . 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. Một cách thông thường, virus sẽxâm nhập vào các chương trình khác hoặc điều khiển phía sau chương trình đểsao chép dễdàng. Cách tiếp cận này thiết lập một phần virus từnhững phần mềm tựsao chép khác bởi nó cho phép virus tựsao chép mà không cần sự đồng ý của hệ điều hành. So sánh điều này với 1 chương trình đơn giản được gọi là "1.COM". Khi thực hiện, nó có thểsẽ tạo ra "2.COM" "3.COM", ...., những bản có thểlà bản copy của chính "1.COM". Bây giờmột người sửdụng máy tính bình thường cũng có thểchạy một chương trình 1 hoặc 2 lần theo yêu cầu của bạn, nhưng sau đó họsẽphải xóa nó đi và sẽkết thúc chương trình đó. Nó sẽkhông tiến xa. Không phải vậy, bây giờvirus máy tính bởi vì nó xâm nhập vào những chương trình có ích khác. 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 không có ý nói rằng bạn không cần phải đềphòng chúng. Có những người viết virus không ngoài mục đích nào khác là phá hủy dưliệu trong máy tính của bạn. Ngay khi họ được đềcập đến, họmuốn virus của họlà kinh nghiệm không thể quên của bạn. Họlà những người vô chính phủvà bạn nên cốgắng tránh xa. Điều này có nghĩa là nên đềphòng....nhưng tại cùng một thời điểm, xem như khảnăng có thểcủa đoạn mã tựsao có thểlàm được những gì mà chương trình bình thường không làm được. Sau cùng, virus có thểcó mặt tốt trong. 1.1.3 Phân loại 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 lên Master Boothay Boot Sector. - F-virus: Virus chỉtấn công lên các file khảthi. Mặc dù vậy, cách phân chia này 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 file khả thi. Đểcó cách nhìn tổng quan vềvirus, chúng ta xem chúng dành quyề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ềOFFFFh, 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 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 hệ điều hành ). => Khó viết và khó lây nhiễm.

Trang 1

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

Trang 2

CHƯƠNG 1: TỔNG QUAN VỀ VIRUS FILE

1.1 GIỚI THIỆU VỀ VIRUS

1.1.1 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

Một cách thông thường, virus sẽ xâm nhập vào các chương trình khác hoặc điều khiển phía sau chương trình để sao chép dễ dàng Cách tiếp cận này thiết lập một phần virus từ những phần mềm tự sao chép khác bởi nó cho phép virus tự sao chép mà không cần sự đồng ý của hệ điều hành So sánh điều này với 1 chương trình đơn giản được gọi là "1.COM" Khi thực hiện, nó có thể sẽ tạo ra "2.COM" "3.COM", , những bản có thể là bản copy của chính

"1.COM" Bây giờ một người sử dụng máy tính bình thường cũng có thể chạy một chương trình 1 hoặc 2 lần theo yêu cầu của bạn, nhưng sau đó họ sẽ phải xóa nó đi và sẽ kết thúc chương trình đó Nó sẽ không tiến xa Không phải vậy, bây giờ virus máy tính bởi vì nó xâm nhập vào những chương trình có ích khác 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

Trang 3

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 không có ý nói rằng bạn không cần phải đề phòng chúng Có những người viết virus không ngoài mục đích nào khác là phá hủy dư liệu trong máy tính của bạn Ngay khi họ được đề cập đến, họ muốn virus của họ là kinh nghiệm không thể quên của bạn Họ là những người vô chính phủ và bạn nên cố gắng tránh xa Điều này có nghĩa là nên đề phòng nhưng tại cùng một thời điểm, xem như khả năng có thể của đoạn mã tự sao có thể làm được những gì mà chương trình bình thường không làm được Sau cùng, virus có thể có mặt tốt trong

1.1.3 Phân loại

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 lên Master Boot hay Boot Sector

- F-virus: Virus chỉ tấn công lên các file khả thi

Mặc dù vậy, cách phân chia này 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 file khả thi

Để có cách nhìn tổng quan về virus, chúng ta xem chúng dành quyề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ề OFFFFh, 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

Vùng lây lan virus

Trang 4

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

Trang 5

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ải 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 file 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 thì không biết đượ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

Trang 6

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:

Đúng

End Thực hiện CT phá hoại

Cài đặt CT vào bộ nhớ RAM

Tìm kiếm file để lây

Sai

Trang 7

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:

Tính phá hoại đôi khi chỉ do ngẫu nhiên khi logic của file virus không dự trù hết các trường hợp có thể xảy ra, hoặc do cố ý, nhưng có ý mà không lường hết hậu quả cũng dẫn đến tai hoạ vo cùng khủng khiếp

Việc phát hiện một virus file đơn giản hơn việc phát hiện một virus boots nhiều Bất kỳ sự tăng kích thước nào trên file thi hành được ( tất nhiên không phải những file vừa được dịch từ Assembler sang ) từ khoảng 1K – 5K đều có thể kết luận chính 90% là file nhiễm virus.Do đó virus làm sao phải có được một

kỹ thuật nguỵ trang khéo léo để đánh lừa được hiện tượng này

- Tính kế thừa

Điều này ít thấy với B-virus, F-virus có cùng “họ”, các version sau luôn khắc phục những yếu điểm của bản “version” trước, đặc biệt có đặc diểm thay thế bản cũ bằng bản mới hơn Điều này tạo sự thú vị ch các nhà nghiên cứu Ta

có thể kể ra một số họ virus như sau: Yankee, Vacsina, …

Trang 8

1.3 CÁC KỸ THUẬT XÂY DỰNG VIRUS

1.3.1 Kiểm tra tính tồn tại

a 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 subfunction (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ó Giá trị AX trả về sẽ là 0

b Trên file

Có thể có các cách kiểm tra sau:

- Kiểm tra bằng kích

- Kiểm tra bằng Keyvalue

- Kiểm tra bằng cách dò đoạn mã

+ 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

Trang 9

+ 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

+ Chèn cuối: Phương pháp này được thấy hầu hết trên các loại F-virus vì phạm

vi lây lan của nó rộng rãi hơn Phương pháp này sẽ chèn đoạn mã chương trình virus vào ngay sau chương trình đối tượng

c Kỹ thuật tìm kiếm file đối tượng

Điều quan trọng của Virus là phải lây lan, do đó tìm kiếm một file đối tượng là điều quan trọng

Quyền điều khiển chỉ tạm thời giao cho virus Khi virus chuyển quyền cho file, nó không còn ảnh hưởng gì đến file nữa vì nó không còn chiếm một ngắt nào khả dĩ cho nó có thể “Pop up” được Chính vì điều này, việc tìm kiếm file đối tượng lây là một điều cấp bách Do đó, trong progvi luôn luôn có một đoạn mã, cho phép virus đi tìm file để lây

Thông thường virus dùng chức năng 04Eh (Find First) và 04Fh (find next)

để 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ể:

Trang 10

+ 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 tạo, vẫn dựa vào các chức năng của DOS Cách này dựa vào phương pháp thi hành chương trình hai lần Cách này sẽ 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

1.3.4 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 (tuy nhiên điều này không hẳn lúc nào cũng xảy ra đối với file bị nhiễm) Ngoài việc phá hoại đĩa bằng Int 13, thì F-virus thường dùng chức năng Int 21h để thay đổi nội dung các tệp tin dữ liệu như văn bản, chương trình nguồn , bảng tính, tập tin cơ

sở dữ liệu, tập tin nhị phân… Thông thường virus sẽ ghi rác vào file, các dòng thông báo đại loại “File was destroyed by virus…” hoặc xóa hẳn file Đôi khi đối tượng phá hoại của chúng là các phần mềm chống virus đang thịnh hành Vì file bị ghi đè nên không thể phục hồi được dữ liệu về tình trạng ban đầu Biện pháp tốt nhất có thể làm trong trường hợp này là ngưng các dịch vụ truy nhập file, thoát khỏi chương trình hiện hành và diệt virus đang ở vùng thường trú

Trang 11

CHƯƠNG 2: TỔ CHỨC VÀ CÁCH THỰC THI CHƯƠNG

TRÌNH TRÊN DOS

2.1 MỘT SỐ HÀM CHỨC NĂNG QUAN TRỌNG TRÊN DOS

Virus file hoạt động dưới hệ điều hành DOS Mọi tác vụ liên quan đến file đều có thể dùng các chức năng của DOS Do đó để tồn tại và phát triển nó phải 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

Ngày đăng: 15/09/2014, 22:47

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w