Các phương pháp phân tích mã độc

Có 2 phương pháp phân tích chính đó là:

  1. Phân tích tĩnh (Code (static) analysis)
  2. Phân tích động (Behavioral (dynamic) analysis)
  3. Gỡ rối (Debug)
  4. Điều tra hành vi của mã độc (malware forensics)

Cả 2 phương pháp này cùng có mục đích là giải thích cách hoạt động của mã độc, công cụ, tuy nhiên thời gian làm việc và kỹ năng cần có thì lại rất khác nhau. Phân tích tĩnh thường đòi hỏi người phân tích xem xét kỹ mã của virus (đã được chuyển sang dạng có thể hiểu được, như assembly, hay C), hiểu được luồng thực thi và các hành vi của nó thông qua mã đã dịch ngược. Phân tích động là phân tích cách hoạt động của virus khi nó được thực thi, nó kết nối đến đâu, lây lan như thế nào, cài đặt những gì vào hệ thống, thay đổi thành phần nào, hoạt động ra sao. Mỗi phương pháp đều có điểm mạnh, yếu riêng.

Ví dụ như phương pháp tĩnh, với những loại virus phức tạp, thì để đọc hiểu được hết mã thực thi của nó là một việc rất khó; tuy nhiên phương pháp này cung cấp cho người phân tích cái nhìn hết sức chính xác về những gì mà nó làm. Phương pháp phân tích động, có ưu điểm là quá trình phân tích diễn ra nhanh hơn, dễ dàng hơn; tuy nhiên, không phải hành vi nào cũng phân tích được, đơn cử như những loại virus phát hiện ra công cụ phân tích thì nó sẽ không hoạt động nữa, hoặc virus chờ đến một lúc nào đó mới hoạt động. Vì thế, khi phân tích mã độc cần phải kết hợp cả 2 phương pháp trên để đạt được hiệu quả tốt nhất.

Phân tích tĩnh được thực hiện dưới sự hỗ trợ của các công cụ debugger, disassembler, decompiler (như OllyDbg, IDA, WinDbg…). Trong khi phân tích động dựa vào các công cụ monitor hệ thống, mạng (như ProcessMon, network monitor, TcpView, Autoruns…).

Bài viết sau tôi sẽ tiếp tục giới thiệu một số công cụ hỗ trợ trong quá trình thực hành phân tích mã độc.

Tran Quang Chien
Chuyên gia có nhiều năm kinh nghiệm về nghiên cứu, quản lý và phát triển các giải pháp trong lĩnh vực an toàn thông tin tại Việt Nam, nhà sáng lập chuyên trang tin tức và phân tích chuyên sâu về an toàn thông tin - SecurityDaily.NET.