Nếu chúng ta nghi ngờ một file thực thi rằng nó có chứa mã độc hay không, cách đơn giản là tải nó lên VirusTotal và chờ kết quả quét. Nhưng thật bối rối nếu kết quả thống kê cho thấy chỉ 50% số AV engine cho rằng đó là file độc hại!
Ta lại có thể phân tích file thực thi đó bằng một dịch vụ sandbox trực tuyến như ThreadExpert hay Hybrid-Analysis hoặc Cuckoo Sandbox, nhưng báo cáo từ các sandbox này chỉ thể hiện hành vi khi file được thực thi ở chế độ mặc định. Chúng ta không thể biết hành vi của chương trình nếu nó được chạy với một tham số đầu vào cụ thể nào đó hoặc khi người dùng click vào nút nào đó trên giao diện của nó.
Một công cụ ít được nhắc tới trong tiến trình phân tích mã độc là Sandboxie (https://www.sandboxie.com/). Nó cho phép người dùng thực hiện một loạt thao tác nghi ngờ là không an toàn mà không ảnh hưởng đến hệ thống.
Mặc dù mục đích ban đầu của Sandboxie là cho phép người dùng chạy một chương trình trong một không gian cô lập, công cụ này cũng có thể được sử dụng để thu thập, phân tích hành vi của chương trình. Có hai cách để điều tra các tác động lên hệ thống gây ra bởi một phần mềm khả nghi thông qua Sandboxie.
Phân tích tự động sử dụng Buster Sandbox Analyzer
BSA là công cụ miễn phí được sử dụng để theo dõi hành vi của một tiến trình bất kỳ chạy trong Sandboxie. BSA chỉ hoạt động bên trong Sandboxie và cần được cấu hình trước khi chạy bằng cách thêm 3 dòng sau vào file cấu hình của Sandboxie:
InjectDll=[path_to_LOG_API32.DLL]
OpenWinClass=TFormBSA
NotifyDirectDiskAccess=y
Cần thực hiện đúng các thao tác theo hướng dẫn cài đặt trên trang web của BSA (http://bsa.isoftware.nl/frame5.htm). Sau khi cài đặt thành công, ta chạy file BSA.EXE và nhập vào đường dẫn thư mục của Sandboxie. Để lấy đường dẫn thư mục của Sandboxie, click đúp vào biểu tượng Sandboxie trên thanh thông báo tác vụ, kéo một chương trình bất kỳ và thả nó vào Sandbox DefaultBox. Sau đó, click vào Sandbox DefaultBox trong cửa sổ Control và chọn “Explore Contents”.
Một cửa sổ hiện ra với đường dẫn thư mục của sandbox, ta có thể copy và paste nó vào trường nhập Sandbox folder to check của BSA. Click vào nút Start Analysis để thực thi chương trình cần phân tích. Trong khi chương trình được thực thi, ta có thể theo dõi thông tin thực thi trong ô API Call Log.
Khi thấy thông tin thực thi là đủ, click chuột phải trong Sandboxie Control và chọn Terminate Programs, sau đó quay lại cửa sổ BSA và chọn Finish Analysis. Click vào Viewer và chọn View Analysis để hiển thị file Analysis.TXT, file này chứa thông tin chi tiết về các hoạt động của chương trình trong lúc nó được thực thi trong Sandboxie.
Ví dụ bên dưới là kết quả phân tích hoạt động của mã độc DarkCometRAT. Ta thấy mã độc thực hiện kiểm tra trình debug, kiểm tra sự hiện diện của trình quản lý tiến trình, tạo một autostart trong registry, khi log dữ liệu bàn phím, leo thang đặc quyền, chặn thực thi regedit và task manager và kết nối tới cổng 1604 trên host 127.0.0.1.
Một số mã độc có chức năng phát hiện trình debug và thoát thực thi nếu phát hiện nó đang được quản lý bởi một trình debug. BSA được cập nhật ít nhất 1 lần mỗi tháng để qua mặt các kỹ thuật phát hiện trình debug của mã độc.
Phân tích thủ công
Nếu chỉ cần một vài chứng cứ để kết luận một file thực thi có hành vi độc hại hay không và không muốn dùng một công cụ bên thứ 3, ta có thể phân tích nhanh hành vi của file thực thi bằng phương pháp thủ công.
Để quan sát các thay đổi gây ra bởi chương trình cần phân tích, click chuột phải vào DefaultBox trong cửa sổ Sandboxie Control, chọn “Explore Contents” hoặc truy cập trực tiếp vào thư mục C:\Sandbox\[username]\DefaultBox. Nếu thấy xuất hiện các thư mục như “drive” hay “user”, chứng tỏ chương trình cần phân tích có tạo mới file trong ổ đĩa.
Để kiểm tra thay đổi trên hệ thống registry, truy cập regedit, kiểm tra key HKEY_USERS, click File -> Load Hive, duyệt tới C:\Sandbox\[username]\DefaultBox và mở file RegHive. Nhập vào tên bất kỳ, ví dụ sandboxie để tiện theo dõi, sau đó click OK.
Một key mới với tên ta vừa nhập (sandboxie) được tạo trong HKEY_USERS, ta có thể duyệt key đó để quan sát các thay đổi trên hệ thống registry.
Ở hình trên, chương trình cần phân tích đã tạo một autostart để chạy file msdcsc.exe.
Đón đọc chuyên đề phân tích mã độc TẠI ĐÂY