18/09/2018, 14:58

Các kỹ thuật phân tích động mức cơ bản (Phần 1)

Phân tích động là các hành động thực hiện sau khi đã thực thi mã độc. Công nghệ phân tích tĩnh là bước tiếp theo trong quá trình phân tích mã độc. Bước này thông thường được thực hiện sau quá trình phân tích tĩnh mức cơ bản. Sử dụng kĩ thuật này có thể vượt qua được các hạn chế mà quá trình phân ...

Phân tích động là các hành động thực hiện sau khi đã thực thi mã độc. Công nghệ phân tích tĩnh là bước tiếp theo trong quá trình phân tích mã độc. Bước này thông thường được thực hiện sau quá trình phân tích tĩnh mức cơ bản. Sử dụng kĩ thuật này có thể vượt qua được các hạn chế mà quá trình phân tích mức cơ bản không làm được: packed, obfuscated.

Khác với phân tích tĩnh, phân tích động cho phép quan sát các hành vi thực sự của mã độc và đây cũng là một phương pháp hiệu quả để xác nhận hành vi có thực sự xảy ra và thực sự nguy hiểm hay không.

Tuy vậy, chúng ta nên thực thi việc phân tích động sau khi đã có đầy đủ các thông tin từ quá trình phân tích tĩnh, đồng thời cần thực hiện phân tích động trong các môi trường thích hợp  để đảm bảo không gây ra các ảnh hưởng tiêu cực tới môi trường thực.

Phân tích động cũng có những mặt hạn chế do không phải tất cả các chức năng của mã độc sẽ được thực thi trong quá trình phân tích mà cần có những điều kiện và môi trường cụ thể. Do đó, để phân tích mức chuyên sâu hơn, chúng ta cần có sự kết hợp từ phân tích động nâng cao cùng các kĩ thuật phân tích tĩnh để có thể xác định được toàn bộ hành vi của mã độc, từ đó tìm ra đặc trưng và phương pháp diệt.

XEM THÊM: Các kỹ thuật phân tích tĩnh cơ bản (Phần 1)

Sử dụng Sanboxes – Phương pháp phân tích mã độc nhanh chóng

Có tương đối nhiều các phần mềm cho pháp phân tích động mức cơ bản và hầu hết đều sử dụng công nghệ sandbox. Đây là công nghệ cho phép chạy các chương trình trong một môi trường thực thi an toàn, không sợ bị ảnh hưởng tới môi trường thực tế. Sandbox hội tụ đầy đủ các yếu tố, kể cả kết nối mạng để chương trình được chạy trong một môi trường tương tự môi trường thực tế.

Sử dụng sandbox để phân tích mã độc

Có rất nhiều sanbox hỗ trợ phân tích mã độc: Cuckoo Sandbox, Norman SandBox, GFI Sandbox, Anubis, Joe Sandbox, ThreatExpert, BitLaze, Comodo Instant Malware Analysis. Trong đó Cuckoo Sandbox, Norman SandBox và GFI Sandbox là các công cụ phổ biến nhất được các chuyên gia sử dụng.

Đặc điểm của các Sandbox này là kết quả đầu ra được phân chia chi tiết theo từng nhóm thông tin và rất dễ theo dõi. Một số sandbox còn tích hợp cả việc quét mã độc bằng các phần mềm antivirus nên rất tiện lợi cho người dùng.

Hầu hết các sanbox đều hoạt động theo cùng một nguyên lí chung, trong đó đi phân tích và theo dõi các thông tin:

  • Phân tích tổng quan: Liệt kê các thông tin phân tích tĩnh và tổng quan kết quả phan tích động.
  • Hành vi về file: Danh sách các file được mở, được tạo mới, được sửa hay bị xóa.
  • Các ngữ cảnh được tạo ra: Danh sách các ngữ cảnh được mã độc tạo ra.
  • Hành vi lên registry: Danh sách các thay đổi trên registry domã độc gây ra.
  • Hành vi liên quan tới mạng: Các hành vi mở cổng, truy vấn tên miền, truyền/tải dữ liệu.
  • Kết quả quét từ VirusTotal: Danh sách kết quả quét mã độc từ VirusTotal.

Nhược điểm của Sandbox

Sử dụng sandbox phân tích mã độc sẽ có một số nhược điểm:

  • Sandbox chạy mã độc ở mức lời gọi thông thường, bỏ qua các tham số có thể cần thiết cho việc thực thi các chức năng chính của mã độc.
  • Sandbox không thể ghi lại tất cả các hành vi hoặc thời gian có thể sẽ rất lâu. Ví dụ đối với các mẫu mã độc phát hiện môi trường sandbox và thực hiện vào 1 đoạn mã cho phép chương trình “ngủ” và không thực hiện bất cứ hành vi nào.
  • Một số mã độc yêu cầu một số giá trị trên registry mà chỉ tồn tại trên môi trường thật.
  • Nếu mã độc ở dạng DLL, việc thực thi mã độc tự động bằng sandbox gần như là không thể.
  • Nhiều mã độc được thiết kế cho các môi trường xác định (Hệ điều hành, phiên bản…), nếu không có môi trường phù hợp, mã độc sẽ lập tức ngừng thực thi.
  • Sandbox chỉ cung cấp các thông tin cơ bản và thường chưa đủ thông tin để kết luận về hành vi thực sự của mã độc

