Một số biện pháp phát hiện và xử lý mã độc trên hệ điều hành Windows (phần 3)

10:31 - 19/08/2021  |  870 lượt xem

Chia sẻ
Tiếp tục chuỗi bài viết về điều tra, phát hiện mã độc trên hệ điều hành Windows, trong 2 bài viết “Một số biện pháp phát hiện và xử lý mã độc trên hệ điều hành Windows” đăng tải ngày 08/4/2020 và ngày 07/8/2020 đã trình bày 04 công cụ hữu ích để phát hiện mã độc đó là Windows Task Manager, Process Explorer, Windows Event Viewer và Netstat, bài này tác giả sẽ tiếp tục giới thiệu và hướng dẫn sử dụng công cụ Process Monitor và Autoruns để kiểm tra, phát hiện, truy vết hoạt động của mã độc trên máy tính hệ điều hành Windows.
Một số biện pháp phát hiện và xử lý mã độc trên hệ điều hành Windows (phần 3)

Ảnh minh họa

Công cụ Process Monitor

Process Monitor (hay Procmon) là một phần mềm nằm trong bộ công cụ Windows Sysinternals được phát triển bởi Microsoft. Đây là một công cụ mạnh mẽ cho phép giám sát và ghi lại hoạt động của hệ thống tệp tin (File System), hoạt động của registry, hoạt động mạng, lập hồ sơ các sự kiện và tiến trình trên các máy tính chạy hệ điều hành Windows. Trong lĩnh vực điều tra số để truy vết các hoạt động, hành vi của mã độc, Procmon giúp phát hiện các file được tạo, các registry key đã bị chỉnh sửa hoặc các kết nối mạng mà mã độc đã thực hiện trong quá trình thực thi. Người dùng có thể truy cập vào đường dẫn sau để tải về công cụ Process Monitor từ trang chủ chính thống của Microsoft:

https://docs.microsoft.com/en-us/sysinternals/downloads/procmon

Sau khi tải về công cụ Process Monitor, thực hiện giải nén và chạy phiên bản tương ứng với phiên bản hệ điều hành:

  • Windows 32-bit: Chạy Procmon.exe
  • Windows 64-bit: Chạy Procmon64.exe

Khi khởi động Procmon, công cụ sẽ bắt đầu ghi lại các sự kiện ngay lập tức và hiển thị trên giao diện chứa các thông tin mặc định sau:

  • Time of Day: Thời điểm sự kiện diễn ra
  • Process Name: Tên của tiến trình thực thi
  • PID: Số ID của tiến trình
  • Operation: Tên của hành động đã xảy ra như CreateFile, RegCreateKey, TCP Connect, Load Image, Process Create,…
  • Path: Đường dẫn được sử dụng bởi hành động (Operation). Nó có thể là đường dẫn registry, đường dẫn file hoặc một kết nối mạng
  • Result: Kết quả của hành động (Operation)
  • Detail: Chi tiết về sự kiện, hành động đã diễn ra.

Chức năng Filter (lọc) của Procmon

Bởi vì một lượng lớn dữ liệu được Procmon bắt và ghi lại sau khi khởi động công cụ, chúng ta cần phải thực hiện lọc (Filter) để đạt được kết quả mong muốn. Procmon cung cấp rất nhiều bộ lọc, tuy nhiên trong ngữ cảnh sử dụng Procmon để phát hiện, điều tra, phân tích mã độc chúng ta cần chú ý các hành động (Operation) sau đây:

  • CreateFile: Khi tiến trình tạo 1 file
  • WriteFile: Khi tiến trình viết dữ liệu đến 1 file
  • SetRenameInformationFile: Khi tiến trình thay đổi tên file
  • SetDispositionInformationFile: Khi tiến trình thực hiện xóa file
  • RegCreateKey: Khi khóa registry được tạo
  • RegSetValue: Khi dữ liệu (data) của trường value được thiết lập trong registry
  • RegDeleteKey: Khi khóa registry bị xóa 
  • RegDeleteValue: Khi dữ liệu của trường value bị xóa trong registry
  • TCP Connect, TCP Receive, UDP Send, UDP Receive: Tiến trình đang gửi/nhận kết nối TCP/UDP
  • Load Image: Khi tiến trình load thư viện DLL hoặc file thực thi (Executables)
  • Process Create: Khi tiến trình tạo 1 tiến trình khác.

Để mở chức năng Filter, từ công cụ Procmon chọn tab Filter → chọn Filter hoặc thực hiện bấm tổ hợp phím “Ctrl + L”.

Chức năng xem Process Tree (Cây tiến trình)

Chức năng này sẽ hiển thị tiến trình dưới dạng cây biểu diễn mối quan hệ cha/con giữa các tiến trình. Chức năng này là vô cùng hữu ích khi phân tích mã độc sinh ra các tiến trình có thời gian tồn tại ngắn. Ví dụ, mã độc có thể khởi chạy “cmd.exe”, “powershell.exe” hoặc tạo ra các tiến trình khác mà chúng ta không hề hay biết. Nhưng với chức năng này của Procmon, mọi thứ được bắt, ghi lại và hiển thị dưới dạng cây tiến trình, giúp người điều tra có thể xem được các tiến trình con của tiến trình độc hại này.

Để mở chức năng Process Tree, từ công cụ Procmon chọn tab Tools → chọn Process Tree hoặc bấm tổ hợp phím “Ctrl + T

Công cụ Autoruns

