Báo cáo Tìm hiểu virus trên Windows

pdf 26 trang yendo 4750
Bạn đang xem 20 trang mẫu của tài liệu "Báo cáo Tìm hiểu virus trên Windows", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbao_cao_tim_hieu_virus_tren_windows.pdf

Nội dung text: Báo cáo Tìm hiểu virus trên Windows

  1. Trường Đại Học Dân Lập Hải Phòng Khoa Công Nghệ Thông Tin Giáo viên hướng dẫn: ThS. Đỗ Xuân Toàn Sinh viên thực hiện: Tạ Thế Hiếu
  2. NỘI DUNG TRÌNH BÀY 1. Tổng quan về Virus 2. Các kỹ thuật xây dựng Virus trên Windows 3. Vài nét về Virus được xây dựng
  3. 1. TỔNG QUAN VỀ VIRUS 1.1. Virus là gì? 1.2. Cấu trúc của một Virus File 1.3. Các kỹ thuật xây dựng Virus
  4. 1. TỔNG QUAN VỀ VIRUS 1.1. Virus là gì? – Virus là một chương trình có khả năng tự sao chép chính nó. 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. – Virus xâm nhập vào máy tính và thực thi trong máy tính bằng cách nằm trong các chương trình lớn hơn.
  5. 1. TỔNG QUAN VỀ VIRUS 1.1. Virus là gì?(tt) Phân loại Virus: Có nhiều cách để phân loại Virus nhưng cách phân loại phổ biến hiện nay là phân loại theo đối tượng lây nhiễm, gồm có: – 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 thực thi.
  6. 1. TỔNG QUAN VỀ VIRUS 1.2. Cấu trúc của một virus file Begin Đã có CT trong vùng nhớ? Đúng Sai Cài đặt CT vào bộ nhớ RAM Tìm kiếm file để lây Không tìm thấy Tìm thấy Lây nhiễm Sai Cần phá họai? Đúng Thực hiện CT phá hoại Trả quyền điều khiển End
  7. 1. TỔNG QUAN VỀ VIRUS 1.3. Các kỹ thuật xây dựng Virus 1.3.1. Kiểm tra tính tồn tại 1.3.2. Kỹ thuật thường trú 1.3.3. Kỹ thuật tìm file đối tượng 1.3.4. Kỹ thuật lây lan 1.3.5. Kỹ thuật phá hoại 1.3.6. Kỹ thuật gây nhiễu nguỵ trang
  8. 1. TỔNG QUAN VỀ VIRUS 1.3.1. Kiểm tra tính tồn tại - Kiểm tra vùng nhớ Gọi hàm chức Di chuyển đến vị trí đã năng của virus định vị đoạn mã của virus Sai Sai So sánh với đoạn Kiểm tra giá trị Chưa lây Chưa lây mã của virus? hàm trả về? Đúng Đúng Đã lây Đã lây Kiểm tra bằng hàm chức năng Kiểm tra bằng dò đoạn mã
  9. 1. TỔNG QUAN VỀ VIRUS 1.3.1. Kiểm tra tính tồn tại (tt) - Kiểm tra file Mở file Mở file Mở file Nhảy tới: FileSize- Đọc tiêu đề Đọc n bytes n cuối file Đọc n bytes vào OK=FileSize-VirusSize buffer - HeaderSize So sánh Sai với n bytes Chưa lây Sai Kiểm Chưa lây của virus? Buffer = Chưa lây tra: Sai Keyvalue IP=OK? ? Đúng Đúng Đúng Đã lây Đã lây Đã lây Kiểm tra bằng kích thước Kiểm tra bằng cách dò đoạn mã Kiểm tra bằng Keyvalue
  10. 1. TỔNG QUAN VỀ VIRUS 1.3.2. Kỹ thuật thường trú - Kỹ thuật thường trú là một vấn đề khó giải quyết. - Khi virus thường trú dễ dẫn đến sự thường trú của chương trình chủ => Kích thước thường trú quá lớn => Dễ bị phát hiện - Một cách khắc phục đơn giản là lây vào các file nằm trong 2 thư mục Windows và System
  11. 1. TỔNG QUAN VỀ VIRUS 1.3.3. Kỹ thuật tìm file đối tượng Gọi chức năng FindFirstFile Tìm được file? Sai Đúng Sai File có thể lây? Đúng Sai File EXE? Đúng Đúng Đã lây nhiễm? Thưc hiện lây nhiễm Gọi chức năng FindNextFile
  12. 1. TỔNG QUAN VỀ VIRUS 1.3.4. Kỹ thuật lây lan Lấy thuộc tính Đặt lại thuộc tính (Normal) Mở file Kiểm tra đã lây nhiễm? Đúng Sai Lấy ngày giờ Ghi chương trình Virus Chỉnh lại Header Ghi lại Header Đặt lại ngày Đóng file Trả lại thuộc tính ban đầu
  13. 1. TỔNG QUAN VỀ VIRUS 1.3.5. Kỹ thuật phá hoại - Đây là cuộc chạy đua giữa các virus - Có nhiều kiểu phá hoại khi virus đã xâm nhập vào một hệ thống máy tính.
  14. 1. TỔNG QUAN VỀ VIRUS 1.3.6. Kỹ thuật gây nhiễu nguỵ trang - Đây là một kỹ thuật khó khi xây dựng virus - Khi một virus lây nhiễm vào một file điều không thể tránh khỏi là file chủ sẽ tăng kích thước. - Kĩ thuật này làm cho hệ điều hành và người sử dụng làm tưởng một file đang bị lây nhiễm là trong sạch
  15. 2. CÁC KỸ THUẬT XÂY DỰNG VIRUS TRÊN WINDOWS 2.1. Cấu trúc file EXE trên Windows 2.2. Cách tổ chức bộ nhớ trên Windows 2.3. Cách sử dụng hàm API trong Windows
  16. 2. CÁC KỸ THUẬT XÂY DỰNG VIRUS TRÊN WINDOWS 2.1. Cấu trúc file EXE của Windows • Một file exe Windows thực sự có 2 Hearder • Có một DOS header và 1 chương trình DOS đi kèm với nó • Sau DOS hearder là Windows hearder.
  17. The Windows EXE New Header Offset Cỡ Tên Mô tả 0 2 bytes Sidnature Nhận dạng header mới,luôn luôn chứa các bytes “NE” 2 1 Linker Version Nhận dạng liner liên kết với exe 3 1 Linker Rersion Số Phiên bản fụ of liên kết Entry Table Offset của Entry Table, tương ứng với diểm bắt đầu của 4 2 offset một hearder mới Entry Table 6 2 Độ dài của Entry table, tính bằng bytes Length 8 4 Reserved Bit Mô tả 0 1= đoạn dữ liệu đơn ( 1 DLL) 1= nhiều đoạn dữ liệu ( 1 chương trình ứng 1 0C 2 Flags dụng0 11 1= đoạn đàu tiên có mã tải ứng dụng 13 1= lỗi link-time 15 1= đây là 1 DLL 0E 2 Auto Data Chỉ rõ số đoạn dữ liệu tự động Segment 10 2 Local hep Size khởi tạo kích thước cua vùng heap, tính bằng bytes
  18. 12 2 Stack Size khởi tạo kóch thước vùng stack, tính bằng bytes 14 2 Initial IP Khởi tạo offset của điểm đầu. 16 2 Initial CS khởi tạo con trỏ CS – nhãn của bảng segment 18 2 Initial SP khởi tạo con trỏ SP cho chương trình 1A 2 Initial SS khởi tạo con trỏ SS – nhãn của bảng Segment 1C 2 Seg Table Số hiệu điểm đầu của bảng Segment Entries 1E 2 Mod Ref Tbl Số hiệu điểm đầu của bảng Module Reference Ents 20 2 Mod Nm Tbl Số hiệu điểm đầu của bảng Module Name Ents 22 2 Seg Table Offset Offset đến bảng Segment, bắt đầu từ hearder mới 24 2 Resre Tbl offset Offset đến bảng Resource, bắt đầu từ NH 26 2 Resre Nm Tbl Offset đến bảng tên Resident, bắt đầu từ hearder mới Offs
  19. 28 2 Mod Ref Offset đến bảng Module Reference Tbl Offs 2A 2 Imp Nm Offset đến bảng tên Imported Tbl Offs 2C 4 Nrs Nm Offset đến bảng tên Non-Resident, bắt đàu từ điểm bắt đầu của file, tính Tbl Offs bằng bytes 30 2 Mov Số bước có thể dịch chuyển của con trỏ đầu vào. Entry Pts 32 2 Seg Bản ghi cơ sơ 2 của kích thước đoạn sector Alignme Mặc định là 9=512 byte sector logic nt 34 2 Resourc Số hiệu của đoạn tài nguyên. e Segs 36 1 Op Sys Chỉ HĐH nào điều khiển file này(1=OS/2; 2=WindowsDOS) 37 1 Flags2 Bit Mô tả 1 1=ứng dụng của Windows2.x chạy trong chế độ protected 2 1=ứng dụng của Windows2.x chống lại sự tương thích các mẫu 3 1= Vùng tải nhanh các gói dữ liệu
  20. 2. CÁC KỸ THUẬT XÂY DỰNG VIRUS TRÊN WINDOWS 2.2. Cách tổ chức bộ nhớ trên windows - Windows sử dụng bộ quản lý bộ nhớ ảo để quản lý bộ nhớ. - Bộ nhớ của windows là bộ nhớ phẳng được chia thành từng page 4KB. - Một ứng dụng được cấp một không gian bộ nhớ trong đó chủ yếu là bộ nhớ ảo và chúng được sử dụng trong 2 chế độ: User mode và Kernel mode.
  21. 2. CÁC KỸ THUẬT XÂY DỰNG VIRUS TRÊN WINDOWS 2.3. Sử dụng hàm API - Hầu hết các dịch vụ ngắt DOS 21h đều có giá trị trong Windows - Tuy nhiên các Virus "Windowsy" lại gọi hàm API một cách trực tiếp - Các hàm API rất dễ sử dụng trong các ngôn ngữ lập trình bậc cao. - Cách sử dụng hàm API khi xây dựng virus trong ngôn ngữ Assembly khá phức tạp. Tuy nhiên có thể sử dụng cách gọi thông qua toán tử Invoke
  22. 3. VIRUS ĐƯỢC XÂY DỰNG 3.1. Lưu đồ thuật toán của Virus 3.2. Các thủ tục mà virus sử dụng
  23. 3. VIRUS ĐƯỢC XÂY DỰNG 3.1. Lưu đồ thuật toán của Virus Begin Xác định thư mục tìm kiếm Tạo file EXE của virus file lây nhiễm Tạo key mới trong Registry Số thý mục đã lây +=1 Không thấy Tìm kiếm file lần đâu trong thư mục Thấy Lấy đuôi mở rộng; Lần lấy += 1 Sai So sánh: đuôi mở rộng với đuôi Sai Lần lấy = 3? mở rộng của file Đúng Đúng Lây nhiễm Thấy Tìm file tiếp theo trong thư mục Không thấy Sai Số thư mục đã lây = 4? Đúng End
  24. 3. VIRUS ĐƯỢC XÂY DỰNG 3.2. Các thủ tục mà virus sử dụng - Thủ tục InStr2 - Thủ tục StrCat - Thủ tục StrCatDest: - Thủ tục StrCpy - Thủ tục GetNextString - Thủ tục RemoveFirstLast
  25. KẾT LUẬN - Virus là một chương trình máy tính nên rất dễ gây nhầm lẫm với một số chương trình của người sử dụng. - Ngoài cách dựa hoàn toàn vào các chương trình diệt virus ta cũng nên có thêm một chút kiến thức về hệ thống máy tính và virus để khỏi ngỡ ngàng, bối rối khi bị virus xâm nhập và phá hoại.
  26. EM XIN CHÂN THÀNH CẢM ƠN