Chạy mã độc

Chạy mã độc là một bước hết sức quan trọng trong quá trình phân tích động. Mã độc trên hệ điều hành Windows được biên dịch sang 02 loại file chính (.dll, .exe).

Với các mã độc loại .exe, chúng ta có thể thực thi bằng cách click trực tiếp hoặc chạy qua cửa sổ dòng lệnh (cmd).

Với mã độc loại .dll, để chạy mã độc chúng ta sử dụng chương trình rundll32.exe hoặc thay đổi thông tin PE header để hệ điều hành gọi file .dll như file .exe.

Cú pháp chạy:

rundll32.exe DLLname, Export arguments

Export arguments: tên hàm hoặc thứ tự hàm trong bảng export functions.

Lưu ý: Một số DLL để thực thi cần được cài đặt dưới dạng dịch vụ, do đó cần chú ý quá trình chạy các DLL dạng này để xử lí cho phù hợp.

Giám sát các tiến trình sử dụng Process Monitor

Process Monitor hay procmon là công cụ giám sát cho hệ điều hành Windows, sử dụng để giám sát các hành vi tương tác trên  registry, file hệ thống, mạng, tiến trình, luồng. Đây là công cụ kết hợp và nâng cao tính năng của hai bộ công cụ: FileMon và RegMon.

Mặc dù vậy, promon cũng không ghi lại được toàn bộ thông tin, đặc biệt là các thông tin vào/ra, các hành vi tương tác lên mạng.

Tiến trình Proccess Monitor

Sử dụng Procmon để theo dõi các tiến trình

Lưu ý:

  • Promon theo dõi được tất cả các lời gọi hàm ngay khi nó xảy ra và sử dụng bộ nhớ trong RAM để thực hiện công việc này, do đó cần cung cấp đủ RAM khi sử dụng.
  • Trong Promon có nhiều tùy chọn các tính năng (các cột) để xem, chúng ta nên chỉ chọn những trường cần thiết để tránh thông tin bị loãng.
  • Có thể thực hiện hành vi lọc (Filter) với nhiều tùy chọn để tìm được các thông tin hữu ích nhanh nhất.

Xem các tiến trình sử dụng Process Explorer

Process Explorer cho phép xem các tiến trình và thông tin liên quan về các tiến trình đang chạy trên hệ thống:

  • Danh sách tiến trình.
  • Danh sách DLL được load bởi một tiến trình.
  • Các thuộc tính liên quan tới tiến trình.
  • Danh sách tiến trình con, thông tin tiến trình cha.
  • Tắt một tiến trình, đăng xuất người dùng, chạy hoặc xác nhận các tiến trình khác có phải tiến trình hợp lệ hay không.
Xem chi tiết thông tin các tiến trình với Process Explorer

Xem chi tiết thông tin các tiến trình với Process Explorer

Ngoài ra, sử dụng Process Explorer trong một số trường hợp có thể hỗ trợ việc phát hiện mã độc:

  • So sánh chuỗi: So sánh chuỗi trong “String tab” trong Process Properties giữa file trên ổ cứng và file đang thực thi trên bộ nhớ nếu có sự khác biệt chứng tỏ tiến trình đang chạy là một tiến trình thay thế, rất có thể là một mã độc.
  • Tìm kiếm các thành phần liên quan: Từ Process Explorer có thể thực thi các thành phần liên quan hoặc tìm các DLL được sử dụng, qua đó hiểu rõ hơn về kiến trúc phần mềm và đánh giá các thành phần liên quan để quyết định mức độ nguy hiểm của phần mềm đang phân tích.
  • Phân tích mã độc các file tài liệu: Chạy các file và theo dõi tiến trình thực thi các file, nếu có tiến trình con được tạo ra thì rất có thể file ban đầu đã chứa mã độc.

XEM NHIỀU NHẤT: Cảnh báo thiết bị Android đang bị mã độc tống tiền tấn công

 Theo chuyên gia: Bùi Đình Cường.

Securitybox giải pháp an ninh mạng toàn diện. Đánh giá bảo mật mạng từ các chuyên gia hàng đầu trong lĩnh vực an ninh mạng.

Thông tin liên hệ:

Công ty cổ phần An toàn thông tin MVS – SecurityBox

Địa chỉ: Tầng 9, Tòa nhà Bạch Dương, Số 459 Đội Cấn, Ba Đình, Hà Nội

Hotline: (+84) 982.593.866 (Mr. Cường)

Email: info@securitybox.vn

0