Bách khoa toàn thư về Virus

100 8 0
Bách khoa toàn thư về Virus

Đ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

Mặc dù virus tin học đã xuất hiện lâu trên thế giới và ở cả trong nước .Và không còn ai ngạc nhiên nữa nếu biết máy tính của bạn đã bị nhiễm virus. Có hai phương pháp chính xây dựng bách khoa toàn thư: phương pháp trong đó các mục từ được sắp xếp theo thứ tự trong bảng chữ cái, hoặc phương pháp theo thể loại chủ đề có phân bậc. Phương pháp đầu là phổ biến nhất, đặc biệt đối với những bộ trình bày kiến thức phổ thông....

www.updatesofts.com lời nói đầu Mặc dù virus tin học đ xuất lâu giới nớc Và không ngạc nhiên biết máy tính đ bị nhiễm virus Thế nhng, thực đáng ngạc nhiên hầu nh cha có sách đề cập đến virus cách đầy đủ chi tiết Sự thiếu vắng thông tin vô tình mà quan niệm cho phổ biến thông tin nh không đợc lợi ích mà làm gia tăng số lợng virus lên, nh làm tăng nguy mát liệu Xét khía cạnh này, nhà sản xuất phần mềm chống virus đồng tình Chính thiếu hiểu biết thực giả tạo virus với thổi phồng đáng báo chí đ biến virus tin học bé nhỏ thành ngoáo ộp khổng lồ làm kinh hoàng cho ngời sử dụng tội nghiệp máy họ bị tợng mà nghi ngờ virus Cái giá phải trả cho thiếu hiểu biết lại to lớn, sai lệch liệu lỗi logic chơng trình gián đoạn vài ngày để backup liệu format lại đĩa, file tự nhiên tăng kích thớc gây hoang mang Đó cha kể đến đổ lỗi cho virus tin học thiếu hiểu biết Mặt khác, virus tin học nghĩa virus có kích thớc chơng trình cực nhỏ bao gồm chức khó khăn nên đòi hỏi virus đợc thiết kế trực tiếp ngôn ngữ Assembler bao hàm giải thuật tối u kĩ thuật cao, xét khía cạnh đáng cho học tập Chính lí đó, sách đời nhằm cung cấp cho độc giả thông tin cần thiết đắn virus, từ rút học bổ ích cần thiết việc phát cứu chữa hậu mà virus gây Dù đợc soạn với thông tin bản, sách đòi hỏi độc giả phải có kiến thức Assembler (vì virus đợc thiết kế ngôn ngữ này) để hiểu phân tích virus cách tỉ mỉ Tác giả mục đích hớng dẫn độc giả phơng pháp để thiết kế virus, tốt bạn đọc đừng có ý định bạn nạn nhân gánh chịu hậu gây Các virus đợc khảo sát sách tất virus đ biết thành phố nh giới, đó, số virus đợc biết nớc đ chiếm gần phân nửa Xin cảm ơn giúp đỡ quí báu đồng nghiệp việc hiệu đóng góp nhiều ý kiến hay cho sách Vì lần xuất đầu tiên, chắn sách nhiều điều thiếu sót, tác giả mong nhận đợc nhiều ý kiến đóng góp độc giả Địa liên lạc tác giả: Ngô Anh Vũ Trung tâm CESAIS Ban tin học 17 Phạm Ngọc Thạch Q.3 TP Hå ChÝ Minh www.updatesofts.com Giíi thiƯu tỉng qu¸t vỊ virus tin häc I - Virus Tin Học Trojan Horse Luật pháp nớc có chỗ không đồng nhất, có nớc đ chấp nhận bảo vệ quyền phần mềm, nhng có nớc lại không đề cập cách rõ ràng đến vấn đề Cùng với phát triển nh vũ b o cđa phÇn cøng, kÜ tht chÐp cịng đạt đến trình độ cao Những phần mềm chép nh COPYIIPC, COPYWRIT cho phép tạo đĩa có thành phần giống nh đĩa gốc đ làm thiệt hại đáng kể cho h ng sản xuất phần mềm Lợi dụng kẽ luật pháp nớc, số nơi đ xuất tay cớp phần mềm chuyên nghiệp Những phần mềm vừa đợc đa thị trờng ngày hôm trớc bị phá khóa (khóa đợc hiểu nh m đợc đa vào thi hành chơng trình, đĩa gốc ), copy lại, chí sửa đổi tên tác giả, tung thị trờng với giá rẻ cha có Những hành động vô đạo đức thách thức nhà sản xuất phần mềm, đó, ý tởng đa đoạn m phá hoại (destructive code) vào phần mềm với mục đích phá hủy liệu phần mềm không nằm đĩa gốc ý tởng lạ Nhng việc giấu đoạn m nh chất đoạn m lại tùy thuộc vào nhà sản xuất không thừa nhận (tất nhiên, kể nhà sản xuất nó) nh chứng kiến điều Mặt khác, tin học đ trở thành phổ cập cho toàn giới, cấu trúc nội tại, kĩ thuật lập trình đợc hớng dẫn tỉ mỉ nghiêm túc tiếp cận ngời cụ thể với tầng lớp niên Với đầy đủ kiến thức tính hiếu thắng, đua tài tuổi trẻ, t tởng loạn hay tự khẳng định qua chơng trình mang tính chất phá hoại gây nguy hiểm thực tế không ví dụ chứng minh cho điều Căn vào tính chất đoạn m phá hoại, ta chia chúng thành hai loại: virus trojan horse 1/ Trojan horse: Thuật ngữ dựa vào điển tích cổ, đoạn m đợc cắm vào bên phần mềm, cho phép xuất tay phá hoại cách bất ngờ nh anh hùng xông từ bụng ngựa thành Troa Trojan horse đoạn m HOàN TOàN KHÔNG Có TíNH CHấT LÂY LAN, nằm phần mềm định Đoạn m phá hoại vào thời điểm xác định đợc tác giả định trớc đối tợng chúng thông tin đĩa nh format lại đĩa, xóa FAT, Root Thông thờng phần mềm có chứa Trojan horse đợc phân phối nh version bổ sung, hay mới, điều trừng phạt ngời thích chép phần mềm nơi có nguồn gốc không xác định Tuy nhiên tợng này, Việt nam nói chung thành phố ta cha xuất Và dễ thấy tầm hoạt động mức phá hoại hoạt động máy đơn vô hạn chế 2/ Virus tin học: Thuật ngữ nhằm chơng trình máy tích tự chép lên đĩa, file khác mà ngời sử dụng không hay biết Thông thờng virus mang tính phá hoại, gây lỗi thi hành, lệch lạc hay hủy liƯu www.updatesofts.com So víi Trojan horse, virus mang tÇm vóc vĩ đại hơn, lan truyền xa tác hại vô khủng khiếp thành phố, virus đ xuất sớm đ gây nhiều tác hại với u virus so với Trojan horse , báo nhan đề Lí thuyết cấu phần tử tự hành phức tạp (Theory and Organization of Complicated Automata) Trong báo mình, ông đ nêu lí thuyết tự nhân lên nhiều lần chơng trình máy tính Những đồng nghiệp ông đ dè bỉu nhiều ý tởng nhng điều dễ hiểu máy tính điện tử (electronic computer) đợc phát triển nhiều năm sau Mời năm sau đó, chi nhánh h ng AT&Ts Bell, ba thảo chơng viên trẻ tuổi đ phát triển trò chơi tên Core War, ba ngời tên Mc Ilroy, Victor Vysottsky Robert Morris, ngời nắm vững cấu trúc nội máy Core War đấu trí hai đoạn m hai thảo chơng viên Mỗi đấu thủ đa chơng trình có khả tự tái tạo (reproducing program) gọi Organism vào nhớ máy tính Khi bắt đầu chơi Organism, đấu thủ cố gắng phá hủy organism đối phơng tái tạo organism Đấu thủ thắng đấu thủ phát triển nhiều lần cấu Trò chơi Core War đợc giữ kín năm 1983, Ken Thompson, tay chơi lỗi lạc đ viết version đầu cho hệ điều hành UNIX, để lộ nhận phần thởng danh dự giới kỹ nghệ điện tử - Giải thởng A.M Turing Trong diễn văn mình, ông đ đa ý tởng phơng pháp làm virus Thompson đề cập đến Core War sau tiếp tục khuyến khích thính giả h y làm thử! Tháng 5/1984 tờ báo Scientific America có đăng báo mô tả Core War cung cấp cho đọc giả hội mua lời hớng dẫn trò chơi - đợc gởi đến tận nhà với giá USD cớc phí bu điện! Đầu tiên, virus tin học đ bắt đầu máy lớn nh CREEPER (1970, RABBIT (1974), ANIMAL (1980) Sau bắt đầu xuất máy PC Đ có số tài liệu cho virus tin học PC năm 1987, nhiên điều không đợc chắn virus Brain thông báo đợc đời từ năm 1986! Virus máy IBM PC đợc phát nhanh chóng trở nên tiếng Lehigh virus (vì xuất trờng Đại học này) vào trớc lễ Tạ ơn năm 1987 Cùng thời với virus này, virus khác âm thầm đổ từ Pakistan vào Mĩ Brain với mục tiêu trờng Đại học Delaware Một nơi khác giới đ tờng thuật xuất virus: Đại học Hebrew - Israel Tất có chung điểm: từ trờng Đại học, nơi có sinh viên giỏi, hiếu động thích đùa Mặc dù xuất nhiều nơi giới, virus có chung phơng pháp lây lan, không nắm rõ cách thức này, số ngời đ cảm thấy hốt hoảng đ diệt cách, máy tính bị nhiễm nhiễm lại virus Dù vậy, phải có phân loại chi tiết virus, làm cho dễ kiểm soát đa phơng pháp chữa trị thích hợp Do đó, ngời ta đ chia virus thành hai loại theo cách lây đối tợng lây Ta khảo sát lần lợt đối tợng III - Cách Thức Lây - Phân Loại Dựa vào đối tợng lây lan file hay đĩa, ta chia virus thành hai nhóm chính: + B - virus (boot virus): virus chØ tÊn c«ng lên Boot sector hay Master boot + F - virus (file virus): virus công lên file thi hành đợc (dạng thi hành chức 4Bh DOS file dạng COM hay EXE) Dù vậy, cách phân chia nhất, mà không hẳn xác Vì sau này, F - virus phá hoại hay chèn m phá hoại vào Boot sector, nh B - virus chèn đoạn m vào file Tuy nhiên, tợng nhằm phá hoại không coi đối tợng để lây lan Dạng tỉng qu¸t cđa mét virus cã thĨ biĨu diƠn b»ng sơ đồ sau: Tìm file/đĩa Nhiễm ? Exit Lây Nh đ giới thiệu định nghĩa virus, đoạn m lúc phải đợc trao quyền điều khiển Nh vậy, rõ ràng virus phải khai thác chỗ hở mà máy tự nguyện trao quyền điều khiĨn l¹i cho nã Thùc tÕ cã hai kÏ hë nh thế, mà ta lần lợt xét sau đây: 1/ B - virus: Khi máy tính bắt đầu khởi ®éng (Power on), mäi ghi cđa CPU sÏ ®−ỵc xóa, ghi phân đoạn (segment) đợc gán giá trị 0FFFFh, tất ghi lại đợc xóa Lúc CS:IP dĩ nhiên trỏ đến 0FFFFh:0 Tại địa lệnh JMP FAR chuyển quyền điều khiển đến đoạn chơng trình định sẵn ROM, đoạn chơng trình thực trình POST (Power On Seft Test: tự kiểm tra khởi động) Quá trình POST lần lợt kiểm tra ghi, kiểm tra nhớ, khởi tạo chíp điều khiển DMA, điều khiển ngắt, đĩa Nếu trình hoàn thành tốt đẹp, công việc dò tìm card thiết bị gắn thêm vào (thờng thiết bị card điều khiển đĩa cứng hay hình) trao quyền điều khiển chúng tự khởi tạo sau lấy lại card hoàn thành xong phần khởi tạo Tuy phải ý: toàn đoạn chơng trình nằm ROM, có tính chất Chỉ Đọc nên sửa đổi nh chèn đoạn m chơng trình khác vào đợc Sau việc khởi tạo hoàn thành tốt đẹp, lúc đoạn chơng trình ROM tiến hành đọc Boot sector từ đĩa vật lí (là đĩa A) vào RAM địa 0:07C00h (Boot sector sector đĩa n»m ë sector 1, head 0, track 0) NÕu viÖc đọc không thành công, (không có đĩa ổ đĩa ) Boot Master đĩa cứng đợc đọc vào (nếu có đĩa cứng) Giả sử việc đọc đ thành công, quyền điều khiển đợc trao cho đoạn m n»m Boot record b»ng mét lÖnh JMP FAR 0:07C00 mà không cần biết đoạn m làm Nh vậy, đến lúc Boot record chứa đoạn m nào, quyền điều khiển đợc trao đoạn m lại tiến hành format lại đĩa! Rõ ràng, kẽ hở mà máy mắc phải Nhng điều dễ hiểu PC kiểm tra đợc đoạn m Boot record - ứng với hệ điều hành, version khác - đoạn m khác Nếu tự kiểm điểm lại mình, bạn không khỏi giật số lần để quên đĩa mềm ổ đĩa Tuy vậy, may mắn đoạn m Boot record lại hoàn toàn sạch, nghĩa đợc format dới hệ điều hành hành cha có sửa đổi, thay đoạn m Lúc này, đoạn m dò tìm, có tải file hệ thống vào vùng nhớ (nếu hệ điều hành MS-DOS, file có tên IO.SYS MSDOS.SYS) lần trao quyền điều khiển Lúc này, CONFIG.SYS (nếu có) đợc đọc vào tiến hành khởi tạo device driver, định buffer file cho file cuối COMMAND.COM đợc gọi (nếu lệnh SHELL CONFIG.SYS) để dấu nhắc A:\> quen thuộc xuất hình Lợi dụng kẽ hở này, B - virus công vào Boot sector, nghĩa thay Boot sector chuẩn đoạn m virus, quyền điều khiển lúc đợc trao cho virus www.updatesofts.com tr−íc Boot record nhËn qun ®iỊu khiển sau chuyện tiến hành cách bình thờng Do đặc điểm lên trớc hệ điều hành, virus phải tự làm hết chuyện Và điều dễ dàng với kích thớc chơng trình nhỏ bé (nếu không tin bạn thử định vị phân tích FAT mà không dùng đến thông tin từ DOS xem) 2/ F - virus: Sau COMMAND.COM đợc gọi, lúc tìm file AUTO.EXEC.BAT để thi hành (nếu có) sau dấu nhắc xuất để chờ nhận lệnh Tất nhiên không dùng lệnh nội trú DOS để thi hành (trừ ngời bắt đầu học hệ điều hành DOS) Thông thờng, ngời ta thi hành file Đơn giản muốn thi hành phần mềm Foxbase chẳng hạn cách đánh tên Mfoxplus dấu nhắc đợi lệnh cđa DOS vµ bÊm phÝm Enter Lóc nµy DOS sÏ tìm file có tên Mfoxplus.EXE May mắn thay file đ đợc tìm thấy, DOS bắt đầu tổ chức lại vùng nhớ, tải lên trao quyền điều khiển mà không chút băn khoăn xem định làm có nguy hiểm không? May thay, kẽ hở thứ hai bị bỏ qua mà không gây phiền phức Sau thi hành xong trở dấu nhắc hệ điều hành cách an toàn Thực chất, kẽ hở thứ hai đợc virus tận dụng Điều xảy quyền điều khiển thay đợc trao cho file lại rẽ nhánh sang cho kẻ lạ mặt sống kí sinh lên file? Điều có virus biết đợc tất nhiên sau đó, kết phá hoại đ rõ ràng ngời sử dụng biết ội hệ điều hành mà ta cha đợc biết Qui ớc: + Các số sách đợc ngầm hiểu dới dạng thập lục thập phân không ghi rõ dạng + Các chơng trình virus đợc minh họa hầu hết đợc Unassembler phần mềm D68 đĩa - sơ lợc đĩa Chơng không nhằm mục đích khảo sát tờng tận cấu trúc vật lí nh logic mà đơn giản nhằm cung cấp cho độc giả số thông tin thật cần thiết, tiện cho việc phân tích B-virus chơng Dù vậy, có số thông tin bỉ Ých cho viƯc tham kh¶o I - CÊu Tróc VËt LÝ CÊu tróc ®Üa - dï vËt lÝ hay logic, thực tế đợc đề cập đến mức độ phức tạp, đĩa cứng Tuy nhiên, khái niệm lại vô đơn giản Các loại đĩa (cả đĩa cứng lẫn đĩa mềm) dựa vào tợng từ hóa để chứa liệu: đầu từ đọc ghi từ hóa phần tử cực nhỏ bề mặt, phần tử di chuyển qua đầu từ bị từ hóa Do hình dạng ban đầu đĩa hình tròn nên nhiều ngời lầm tởng hình dạng bắt buộc, thực ra, bạn tạo đĩa với hình dạng bất kì, tồn ổ đĩa cho phép bạn truy xuất thông tin Khác với băng từ, đĩa ghi liệu dới dạng rời rạc (hoặc mang giá trị tối đa mang giá trị tối thiểu 0) Cách thể nh đợc gọi digital Chúng ta bắt đầu với khái niệm Track 1/ Track: Nếu bạn đặt bút cho lên đĩa hát xoay Đờng bút chì tạo thành đĩa hình tròn Và bạn việc coi đĩa đĩa mềm, đầu bút chì đầu từ đọc ghi Đờng bút chì tạo nên có tên Track Do Track hình tròn chiếm phần nhỏ, nên đĩa, ta tạo nên nhiều hình tròn đồng tâm để có đợc nhiều Track 2/ Side: Bất đĩa mềm có hai mặt (Side), đó, không bắt buộc phải sử dụng mặt đĩa (mặc dù DOS đ làm điều này, nhng sau đó, sửa sai) Ghi liệu lên hai mặt đĩa rõ ràng mang lại tính king tế khả chứa liệu đĩa tăng lên gấp đôi mà không cần tốn thêm ổ đĩa thứ hai Đơn giản đặt thêm đầu đọc thứ hai phía bên để tạo thành gọng kìm Hai mặt đợc đánh số lần lợt mặt mặt 3/ Cylinder: Rõ ràng, thuận lợi thứ hai đĩa hai mặt: liệu ghi hai lần nhanh trớc đầu đọc chuyển sang Track Dữ liệu ghi lên Track mặt bên sau Track nh nhng mặt bên kia, cuối cung chuyển sang Track khác Một cặp Track nằm đối xứng nh đợc tham chiếu đến nh phần tử Cylinder Để thuận lợi cho việc tham chiếu, Track Cylinder đợc đánh số Track đợc đánh số Track Track mặt Track 0, Side 0; Track mặt dới Track Side Những Track nh đợc gọi chung Cylinder Bạn đ nghe nói đĩa mềm 360 Kb, đĩa mềm loại nh có 80 Track đợc đánh số từ đến 79 Thông thờng, việc đánh số máy tính từ 1, song có ngoại lệ Sector bắt đầu đánh số từ Cluster đợc đánh số mà chúng xét sau Đối với đĩa cứng, mô hình đơn giản đĩa mềm đợc xếp song song với thành hình trụ Đĩa Side 0, đáy Side đĩa thứ hai có hai mặt lần lợt Side Tập hợp track đợc tham khảo dới tên gọi Cylinder Tất nhiên số đầu đọc tăng theo Khối lợng liệu track đĩa cứng thay đổi tùy thuộc máy, nhiên, thờng từ 8Kb đến 12Kb track www.updatesofts.com 4/ Sector: Mặc dù đọc/ghi liệu lên ®Üa mét lóc ®Õn 12 Kb, nh−ng thùc tế, không dám dùng đến khối lợng lớn ®Õn nh− thÕ Bé ®iỊu khiĨn ®Üa th−êng ®−ỵc thiÕt kế để đọc ghi lần phân đoạn Track Số byte phân đoạn, đợc gọi Sector, phụ thuộc vào phần cứng mà điều khiển đĩa vào hệ điều hành: nhà thiết kế tạo kích thớc Sector khác hệ điều hành chọn kích thớc Thông thờng, kích thớc 128, 256, 1024 byte Đối với hệ điều hành DOS, kích thớc đợc chọn 512 byte cho Sector với tất loại đĩa Trên đĩa mềm 360 Kb, Track đạt tới 10 Sector, nhiên, vấn đề an toàn liệu, DOS chọn Sector cho Track Chính điều này, thấy đĩa 40 Track cã: 40Track * 2Side * 9Sector 512byte = 360 Kb Đối với đĩa cứng, mật độ Track inch đạt đến 600 Track/inch, khả lu trữ kiệu đĩa cứng lớn đĩa mềm nhiều Lúc này, để tham chiếu, phải mặt (Side) Track mà phải số Sector Track 5/ Đánh địa Sector: Khi đ đạt đến Track cần đọc/ghi, làm để nhận Sector cần tìm Có hai cách để định vị Sector, : + Đánh số Sector phơng pháp cứng (Hard sectoring): Những lỗ đợc bấm xung quanh đĩa lỗ nh có ý nghĩa đánh dấu bắt đầu Sector Phơng pháp tỏ không hiệu nghiệm tốc độ truy xuất đĩa ngày tăng + Đánh số Sector mềm (Soft sectoring): Phơng pháp m hóa địa Sector thành liệu Sector đợc gắn vào trớc Sector Vì Sector đợc đánh số xung quanh Track nên địa đơn giản số liên tiếp xung quanh Track (nhng số đĩa đợc thiết kế chống chép điều khác) Hiện nay, phơng pháp đánh số mềm đợc dùng rộng r i Với phơng pháp này, trớc đĩa đợc dùng, địa Sector phải đợc ghi vào Sector (quá trình đợc thực việc Format đĩa) Địa Sector thực phần thông tin liệu phần đầu Sector, số thông tin khác mà thiết nghĩ nêu làm rối cho độc giả 6/ Format vật lí: Ghi toàn địa Sector, thông tin khác vào phần đầu Sector đợc gäi lµ format vËt lÝ hay format ë møc thÊp, việc đợc thực phần cứng điều khiển đĩa Trong trình format, phần mềm bắt điều khiển đĩa tiến hành format với thông số kích thớc Sector công việc lại tự điều khiển đĩa phải làm Format vật lí phải đợc thực trớc đĩa đợc đa vào sử dụng Một trình độc lập thứ hai - format logic - phải đợc thực sau trớc đĩa chuẩn bị chứa liệu mức này, tùy theo cách tổ chức hệ điều hành, chia đĩa thành vùng tơng ứng Trong thực tế, hầu nh không ý đến đề đ có lệnh Format DOS Tuy nhiên để giải thích công việc cụ thể lệnh hầu nh quan tâm đến Có thể giải thÝch nh− sau : + Víi ®Üa mỊm: mét ®Üa cho dù đ đợc format lần hay cha đợc đối xử bình đẳng nh nhau, nghĩa DOS tiến hành forrmat vật lí, sau format logic nhằm khởi tạo vùng hệ thống liệu Dễ thấy, đĩa đ qua lần format, trình format vật lí không cần thiết, trừ trờng hợp muốn format vật lí, có trình format logic làm giảm thời gian format đĩa ý tởng này, thực tế đ đợc phần mềm chuyên dơng khai th¸c rÊt kÜ PCformat cđa Central point, SafeFormat Norrton có option cho phép định tác vụ + Đối với đĩa cứng: ®Üa cøng tr−íc ®−a thÞ tr−êng ®Ịu ® đợc format vật lí lí để format lại không thấy cần thiết Đối với trờng hợp này, DOS không cần phải format vật lý mà đơn giản tiến hành format logic Trong trờng hợp này, tốc độ format đĩa cứng nhanh không ì ạch nh ®Üa mỊm Sau ® qua format, ®Üa cđa chóng ta đ sẵn sàng chứa liệu II - Cấu Trúc Logic phần trên, ta đ có đề cập đến format logic, nhng lại không đa chi tiết nào, sau ta lần lợt xét chi tiết đến chúng Rõ ràng, đĩa có dung lợng lớn, việc quản lí liệu nh cho hiệu nhanh chóng vấn đề phức tạp Do đó, hệ điều hành cần thiết phải tổ chức cho vài cấu trúc giúp cho việc kiểm soát đĩa đợc nhanh xác, cho biết phần đ dùng để chứa liệu, phần trống Cách ghi nhớ cấu trúc nh lên đĩa đợc gọi format logic đĩa Dù loại đĩa nào, DOS tổ chức đĩa thành phần sau: Boot Sector, bảng FAT (file allocation table), Root directory phần liệu (ba phần đầu đợc gọi dới tên Vùng hệ thống) Trên đĩa cứng, với dung lợng lớn, chia thành phần khác đợc gọi Partition, phải thêm phần thứ Partition table Sau đây, lần lợt khảo sát phần 1/ Boot Sector: Luôn chiếm Sector Track 0, Side đĩa, vậy, điều tuyệt đối đĩa mềm, đĩa cứng, vị trí phải nhờng lại cho Partition table Boot sector đợc đọc vào địa 0:07C00 sau máy thực xong trình POST Quyền điều khiển đợc trao lại cho đoạn m nằm Boot sector Đoạn m có nhiệm vụ tải file hƯ thèng vµo nÕu cã Ngoµi ra, Boot sector chứa bảng tham số quan trọng đến cấu trúc đĩa, bảng đợc ghi vào trình format logic đĩa đĩa đĩa boot đợc a Cấu trúc bảng tham số đĩa BPB (Bios Parameter Block): Bảng tham sè nµy ë offset 0B cđa Boot sector vµ cã cÊu tróc sau : 10 offset +0 +3 +0Bh +DH +Eh +10h +11h Size 2 Néi dung JMP SectSiz ClustSiz ResSecs FatCnt RootSiz +13h +15h TotSecs Media +16h FatSize +18h +1Ah +1Ch 2 TrkSecs HeadCnt HindSec xx:xx LÖnh nhảy gần đến đầu đoạn m boot Tên công ty hay version Sè byte sector < - Start of BPB Số sector cluster Số sector dành riêng (sector trớc FAT) Số bảng FAT Số đầu vào tối đa cho Root (32 byte cho đầu vào) Tổng số sector đĩa (hay partition) Media descriptor đĩa (giống nh byte đầu bảng FAT Số lợng sector cho mét b¶ng FAT < - end of BPB Số sector track Số đầu đọc ghi Số sector dấu mặt (đợc dùng cÊu tróc push DS pop ES push CS pop ES push ES mov CX, offset Next1 push CX retf Next1: mov word ptr CS:[02Ch], mov word ptr CS:[016h], CS jmp far dword [offs] offs dw offset EndP segs dw EndP: mov AX, 4C00h int 21h EndProg: (TrÝch 1701 virus) ; Chấm dứt chơng trình b Thờng trú sau đoạt lại quyền điều khiển: Để thờng trú, số Hacker đ đề nghị phơng pháp vô sáng tạo, dựa vào chức DOS Cách dựa vào phơng pháp thi hành chơng trình hai lần mà đ đề cập chơng trớc Cách lấy tên chơng trình thi hành môi trờng DOS tổ chức, lần nữa, thi hành thân mình, sau đ giảm vùng nhớ xuống tối thiểu Sau file thi hành xong, quyền điều khiển lại trao cho virus, lúc tiến hành thờng trú chức 31h DOS nh chơng trình bình thờng Các bớc mà DOS đ đề nghị nh sau : + Giải phóng vùng nhớ không cần thiết + Tạo EPB + Tìm tên file khèi m«i tr−êng hiƯn thêi + Dïng chøc 4B thi hành lần + Nhận quyền điều khiển trả lại, dùng chức 4D để lấy m lỗi chơng trình + Dùng chức 31h để thờng trú với BX kích th−íc virus, m (exit code) lµ m lÊy tõ chức 4D Đoạn m sau minh họa điều : ; EPB đợc khai báo EPB : Env dw Cmd_off dw 80h cmd_seg dw FCB1_off dw FCB1_seg dw 05Ch FCB2_off dw FCB2_seg dw 06Ch ; Khëi t¹o EPB 86 www.updatesofts.com mov CS:PSP_value, ES mov CS:Cmd_seg, ES mov CS:FCB1_seg, ES mov CS:FCB2_seg, ES ; Gi¶i phãng vïng nhí mov ES, CS:PSP_value mov AH, 04Ah int 21h ; Tìm tên file khèi m«i tr−êng mov ES, PSP_value mov ES, ES:[2Ch ] ; ES trỏ đến khối môi trờng xor DI, DI ; Tìm cách dò dấu hiệu mov CX, 7FFFh ; đầu tên file word xor AL, AL ; có giá trị Next: repne sacsb ; Tìm byte cmp ES:[DI], AL ; Byte tiÕp theo = ? loopns Next mov DX, DI add DX, ; ES:DX trỏ đến tên file ; chuẩn bị gọi chức 4B mov AX, 4B00h push ES pop DS ; DS:DX trỏ đến tên file push CS pop ES ; ES:BX trá ®Õn EPB mov BX, offset EPB pushf call far dword [Old_int21] ; Gọi chức 4B ; Lấy m lỗi mov AH, 4Dh int 21h ; Th−êng tró mov AH, 31h mov DX, 06C4h ; KÝch th−íc virus theo byte mov CL, ; sÏ đợc đổi sang đoạn shr DX, CL add DX, 10h int 21h (Trích Slow virus) 87 Song phơng pháp có hạn chế, lây lan đợc COMMAND.COM COMMAND.COM lên lần đầu tiên, không trả quyền lại cho virus cả, mặt khác, virus lây tiếp dÊu hiƯu vïng nhí cho biÕt virus ®ang ë trình đợi điều khiển Do đó, tất virus đợc thiết kế theo phơng pháp kiểm tra tên file với COMMAND.COM trớc lây 4/ Kĩ thuật phá hoại: a TF - virus: Do TF - virus giành quyền điều khiển có lần, đếm cách đặn đợc, phần lớn TF - virus mang tính phá hoại ngẫu nhiên tiến hành file đối tợng Việc phá hoại tơng đối nhỏ, đơn giản xóa file cách ngẫu nhiên, đổi lại ngày tạo file chẳng hạn b RF virus: Đối tợng phá hoại virus loại phong phú hơn, bao gồm hình, loa, đĩa Phần phá hoại thi tài giải tht ng¾n gän nh−ng cã hiƯu st cao HiÕm thÊy virus mang tính phá hoại tàn khốc, nhng sau nay, virus dễ bị phát hiện, đ không mang tính hiền hòa Kĩ thuật đếm giờ, số lần lây giống nh B virus Tuy vậy, ngắt thờng chiếm RF - virus ngắt 1Ch ngắt (nếu đối tợng phá hoại loa) Các đoạn m minh họa phần phá hoại xem phần phụ lục 5/ Kĩ thuật gây nhiễu ngụy trang a Ngụy trang: Một yếu điểm không cách tránh khỏi file đối tợng bị tăng kích thớc Lợng tăng lên phụ thuộc vào việc có virus đ lây vào kĩ thuật lây Đây thách thức cho Hacker Song sau này, đ có cách giải lệnh DIR DOS dùng chức 11h 12h để lấy thông tin file (kể kích thớc), đó, việc chi phối chức đánh lừa đợc số ngời Nhng điều gây hiệu ứng cho phần mềm dùng chức để copy file, so sánh hay tổ chức lấy việc thi hành file mà không thông qua DOS b Gây nhiễu: Nếu vấn đề ngụy trang đơn giản nhằm giải tợng tăng kích thớc, vấn đề gây nhiễu lại có tầm quan trọng việc chống phần mềm antivirus có ý định trục xuất virus khỏi file Thông thờng, nhà chữa trị virus phải nắm đợc virus cất dấu liệu file đối tợng đâu khôi phục lại Để làm điều này, họ phải tham khảo chơng trình virus dễ theo dõi kích thớc chơng trình nhỏ Kĩ thuật gây nhiễu không cho họ có khả để làm việc này, làm điều kiện khó khăn logic chơng trình Thông thờng, virus thực : + Anti-debug: Các thảo chơng viên thờng dùng phần mềm debug (nh DEBUG, D86, Turbo Debugger .) để theo dõi chơng trình virus Các chơng trình thực chất phải dùng ngắt để thi hành bớc Tất nhiên điều không thực đợc virus chi phối ngắt 3, xâm phạm vào đền ngắt dẫn đến kết cục không lờng trớc đợc + EXE header giả: Khi kiểm tra virus file EXE, điều bắt buộc thảo chơng viên phải đọc bảng EXE header vào định đầu vào file, từ phát virus Nay điều không nh trớc Thật không may họ đọc bảng tham số cách mở file đọc, chơng trình virus đ nhanh tay phát ý đồ thay vào bảng tham sè b×nh th−êng th× mäi chun vÉn b×nh th−êng, nghĩa tình hình file vô yên tĩnh + M hóa chơng trình: Một hớng khác đợc nhiều F - virus áp dụng nhằm mục đích chống debug cách m hóa phần lớn chơng trình virus Chỉ vào vùng nhớ, phần chơng trình đợc m hóa ngợc lại Kĩ thuật m hóa thờng dùng sử dụng kết lệnh XOR Mét virus thuéc hµng l o lµng lµ 1701 đ sử dụng kĩ thuật Tuy nhiên, lần m hóa không làm nhà chống virus nản lòng nên khuynh hớng virus m hóa thành tầng, tầng giải m cho tâng kế khóa 88 www.updatesofts.com phần tùy thuộc vào thời gian lây (nghĩa với file đợc lấy thời điểm khác nhau, phần m cịng kh¸c 6/ C¸c kÜ tht kh¸c a KÜ thuật định vị chơng trình: Đối với F - virus, áp dụng kĩ thuật lây chèn đầu không gặp rắc rối (nhng nhợc điểm lây đợc file COM) Nhng F - virus dùng phơng pháp Append file lại gặp rắc rối việc định vị biến nội chơng trình virus rõ ràng offset không xác định cách tuyệt đối mà phụ thuộc vào kích thớc file gắn vào Các cách để giải trờng hợp là: + Định vị tơng đối: Chơng trình virus định vị offset file theo đầu vào virus từ PSP trở Nghĩa tác vụ truy xuất biến nội đợc tính từ đầu chơng trình virus Điều lại gây lúng túng cho nhà sản xuất phần mềm F virus loại xuất Thông thờng để định vị đầu vào chơng trình virus, virus đẩy offset vào Stack lấy lệnh POP, đơn giản lấy giá trị vào ghi cho phép tham chiếu gián tiếp (SI, DI, BX chẳng hạn), lúc tham chiếu biến nội theo ghi Đoạn m sau minh họa cách thức ; Entry chơng trình virus entry: call Next ; Đẩy offset nh n next vào Stack Next: pop SI ; LÊy ng−ỵc b»ng lƯnh POP sub SI, ; Vì lênh CALL chiếm byte ; nên lúc SI trỏ đến đầu chơng ; tr×nh virus mov word ptr [SI+100h] ; Tham chiÕu biến nội Song phơng pháp lại làm cho số nhà Hacker khó chịu việc định vị tơng đối chiếm ghi Vì vậy, đề nghị khác đợc nêu nhằm khắc phục trờng hợp + Định vị tuyệt đối cách thay đổi CS:IP : Sau đợc trao quyền điều khiển, chơng trình virus chiếm lu trú vùng nhớ, chuyển chơng trình sang vùng theo offset tïy chän (th−êng lµ 0, 0100h), råi chun quyền điều khiển sang vùng tạo b Kĩ thuật lấy ngắt: Không nh B - virus, số lợng có tồn nhiều lo¹i vïng nhí, F - virus cã thĨ tån đồng thời nhiều loại vùng nhớ Và chắn hẳn độc giả biết F - virus chi phối ngắt 21h Một quy luật vàng máy tính: quyền lợi thuộc phần mềm chi phối máy trớc tiên, chơng trình virus lên sau không quyền u tiên Mặt khác, phần mềm chống virus dạng thờng trú lên trớc hết chi phối ngắt 21h, lời gọi mở/đọc/ghi file đợc kiểm tra chặt chẽ (một số phần mềm chống virus nớc áp dụng kiểu này) Lúc này, vấn đề sống đặt chiếm cho đợc ngắt 21h chuẩn DOS Ai nắm đợc điều đầu tiên, ngời có toàn quyền với lời gọi ngắt tiếp sau mà không kiểm soát Có vài cách để lấy đợc ngắt 21h chuẩn này, có cách thông minh virus Yankee Daodle: đ có đợc ngắt 21h chuẩn cách thông qua ngắt 3, hay tự định vị tuyệt đối nh phần mềm chống virus Tuy nhiên, cách có đợc không thuyết phục đợc nhà lí thuyết thực tế khả không đạt đợc cao 89 Đó toàn kĩ thuật mà F - virus hay dùng, không bắt buộc B - virus tuân theo, nhng hầu hết virus nay, nh nớc ¸p dơng VI - Ph©n tÝch F - virus ViƯc phân tích không nhằm đa virus có kĩ thuật viết phức tạp hay dùng thủ thuật để chống debug,,, mà chọn virus có cách viết đơn giản, ngắn gọn, nhằm mục đích minh họa vài kĩ thuật then chốt ứng với hai loại F - virus lần lợt phân tích hai virus đợc nhiều ngời biết đến W13 (còn đợc biết dới tên 534), virus xuất thành phố Datalock ver 1.00 có sức lây lan mạnh Hai virus đợc chọn lí chơng trình chúng đơn giản, Anti-debug 1/ TF - virus: W-13 a Mô tả: + Kích thớc 534 byte + Đối tợng: fiel dạng COM th mục hành + Cách định vị tơng đối theo đầu chơng trình virus + Phá hoại: đổi thánh tạo file thành tháng 13 + File đối tợng lệnh NOP, tận lệnh INT 20 b Phân tích: Đoạn chơng trình đợc dịch Source.exe CodeSegA seg assume CS: CodeSegA, DS:CodeSegA org 100h 534 proc far Start: jmp loc1 db 0CDh, 20h ; M lệnh file đối tợng db 507 dup (0) Loc1: push AX mov SI, 465h ; SI trỏ đến bảng tham số nội mov DX, SI ; InternalBuffer add SI cld mov DI, 100h rep movsb ; Trả lại byte m cho chơng trình mov DI, DX mov AH, 30h ; LÊy version cña DOS int 21h cmp AL, ; ? sai version jne loc2 jmp loc16 loc2: mov DX, 2Ch ; Đặt lại DTA vµo buffer add DX, DI mov BX, DX ; BX= InternalBuffer 90 www.updatesofts.com mov int mov mov add loc3: mov mov int jmp loc4: mov int loc5: AH, 1Ah 21h BP, DX, DI DX, CX, AH, 4Eh 21h loc5 ; +2Ch= DTABuffer ; Trá DS:DX vµo TypeFile ; FindFisrt AH, 4Fh 20h VII - Phßng chèng f - virus 1/ Phát hiện: Một đĩa hay file bị nhiễm virus phải đợc nhận diện xem loại virus tơng ứng có cách chữa trị Việc phát đợc tiến hành vùng nhớ (để phát RF - Virus) sau bắt đầu đĩa (cho hai loại virus) a Trong vùng nhớ: Vô cần thiết cho biết bớc chữa trị đợc thực hay không Đối với số loại virus, việc mở file, tìm file đĩa bị lây phần mềm Antivius lại giúp hội cho virus lây lan Việc phát nhiều cách: + Phát chênh lệch vùng nhớ cao: loại virus tách vùng nhớ khỏi tầm kiểm soát DOS, chênh lệch xuất vùng nhớ BIOS quản lí vùng nhớ DOS quản lí Tuy nhiên, chênh lệch nghĩa máy đ bị nhiễm mà cần phải thực thêm bớc tiếp theo: Dò tìm đoạn m : progvi có đoạn m đặc trng, chơng trình chống virus tiến hành dò đoạn m virus từ vùng nhớ thấp lên vùng nhớ cao Mọi phát đa đến kết có virus, song phơng pháp tỏ không hiệu nghiệm phát virus đ biết, mặt khác tồn đoạn liệu trùng với đoạn m progvi (là liệu phần mềm diệt virus khác đợc tải lên vùng nhớ trớc chẳng hạn) dẫn đến sai lầm b Trên file: Để xác định file có bị nhiễm hay không, dùng cách sau: + Kích thớc file sau lệnh nhảy: Mỗi progvi có kích thớc chuẩn Chơng trình virus định vị đầu vào đầu file lệnh nhảy, so sánh đầu vào với kích thớc file để suy file bị nhiễm hay cha Đối với file EXE định vị đầu vào từ bảng tham sè EXE header, tõ ®ã suy kÝch th−íc sau Phơng pháp không hiệu nghiệm tỏ kÐm chÝnh x¸c nÕu ta biÕt r»ng hiƯn nay, virus trùng kích thớc nhiều Mặt khác, đâu cấm chơng trình có khoảng cách sau lệnh JMP đến cuối file kích thớc virus Do lỗi này, phơng pháp không đợc dùng nữa, virus dùng tốc độ nhanh + Dò tìm đoạn m Progvi: Tơng tự nh vùng nhớ tất nhiên gặp lỗi dò phải file chống virus khác, kể chẳng hạn 2/ Chữa trị: Việc chữa trị file đơn giản việc chữa trị đĩa Chỉ đơn giản trả lại liệu chơng trình đối tợng đ bị virus chiếm giữ cắt progvi khỏi file đối tợng 91 a Đối với file dạng COM/BIN: + Nếu dạng Appenfzd file: Chỉ đơn giản định vị trả lại byte đầu bị virus chiếm, dời trỏ đến đầu vào progvi cắt progvi khỏi file + Nếu dạng chèn đầu: Phải tải toàn file vào vùng nhớ ghi lại vào đĩa với định đầu vào file địa buffer cũ cộng với kích thớc chơng trình virus b Đối với file dạng EXE: Nếu virus lu giữ EXE header cũ file việc khôi phục đơn giản cách trả lại EXE header cũ, ngợc lại, phải định vị yếu tố bảng EXE header Một điều đáng nói trình khôi phục file EXE, kích thớc cũ không đợc trả lại điều đơn giản: trình định vị cho CS, bắt buộc kích thớc file phải đợc làm tròn thành đoạn, điều này, file EXE đợc khôi phục có kích thớc chia hết cho 16 lợng chênh lệch khoảng 15 byte (nếu virus không lu giữ giá trị kích thớc file cũ) 3/ Phòng chống: Hiện nay, cha có phần mềm tỏ hiệu việc phòng chống F - virus, có nhiều phần mềm chống virus thị tròng Có thể kể cách chống virus sau : + Thờng trú dò tìm: phần mềm Antivirus thờng trú file đợc thi hành chức 4B đợc kiểm tra xem có bị nhiễm virus không trớc cho thi hành Cách không hiệu có virus xuất số lợng virus tăng làm tăng thời gian kiểm tra + Thờng trú phát virus vùng nhớ: Phần mềm Antivirus thờng trú chi phối ngắt DOS, tác vụ gọi DOS hàng loạt để mở file, đổi thuộc tính, lấy đặt lại ngày cập nhật file đợc ghi nhận thông báo có mặt virus Tuy vậy, loại virus tinh khôn, việc lấy địa gốc DOS điều dễ dàng nên kiểm soát đợc hành động virus 4/ Khôi phục hậu quả: Những phá hoại F - virus tàn nhẫn nh xóa FAT, ROOT, format đây, gặp hậu đ virus, việc tốt cần làm đừng vội v format lại đĩa, số virus format đĩa nhiều, mà xóa phần hay format lần đĩa Phần lại khôi phục lại số phần mỊm chuyªn dơng nh− Fixdisk cđa Pctool, NDD cđa Norton Untilities Nếu không sửa chữa đợc thông tin đĩa có giá trị nên mời nhà chống virus đến trớc có định cuối format đĩa 92 www.updatesofts.com Phụ Lục Một Số Chơng Trình Mô Phỏng 1/ Đoạn chơng trình mô virus PingPong ;Tạo trái ball hình Nó chuyển động tuân theo định ;luật phản xạ Không ảnh hởng đến hoạt động máy Code Segment byte public Assume CS: code DS: code org 100h main Proc near jmp begin main endp int8 proc near push DS ;CÊt ghi push AX push BX push CX push DX ;Kiểm tra xem mode hình có thay đổi không push CS pop DS mov AH, 0Fh int 10h ;LÊy mode video mov BL, AL cmp BX, word ptr DispMode ;? Thay mode je cont1 ;CËp nhËt tham sè míi nÕu cã thay ®ỉi mov word ptr DispMode, BX dec AH mov byte ptr MaxColumn, AH mov AH, cmp BL, jne cont2 dec AH Cont2: cmp BL, jae cont3 dec AH Cont3: mov byte ptr TextGraph, AH mov word ptr CurPos, 101h mov word ptr Direction, 101h 93 mov AH, ;Đọc vị trÝ trá hiÖn thêi int 10h push DX mov DX, word ptr CurPos jmp cont4 Cont1: mov AH, ;Đọc vị trí trỏ thời int 10h push DX ;Cất vị trí vào Stack mov AH, ;Đặt lại vị trí trỏ mov DX, word ptr CurPos ;Tíi vÞ trÝ Ball int 10h mov AX, word ptr CharAtrib ;Mode hình thời cmp byte ptr TextGraph, ;Graph hay Text jne cont5 ;NÕu lµ Graph sÏ dïng XOR mov AX, 8307h ; character bite cont5: mov BL, AH mov CX, ;Trả lại kí tự cũ vị trí mov AH, ;Ball đ chiÕm int 10h cont4: ;TÝnh to¸n h−íng nÈy cđa ball mov CX, word ptr Direction cmp DH, jne cont6 xor CH, 0FFh inc CH Cont6: cmp DH, 10h jne Cont7 xor CH, 0FFh inc CH Cont7: cmp DL, jne cont8 xor CL, 0FFh inc CL cont8: cmp DL, byte ptr MaxColumn jne cont9 xor CL, 0FFh inc CL cont9: cmp CX, word ptr Direction jne cont11 94 www.updatesofts.com mov and cmp jne xor inc AX, word ptr CharAttrib AL, AL, cont12 CH, 0FFh CH cont12: cmp AL, jne cont11 xor CL, 0FFh inc CL cont11: add DL, CL add DH, CH mov word ptr Direction, CX mov word ptr CurPos, DX mov AH, int 10h mov AH, int 10h mov word ptr CharAttrib, AX mov BL, AH cmp byte ptr TextGraph, jne cont13 mov BL, 83h cont13: mov CX, mov AX, 0907h int 10h pop DX mov AH, int 10h pop DX pop CX pop AX pop DS cont14: jmp far 0000:0000 int8 endp CharAttrib dw CurPos dw 101h Direction dw 101h TextGraph db 0FFh DispMode db 0FFh PageActive db 0FFh ;Đặt trỏ vào vị trí mới, ;đọc kí tự bị Ball thay ;Kí tự đợc trả lại kì ;gọi ngắt ;In Ball hình vị trí ; mới, hình chế ;độ Graphic, kí tự thời ;đợc XOR charactor bits ;Đặt trỏ lại vị trí cũ trớc ;khi gọi ngắt cáCH lấy lại ;trong Stack 95 MaxColumn db install proc near begin: mov AX, 3508h ;Lấy địa ngắt int 21h mov word ptr [cont14+1], BX ;Cất địa mov word ptr [cont14+3], ES mov DX, offset int8 ;Thay ng¾t mov AX, 2508h int 21h mov DX, offset begin ;Th−êng tró b»ng ng¾t 27h int 27h install endp code ends end main 2/ Đoạn chơng trình mô Yankee Doodle virus ;Lập trình loa - cho phép chơi Yankee Doodle ;Không ảnh hởng đến hoạt động cđa m¸y code segment byte public assume CS: code, DS: code org 100h main proc near jmp begin main endp newint1C proc near pushf push AX push BX push DS push ES push CS push DS cmp byte ptr active, ;Đ active cha, không active jne exit cmp byte ptr active, ;Đ bắt đầu chơi cha, jne cont3 ;sẽ không reset lại ;Phần reset buffer chứa Note Delay mov word ptr beginMusic, offset music mov word ptr beginDelay, offset delay mov byte ptr active, ;Đặt cờ báo đ reset cont3: cmp byte ptr cont, ;? Delay mét note đ hết cha, je cont1 ;không đếm cách giảm 1đơn vị dec byte ptr count 96 www.updatesofts.com jmp exit coun1: ;Phần chơi note cách lấy note bufferBeginMusic ;và thời gian buffer beginDelay, thời gian đợc đếm biÕn Count mov BX, BeginMusic cmp DS: word ptr [BX], -1 ;Cuèi buffer ch−a jne count2 in AL, 061h ;T¾t loa cách tắt bit and AL, 0FCh out 61h, AL mov byte ptr active, jmp exit cont2: ;Lập trình cho kênh 8253 mov AL, 0B6h out 43h, AL mov AX, DS:[BX] out 42h, AL mov AL, AH out 42h, AL in AL, 61h or AL, out 61h, AL add word ptr BeginMusic, mov BX, BeginDelay mov AL, byte ptr DS:[BX] dec AL mov count, AL inc word ptr BeginDelay exit: pop ES pop DS pop BX pop AX popf jmp CS: dword ptr int1C newint1C endp int1c dw music db 0C7h, 11h, 0C7h, 11h, 0E6h, 0Fh, 28h, 0Eh, 0C7h, 11h, 28h, 0Eh, 0E6h, 0Fh, 04Ch, 17h db 0C7h, 11h, 0C7h, 11h, 0E6h, 0Fh, 28h, 0Eh, 0C7h, 11h, 0C7h, 11h, 0C7h, 11h, 0C7h, 11h db 0E6h, 0Fh, 28h, 0Eh, 59h, 0DH, 28h, 0Eh, 0E6h, 0Fh, 0C7h, 11h, 0Efh, 12h, 0C4h, 17h db 02Ch, 15h, 0Efh, 12h, 0C7h, 11h, 0C7h, 11h, 02Ch, 15h, 0Efh, 12h, 02Ch, 15h, 0C5h, 1Ah db 02Ch, 15h, 0Efh, 12h, 0C7h, 11h, 02Ch, 15h, 0C4h, 17h, 02Ch, 15h, 0C4h, 17h, 0C5h, 1Ah 97 db 67h, 1Ch, 0C5h, 1AH, 0C4h, 17h, 2Ch, 15h, 0EFh, 12h, 2Ch, 15h, 0C5h, 1Ah, 2Ch, 15h db 0EFh, 12h, 0C7h, 11h, 2Ch, 15h, C4h, 17h, C7h, 11h, 0EFh, 12h, 0E5h, 0Fh, 0C7h, 11h db 0C7h, 11h, 0FFh, 0FFh delay db 5h, 5h, 5h, 5h, 5h, 5h, 5h, 5h, 5h, 5h, 5h, 5h, 9h, 9h, 5h, 5h db 5h, 5h, 5h, 5h, 5h, 5h, 5h, 5h, 5h, 5h, 9h, 9h, 5h, 5h, 5h, 5h db 5h, 5h, 5h, 5h, 5h, 5h, 5h, 5h, 5h, 5h, 5h, 5h, 5h, 5h, 5h, 5h db 5h, 5h, 6h, 5h, 5h, 5h, 5h, 9h, 9h beginMusic dw offset music beginDelay dw offset delay active db active1 db count db install proc near begin: AX, 351Ch ;ChiÕm ng¾t 1Ch int 21h mov DS: word ptr int1C, BX mov DS: word ptr [int1C+2], ES lea DX, NewInt1C ;Thay địa ngắt 1Ch mov AX, 251Ch int 21h lea DX, begin int 27h ;Th−êng tró b»ng ng¾t 27h install endp code ends end main 98 www.updatesofts.com Tµi LiƯu Tham Khảo I Sách: 1/ V.i.R.U.S Protection 2/ Norton Disk Companion II PhÇn mỊm: 1/ Doshelp Flamebeaux Software 2/ Norton Guide Norton 3/ A86/D86.com Eric Isaacson 4/ Các chơng trình virus ??? Kane Pamela Peter Norton 99 Môc Lôc Lêi nói đầu Giíi thiƯu tỉng qu¸t vỊ virus tin häc I Virus vµ Trjan horse II ý t−ëng lịch sử III Cách thức lây lan phá ho¹i Chơng 1: Đĩa - Sơ lợc đĩa I Cấu tróc vËt lÝ II CÊu tróc logic III C¸c t¸c vơ truy xt ®Üa 28 Ch−¬ng 2: B - virus I Phơng pháp lây lan II Phân loại III CÊu tróc chơng trình B - virus 52 IV Các yêu cầu B - virus 54 V Ph©n tÝch kÜ thuËt VI Ph©n tÝch mét B - virus mÉu VII Cách phòng chống chữa trị virus Chơng 3: Quản lí file vùng nhớ dới DOS I Quản lí tỉ chøc thi hµnh file d−íi DOS II Tỉ chøc qu¶n lÝ vïng nhí Ch−¬ng 4: F - virus I Phơng pháp lây lan II Phân loại III Cấu trúc chơng trình B - virus 52 IV Các yêu cầu cña mét B - virus 54 V Ph©n tÝch kÜ thuËt VI Ph©n tÝch mét B - virus mÉu VII Cách phòng chống chữa trÞ virus 100 13 17 49 51 56 49 51 56 ... tợng lây lan file hay ®Üa, ta chia virus thµnh hai nhãm chÝnh: + B - virus (boot virus) : virus công lên Boot sector hay Master boot + F - virus (file virus) : virus công lên file thi hành đợc (dạng... i virus (hay nhà thiết kế virus) , nhiên hầu hết virus sau dùng Master boot Boot sector Vấn đề then chốt mà virus cần phải giải Boot sector nguyên thủy đĩa Rõ ràng Boot phải đợc thay, nhng virus. .. record đợc gọi SB - virus (Single B - virus) Mặt khác, cất Boot sector vào nơi an toàn đĩa, tránh khỏi sai lầm, mát xảy Vì kích thớc vùng an toàn định vị nên chơng trình virus thờng chiếm nhiều

Ngày đăng: 11/05/2021, 01:55

Tài liệu cùng người dùng

Tài liệu liên quan