Trước khi tìm hiểu công cụ Autoruns, cần phải hiểu về Windows registry. Registry được coi là cấu trúc xương sống, là cơ sở dữ liệu của hệ điều hành Windows. Nó chứa thông tin về cấu hình hệ điều hành, dịch vụ, driver, cấu hình khởi động, cấu hình người dùng… Registry được chia thành các khóa (keys) và giá trị (values), mỗi khóa bao gồm 1 hoặc nhiều giá trị chứa thông tin cấu hình để hệ điều hành hoặc phần mềm trên máy tính sử dụng trong quá trình hoạt động.

Một vài khóa trong Registry có ý nghĩa đặc biệt đối với hệ điều hành. Khi được cấu hình, hệ điều hành sẽ đọc và thực thi cấu hình tương ứng một cách tự động. Ví dụ, nếu khóa “Run” và “Run Once” được cấu hình thì bất kỳ chương trình nào được liệt kê trong khóa này sẽ được thực thi khi người dùng đăng nhập vào máy tính. Loại khóa này được gọi là khóa “Autoruns”.

Tương tự như khóa Autoruns của Registry, có một cơ chế khác cũng thực hiện mở ứng dụng khi có 01 sự kiện xảy ra, đó là Task Scheduler. Mã độc thường sử dụng các kỹ thuật này để ẩn nấp, tồn tại lâu dài trong máy tính nạn nhân.

Autoruns cũng là một phần mềm nằm trong bộ công cụ Windows Sysinternals được phát triển bởi Microsoft. Công cụ này sẽ quét và liệt kê vị trí khởi động tự động (Autostart) của các phần mềm và tiến trình trên máy tính. Người dùng có thể truy cập vào đường dẫn sau để tải về công cụ Autoruns từ trang chủ chính thống của Microsoft:

https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns

Sau khi tải về công cụ Autoruns, thực hiện giải nén và chạy phiên bản tương ứng với phiên bản hệ điều hành:

  • Windows 32-bit: Chạy Autoruns.exe
  • Windows 64-bit: Chạy Autoruns64.exe

Có 4 tính năng chính của công cụ Autoruns dùng để xác định phần mềm độc hại nhanh chóng và hiệu quả:

Xác minh chữ ký mã nguồn (Code Signature Verification)

Đây là một tính năng tương tự công cụ Process Explorer đã trình bày trong bài viết trước, dùng để xác minh file thực thi có được ký bởi chứng chỉ (signature) hợp lệ hay không. Các phần mềm, tiến trình có “Verified” được xem là an toàn, các phần mềm, tiến trình chưa được xác minh là nghi ngờ và cần phải điều tra, phân tích thêm.

Để bật tính năng này, từ công cụ Autoruns, chọn tab Options → chọn Scan Options → tích chọn Verify code signatures

Tích hợp Virus Total

Tính năng này cho phép gửi mã hash hoặc file thực thi đến Website Virus Total (https://virustotal.com) để dò quét và xác định những phần mềm độc hại trên máy tính.

Để bật tính năng này, từ công cụ Autoruns, chọn tab Options → chọn Scan Options → tích chọn Check VirusTotal.com

Ẩn các phần mềm Microsoft và các phần mềm an toàn khi check Virus Total

Tính năng này sẽ giúp lọc bỏ bớt các phần mềm hợp lệ của Microsoft cũng như các phần mềm đã được kiểm tra và xác nhận an toàn trên Virus Total, để chỉ hiển thị trên giao diện các phần mềm nghi ngờ độc hại. Tuy nhiên, đối với một số mã độc nâng cao, đặc biệt là mã độc tấn công có chủ đích, Virus Total sẽ chỉ ra file thực thi là an toàn dù thực tế nó là mã độc. Do đó, thao tác ẩn các phần mềm đã an toàn sau khi kiểm tra từ website Virus Total cần phải kết hợp với việc xem xét, kiểm tra cẩn thận đường dẫn của file thực thi (như trong thư mục %TEMP%, %APPDATA%) để xác định một cách chính xác nhất file thực thi đó có độc hại hay không.

Để bật tính năng này, từ công cụ Autoruns, chọn tab Options → tích chọn Hide Microsoft Entries Hide VirusTotal Clean Entries

Tìm kiếm trong Process Explorer

Đây là một tính năng cũng rất quan trọng trong việc xác định file thực thi trỏ đến khóa registry có đang chạy hay không. Yêu cầu của tính năng này là phải bật công cụ Process Explorer, kích chuột phải vào một đối tượng bất kỳ trên công cụ Autoruns và chọn Process Explorer. Thao tác này sẽ mở lên cửa sổ thuộc tính liên quan đến tiến trình của file thực thi đang chạy trên công cụ Process Explorer.

Trên đây là bài viết giới thiệu và hướng dẫn sử dụng 2 công cụ rất mạnh của Microsoft trong việc phát hiện, điều tra phân tích mã độc trên hệ điều hành Windows. Việc sử dụng thuần thục và kết hợp hiệu quả các công cụ đã trình bày trong 2 bài viết trước và 2 công cụ trong bài viết này sẽ giúp người đọc, đặc biệt là các cán bộ kỹ thuật có thêm kiến thức để xử lý các máy tính bị nhiễm mã độc tại đơn vị mình.

Trần Ngọc Lâm

10:31 - 19/08/2021  |  870 lượt xem

Chia sẻ

TIN BÀI ĐỌC NHIỀU