Trong phần này sẽ giới thiệu tổng quan các công cụ được sử dụng trong phân tích mã độc nói chung. Bằng việc kết hợp chúng lại với nhau, kết hợp với tư duy logic, kinh nghiệm phân tích, người thực hiện sẽ đạt được kết quả như mong muốn. Đầu tiên là việc xây dựng một môi trường an toàn và hiệu quả để phân tích mã độc.
Tạo môi trường môi trường phân tích mã độc an toàn và hiệu quả
Mã độc thường có những hành vi, tính năng xấu, do đó, khi phân tích, không nên chạy trực tiếp trên môi trường máy thật. Điều này cũng chỉ là tương đối, nhưng đúng với phần lớn (~80%) các mã độc hiện nay. Bởi vì có một số dòng mã độc, sử dụng những kỹ thuật phát hiện môi trường giả lập (sẽ nói đến ở phần dưới đây) tiên tiến để tránh việc bị phân tích động, trong khi phân tích tĩnh nó là một điều khá khó khăn. Một lý do nữa để sử dụng môi trường ảo đó là có những trường hợp chúng ta không thể sử dụng môi trường thật (ví dụ như virus tấn công mạng ngân hàng, hệ thống điện trong nhà máy điện hạt nhân…). Thông thường, để phân tích tĩnh, sẽ cần một môi trường giả lập. Môi trường giả lập có thể là các máy ảo, hoặc là hệ thống máy tính (thật) nối với nhau tạo thành một hệ thống giả lập cho hệ thống thực tế nào đó (ví dụ hệ thống máy tính quản lý điện năng trong nhà máy điện hạt nhân ở trên). Tuy nhiên ở đây, chúng ta sẽ chỉ nói đến hệ thống máy ảo. Máy ảo (virtual machines), dựa trên công nghệ ảo hóa (phần cứng và phần mềm), giúp người phân tích dễ dàng tạo ra một hệ thống máy tính mà mình muốn, tạo các bản backup, snapshot dễ dàng. Có rất nhiều công cụ phục vụ cho mục đích này, cả miễn phí và trả phí: Oracle VirtualBox (Miễn phí), VMWare (Trả phí), Microsoft Virtual PC. Theo đánh giá chung của giới phân tích, VMWare là công cụ mạnh nhất, dễ sử dụng, cung cấp môi trường làm việc thân thiện, mức độ ảo hóa cao, an toàn. Khi sử dụng các công cụ này, cũng cần lưu ý các điểm sau:
- Các phần mềm ảo hóa không hoàn hảo, và có thể để lọt thông tin ra ngoài môi trường máy thật, gây nguy hiểm.
- Mã độc có thể phát hiện ra rằng nó đang chạy trên môi trường ảo, và không hoạt động theo cách mà nó chạy trên máy thật, gây ra nhầm lẫn cho người phân tích.
- Các sâu 0-day có thể khai thác dịch vụ đang lắng nghe trên máy thật và thoát khỏi cơ chế sandbox của máy ảo.
Nếu cần thiết lập một môi trường chuyên biệt cho phân tích mã độc, có thể sử dụng một vài công cụ hỗ trợ như:
- Norton Ghost: giúp cho việc khôi phục lại bản chụp hệ thống một cách dễ dàng. Tuy nhiên, công cụ này cần phải trả phí.
- Ghost: một công cụ có chức năng tương tự, hoạt động tương đối tốt, và miễn phí.
- Truman: là một hệ thống chuyên biệt cho quá trình phân tích mã độc sử dụng một bộ máy vật lý (máy thật).
- CoreProtect cũng tạo ra một phần cứng gọi là “hard drive write card” có thể được sử dụng để thiết lập một hệ thống có khả năng khôi phục lại chính nó trở về nguyên trạng mỗi lần khởi động lại.
Hình 1: CoreRestore card của CoreProtect
Khi đã chọn xong việc sử dụng máy ảo hoặc máy thật, bước tiếp theo là xác định mức độ truy cập mạng mà các máy này cần. Có thể dễ dàng điều khiển quá trình phân tích mã độc sử dụng máy nạn nhân kết nối với internet và có thể kết nối đến một máy chủ điều khiển do kẻ phát tán sử dụng. Tuy nhiên, cách tiếp cận này có một vài hạn chế:
- Kẻ tấn công có thể thay đổi hành vi của mã độc khi có kết nối từ một máy không do hắn điều khiển.
- Địa chỉ IP bên ngoài được sử dụng bởi máy phân tích có thể trở thành mục tiêu cho những cuộc tấn công khác.
- Nếu mã độc tự động phát tán hoặc thực hiện hành động tấn công DDoS, máy phân tích trở thành một kẻ tấn công hệ thống khác.
Bởi những lý do đó, khi phân tích mã độc, nên sử dụng một mạng đóng với các dịch vụ ảo hóa (DNS Servers, HTTP server…). Cách tiếp cận này đòi hỏi nhà phân tích có nhiều kinh nghiệm thiết lập, cấu hình hệ thống hơn. Ví dụ, theo phương pháp này, để phân tích những mã độc có khả năng tấn công DoS, hay DDoS, cần phải giả lập server điều khiển một cách chính xác nhất. Đây không phải là một việc dễ dàng nhưng nó đáng để thực hiện, nhằm tối thiểu hóa tác hại thực sự mà mã độc gây ra. Phần sau tôi sẽ giới thiệu với các bạn một số công cụ để phân tích tĩnh mã độc.