Phân tích mã độc là một cách để đề phòng hoặc ngăn ngừa các loại mã độc có thể tấn công vào thiết bị xâm chiếm thông tin cũng như có thể tấn công hệ thống mạng, cũng giúp ích cho việc khôi phục lại dữ liệu hoặc thông tin hiện trạng ban đầu và truy tìm ra được nguồn gốc tấn công của mã độc.
Khi bị tấn công điều đầu tiên chúng ta cần phải hiểu mã độc này đã tấn công vào phần nào của hệ thống, kiểm tra lại toàn bộ thiết bị xem thiết bị nào đã bị tấn công cũng như tìm kiếm tất cả các tệp tin xem tệp tin nào đã bị tấn công lây nhiễm mã độc, ứng dụng lây nhiễm mã độc.
Các bài viết liên quan:
Do mã độc được phân thành nhiều loại tùy theo chức năng và cách thức lây nhiễm nên việc phân tích truy tìm ra loại mã độc đó thuộc loại nào là cần thiết. Điều này giúp ta có thể hiểu được cách tấn công, giảm thiệt hại. Qua việc phân tích ta có thể biết mã độc đó là một mã độc biến thể hay một mã độc mới chưa được biết đến.
Xem thêm Phương thức truy cập File trong hệ điều hành
Phương pháp phân tích tĩnh
Phân tích tĩnh là loại phương pháp dùng để phân tích mã độc mà không cần thực thi mã độc. Ở loại phân tích này ta chỉ phân tích nội dung của các file xem file đó có chứa mã độc không, hiểu về những đoạn mã thực thi trong file làm nhiệm vụ gì có ảnh hưởng gì đến hệ thống hoặc thiết bị hay không, hiểu thêm về các lời gọi hàm, mã nguồn chương trình dưới dạng Assembly.
Đây là phương pháp phân tích có thể thực hiện một cách nhanh chóng, tuy nhiên đối với mã độc thì việc phân tích tĩnh thường gặp khó khăn do phần mềm độc hại có thể được mã hóa để tránh các loại phân tích, đóng gói, ngụy trang.
Xem thêm Malware là gì? Những điều cần biết
Một số kỹ thuật được sử dụng cho việc phân tích như: Sử dụng mã hash để xác định malware đó, kiểm tra định dạng file,… Mỗi kỹ thuật sẽ cung cấp thông tin khác nhau để cho mục đích phục vụ nghiên cứu.
Hình 2-6. Mã binary file sử dụng công cụ HxD
Hash là phương pháp phổ biến để nhận diện và xác định phần mềm độc hại, khi một file được hash thì sẽ tạo ra một chuỗi kí tự, chuỗi kí tự này được xem là chữ kí của file, mỗi một file khác nhau sẽ cho ra một loại chữ kí khác nhau. Người ta dựa vào mã hash để xem file đó có phải là malware hay không.
Mỗi file có các byte định dạng riêng, việc chúng ta phân tích file bằng công cụ Hex Editor chúng ta sẽ thu được nội dung của file được thể hiện ở mã ASCII hoặc Unicode. Từ đó chúng ta kiểm tra các byte định dạng để xác định file đó là loại file gì. Những file thực thi luôn có các byte định dạng MZ (thể hiện dưới dạng hex 4D 5A), các file nén có định dạng là PK (thể hiện dưới dạng hex 50 4B). Việc phân tích như vậy chuỗi có thể giúp chúng ta phát hiện một số loại malware được lưu dưới dạng khác để đánh lừa người dùng ví dụ: Malware netcat là một file thực thi, nhưng chúng được lưu dưới dạng file nén để đánh lừa người dùng.
Xem thêm File là gì? File trong hệ điều hành
Phương pháp phân tích động
Phân tích động là phương pháp theo dõi và phân tích hành vi của phần mềm ứng dụng thông qua môi trường thực thi các phần mềm. Phương pháp này thì hiệu quả trong việc xác định các chức năng của malware, ví dụ nếu mã độc của bạn là một keylogger thì phân tích động sẽ cho bạn biết file log của keylogger trên hệ thống, giúp bạn khám phá ra những bản ghi mà keylogger nắm giữ, giải mã ra thông tin mà keylogger gửi đi.
Phân tích động là một kỹ thuật hữu ích trong việc phân tích malware, tuy vậy phương pháp này làm hệ thống chúng ta đặt trong tình trạng nguy hiểm do có nhiều mối nguy hại từ malware, do đó chúng ta phải thiết lập một môi trường Sandbox an toàn để bảo vệ hệ thống.
Một số cách thức khai thác triệt đối malware như là chúng ta phân tích mẫu malware đó trong một thời gian nhất định, sau đó chúng ta tiếp tục phân tích lại nhưng lần này chúng ta thay đổi cấu hình hệ thống và tính toán thời gian phân tích có giống với cấu hình lần trước ta đã phân tích hay không.