HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA AN TOÀN THÔNG TIN BÁO CÁO BÀI TẬP LỚN MÔN HỌC CƠ SỞ AN TOÀN THÔNG TIN Đề tài TÌM HIỂU VỀ VIRUS MÁY TÍNH Giảng viên ThS VŨ THỊ VÂN MỤC LỤC LỜI MỞ ĐẦU 2 DANH MỤC HÌNH ẢNH 3[.]
HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA AN TỒN THƠNG TIN BÁO CÁO BÀI TẬP LỚN MÔN HỌC CƠ SỞ AN TỒN THƠNG TIN Đề tài: TÌM HIỂU VỀ VIRUS MÁY TÍNH Giảng viên: ThS VŨ THỊ VÂN MỤC LỤC LỜI MỞ ĐẦU DANH MỤC HÌNH ẢNH .3 CHƯƠNG TỔNG QUAN VỀ VIRUS MÁY TÍNH (1) 1.1 Định nghĩa Virus máy tính 1.2 Vòng đời Virus .4 1.3 Phân loại Virus máy tính 1.3.1 Phân loại theo hình thức lây nhiễm 1.3.2 Phân loại theo NIST: CHƯƠNG CƠ CHẾ HOẠT ĐỘNG CỦA MỘT SỐ LOẠI VIRUS .8 2.1 Virus đa hình (2) 2.1.1 Định nghĩa 2.1.2 Một số kỹ thuật ngụy trang virus đa hình 2.2 Virus siêu đa hình .12 2.3 Virus tàng hình 13 2.3.1 Định nghĩa 13 2.3.2 Kỹ thuật ngụy trang virus tàng hình (3) 13 2.3.3 Một số loại virus tàng hình lịch sử 14 CHƯƠNG PHỊNG CHỐNG, NGĂN CHẶN VIRUS MÁY TÍNH (3) .18 3.1.1 Sử dụng phần mềm diệt virus .18 3.1.2 Sử dụng tưởng lửa cá nhân 18 3.1.3 Cập nhật vá lỗi hệ điều hành .19 3.1.4 Vận dụng kinh nghiệm sử dụng máy tính 19 3.1.5 Bảo vệ liệu máy tính .20 TÀI LIỆU THAM KHẢO 21 LỜI MỞ ĐẦU Ngày nay, tốc độ phát triển chóng mặt công nghệ thông tin, vấn đề đảm bảo cho an tồn thơng tin cá nhân, tổ chức doanh nghiệp kéo theo Trong nhiều vấn đề đó, có vấn đề đáng lo ngại cho an toàn người sử dụng mạng máy tính Virus máy tính Xuất từ năm 1949, Virus máy tính ngày đa dạng chủng loại, cách thức hoạt động gây thiệt hại lớn tới nhiều cá nhân, tổ chức, doanh nghiệp Hiểu tình hình đó, Nhóm 11 thực đề tài “Tìm hiểu Virus máy tính” để tìm kiếm bổ sung thêm thơng tin, kiến thức cho đặc điểm chung Virus số loại Virus cụ thể Từ tìm cách phịng chống, ngăn chặn chúng để đảm bảo an tồn cho thơng tin, liệu Nội dung báo cáo trình chương: Chương 1: Tổng quan Virus máy tính Chương 2: Cơ chế hoạt động số loại Virus máy tính Chương 3: Phịng chóng, ngăn chặn Virus máy tính Nhóm xin cảm ơn Cơ Vũ Thị Vân tạo hội cho chúng em có hội bổ sung kiến thức Vì điều kiện thời gian khơng nhiều, kinh nghiệm chúng em cịn hạn chế, khơng thể tránh khỏi thiếu sót Nhóm chúng em hy vọng nhận ý kiến đóng góp từ Cơ để hồn thiện đề tài DANH MỤC HÌNH Ả Hình 1 Phân loại virus máy tính theo hình thức lây nhiễm .4 Y Hình Kỹ thuật mã hóa Virus đa hình .9 Hình 2 Kỹ thuật hốn vị Virus đa hình 10 Hình Sự can thiệp vào chuỗi xử lý ngắt virus 13 Hình Virus Brain 15 Hình Thống kê BKAV Virus Fileless .15 Hình Ví dụ chế hoạt động Fileless .16 Hình Virus Fileless .16 Hình Khóa (Key) Registry 17 Hình Mã powershell virus 18 CHƯƠNG TỔNG QUAN VỀ VIRUS MÁY TÍNH[ CITATION TSN13 \l 1033 ] 1.1 Định nghĩa Virus máy tính Virus loại mã độc hại (Malicious code) có khả tự nhân lây nhiễm vào file, chương trình máy tính Virus phải ln bám vào vật chủ (có thể file liệu file ứng dụng) để lây lan Các chương trình diệt virus dựa vào đặc tính để thực thi việc phịng chống diệt virus, để quét file thiết bị lưu, quét file trước lưu xuống ổ cứng,… Điều giải thích đơi phần mềm diệt virus PC đưa thông báo “phát virus không diệt được” thấy có dấu hiệu hoạt động virus PC, “vật mang virus” lại nằm máy khác nên khơng thể thực thi việc xóa đoạn mã độc hại Virus làm việc mà chương trình khác làm Virus khác điểm tự đính kèm vào chương trình thực thi bí mật chương trình mang virus thực thi Khi virus thực thi làm việc hệ thống xóa file, chương trình 1.2 Vịng đời Virus Vịng đời virus gồm giai đoạn: Dormant (nằm im): Trong giai đoạn virus khơng làm kích hoạt hay kiện Propagation (lây lan): Trong giao đoạn virus thực việc chép tới chương trình, vị trí khác ổ đĩa Triggering (kích hoạt): Trong giai đoạn virus kích hoạt để thực thi chức Execution (thực thi): Chức virus thực thi Chức vô hại gửi thông điệp tới hình, chức có hại phá hủy chương trình, file hệ thống Để tránh việc lây nhiễm nhiều lần lên chương trình, đoạn mã virus thường chứa phận gọi chữ ký (ví dụ: chuỗi ký tự đặc biệt) Trong pha lây lan, virus kiểm tra tồn chữ ký chương trình đích thực việc lây lan chương trình chưa có chữ ký 1.3 Phân loại Virus máy tính Hiện nay, chưa có cách phân loại thống cho loại virus Thơng thường, người ta phân loại virus theo hình thức lây nhiễm, theo cách virus che giấu thân, Dưới đây, trình bày phân loại theo hình thức lây nhiễm virus theo chuẩn NIST 1.3.1 Phân loại theo hình thức lây nhiễm Virus gồm loại chính: Hình 1 Phân loại virus máy tính theo hình thức lây nhiễm Memory – resident virus (virus trú nhớ chính): Cư trú nhớ phần chương trình hệ thống Theo virus gây ảnh hưởng chương trình thi Program file virus (virus lây file): Gây ảnh hưởng đến file chương trình exe/com/sys Polymorphic virus (virus đa hình): Loại virus tự thay đổi hình thức nó, gây khó khăn cho chương trình diệt virus Virus “Tequilla” loại virus đa hình xuất năm 1991 Boot Sector virus: Là loại virus giới phổ biến rộng rãi viết vào năm 1986 Boot virus lợi dụng tiến trình boot máy tính để thực việc kích hoạt Khi máy tính khởi động, ln tìm đến master boot record lưu trữ lại địa head 0, track 0, sector để đọc thông tin Boot Sector virus lây lan đĩa cứng khởi động hệ thống từ đĩa mềm bị nhiễm Stealth virus: Đây loại virus có khả tự che giấu khơng hệ điều hành phần mềm chống virus biết Nó nằm nhớ để ngăn chặn sử dụng hệ điều hành che giấu thay đổi kích thước tập tin Những virus bị phát chúng cịn nhớ Có nhiều Boot Sector virus có khả Stealth Ví dụ virus “The Brain” tạo Pakistan Basit Amjad Chương trình nằm phần khởi động (boot sector) đĩa mềm 360Kb lây nhiễm tất ổ đĩa mềm Đây loại “stealth virus” Macro virus: Là tập lệnh thực thi ứng dụng Macro virus phổ biến ứng dụng Microsoft Office tận dụng khả kiểm soát việc tạo mở file để thực thi lây nhiễm Ví dụ: virus Baza, Laroux số virus Staog xuất năm 1996 công file hệ điều hành Windows 95, chương trình bảng tính Excel Linux Virus Melisa Macro virus tiếng Thư điện tử virus: Là virus phát tán qua thư điện tử Ví dụ virus Melissa đính kèm thư điện tử Nếu người dùng mở file đính kèm Macro kích hoạt sau thư điện tử virus tự động gửi tới tất hịm thư có danh sách thư người 1.3.2 Phân loại theo NIST: Theo Viện Tiêu chuẩn Kĩ thuật Quốc gia Hoa Kỳ (National Institute of Standards and Technology – NIST), virus máy tính gồm loại sau: Compiled Virus virus mà mã thực thi dịch hồn chỉnh trình biên dịch để thực thi trưc tiếp từ hệ điều hành Các loại boot virus (Michelangelo Stoned), file virus (như Jerusalem) phổ biến năm 80 virus thuộc nhóm này, compiled virus pha trộn boot virus file virus phiên Interpreted Virus tổ hợp mã nguồn mà thực thi hỗ trợ ứng dụng cụ thẻ dịch vụ cụ thể hệ thống Một cách đơn giản, virus kiểu tập lệnh, ứng dụng gọi thực thi Macro virus, scripting virus virus nằm dạng Macro virus phổ biến ứng dụng Microsoft Office tận dụng khả kiểm soát việc tạo mở file để thực thi lây nhiễm Sự khác macro virus scripting virus là: Macro virus tập lệnh thực thi ứng dụng cụ thể, scripting virus tập lệnh chạy service hệ điều hành Melisa ví dụ điển hình Macro virus, Love Stages ví dụ cho scripting virus CHƯƠNG CƠ CHẾ HOẠT ĐỘNG CỦA MỘT SỐ LOẠI VIRUS 2.1 Virus đa hình[ CITATION Phạ142 \l 1033 ] 2.1.1 Định nghĩa Virus đa hình (polymorphic virus) khác với virus máy tính thơng thường chỗ có khả tự biến đổi thân thành nhiều dạng khác Do virus đa hình liên tục biến đổi mã lệnh, nên thật khó để tìm đoạn mã đặc trưng nó, khó phát phương pháp so sánh mã truyền thống 2.1.2 Một số kỹ thuật ngụy trang virus đa hình 2.1.2.1 Mã hóa Một virus đa hình mã hố mã lệnh cách sử dụng giải thuật mã hố Giải thuật mã hố thường đơn giản mục đích q trình khơng phải để giữ bí mật mà để biến đổi mã lệnh (giải thuật đơn giản tốc độ mã hoá nhanh) Để tạo nhiều khác nhau, virus phải mã hố khoá khác lây vào file khác Một kỹ thuật thường virus sử dụng sử dụng phép tốn XOR, phép tốn có đặc điểm (A XOR K) XOR K = A, tức sau hai lần XOR với khoá K A trở giá trị ban đầu Trước tạo mới, virus tạo khố K ngẫu nhiên (có thể dựa vào thời gian hệ thống đó) Sau XOR mã nguồn với khố này, byte để tạo virus mã hoá nằm file bị nhiễm Khoá K cất file Vì khố ngẫu nhiên nên sinh thời điểm khác khác Khi muốn chạy, virus phải giải mã nó, nên cần có hàm giải mã cất file (hàm giải mã thực XOR mã virus với khoá K lần thứ hai để thu mã nguồn ban đầu) H ình Kỹ thuật mã hóa Virus đa hình Nhược điểm giải pháp không phép mã hố hàm giải mã Vì mã hố tồn mã nguồn virus, bao gồm hàm giải mã, virus khơng thể chạy khơng khơi phục mã nguồn ban đầu Nhưng không mã hố hàm giải mã chương trình diệt virus nhận dạng hàm giải mã, phát virus 2.1.2.2 Hoán vị Một kỹ thuật khác để tạo virus hoán vị ngẫu nhiên modul mã lệnh virus Giả sử virus có N modul khác số lượng phiên virus sinh N! (ví dụ 10! = 3628800, số lớn) Hình 2 Kỹ thuật hốn vị Virus đa hình Để đổi chỗ modul mà khơng làm thay đổi tác dụng chúng, mã lệnh virus phải có khả định vị lại chương trình nhớ, hoạt động modul phải độc lập với vị trí, sử dụng địa tương đối thay cho địa tuyệt đối Tuy nhiên, áp dụng đơn phương pháp hốn vị việc phát virus điều khó khăn, cho dù số lượng phiên virus lớn Chương trình diệt cần áp dụng phương pháp so sánh mã tuần tự, tức so sánh đoạn mã đặc trưng virus với vị trí file thi hành, vị trí cách byte Vì virus thay đổi trật tự modul, không làm thay đổi mã lệnh modul, nên khơng sớm muộn chương trình qt tìm đoạn mã đặc trưng file (nếu file bị nhiễm virus) 2.1.2.3 Thay đổi mã lệnh Để khắc phục nhược điểm kỹ thuật hoán vị, người viết virus đưa giải pháp khác, tìm cách thay đổi mã lệnh virus Nguyên tắc phải biến đoạn mã ban đầu thành đoạn mã khác, mà công dụng giữ nguyên Có nhiều cách để làm điều chèn lệnh, thay đổi ghi, thêm biến, thay lệnh… 10 Chèn lệnh: Đoạn mã sau để minh họa cho kỹ thuật này: MOV AX, A ADD AX, B ADD AX, C SUB AX, D MOV E, AX Đoạn mã có tác dụng thực phép toán E = A + B + C – D Ta biến đổi đoạn mã mà không làm thay đổi tác dụng cách chèn thêm số lệnh “vơ nghĩa” sau: MOV AX, A NOP ADD AX, B NOP ADD AX, C NOP SUB AX, D NOP MOV E, AX 11 NOP lệnh khơng làm cả, việc chèn vào lệnh khơng ảnh hưởng tới việc kết hoạt động đoạn mã Tuy nhiên ví dụ đơn giản, việc chèn lênh NOP liên tục, xen kẽ lệnh vậy, dễ khiến chương trình diệt virus nghi ngờ, trở thành đầu mối để phát virus Trên thực tế, người ta sử dụng nhiều kỹ thuật chèn khác chèn hai lệnh, chèn nhiều lệnh, … Thay lệnh: Đôi thay lệnh đoạn mã vài lệnh khác tương đương Ví dụ như: MOV AX, A ADD AX, B ADD AX, C SUB AX, D PUSH AX POP E Đoạn mã thực phép toán E = A + B + C – D Tuy nhiên, khơng trực tiếp chuyển giá trị ghi AX sang biến E mà đẩy giá trị vào stack, sau chuyển từ stack vào biến E Có nhiều kỹ thuật ngụy trang khác để thay đổi mã lệnh, tùy thuộc vào trình độ người viết virus độ phức tạp chương trình 12 2.2 Virus siêu đa hình Virus siêu đa hình (Super – polymorphic virus) hệ virus đa hình Thế hệ virus nâng cấp khả đa hình cách lai tạo, kết hợp nhiều loại kiểu kỹ thuật đa hình khác virus Virus siêu đa hình lây nhiễm tự động biến đổi, lai tạp, hình thành hệ virus F1, F2, … Fn với n số không xác định Sau lần lai tạp, khả phát phần mềm diệt virus loại virus ngày giảm Chính thế, virus siêu đa hình tránh khỏi hầu hết phần mềm diệt virus khơng có chế qt sâu (deep scan) Nếu phần mềm sử dụng nhận diện cố định để tìm virus siêu đa hình khơng thể tìm đủ “hình thể” dẫn tới không diệt triệt để Về mức độ phá hoại, virus siêu đa hình khơng kém, chí cịn nguy hiểm so với virus truyền thống Chúng thể lấy cắp liệu, lấy cắp thơng tin nạn nhân làm chậm hế thống làm giảm mức độ an ninh hệ thống hay lợi dụng tài nguyên máy tính để thực cơng mạng 2.3 Virus tàng hình 2.3.1 Định nghĩa Virus tàng hình (Stealth Virus) virus mà chúng chủ động thực kỹ thuật để che dấu lây nhiễm với hệ điều hành, phần mềm diệt virus Chúng chủ yếu thực hành động nhớ hệ điều hành 2.3.2 Kỹ thuật ngụy trang virus tàng hình[ CITATION Ayc \l 1033 ] Vì vi rút tàng hình cần theo dõi truy cập vào tệp bị nhiễm để chặn yêu cầu đó, chúng phải "móc" vào lệnh ngắt (như Int 13h Int 21h) Các ứng dụng sử dụng phần mềm ngắt để giao tiếp với hệ điều hành Hệ điều hành có bảng địa trình xử lý ngắt phần mềm Bất ngắt phần mềm gọi, hệ điều hành xác định địa trình xử lý ngắt, nhảy đến địa bắt đầu thực trình xử lý n ngắt Virus bám vào ngắt cách thay đổi địa trình xử lý ngắt n-1 thành vị trí mã virus Sau đó, định phải làm với yêu cầu Ngắt n cuối sau trả kết chưa có xảy Hình bên cho thấy quy trình ngắt bị ảnh hưởng loại virus ẩn 13 Hình Sự can thiệp vào chuỗi xử lý ngắt virus Sau can thiệp vào chuỗi ngắt, virus thực số kỹ thuật sau: 2.3.2.1 Điều chỉnh kích thước Virus tàng hình lây nhiễm tiến hành lưu trữ tất thơng tin gốc (ví dụ: nội dung, kích thước tệp, dấu thời gian, ) Giả sử có yêu cầu kiểm tra kích thước, trước kích thước trả về, virus tàng hình trừ kích thước với kích thước virus Điều khiến cho kích thước tệp khơng bị thay đổi 2.3.2.2 Chỉnh mốc thời gian Cũng giống cách trên, sau thao tác vào tệp, virus khôi phục lại dấu thời gian ban đầu, chưa chỉnh sửa 2.3.2.3 Lưu chưa nhiễm Virus tàng hình chí cịn tự xóa khỏi tệp kiểm tra Sau kết thúc, tái lây nhiễm vào tệp 14 2.3.3 Một số loại virus tàng hình lịch sử 2.3.3.1 Virus Brain[ CITATION Ayc \l 1033 ] Một ví dụ virus tàng hình Brain, loại vi rút DOS tạo từ thời kì virus Được phát vào năm 1986, Brain nhắm mục tiêu vào tảng PC IBM (và nói cách khác hệ điều hành MS-DOS) Bằng cách sử dụng kỹ thuật để che giấu tồn nó, loại virus tàng hình Brain nạp hệ thống bắt đầu cách giám sát đĩa vật lý Sau đó, chuyển hướng tất nỗ lực đọc khu vực bị nhiễm đến phần đĩa nơi chứa khu vực khởi động ban đầu, khơng bị nhiễm Hay nói tóm lại khơng thể chép với mục đích tránh vi phạm quyền phần mềm Hình Virus Brain 2.3.3.2 Virus Fileless[ CITATION Hướ \l 1033 ][ CITATION Hus \l 1033 ] Là loại virus có xu hướng gia tăng lây nhiễm Theo thống kê hệ thống BKAV, 800.000 máy tính Việt Nam bị nhiễm loại mã độc năm 2020, tăng gấp đơi so với năm 2019 15 Hình Thống kê BKAV Virus Fileless Fileless loại mã độc khơng có file, thực thi thông qua script Powershell, JS, VBS Cũng giống loại mã độc khác, Fileless phát tán thông qua đường khai thác lỗ hổng phần mềm, lỗ hổng hệ điều hành, email [ CITATION Hus \l 1033 ] Hình Ví dụ chế hoạt động Fileless Hình Virus Fileless Như hình 2.7, loại virus hồn tồn khơng có file, chạy thơng qua script PowerShell lưu registry Đoạn lệnh bên có ý nghĩa: 16 PowerShell.exe giải mã base64 thực thi script lưu registry HKCU:\ Software\Classes\isbCkwI\wXXEsNt Data value có type REG_EXPAND_SZ sau : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe WindowStyle hidden -NoLogo -NonInteractive -ep bypass -nop iex ([Text.Encoding]::ASCII.GetString([Convert]::FromBase64String((gp 'HKCU:\Software\Classes\isbCkwI').wXXEsNt))); Registry: Windows Registry sở liệu thứ bậc chứa tất cấu hình cài đặt sử dụng thành phần, dịch vụ, ứng dụng, nhiều tất thứ Windows Registry có hai khái niệm cần lưu ý: Khóa (Key) Giá trị (Value) Khóa đối tượng mà giống thư mục, tồn windows registry, chứa giá trị Giá trị giống tập tin thư mục, chúng chứa thiết lập thực Hình Khóa (Key) Registry Khóa hình HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Run khiến giá trị thực người dùng đăng nhập.[ CITATION Mic \l 1033 ] Quay trở lại với việc phân tích Fileless, tới registry lưu script, ta thấy lưu data dạng base64, giải mã đoạn script đẹp sau: 17 Hình Mã powershell virus Đây cách để virus che dấu thân với trình diệt virus 18 ... .3 CHƯƠNG TỔNG QUAN VỀ VIRUS MÁY TÍNH (1) 1.1 Định nghĩa Virus máy tính 1.2 Vòng đời Virus .4 1.3 Phân loại Virus máy tính 1.3.1 Phân loại theo... người sử dụng mạng máy tính Virus máy tính Xuất từ năm 1949, Virus máy tính ngày đa dạng chủng loại, cách thức hoạt động gây thiệt hại lớn tới nhiều cá nhân, tổ chức, doanh nghiệp Hiểu tình hình... tình hình đó, Nhóm 11 thực đề tài ? ?Tìm hiểu Virus máy tính? ?? để tìm kiếm bổ sung thêm thơng tin, kiến thức cho đặc điểm chung Virus số loại Virus cụ thể Từ tìm cách phịng chống, ngăn chặn chúng