Từ khóa-Phân tích virus, an toàn thông tin, phương pháp hình thức, packer.
I. GIỚI THIỆUMalwares là những chƣơng trình máy tính độc hại xâm nhập vào hệ thống một cách trái phép với mục tiêu là ăn cắp thông tin, phá hủy hay làm hƣ hỏng hệ thống [1]. Những chƣơng trình malware này gây ra những thiệt hại to lớn về mặt tiền bạc đối với các cá nhân, tổ chức và các cơ quan chính phủ. Malware đƣợc chia thành nhiều loại khác nhau nhƣ: virus, trojan horse, spammer…Có 2 phƣơng pháp chính để phát hiện malware, có thể kể đến phƣơng pháp nhận diện chữ ký (signature recognition) và mô phỏng (emulation) quá trình thực thi chƣơng trình trong môi trƣờng có kiểm soát, thƣờng là hộp cát (sandbox). Signature recognition là kỹ thuật nhận diện malare thông qua những cấu trúc mẫu bit đặc trƣng của malware này. Kỹ thuật này đƣợc áp dụng rất rộng rãi trong công nghiệp và đạt đƣợc những thành công to lớn. Tuy nhiên, hiện nay signature detection gặp phải khó khăn lớn do những virus thế hệ mới áp dụng những kỹ thuật rắc rối hóa (obfuscation technique) để làm thay đổi chữ ký đặc trƣng [2]. Ý tƣởng chính của emulation là xây dựng một sandbox để khám phá hành vi của malware, bằng cách mô phỏng toàn bộ quá trình thực thi của hệ thống và đặc biệt là hoạt động của APIs [3,15]. Tuy nhiên, đây là một kỹ thuật rất phức tạp, tốn thời gian và đòi hỏi chi phí lớn.Hầu hết các malware hiện nay đều đƣợc đóng gói bằng các chƣơng trình đóng gói (packer) [4]. Packer là một chƣơng trình chuyển đổi mã nhị phân của chƣơng trình thành một chƣơng trình thực thi khác. Chƣơng trình thực thi mới này vẫn gìn giữ những tính năng nguyên bản nhƣng có nội dung hoàn toàn khác nhau khi đƣợc lƣu trữ. Chính vì điều này đã làm cho kỹ thuật quét signature không thể liên kết giữa 2 phiên bản này. Theo thống kê trên [4], 80% malware đƣợc nén bởi rất nhiều loại packers khác nhau. Những packer thông dụng nhất có thể kể đến UPX 1 , PECOMPACT 2 , TELOCK 3 , FSG 4 và YODA"s Crypter 5 . Đa phần các chƣơng trình nhận dạng packer hiện nay nhƣ Peid 6 đều dựa trên chữ ký để kiểm tra. Tuy nhiên, do các hacker có thể tùy chỉnh (modify) chữ ký của packer, phƣơng pháp này sẽ dễ dàng bị đánh bại khi đƣợc áp dụng trong phân tích malware thực.Trong bài báo này, chúng tôi đề xuất một hƣớng tiếp cận mới để nhận diện packer. Chúng tôi sử dụng phƣơng pháp hình thức nhằm nhận dạng packed malware bằng cách kết hợp giữa hai công cụ, BE-PUM để xây dựng CFG và công cụ kiểm tra mô hình NUSMV. Để kiểm chứng tính hiệu quả của hƣớng tiếp cận này, chúng tôi đã tiến hành thí nghiệm trên tập 3250 malware khác nhau. Cấu trúc bài báo đƣợc mô tả nhƣ sau. Phần 2 giới thiệu ngắn gọn những kiến thức nền tảng về Packer, BE-PUM và công cụ NuSMV. Phần 3 trình bày phƣơng pháp đề xuất để nhận dạng packer. Trong phần 4, chúng tôi giới thiệu về thí nghiệm và phần 5 trình bày kết luận và một số hƣớng nghiên cứu trong tƣơng lai.