Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
150,1 KB
Nội dung
1 MỞ ĐẦU: Đã từ lâu, kèm với đời phát triển phần mền tin học đem lại lợi ích to lớn cho người sử dụng xuất chương trình chuyên phá hoại virus máy tính Các chương trình có ích đem lại thuận lợi cho người sử dụng phương diện phá hoại virus máy tính gây thiệt hại to lớn nhiêu, thành lao động nhiều người suốt thời gian dài cất giữ máy tính bị phá tan tành bị nhiễm virus.Vì tin học ngày nhu cầu cấp thiết nên phải chấp nhận tồn mặt trái nó, cần phải biết số kiến thức virus cách phát nhằm mục đích bảo vệ máy tính bạn mức tốt Đồ án viết nhằm mục đích đó, nhiên khả có hạn người viết đồ án cịn có nhiều khuyết điểm mong nhận góp ý để hồn thiện Em xin cảm ơn cô Trần Hồ Thủy Tiên thầy Nguyễn Tấn Khơi tận tình hướng dẫn bạn lớp gợi ý nhiều để hoàn thành đồ án LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỤC LỤC MỞ ĐẦU: CƠ CHẾ PHÁT HIỆN VÀ BÁO ĐỘNG VIRUS A/Lý Thuyết: I/Một số khái niệm Virus: 1/Định nghĩa: 2/Phân Loại: 3/Tính chất Virus: 4/Các công nghệ Virus: II/Cơ chế phát báo động Virus: 11 1/Kiểm tra nhớ trong: 12 2/Kiểm tra Master Boot Boot Sector: (dùng cho Virus Boot ) 13 3/Kiểm tra file: 15 B/Chương Trình Minh Họa: 16 1/Ngôn ngữ viết chương trình: 16 2/Chương trình minh họa: 16 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com CƠ CHẾ PHÁT HIỆN VÀ BÁO ĐỘNG VIRUS A/Lý Thuyết: I/Một số khái niệm Virus: 1/Định nghĩa: -Virus máy tính thực chất phần mềm tin học có khả gián tiếp tự kích hoạt, tự nhân chép vào chương trình khác nhằm mục đích phá hoại, thám để vui đùa Để tiện trình bày, từ nói virus ta hiểu virus máy tính 2/Phân Loại: -Như nói tin học phát triển ngày mạnh mẽ virus phát triển ngày đa dạng nói khơng có loại virus hồn tồn giống Tuy nhiên virus ln có số đặc điểm chung định để dựa vào người ta phân biệt Có nhiều cách phân loại khác nhau, phân loại theo đối tượng lây nhiễm virus gồm hai loại : a/Virus Boot(b-virus): -Là virus lây nhiễm lên BootSector đĩa mềm Master Boot Record Disk Boot Record đĩa cứng, bảng định vị file FAT(File Allocation Table) bảng ghi(Windows Registry) hệ điều hành Windows…Loại virus chiếm quyền điều khiển máy tính khởi động trước hệ điều hành nạp loại virus hoạt động không phụ thuộc vào hệ điều hành b/Virus File(F-virus): -Là loại virus lây nhiễm dạng file (có chứa nội dung thi hành được), bao gồm file có chứa mã máy file com, exe file chứa mã giả (pseudo code) file bat, doc, số loại file khác… 3/Tính chất Virus: a/Tính lây lan: -Đây tính chất để xác định chương trình có phải virus hay không Các virus tin học mô giống virus sinh học lây lan máy tính, virus thiết kế theo hướng có khả lây lan mạnh yếu tố để dẫn đến đời virus mạng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com b/Tính phá hoại: -Đây tính chất chủ yếu để đánh giá mức độ nguy hiểm virus Các virus thiết kế với mục đích phá hoại bao gồm phá hoại liệu phá hoại máy tính làm ảnh hưởng đến máy tính…Mặc dù có số virus tạo với mục đích đùa giỡn thử nghiệm người tạo hồn tồn khơng có ý định phá hoại, lỗi lơgic lập trình đơi lại gây hiệu ứng nguy hiểm không virus tạo để phá hoại mà người tạo khơng thể lường trước Đặc biệt có loại virus tồn máy tính phá hoại liệu Các chương trình diệt virus bị lừa hậu phá hoại virus bị thứ hai tiếp tục phá hoại tạo kết khác hẳn, làm hết đấu vết nên chương trình nhận dạng không xác định loại virus dù hai cập nhật c/Tính nhỏ gọn: -Để dễ dành lây nhiễm mà khó bị phát virus phần lớn có tính nhỏ gọn Tính nhỏ gọn trở nên quạn trọng virus lây lan mạng Hầu hết virus có kích thước nhỏ khoảng 4KB trở xuống trừ số virus viết ngôn ngữ bậc cao Cùng với tính chất lây nhiễm tính chất tạo nên tên gọi virus tin học d/Tính tương thích: -Virus chương trình máy tính chương trình khác virus có tính tương thích Một virus thiết kế để hoạt động môi trường thường hoạt động mơi trường khác khơng thích hợp với Ví dụ sâu mạng lây nhiễm máy tính sử dụng hồn tồn mơi trường DOS khơng thể tìm đăng kí (Resgistry) Windows Để khắc phục điểm yếu ngày virus phát triển theo hướng lai, bao gồm có nhiều phần phần có tác dụng lây nhiễm mơi trường khác e/Tính phát triển kế thừa: -Các virus đời sau thường có xu hướng kế thừa ý tưởng công nghệ virus có trước theo cách hay cách khác giữ nguyên sửa đổi cải tiến …để tận dụng điểm mạnh khắc phục điểm yếu dễ dàng Điều nhiều tạo họ virus họ virus Date,họ virus Tiny… 4/Các công nghệ Virus: -Virus muốn tồn phát triển phải có sức mạnh, sức mạnh có từ cơng nghệ tạo virus, cách tạo virus thông minh tối ưu độc đáo,mỗi cách để tạo virus tạo phương pháp công nghệ Dưới số công nghệ thông dụng a/Công nghệ lây nhiễm (Infect): -Là công nghệ virus bảo đảm cho tồn lây lan phát triển virus Những virus có tính lây lan nhanh thông thường mức độ nguy hiểm lớn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com -Các virus Boot +Đối với đĩa mềm việc lây nhiễm đơn giản thay Boot Record (BR) với đoạn chương trình virus +ĐốI với đĩa cứng Master Boot Record (MB) BR phân vùng hoạt động trao quyền khởi động nên thay thể MB hay BR Kích thước MB/BR gồm sector 512 byte (DOS) nên không đủ lớn virus, nên cần phải tìm vị trí đĩa để lưu phần mã lại MB/BR cũ chứa thông tin quan trọng phân vùng/bảng tham số đĩa nên cần phải lưu, nơi lưu giữ phải bảo đảm khơng bị ghi đè Virus sử dụng số vùng đĩa sau: +Đối với đĩa mềm: Có thể dùng vùng đĩa sử dụng sector cuối thư mục gốc sector cuối đĩa, hay sử dụng sector cịn trống đánh dấu sector bị hỏng, phương pháp khác định dạng thêm track cho đĩa mềm sau sử dụng track +ĐốI với đĩa cứng : Vì track thường chứa MB sector có nhiều sector khơng dùng đến sử dụng vào mục đích sử dụng hai phương pháp đầu áp dụng đối vớI đĩa mềm +Như sau trao quyền điều khiển virus Boot tiến hành hoạt động lây nhiễm cài đặt sau đọc MB/BR cũ vào Ram trả quyền điều khiển cho đoạn mã MB/BR cũ Các virus thường cố gắng lây nhiễm đĩa cứng khởi động đĩa cứng cố định suốt phiên làm việc máy tính Để lây nhiễm đĩa mềm Boot virus thường tiến hành phân phối vùng nhớ riêng để thường trú chiếm số ngắt để phục vụ cho việc lây lan (thường ngắt 13h) ,mỗi phát thấy đĩa mềm chưa bị nhiễm virus tiến hành lây đĩa mềm - Các virus File +Các virus File mơt trường Dos có dạng file thi hành com; exe;.bat Sử dụng ngắt dịch vụ file để tiến hành thao tác mở đóng file xóa , đặt thuộc tính file lấy đặt ngày tạo file (thường sử dụng ngắt 21h) +Các công nghệ ghép chương trình virus vào file chủ : +ghi đè : áp dụng đối vớI file dạng com đơn giản ghi đè mã lệnh lên đầu file chủ ,mỗi chương trình chủ thi hành virus chiếm quyền điều khiển Do virus không lưu phần liệu chương trình chủ nên khơng thể trả quyền thi hành cho chương trình chủ,do loại virus mang tính phá hoại lây lan +ghi đè bảo toàn: áp dụng file dạng com, phần liệu bị ghi đè virus ghi xuống cuối file nên trả quyền điều khiển cho chương trình chủ +dịch chuyển:có thể áp dụng loại file exe ,.com Lây nhiễm cách đặt mã lệnh virus lên đầu file sau chuyển tồn liệu chương trình chủ xuống sau mã lệnh virus,nên virus trả quyền điều khiển cho chương trình chủ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com +song hành : đặc điểm dos thi hành file không gõ phần mở rộng dos thi hành file tên theo thứ tự exe;.com;.bat Do phát file exe virus tạo file tên có đuôi com Khi thi hành file ta không gõ phần mở rộng virus chiếm quyền điều khiển + Nối thêm: Virus ghi vào cuối file chủ, file bị sửa đổi chuyển quyền điều khiển đến mã lệnh virus file thi hành Đối với file com virus thường lưu vài byte đầu (thường từ 3-5 byte đủ kích thước cho lệnh nhảy) lệnh định hướng đến phần mã lại virus Đối với file exe virus sửa giá trị exe header để chuyển đầu vào chương trình đến phần mã lệnh virus +còn số cách khác chèn file, định hướng lại lệnh nhảy… b/Công nghệ kiểm tra tồn (Check if exist): -Virus phải lây nhiễm nơi lây nhiễm lần, virus lây nhiễm nhiều lần nơi chẳng có hiệu tốt việc lây nhiễm lần nơi đó, việc ảnh hưởng rõ rệt tới tốc độ máy tính làm người sử dụng nghi ngờ máy bị nhiễm virus tạo sơ hở lớn cho chương trình diệt virus Chính lí trước lây nhiễm virus phải kiểm tra tồn đối tượng chủ, mơi trường -Đối với virus boot +Kiểm tra nhớ tiến hành lần máy tính khởi động trước tiến hành thường trú tốc độ khơng phải yêu cầu quan trọng độ xác Có thể kiểm tra cách dị tìm đoạn mã nhận dạng nhớ tạo thêm hàm ngắt để kiểm tra Virus tạo nên ngắt trả lại giá trị đặt biệt ghi dấu hiệu để nhận biết tồn +kiểm tra đĩa:Kiểm tra đĩa bị lây nhiễm hay chưa,việc kiểm tra đĩa phải tiến hành nhiều lần nên phải bảo đảm tốc độ -Đối với virus file +kiểm tra nhớ tương tự virus boot +kiểm tra file: Có thể dị tìm đoạn mã nhận dạng file,virus kiểm tra đoạn mã nhận dạng tồn file phần file, khơng thấy đoạn mã coi file chưa bị lây nhiễm Có thể dùng phương pháp kiểm tra theo kích thước kiểm tra theo nhãn thời gian file (thường lây nhiễm virus đưa vào giá trị đặc biệt tháng 13 giây 65) c/Công nghệ định vị: -Là công nghệ để xác định vị trí virus vùng nhớ Đây cơng nghệ quan trọng để virus hoạt động bắt buộc hệ thống phải thực thi cách định vị địa vùng nhớ bắt buộc hệ thống thi hành đoạn mã lệnh vùng nhớ -Đối với virus boot +MB,BR ln BIOS nạp vào RAM địa 0000:7C00h chuyển quyền điều khiển với lệnh nhảy xa: JMP FAR 0000:7C00 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Do virus boot nhận quyền điều khiển ghi CS=0 tham chiếu phải tính theo offset 7C00 -Đối với virus file +những virus áp dụng công nghệ lây nhiễm ghi đè, ghi đè bảo toàn, dịch chuyển khơng cần định vị lại chương trình thi hành bình thường Các loại virus khác cần phải định vị lại offset virus khơng bảo toàn mà thay đổi với file chủ mà lây nhiễm Khơng giống virus boot file thi hành nạp vào vùng địa khác tùy thuộc vào tình trạng vùng nhớ +cơng nghệ định vị cịn gọi cơng nghệ DELTA dựa cách tiến hành lệnh CALL vi xử lí Cú pháp : CALL địa Câu lệnh Khi thi hành lệnh vi xử lí cất địa offset mã lệnh tiếp sau lệnh CALL vào ngăn xếp sau chuyển IP đến địa cần gọi Như để lấy địa câu lệnh ta cần lấy giá trị lưu ngăn xếp, giá trị thường chứa ghi SI DI BX BP sau sử dụng giá trị độ chênh lệch điểm mốc để tham chiếu liệu mã lệnh d/Cơng nghệ thường trú (Residency): -Thường trú có nghĩa bật máy lên đồng nghĩa với việc khởi động chương trình virus Chương trình dừng tắt máy,việc thường trú khiến cho khả lây lan phá hoại virus dễ dàng gây nên thiệt hại to lớn.Quá trình thường trú bao gồm: +phân phối vùng nhớ riêng để lưu giữ chương trình virus Các cách phân phối vùng nhớ : phân phối vùng nhớ cao,phân phối vùng nhớ thấp… +phân phối vùng nhớ cao (vùng nhớ cuối nhớ): sau thực trình Post kích thước nhớ tính theo KB ghi vào vùng liệu Bios địa 0:0413h Khi hệ điều hành nắm quyền điều khiển bắt đầu kiểm sốt vùng nhớ có kích thước 0000:0000h Như để dùng vùng nhớ riêng mà không bị hệ điều hành sử dụng cần giảm giá trị vùng địa sủ dụng KB cuối vùng nhớ (mỗi virus boot thường có cỡ 14KB) +phân phối vùng nhớ thấp :Các virus phân phối vùng nhớ cao thường dễ bị phát làm giảm kích thước nhớ mà hệ điều hành sử dụng Để khắc phục sử dụng vùng nhớ thấp mà hệ điều hành tải vào +ngồi cịn sử dụng phần cịn trống bảng vector ngắt chưa sử dụng với mục đích dự trữ (thường dùng khoảng AAAA đến BBBB ), cịn sử dụng lỗ hổng vùng nhớ… +Sau phân phối vào vùng nhớ cần phải chuyển tồn chương trình virus lên vùng nhớ chặn số ngắt phục vụ cho việc lây nhiễm Có cách chặn ngắt sau: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ++ thay ngắt trực tiếp bảng vector ngắt Bảng vector ngắt chứa địa 256 ngắt từ ngắt 00 đến FFh đặt địa 0000:0000, vector ngắt đặt liền địa 0000:03FCh Virus thay ngắt cần thiết bảng vector ngắt đến thủ tục xử lí ngắt virus vector ngắt cũ lưu lại để sử dụng cần + phát thủ tục xử lí ngắt nằm RAM áp dụng cơng nghệ khác : thay số lệnh đầu thủ tục xử lí ngắt lệnh nhảy xa JMP FAR xxxx:yyyy Những mã lệnh bị thay lưu lại để sử dụng cần dùng cácdịch vụ thủ tục xử lí ngắt cũ e/Cơng nghệ phá hoại,do thám (Payload): -Đây công nghệ bắt buộc phải có virus Nhưng số virus thiết kế để thám (nói cho loại phá hoại) sử dụng coi công nghệ trung tâm Các virus loại tạo thiêt hại to lớn thường nghiên người sử dụng hư hại máy tính, dùng để đánh cắp thơng tin nhiều sống người sử dụng f/Công nghệ tạo áo giáp (Armouring): -Là công nghệ chống gỡ rối dịch ngược mã lệnh virus tạo cho virus vỏ bọc để có khả đề kháng mạnh chương trình diệt virus Công nghệ chủ yếu dựa công nghệ mã hóa kết hợp với việc sử dụng lệnh CALL JMP Chương trình dịch ngược khó khăn dịch virus mã hóa hay dịch virus sử dụng lệnh CALL JMP lôn xộn liệu mã lệnh bố trí xen kẽ… h/Cơng nghệ ngụy trang (Stealth): -Là công nghệ giấu diếm ngụy trang tồn virus đối tượng chủ môi trường lây nhiễm Người dùng chương trình diệt virus khó phát bị virus công -Đối với virus boot: +ngụy trang nhớ: virus boot thường trú vùng nhớ cao thường dễ bị phát để khắc phục điểm yếu virus thường chờ hệ điều hành nạp vào tiến hành thường trú vùng nhớ thấp +ngụy trang đĩa : để ngụy trang đĩa virus boot cần tìm cách thay đổI MB/BR nhằm giảm khả bị phát hiện, ghi đoạn mã nhỏ MB/BR phần lại nạp vào vùng nhớ Một phương pháp có hiệu virus thường trú nhớ yêu cầu đọc ghi đĩa khác định hướng lại thành đọc ghi sector lưu giữ MB/BR cũ Các chương trình khác nhận MB/BR cũ khơng phát tồn virus, sử dụng phương pháp cần phải kiểm soát tất thao tác đọc ghi đĩa lên MB/BR Khi tiến hành lây nhiễm đánh dấu sector hỏng để hệ điều hành khơng cón sử dụng sector -Đối với virus file LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com +ngụy trang nhớ : virus file thường trú vùng nhớ dễ bị phát nên sử dụng ngụy trang vùng nhớ thấp, UMB HMB +ngụy trang file : không MB/BR người sử dụng quan tâm file quan sát thường xuyên thay đổi kích thước ngày tháng nội dung dễ bị nhận thấy Vì ngụy trang file yếu tố sống cịn virus file, sử dụng cơng nghệ sau: ++xử lí việc tăng kích thước file: Phương pháp sử dụng loại virus làm tăng kích thước file Kích thước file giá trị longint (4 byte) phải chặn ngắt 021h Dos làm giảm giá trị kích thước virus ++Xử lí việc thay đổi ngày tháng /thuộc tính: đơn giản bảo lưu nhãn thời gian thuộc tính cũ file bị lây nhiễm ++Xử lí việc thay đổi nội dung file: virus sử dụng phương pháp có tên DisInfect On the Fly :mỗi có yêu cầu mở file lây nhiễm để đọc virus tiến hành tự loại bỏ khỏi file đóng file hay thi hành file virus tiến hành lây nhiễm lại lần g/Công nghệ mã hóa (Encryption): -Là cơng nghệ mã hóa phần chương trình virus cơng nghệ cũ sử dụng , cải tiến sửa đổi Công nghệ nhằm để che dấu tồn virus đối tượng chủ Trong phép XOR thường sử dụng tính đơn giản mặt khác thủ tục mã hóa thủ tục giải mã i/Cơng nghệ đa hình (Polymorphism): -Cơng nghệ dùng để chống lại phương pháp dị tìm đoạn mã chương trình diệt virus Cơng nghệ dựa ý tưởng mẫu virus mã hóa với khóa mã giải mã khác biệt, mã lệnh tốn học/lơgic khác biệt … so với mẫu trước Dù virus mã hóa đoạn chương trình mã hóa cố định tồn mơi mà virus lây nhiễm, ý tưởng cơng nghệ đa hình thay đổi thủ tục mã hóa để virus khác mỗI file có nhiều cách từ đơn giản đến phức tạp để thực cơng nghệ này.Có thể sử dụng số cách sau: +Virus có số mã hóa giải mã lần lây nhiễm chọn mã hóa tập hợp +Bộ giải mã chứa số lệnh cố định phần cịn lại thay đổi… j/Cơng nghệ biến hình (Metamorphism): -Là cơng nghệ độc đáo hoàn hảo để chống lại chương trình diệt virus Cơng nghệ đa hình tạo giải mã khác biệt cịn cơng nghệ biến hình sinh đọan mã hồn tồn Rõ ràng cơng nghệ khó phải biến đổi đoạn mã mà giữ nguyên tác dụng virus đổi lại chương trình diệt virus khó diệt virus có sử dụng cơng nghệ -Cơng nghệ phức tạp sau số điểm yếu cơng nghệ này: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 10 +có dịch ngược nội để dịch ngược lệnh +có rút gọn mã:có nhiệm vụ rút gọn tối ưu hai mã lệnh thành lệnh mà không thay đổi hành động virus +có mở rộng mã:ngược lại với rút gọn mã +có hốn đổi mã:có nhiệm vụ hốn đổi mã lệnh +có định vị lại : định vị lại lệnh nhảy,lệnh gọi … +có sinh rác:có nhiệm vụ chèn thêm đoạn mã lệnh khơng có nghĩa vào chương trình … k/Cơng nghệ chống mô (Anti emulation): -Emulation công nghệ mà chương trình diệt virus sử dụng để mơ mã lệnh chương trình nghi ngờ virus kiểm tra phát virus chưa biết Công nghệ chống mơ giúp cho virus ngụy trang để vượt qua kiểm tra hay làm cho hệ mô khơng thể tiến hành phân tích virus Có thể chiếm ngắt 01h,02h phục vụ cho việc gỡ rối sử dụng công nghệ thường trú HMA (High Memory Area)… tiến hành thao tác với ngăn xếp ghi đoạn liệu l/Công nghệ chống theo dõi (Anti heuristic) -Một số chương trình diệt virus đại sử dụng phương pháp gọi heuristic phát virus dựa hành vi chương trình cơng nghệ anti heuristic nhằm để chống lại phát trình diệt virus Có thể sử dụng cách sau: +sử dụng hàm dịch vụ (các ngắt) theo cách riêng hay sử dụng hàm dịch cụ giả virus tạo +chèn thêm đoạn mã lệnh rác khơng ảnh hưởng đến lơgic chương trình xen kẽ mã lệnh thật m/Công nghệ Tunneling: -Các chương trình diệt virus sử dụng chương trình kiểm sốt hệ thống phát hoạt động đặc biệt nghi ngờ virus để cảnh báo Tunneling công nghệ nhằm để giành quyền kiểm soát cao mơi trường tránh kiểm sốt chương trình diệt virus n/Cơng nghệ Anti-Tunnel: -Cơng nghệ tunneling chương trình diệt virus sử dụng để có quyền kiểm sốt cao Anti tunnel công nghệ mà virus sử dụng để ngăn chặn chương trình diệt virus virus khác nắm quyền kiểm sốt cao Cơng nghệ chủ yếu hạn chế phương pháp sử dụng ngắt 01h,03h để lần theo chuỗi thủ tục ngắt -Đối với ngắt 01h giá trị cờ bẫy ghi cờ bật xử lí tiến hành gọi ngắt 01h sau thi hành mã lệnh Thanh ghi cờ, địa lệnh bị ngắt lưu vào ngăn xếp trước quyền điều khiển trao cho thủ tục xử lí ngắt Sử dụng thao tác trực tiếp ghi cờ ngăn xếp virus LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 11 phát làm dừng trình lần vết Một phương pháp khác đặt lại vecter ngắt 01h,03h để ngăn chặn trình lần vết o/Cơng nghệ Ani Bait: -Biat thuật ngữ chương trình dùng để bẫy virus chương trình khơng làm việc đối tượng nhử mồi để virus xuất Công nghệ anti Bait nhằm virus thông minh nhận biết bẫy để tránh việc phát Chủ yếu dựa tính chất chung file Bait virus thường chọn file để lây nhiễm có tiêu chí sau: +trong tên khơng có chữ số (thường dùng để đánh số file Bait) +có kích thước tương đối lớn +có mã lệnh khơng q đặc biệt -Đây công nghệ không dùng nhiều p/Công nghệ tối ưu: -Bao gồm cách viết mã thiết kế nhằm để tối ưu hóa virus mặt tốc độ, kích thước, khả phá hoại, khả chống lại chương trình diệt…Cơng nghệ khiến cho virus mạnh lên cách tồn cục Cơng nghệ sử dụng nhiều gây nhiều khó khăn cho trình diệt virus Có thể nói cơng nghệ rộng lớn có nhiều cách làm cho chương trình virus tối ưu, sau trình bày số cách: -Sử dụng thủ tục: mã lệnh có kích thước lớn mà phải sử dụng nhiều lần sử dụng thủ tục Vì lệnh gọi thủ tục lệnh trở ( call/ret) có kích thước 3+1=4 byte nên đưa cơng thức tính số byte tiết kiệm là: Số byteTKĐ=(Cỡ Proc-4)* số lần gọi Proc-cỡ Proc +Nên nhớ phương pháp làm nhỏ chương trình virus đồng thờI tăng thời gian xử lí cho CPU ảnh hưởng không đáng kể -Sử dụng mã lệnh tiết kiệm khối lượng thời gian thực công việc +Sử dụng ghi AL/AX thay cho ghi khác ghi có kích thước mã lệnh ngắn ghi khác, ví dụ CMP BX,233 ;4 byte CMP AX,233;3 byte +Sử dụng ghi đoạn DS thay cho ghi đoạn khác MOV AX, ES:[SI] ;3 byte MOV AX,DS:[SI] ;2 byte II/Cơ chế phát báo động Virus: -Cơ chế phát báo động virus bao gồm bước sau +Kiểm tra nhớ +Kiểm tra Master Boot Boot Sector +Kiểm tra file LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 12 1/Kiểm tra nhớ trong: -Có hai cách để kiểm tra có mặt virus nhớ +Cách thứ kiểm tra có mặt đoạn mã nhận dạng virus địa xác định nhớ, cách có nhược điểm nhận biết virus có sở liệu chương trình diệt virus khơng cập nhật cách phát +Cách thứ hai làm theo số chương trình virus sử dụng cơng nghệ kiểm tra tồn nhớ dùng ngắt 21h chức đặc biệt để kiểm tra, kiểm tra dung lượng vùng nhớ Dos quản lí Cách có nhược điểm thời gian kiểm tra tăng lên virus sử dụng cách kiểm tra -Nên kiểm tra sử dụng kết hợp hai cách tức ban đầu dùng cách thứ sau khơng phát dùng cách hai Sơ đồ khối cụ thể sau Bắt Đầu Kiểm Tra MeM Nhận Dạng Mã Virus Báo Động True False Kiểm Tra địa Ngắt 13h,21h Kích thước Bộ Nhớ False True Kết Thúc -Nhớ cách không chấp nhận chương trình thường trú ngắt 21h trình kiểm tra -Giai đoạn nhận dạng mã : ta kiểm tra mã nhận dạng lưu file ví dụ DBVIRM.DAT có virus ta cập nhật cách đưa thêm liệu vào file mà không cần phải thay đổi chương trình Như trình thực giai đoạn ban đầu kiểm tra xem mở file LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 13 DBVIRM.DAT khơng có báo lỗi (có thể khơng có file file bị hư) Cịn mở thành cơng bắt đầu kiểm tra.File DBVIRM.DAT có thể cấu tạo bao gồm ghi ghi bao gồm trường sau: +địa segment chứa mã nhận biết virus nhớ +địa offset chứa mã nhận biết virus nhớ +số lượng byte mã nhận biết +mã nhận biết virus +tên virus - Nên nhớ mẫu điển hình bạn hồn tồn thay đổi chương trình theo ý muốn -Giai đoạn kiểm tra dung lượng nhớ ngắt 21h +nên nhớ địa ngắt 21h cố định, mà thay đổi theo phiên Dos nên phải có bảng thống kê địa ngắt 21 h theo phiên Dos, phải có thao tác lấy phiên Dos chương trình Nếu địa ngắt 21h khơng nghi ngờ máy bị nhiễm +tiếp tục thực kiểm tra dung lượng nhớ Dos lưu giữ giá trị nhớ quản lí biến có địa (0:413 h),nếu giá trị nhận không đủ 640kb máy bị nhiễm,tuy nhiên có nhớ bị hỏng nhớ bị nhiễm virus, nhiên trường hợp gặp 2/Kiểm tra Master Boot Boot Sector: (dùng cho Virus Boot ) -Nói chung hầu hết MB máy PC chạy hệ điều hành Dos thông dụng giống MB có nhiệm vụ xác định phân vùng hoạt động sau chuyển đoạn mã nơi khác để nạp Boot record phân vùng hoạt động vào địa 0:7C00 cuối chuyển điều khiển cho Boot record vừa đọc -Có thể thực kiểm tra theo giai đoạn sau: +Trước hết đọc MB cần kiểm tra đối chiếu đoạn mã với MB chuẩn trùng thơng báo khơng có virus MB +Nếu MB khơng trùng với MB chuẩn chuyển sang giai đoạn hai ta phải thực trình tương tự trình kiểm tra nhận dạng mã nhớ Tức kiểm tra đoạn mã nhận dạng virus có sở liệu (ví dụ file DBVIRB.DAT) với đoạn mã MB để xem virus gì, từ biết vị trí MB cũ mà virus dấu (nhờ vào kiểm tra so sánh MB bị dấu với MB chuẩn trùng khơi phục lại MB cũ ) +Sau kiểm tra hết file DBVIRB.DAT mà không thấy đoạn mã nhận dạng phù hợp tức xác định bị nhiễm virus (hay MB làm nhiệm vụ đặc biệt) ta xây dựng thêm modul chương trình lựa chọn có ghi đè MB chuẩn lên MB nghi ngờ nhiễm hay không -Trên mô hình chương trình kiểm tra MB thực hiên theo nhiều cách khác không thiết phải theo mơ hình Chú ý có hai virus boot nhiễm vào máy vấn đề trở nên phức tạp khó giải Giả LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 14 thiết virus thứ lây nhiễm làm sai lạc MB dấu MB cũ đi, sau virus thứ hai lại làm sai lạc MB bị hỏng lại dấu MB bị hỏng Như cho dù chương trình diệt có thơng tin hai loại virus khơng thể xác định loại virus lây nhiễm mà cho dù xác định xác định loại thứ hai Tất nhiên khôi phục MB (loạI hai dấu MB bị hỏng loại 1) mà phải ghi đè MB Vì khơng nên tạo virus dù với mục đích đùa giỡn, khơng gây hại cho hệ thống tạo điều kiện cho loại virus có hại phá hoại -File DBVIRM.DAT bao gồm ghi có trường sau: ++offset bắt đầu mã nhận dạng ++Số lượng byte mã nhận dạng ++mã nhận biết virus ++tên virus ++header nơi cất dấu MB cũ đĩa ++cylinder sector nơi cất dấu MB cũ Sơ đồ khối trình kiểm tra MB,BR: Bắt Đầu Kiểm Tra MB,BR So Sánh MB,BR với MB,BR Chuẩn False So sánh MB,BR cần kiểm tra với mã nhận dạng virus True True Báo Động nhiễm virus False Kết Thúc Báo Động bị nhiễm virus LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 15 3/Kiểm tra file: -Căn vào tính chất lây lan virus file việc kiểm tra file tiến hành hai cách: kiểm tra đoạn mã nhận biết virus kiểm tra sơ đồ hoạt động virus (cách thực có nghiên cứu kĩ lưỡng loại virus ) -Cơng việc q trình kiểm tra file bao gồm a/Tìm file (Search): -Cơng việc tìm file khơng đơn giản cách tốt thực theo chế đệ quy, trình tìm kiếm file kiểm tra xem có bị nhiễm virus hay khơng cịn thư mục phải tìm kiếm file thư mục b/Kiểm tra file: -Có nhiều cách để kiểm tra file virus phong phú nên tốt thực tất cách Có thể dựa vào cách kiểm tra tồn virus ghi vào file giá trị đặc biệt, kiểm tra kích thước file… phương pháp có nhiều sơ hở ,vì đâu phải virus sử dụng phương pháp kiểm tra tồn vậy, cịn việc thay đổi kích thước file có ngun nhân khơng rõ ràng có nhiều loại virus trùng kích thước, bạn lấy làm chuẩn để so sánh kích thước file? vào thời điểm bạn lấy kích thước file làm chuẩn file khơng bị nhiễm virus? -Có thể dùng phương pháp tìm đoạn mã nhận dạng nói rõ ràng virus bị phát phương pháp Nhưng nên biết khơng có chương trình diệt virus diệt loại virus khơng có virus không diệt Nên chấp nhận giải pháp tạm thời cho có mức độ thành cơng cao -Sơ đồ khối q trình này: Bắt Đầu Kiểm Tra File Hết Tìm File Cịn Mở File (Đọc) Không Bị Nhiễm Kiểm Tra File False LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 16 Bị Nhiễm Kết Thúc Báo Động Kết Thúc? True -Để sửa chửa file chương trình diệt virus thật trình mở file yêu cầu đọc ghi, phát file nhiễm cần phải khơi phục file theo quy trình dành riêng cho loại virus cho loại file -Đối với file com +nếu dạng virus nối file cần định vị trả lại file đầu bị chiếm sau dời trỏ đến vị trí đầu virus cắt chương trình virus khỏi chương trình +Dạng virus dịch chuyển phải tải toàn file vào vùng nhớ ghi lại vào đĩa với định bắt đầu file địa cũ cộng với kích thước chương trình virus… -Đối vớI file exe +nếu virus lưu giữ header cũ phải dựa vào virus tìm khơi phục lại header cũ,ngược lại phảI định vị lại header B/Chương Trình Minh Họa: 1/Ngơn ngữ viết chương trình: -Dùng ngơn ngữ thiên lập trình hệ thống ngôn ngữ C (hoặc Pascal) Assembly nhiên tốt kết hợp hai ngôn ngữ để tận dụng mạnh hai ngơn ngữ 2/Chương trình minh họa: -Do khả có hạn người viết chương trình minh họa cịn có nhiều nhược điểm phản ánh phần chương trình đầy đủ Chương trình minh họa kiểm tra nhớ,và kiểm tra bootsector ổ A Để hoàn thiện chương trình cần thực kiểm tra MB file -Ngun lí chương trình in đồ nhớ RAM Dos quản lí Nếu có virus thường trú thí nhớ dành cho Dos bị giảm khơng cịn xác nữa.Sau tiếp tục kiểm tra boot sector ổ A: -Để giúp hiểu chương trình minh họa trình bày số kiến thức Dos -Memmory Control Block (MCB) khối điều khiển nhớ dài 16 byte có cấu trúc sau Offset Chiều Mô tả (Hex) Dài(byte) 5ah=MCB cuốI,4dh=chưa phải MCB cuốI Địa đoạn khốI nhớ MCB quản lí (0=khối tự do,8=dos) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 17 10 11 Kích thước (tính theo paragraph 16 byte) khối nhớ MCB quản lí Khơng dùng KhốI nhớ MCB quản lí -Mỗi tập tin nạp vào nhớ Dos cung cấp hai MCB: MCB thứ chứa thông tin biến môi trường _Dos environment, MCB thứ hai chứa thông tin tập tin -Ngắt 52 hex (Dos 2+) hàm 52 hex trả lại cặp ghi es:bx trỏ trỏ đến danh sách Dos, sau số giá trị Offset Chiều Mô tả (Hex) dài(byte) -2 địa đoạn MCB Con trỏ đến thông tin đĩa 4 Con trỏ trỏ đến bảng file hệ thống Con trỏ đến Header trình điều khiển thiết bị CLOCK$ C Con trỏ trỏ đến header trình điều khiển thiết bị CON 10 Số byte tối đa sector (cho thiết bị kiểu khối bất kì) 12 Con trỏ trỏ đến vùng đệm đĩa 16 Con trỏ trỏ đến bảng thư mục hành 1A Con trỏ trỏ đến bảng FCB hệ thống 1E Số FCB bảo vệ 20 Số thiết bị kiểu khối (như ổ đĩa lôgic) cài đặt 21 Số tên ổ đĩa lơgic (mặc định 5,có thể tăng lệnh LASTDRIVE=trong CONFIG.SYS) 22 18 Header trình điều khiển thiết bị NUL hành.NUL ln trình điều khiển thiết bị trongdanh sách móc nối trình điều khiển thiết bị … … ……… -Nếu chương trình in kết sau MCB 020E 041F 04C2 04CA 04FA SIZE 0210 00A2 0007 002F 0031 DOAN 0008 0420 0000 0420 052D TENTAPTIN DOS COMMAND.COM [ Vung Tu Do ] COMMAND.COM A:\DOANNG~1\CHUONG~1\HT LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 18 052C 9AD2 052D A:\DOANNG~1\CHUONG~1\HT A000 Bo nho khong co virus -Thì nhớ khơng có virus A000 tổng vùng nhớ MCB Dos quản lí -Lượng nhớ mà Dos quyền sử dụng tính theo đơn vị 16 byte là: Sum=020E+0210+00A2+0007+002F+0031+9AD2+0006 (+1)=A000 -Với: 0006 kích thước MCB(như thấy trên) -Sau kiểm tra nhớ kiểm tra boot setor ổ A -Thuật tốn chương trình: +định nghĩa: ghi gồm trường: loại MCB , địa đoạn MCB kích thước MCB biến sum để cộng vào Gọi ngắt 52 hex để lấy danh sách Dos Trừ bx để đến địa đoạn MCB Cộng vào sum địa MCB đầu 4So sánh loại MCB với 4dh khơng MCB lỗi,thốt khỏi chương trình In thơng số MCB (các trường ghi) So sánh loại MCB với 5ah MCB cuối kết thúc kiểm tra nhớ Nhảy đến đoạn MCB thực lại bước +kiểm tra boot sector ổ A: Đọc ổ A: So Sánh với boot sector định nghĩa chương trình (bỏ qua phần tham số đĩa từ) Nếu Không giống báo động Kết thúc chương trình LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 19 TÀI LIỆU THAM KHẢO 1/ Hướng Dẫn Phịng Và Diệt Virus Máy Tính Tác giả: Nguyễn Đình Chương 2/Cẩm Nang Lập Trình (Hai tập) Tác giả: Nguyễn Minh San-Hoàng Đức Hải LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... luanvanchat@agmail.com CƠ CHẾ PHÁT HIỆN VÀ BÁO ĐỘNG VIRUS A/Lý Thuyết: I/Một số khái niệm Virus: 1/Định nghĩa: -Virus máy tính thực chất phần mềm tin học có khả gián tiếp tự kích hoạt, tự nhân chép vào chương... thay cho ghi đoạn khác MOV AX, ES:[SI] ;3 byte MOV AX,DS:[SI] ;2 byte II /Cơ chế phát báo động Virus: -Cơ chế phát báo động virus bao gồm bước sau +Kiểm tra nhớ +Kiểm tra Master Boot Boot Sector... CƠ CHẾ PHÁT HIỆN VÀ BÁO ĐỘNG VIRUS A/Lý Thuyết: I/Một số khái niệm Virus: 1/Định nghĩa: 2/Phân Loại: 3/Tính chất Virus: