Nén và mã hóa (Compression & Encryption)

Một phần của tài liệu Xây dựng hệ thống phát hiện, cảnh báo, ngăn chặn mã độc dựa trên hành vi (Trang 43 - 44)

2. CHƯƠNG 2: CÁC KỸ THUẬT VƯỢT QUA CÁC CHƯƠNG TRÌNH

2.1.2.Nén và mã hóa (Compression & Encryption)

Nén và mã hóa là kỹ thuật mã độc tự nén hoặc mã hóa thân chương trình. Khi mã độc được thực thi, nó sẽ tiến hành giải nén và giải mã trước khi thực hiện các hành vi gây hại khác. Bằng cách này mã độc có thể thay đổi hình dạng nhưng không thay đổi hành vi. Do đó phương pháp dò quét theo chữ ký sẽ không thể phát hiện ra được biến thể mới của mã độc. Điều này cũng làm cho các chuyên gia phân tích cũng khó khăn hơn rất nhiều để phân tích hành vi của mã độc, vì trước khi tiến hành phân tích thì cần phải giải mã hoặc giải nén được thân chương trình của mã độc.

Một trong những loại mã độc đầu tiên sử dụng kỹ thuật mã hóa là mã độc “Cascade” trên hệ điều hành DOS trước đây.

Cấu trúc chung của mã độc được nén hoặc mã hóa bao gồm hai phần là: phần thân được nén hoặc mã hóa và phần chương trình dùng để giải nén hoặc giải mã. Hình 2.2 mô tả cấu trúc của loại mã độc này:

sub eax, 1 add eax, ebx inc eax sub eax, ebx

Hình 2.2: Cấu trúc mã độc sử dụng kỹ thuật gây rối mã hóa

Hiện nay có rất nhiều các kỹ thuật mã hóa và nén khác nhau. Với mỗi một kỹ thuật, mã độc chỉ cần thay đổi một giá trị gọi là “khóa” thì có thể tạo ra biến thể mới. Các biến thể này có hình dạng khác nhau nhưng hành vi không thay đổi. Qua đó gây ra rất nhiều khó khăn trong việc dò quét mã độc.

Để tăng độ phức tạp, nhiều loại mã độc còn sử dụng nhiều phương pháp mã hóa khác nhau. Hình 2.3 mô tả cấu trúc loại mã độc này:

Hình 2.3: Cấu trúc mã độc sử dụng nhiều phương pháp mã hóa

Khi mã độc được thực thi, các đoạn mã có nhiệm vụ giải mã sẽ tiến hành giải mã lần lượt trước khi mã độc thực hiện các hành vi độc hại khác. Loại mã độc này gây ra rất nhiều khó khăn trong phân tích và phát hiện.

Một phần của tài liệu Xây dựng hệ thống phát hiện, cảnh báo, ngăn chặn mã độc dựa trên hành vi (Trang 43 - 44)