Tải bản đầy đủ (.pdf) (6 trang)

Tổng quan về mẫu malware Virus.Win32.Virut.ce- Phần 4 ppsx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (319.61 KB, 6 trang )

Tổng quan về mẫu malware Virus.Win32.Virut.ce
Phần 4


Giải mã phần body chính
Bộ phận đảm nhiệm khả năng thực thi
trong các đoạn code được giải mã, sẽ khởi
động sau khi virus hoàn tất các hoạt động
ban đầu của nó như việc khôi phục mã
gốc, khởi tạo tên đối tượng và lưu trữ địa
chỉ của các hàm tương ứng được sử dụng
trực tiếp từ thư viện hệ thống DLLs và
anti-cycle.
Nếu quá trình giải mã Main được xem là 1
phần hoặc 1 bộ phận phân tách riêng biệt,
thì toàn bộ mã sinh ra bởi tiến trình này
hoàn toàn vô nghĩa, ví dụ như chỉ dẫn
RETN được gọi ra để quản lý, điều khiển
việc thay đổi vị trí 1 cách ngẫu nhiên.
Trước khi quá trình giải mã chính thức
diễn ra, RETN (0C3h) sẽ đư
ợc thay thế bởi
hàm CALL (0E8h). Chúng ta có thể hình
dung quá trình này như sau:
ADD/SUB
/XOR [EBP + xx], bytereg
Theo đó, EBP sẽ được trỏ tới địa chỉ của
hàm CALL, và bytereg chỉ là 1 trong số
những giá trị byte đã được đăng ký.
Do vậy, chúng ta có thể cho rằng chu trình
bắt đầu thực sự sau khi quá trình giải mã


RETN sẽ được thay đổi thành CALL.
Theo đúng trình tự là quá trình obfuscated
– phần còn lại của body của virus. Không
chỉ sử dụng số lượng lớn các thuật toán, v
à
nhiều trong số này thực sự phức tạp hơn
rất nhiều so với phần còn lại với trình giải
mã Init. Thông thường, sẽ có từ giữa 2 đ
ến
6 các thuật toán được dùng để kết hợp. Và
trong các thuật toán này, trình quản lý
đăng ký EDX chứa key giải mã, và với
EAX chứa toàn bộ địa chỉ ảo nơi bắt đầu
của static body. Các ứng dụng quản lý
register chứa đựng các chỉ dẫn của hàm
tương ứng có thể giống như sau:
MOVZX/MOV dx/edx, [ebp + const] LEA
eax, [ebp + const]
Các thuật toán được sử dụng chủ yếu như
trong ví dụ dưới đây:
ROL DX, 4
XOR [EAX], DL

IMUL EDX, EDX, 13h

ADD [EAX], DL

ROL DX, 5
IMUL EDX, 13h


XOR [EAX], DH

ADD [EAX], DL

XCHG DH, D
L
IMUL EDX, 1Fh

XOR [EAX], DH

XCHG DH, DL

ADD [EAX], DH

IMUL EDX, 1Fh

XOR [EAX], DL

ADD [EAX], DH

IMUL EDX, 2Bh
XCHG DH, DL

Đương nhiên, những chỉ dẫn đư
ợc sử dụng
này sẽ thay đổi theo thời gian.

M
ột phần đoạn m
ã

đư
ợc tách rời ra từ

×