Tải bản đầy đủ (.pdf) (7 trang)

Phương pháp phân loại nhanh mã độc sử dụng mạng nơron tích chập

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (726.89 KB, 7 trang )

Kỷ yếu Hội nghị KHCN Quốc gia lần thứ XIII về Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR), Nha Trang, ngày 8-9/10/2020
DOI: 10.15625/vap.2020.00205

PHƯƠNG PHÁP PHÂN LOẠI NHANH MÃ ĐỘC
SỬ DỤNG MẠNG NƠRON TÍCH CHẬP
Mạc Đình Hiếu1, Lê Ngọc Anh1, Trần Đức Hùng2, Trịnh Văn Hùng3, Ngô Minh Phƣớc3, Hà Quốc Trung3
1
Viện Công nghệ thông tin và Truyền thông, Trƣờng Đại học Bách khoa Hà Nội
2
Viện Hóa học mơi trƣờng qn sự, Bộ Tƣ lệnh hóa học
3
Trung tâm Công nghệ thông tin, Bộ Khoa học và Cơng nghệ
, , , ,
,
TĨM TẮT: Bài báo này đề xuất một phương pháp phân loại nhanh mã độc sử dụng mạng nơron tích chập Convolutional
Neural Networks (CNN) với dữ liệu đầu vào là ảnh ASM. Cụ thể, phương pháp dựa trên phần mềm dịch ngược để tạo ra tệp tin
ASM và biểu diễn phần thông tin đặc tả cấu trúc của tệp tin dưới dạng chuỗi điểm ảnh. Chuỗi điểm ảnh sau đó được cắt ngắn, biến
đổi thành ảnh vng đen trắng có kích thước nhỏ. Một kiến trúc CNN đơn giản cũng được triển khai để phân loại ảnh nhằm giảm
thiểu khối lượng tính tốn nhưng vẫn đảm bảo độ chính xác. Kết quả thử nghiệm trên bộ dữ liệu Microsoft Malware Classification
Challenge (BIG 2015) đã chứng minh hiệu quả của phương pháp đề xuất với tỷ lệ phân loại đúng đạt 98,59 %, trong khi thời gian
xử lý một mẫu mã độc trung bình là 0,0054 s trên máy tính có cấu hình phổ thơng.
Từ khóa: Phân loại mã độc, phân tích tĩnh, mạng nơron tích chập, học sâu.

I. GIỚI THIỆU
Mã độc là các chƣơng trình phần mềm độc hại đƣợc tin tặc tạo ra nhằm thực hiện các hành động bất hợp pháp
nhƣ phá hoại các hệ thống máy tính, nghe lén, thu thập trái phép thông tin riêng tƣ của ngƣời dùng hoặc chiếm quyền
điều khiển, biến các thiết bị thành các tác nhân để thực hiện các hành vi tấn công mạng khác [1]. Ngày này, mã độc đã
trở thành một trong những mối nguy hiểm lớn nhất đối với không gian mạng nói chung và an tồn bảo mật của các hạ
tầng thơng tin nói riêng. Theo báo cáo của SYNMATEC, riêng năm 2017 đã có hơn 669 triệu mẫu mã độc mới và các
biến thể của chúng đƣợc tin tặc phát triển và lây nhiễm trên toàn thế giới [2]. Rõ ràng, với hàng trăm triệu mã độc đang
tồn tại và sự xuất hiện không ngừng của những mẫu mã độc mới với các kỹ thuật tấn công, lây nhiễm, che dấu ngày


càng tinh vi đang tạo ra rất nhiều thách thức đối với các nhà nghiên cứu bảo mật.
Phân tích tĩnh và phân tích động là hai kỹ thuật phổ biến dùng trong phát hiện mã độc. Phân tích tĩnh tập trung
tìm ra các dấu hiệu của mẫu mã độc mà không cần phải thực thi chúng. Tuy nhiên, phân tích tĩnh địi hỏi kinh nghiệm,
kiến thức chun gia và đôi khi không khả thi do tin tặc sử dụng các kỹ thuật che giấu thơng tin nhƣ mã hóa. Phân tích
động tiến hành thực thi mã độc trong mơi trƣờng có kiểm sốt để quan sát, thu thập thơng tin về quá trình hoạt động,
tƣơng tác của mã độc với hệ điều hành, với dữ liệu của ngƣời dùng và với các tác nhân bên ngồi qua mạng Internet.
Thơng tin này sau đó đƣợc tổng hợp, khai phá để đƣa ra các đặc điểm hành vi bất thƣờng. Điểm hạn chế của phân tích
động chủ yếu liên quan đến q trình lựa chọn và triển khai mơi trƣờng ảo hóa phù hợp cho mã độc. Ngồi ra, một
trong những thách thức lớn đối với các nhà nghiên cứu bảo mật là việc tin tặc có thể dễ dàng tạo ra các biến thể khác
nhau bằng một số thay đổi nhỏ trong mã nguồn. Để có thể bắt kịp với tốc độ phát triển của mã độc, cần có một cơ chế
tự động cho phép xác định nhanh các mẫu khác nhau là thuộc cùng một họ mã độc.
Các công trình khoa học về phân loại mã độc trƣớc đây [3], [4] chỉ ra rằng, mã độc nếu thuộc cùng một họ sẽ có
những dấu hiệu giống nhau về cấu trúc, mã nguồn và hành vi cơ bản. Từ đó, một số nghiên cứu đã sử dụng các thuật
toán học máy và xây dựng bộ phân loại với bộ dữ liệu mã độc đã biết để mơ hình hóa các đặc trƣng, cho phép phát hiện
một chƣơng trình là bình thƣờng hay độc hại hoặc phân biệt các họ mã độc với nhau. Việc ứng dụng thuật toán học
máy giảm thiểu rất nhiều công sức của các nhà bảo mật trong việc phân tích mã độc so với với các phƣơng pháp truyền
thống, đồng thời giúp tăng tỷ lệ phát hiện và phân loại mã độc [5]. Tuy nhiên, hiệu năng các phƣơng pháp học máy
truyền thống phụ thuộc nhiều vào dữ liệu đầu vào, đƣợc trích chọn dựa trên kinh nghiệm của các chuyên gia [6].
Những năm gần đây, các kiến trúc mạng học sâu (Deep Learning) đã đem lại hiệu năng vƣợt trội trong rất nhiều
các lĩnh vực khác nhau nhƣ xử lý ngôn ngữ tự nhiên, thị giác máy tính, nhận dạng giọng nói và cả trong lĩnh vực an
tồn thơng tin nhờ khả năng xử lý trực tiếp dữ liêu thơ, tự động trích chọn các đặc trƣng ở nhiều cấp độ khác nhau cũng
nhƣ khả năng tổng quát hóa cao [7-10]. Trong bài báo này, chúng tơi đề xuất áp dụng mạng nơron tích chập
Convolutional Neural Networks (CNN) để phân loại nhanh mã độc tƣơng tự nhƣ các nghiên cứu [4-5], [11-12]. Ƣu
điểm của phƣơng pháp này cho phép chuyển từ bài toán phân loại mã độc sang bài tốn phân loại ảnh, từ đó xây dựng
các công cụ phân loại mã độc tự động mà không yêu cầu tri thức sâu rộng của chuyên gia bảo mật. Điểm khác biệt của
chúng tơi hay đóng góp chính của bài báo này là phƣơng pháp đề xuất chỉ sử dụng dữ liệu đầu vào là tệp tin ASM của
mẫu mã độc đƣợc biểu diễn rút gọn dƣới dạng các ảnh đen trắng (chúng tôi gọi là ảnh ASM, phân biệt với ảnh mã độc
là ảnh đƣợc chuyển đổi trực tiếp từ tệp nhị phân tƣơng ứng), sau đó đƣợc đƣa vào bộ phân loại sử dụng mạng CNN có
kiến trúc mạng đơn giản để giảm khối lƣợng tính tốn, tăng tốc độ xử lý mà vẫn đảm bảo độ chính xác tƣơng đƣơng
hoặc tốt hơn so với các phƣơng pháp khác.



494

PHƢƠNG PHÁP PHÂN LOẠI NHANH MÃ ĐỘC SỬ DỤNG MẠNG NƠRON TÍCH CHẬP

Nội dung của bài báo đƣợc trình bày thành 5 phần. Sau phần giới thiệu, trong phần II chúng tôi sẽ đánh giá tổng
quan về các phƣơng pháp phân loại và phát hiện mã độc sử dụng các phƣơng pháp học máy. Nội dung phần III mô tả
chi tiết về phƣơng pháp đề xuất. Phần IV trình bày quá trình thử nghiệm và kết quả. Phần cuối cùng là kết luận và định
hƣớng nghiên cứu trong tƣơng lai.
II. CÁC CƠNG TRÌNH NGHIÊN CỨU LIÊN QUAN
Với mục tiêu là có thể phân loại nhanh một mẫu mã độc, bài báo này tập trung vào các nghiên cứu thuộc phân
tích tĩnh sử dụng các phƣơng pháp học sâu để xây dựng bộ phân loại với dữ liệu đầu vào là tệp thực thi của mã độc
đƣợc biểu diễn dƣới dạng ảnh.
Ý tƣởng biểu diễn các tệp nhị phân thực thi của mã độc sang dạng ảnh đƣợc đề xuất lần đầu tiên bởi Nataraj và
các cộng sự [13]. Bản chất của các tệp thực thi là một chuỗi nhị phân, nên khi chuyển phần thông tin biểu diễn dữ liệu
của tệp tin sang chuỗi điểm ảnh [0, 255] (0 trắng, 255 đen) và biến đổi tạo thành mảng hai chiều sẽ thu đƣợc một ảnh
đa mức xám. Dựa trên ý tƣởng đó các tác giả đã chuyển từ bài tốn phân loại mã độc sang bài bài toán phân loại ảnh và
áp dụng GIST để trích rút phần tử cấu trúc của ảnh, sau đó dùng thuật tốn k-Nearest Neighbors (kNN) để thực hiện
phân loại. Tƣơng tự nhƣ vậy, Ahmadi và cộng sự [14] đã áp dụng XGBoost và đạt đƣợc một số kết quả nhất định.
XGBoost cũng là thuật toán đạt độ kết quả cao nhất trong cuộc thi phân loại mã độc Microsoft Malware Classification
Challenge (BIG 15) [15] tổ chức vào năm 2015 [16]. Tuy nhiên, để cải thiện độ chính xác, hầu hết các phƣơng pháp
cần kết hợp hàng nghìn đặc trƣng khác nhau, đƣợc trích rút thủ công từ tệp thực thi và tệp ASM của mẫu mã độc trên
cơ sở kinh nghiệm chuyên gia, do đó chúng khơng khả thi khi triển khai trong ứng dụng thực tế.
Trong những năm gần đây, học sâu đã chứng minh sự vƣợt trội so với các phƣơng pháp học máy trong các bài
toán nhận dạng và phân loải ảnh. Gibert [12] sử dụng kiến trúc mạng CNN đơn giản để phân loại trực tiếp ảnh mã độc
có kích thƣớc 32x32 mà khơng cần trích chọn đặc trƣng nhƣ các phƣơng pháp học máy truyền thống. Cùng với cách
tiếp cận trên, Quan Le và các cộng sự [5] sử dụng mơ hình kết hợp giữa mạng CNN và mạng LSTM hai chiều
(BiLSTM) với các ảnh đầu vào đƣợc tạo ra dựa trên các thuật toán giảm mẫu (downsampling) để giảm dung lƣợng của
tệp thực thi trƣớc khi biến đổi sang dạng ảnh. Trong khi các phƣơng pháp [4], [11], [12] chuyển trực tiếp tệp thực thi

sang dạng ảnh rồi áp dụng các thuật toán giảm độ phân giải trong xử lý ảnh để đƣa về cùng một kích thƣớc. Kalash và
các cộng sự [4] áp dụng kiến trúc mạng VGG16 với ảnh mã độc 224 224. Khác với các phƣơng pháp trên, Li Chen
[11] sử dụng Tranfer Learning để cho phép tùy chọn giữa các mơ hình mạng CNN phổ biến trong thị giác máy tính nhƣ
mạng Inception, VGG, ResNet, DenseNet trong phân loại mã độc. Nhìn chung, các phƣơng pháp trên đều đạt đƣợc các
kết quả khả quan và chứng minh đƣơc tính hiệu quả của học sâu trong bài toán phân loại mã độc, tuy nhiên các bài toán
chỉ mới sử dụng dữ liệu của tệp tin thực thi nhị phân, trong khi tệp tin ASM với nhiều thông tin quan trọng cũng là một
hƣớng tiếp cận phù hợp với phân loại mã độc [15].
III. PHƢƠNG PHÁP ĐỀ XUẤT
Nội dung phần này trình bày chi tiết về phƣơng pháp phân loại nhanh mã độc mà chúng tôi đề xuất, bao gồm
việc biểu diễn rút gọn tệp tin ASM của tệp tin mã độc dƣới dạng ảnh đa mức xám và kiến trúc mạng CNN đƣợc sử
dụng để xây dựng bộ phân loại nhanh ảnh ASM.
A. Biểu diễn tệp tin ASM của mã độc dưới dạng ảnh
Tệp tin ASM đƣợc tạo ra thông qua công cụ dịch ngƣợc IDA [20]. Nội dung của tệp tin, nhƣ minh họa tại Hình
1, gồm một loạt các mệnh đề nằm liên tiếp nhau. Mỗi mệnh đề, có thể là chỉ dẫn hoặc lệnh, đƣợc viết trên một dịng.
Độ dài trung bình của dòng thuộc tệp tin mã độc dao động trong khoảng từ 40 đến 70 ký tự (Hình 2).

Hình 1. Ảnh chụp một đoạn code của tệp asm của một mẫu mã độc

Trong bài báo, chúng tơi thực hiện trích xuất phần dữ liệu liên quan đến thông tin đặc tả tệp tin, còn gọi
metadata. Chuỗi nhị phân đƣợc tổ chức thành các nhóm 8-bit, tƣơng đƣơng một điểm ảnh trong ảnh xám và đƣợc chia
thành hai phần. Phần thứ nhất khơng có ý nghĩa trong phân loại mã độc sinh ra bởi công cụ dịch ngƣợc. Phần thứ hai


Mạc Đình Hiếu, Lê Ngọc Anh, Trần Đức Hùng, Trịnh Văn Hùng, Ngô Minh Phƣớc, Hà Quốc Trung

495

đƣợc biển đổi sang dạng ma trận vuông để tạo thành ảnh ASM. Kích thƣớc của ảnh đƣợc lựa chọn để cân bằng giữa độ
chính xác và thời gian tính tốn và đƣợc đề cập chi tiết tại Phần IV. Hình 3 minh họa ảnh của 12 dạng mã độc trong tập
dữ liệu Microsoft Malware Classification Challenge (BIG 15). Có thể thấy ảnh của mỗi dạng đều có đặc thù riêng, đây

chính là tiền đề cơ bản đề xây dựng mơ hình phân loại sử dụng CNN trong phƣơng pháp đề xuất.

Hình 2. Biểu đồ thống kê độ dài mơt dịng code trong file asm của từng họ mã độc trong bộ dữ liệu mã độc của Microsoft Malware
Classification Challenge (BIG 15)

(a) Ramnit

(b) Lollipop

(c) Kelihos_ver3

(b) Vundo

(e) Simda

(f) Tracur

(g) Kelihos_ver1

(h) Obfuscator.ACY

(i) Gatak

Hình 3. Minh họa ảnh asm rút gọn của các mẫu mã độc thuộc 9 họ mã độc khác nhau với kích thƣớc 100 100


PHƢƠNG PHÁP PHÂN LOẠI NHANH MÃ ĐỘC SỬ DỤNG MẠNG NƠRON TÍCH CHẬP

496


B. Mơ hình nơron tích chập CNN đề xuất
1. Mạng nơron tích chập CNN
Trọng các mạng nơron của học sâu, mạng nơron tích chập CNN là mạng nơron đƣợc áp dụng rộng rãi trong các
bài toán nhận dạng ảnh, phân loại ảnh, phát hiện vật thể, nhận dạng khn mặt. Với bài tốn phân loại ảnh, bộ phân
loại dựa trên CNN sẽ có đầu vào là một ma trận điểm ảnh và đầu ra là các giá trị xác suất [0,1] mà ảnh đó thuộc về
từng phân lớp đƣợc tính tốn dựa trên hàm Softmax. Phân lớp của ảnh đầu vào sẽ đƣợc lấy theo nhãn của phân lớp có
giá trị xác suất cao nhất. Các thành phần chính trong mạng gồm Lớp nhân chập, lớp Pooling và lớp Fully Connected.
Lớp nhân chập (Convolution layer) là lớp chịu trách nhiệm trích rút các đặc trƣng của ảnh đầu vào thơng qua
việc tính tích chập ma trận ảnh đầu vào với các bộ lọc (filter) khác nhau để thực hiện các hành động nhƣ phát hiện
đƣờng biên của vật thể (edge detection), làm mờ (blur), làm sắc nét ảnh (shapen) từ đó ma trận ảnh đầu ra vẫn giữ đƣợc
mối quan hệ giữa các điểm ảnh của ảnh gốc ban đầu thông qua các đặc trƣng về cạnh, màu sắc và hình dạng. Về cơ
bản, các mỗi bộ lọc sẽ biến đổi một vùng nhỏ của ảnh đầu vào về một giá trị đầu ra duy nhất sau đó đƣợc đƣa vào một
hàm phi tuyến tính nhƣ ReLU (Rectified Linear Unit) để đầu ra là giá trị không âm theo nhƣ Biểu thức (1).
( )

(

(1)

)

Lớp Pooling có nhiệm vụ giảm số chiều của dữ liệu từ đó giảm thời gian tính tốn, tránh hiện tƣợng
overfitting. Lớp Pooling thƣờng đƣợc sử dụng nhất là Max Pooling trong đó giá trị của một nơron tại lớp hiện tại là giá
trị lớn nhất của một cụm nơron tại lớp trƣớc đó (cịn gọi là cửa sổ Pooling).
Lớp Fully Connected có nhiệm vụ phân loại ma trân đầu ra sau khi qua các lớp nhân chập và lớp Pooling bằng
cách dàn phẳng ma trận này thành véc-tơ sau đó đƣa qua các lớp Fully Connected (các nơron ở lớp hiện tại sẽ đƣợc kết
nối với tất cả các nơron của lớp trƣớc đó) để tính tốn xác suất ứng với từng dạng mã độc thơng qua một hàm kích hoạt
nhƣ Softmax.
2. Phƣơng pháp phân loại nhanh mã độc đề xuất
Phân này đề xuất phƣơng pháp phân loại nhanh mã độc sử dụng mạng CNN với đầu vào là ảnh ASM. Số lƣợng

lớp của mạng CNN sẽ phụ thuộc vào mức độ phức tạp của dữ liệu đầu vào cũng nhƣ yêu cầu về tối ƣu hiệu năng tính
tốn. Việc tính tốn ra số lƣợng lớp cần thiết và hàm kích hoạt phi tuyến tính phù hợp nhiều khi là bất khả thi. Thay
vào đó, thực nghiệm đã chứng minh rằng mạng nơron với nhiều lớp ẩn (hidden layers) kết hợp với các hàm phi tuyến
đơn giản nhƣ ReLU có khả năng biểu diễn dữ liệu huấn luyện tốt hơn [21]. Mạng CNN đề xuất đƣợc xây dựng dựa trên
kiến trúc mạng CNN tốt nhất cho các bài tốn phân loại ảnh có cùng độ phức tạp nhƣ phân loại ảnh trong bộ dữ liệu
CIFAR-10 [22] bao gồm các ảnh có kích thƣớc nhỏ của 10 loại đối tƣợng khác nhau. Trong bài báo này, chúng tôi thử
nghiệm và hiệu chỉnh mạng CNN với số lƣợng lớp, kích thƣớc bộ lọc, kích thƣớc lớp pooling, hàm kích hoạt khác
nhau, từ đó tìm ra kiến trúc mạng CNN phù hợp nhất cho bài toán phân loại ảnh ASM nhƣ trong Hình 4. Mạng đề xuất
gồm bốn lớp nhân chập, hai lớp Pooling và ba lớp Fully Connected. Kiến trúc này cho kết quả tối ƣu đối với tập dữ liệu
đƣợc dùng cho mục đích xây dựng mơ hình và đƣợc đánh giá bằng phƣơng pháp kiểm thử chéo (Cross-validation).

9

12x12x64
26x26x32 26x26x64
55x55x1

55x55x32

24x24x64
512

53x53x32

9216
Ảnh ASM

Lớp nhân chập

Max Pooling


Lớp nhân chập

Max Pooling

Lớp Fully Connected

Hình 4. Kiến trúc mạng CNN của phƣơng pháp đề xuất với kích thƣớc ảnh ASM đầu vào là 55 55

IV. THỬ NGHIỆM VÀ ĐÁNH GIÁ
A. Môi trường và dữ liệu thử nghiệm
Phƣơng pháp đề xuất đƣợc đánh giá và so sánh với phƣơng pháp khác đã công bố trên cơ sở bộ dữ liệu
Microsoft Malware Classification Challenge (BIG 15) [16], đƣợc đăng tải trên trang Kaggle [17]. Bộ dữ liệu BIG 15
bao gồm 21.741 mẫu độc (hơn 500 Gb dữ liệu) thuộc 9 họ khác nhau. Bộ dữ liệu này đƣợc chia thành hai tập bao gồm
tập huấn luyện (10.868 mẫu), tập thử nghiệm đánh giá (10.873 mẫu). Mẫu thuộc tập thử nghiệm không đƣợc gán nhãn,


Mạc Đình Hiếu, Lê Ngọc Anh, Trần Đức Hùng, Trịnh Văn Hùng, Ngơ Minh Phƣớc, Hà Quốc Trung

497

vì thế kết quả phân loại phải đƣợc gửi lên trang Kaggle để hệ thống đƣa ra giá trị thang đó liên quan đến tỷ lệ phân loại
chính xác. Điều này đảm bảo tính khách quan trong việc đối sách giữa các phƣơng pháp khác nhau.
Dữ liệu của mỗi mẫu mã độc đƣợc cung cấp dƣới hai dạng. Tệp tin .bytes là tệp nhị phân với các tiêu đề thực thi
đã đƣợc loại bỏ, trong khi đó tệp tin .asm lƣu thơng tin biểu diễn dữ liệu bao gồm các lời gọi hàm, chuỗi các lệnh hợp
ngữ và thanh ghi đƣợc trích xuất bởi công cụ dịch ngƣợc IDA từ nội dung tệp nhị phân [20]. Trong phần thực nghiệm,
khác với các phƣơng pháp truyền thống, chúng tôi chỉ sử dụng các tệp tin .asm để tiến hành phân loại nhanh mã độc.
Do đặc thù của bộ dữ liệu nên tƣơng tự nhƣ nghiên cứu của Kalash và các cộng sự [4] chúng tôi thử nghiệm với hai
kịch bản khác nhau liên quan đến bộ dữ liệu này.
Bảng 1. Số lƣợng mẫu của mỗi họ mã độc trong tập dữ liệu huấn luyện

Họ mã độc
Ramnit
Lollipop
Kelihos_ver3
Vundo
Simda
Tracur
Kelihos_ver1
Obfuscator.ACY
Gatak

Số lƣợng mẫu
1,541
2,478
2,942
475
42
751
398
1228
1013

Kịch bản 1: Tập huấn luyện ban đầu (10.868 mẫu) đƣợc phân chia ngẫu nhiên thành ba tập con trong đó 85 %
số lƣợng mẫu đƣợc dùng để huấn luyện, 5 % để đánh giá quá trình huấn luyện và 10 % còn lại để đánh giá và so sánh
giữa các kiến trúc mạng với các tham số khởi tạo khác nhau. Chi tiết số lƣợng mẫu của từng phân lớp đƣợc thể hiện
trong Bảng 1 dƣới đây. Chúng tôi sử dụng các dữ liệu này để đánh giá phƣơng pháp đề xuất với các kích cỡ ảnh đầu
vào khác nhau, từ đó lựa chọn ra kích cỡ phù hợp cũng nhƣ xác định đƣợc các tham số cho quá trình huấn luyện cho
kết quả tối ƣu nhất.
Kịch bản 2: Trong kịch bản này, chúng tôi sử dụng mơ hình tốt nhất thu đƣợc trong Kịch bản 1 và huấn luyện
lại với toàn bộ 10.868 mẫu, sau đó tiến hành phân loại cho các mẫu trong bộ dữ liệu thử nghiệm. Kết quả phân loại sẽ

đƣợc gửi lên Kaggle để tính tốn độ chính xác của phƣơng pháp đề xuất so với các phƣơng pháp khác.
Trong thử nghiệm, phƣơng pháp phân loại nhanh mã độc đƣợc lập trình bằng ngơn ngữ Python sử dụng các thƣ
viện Keras [18], Tensorflow [19] thực thi trên máy tính cài hệ điều hành Ubuntu 18.04, CPU Intel Core i5-8400, ram
16GB và GPU Nvidia GeForce GTX 1080 Ti.
B. Các tham số đánh giá
Tƣơng tự nhƣ các cơng trình nghiên cứu [4-5], [11-12], trong bài báo này chúng tôi sử dụng hai tham số để đánh
giá là độ chính xác và giá trị Logloss của toàn bộ kết quả phân loại các mẫu mã độc trên tập dữ liệu thử nghiệm. Độ
chính xác là tỷ lệ các kết quả dự đốn chính xác trên tổng số mẫu thử nghiệm đƣợc hiển thị dƣới dạng %. Độ chính xác
đƣợc chúng tơi sử dụng để đánh giá phƣơng pháp trong Kịch bản 1 khi nhãn của các mẫu thử nghiệm đã đƣợc biết
trƣớc. Trong Kịch bản 2, chúng tôi sử dụng giá trị logloss đƣợc tính theo Biểu thức (2)
∑∑

(

)

(2)

trong đó là số lƣợng mẫu thử nghiệm, là số lƣợng phân lớp mã độc, log là logarit tự nhiên (logratit cơ số e),
bằng 1 nếu mẫu là thuộc lớp và bằng 0 trong các trƣờng hợp cịn lại,
là xác suất mà mẫu đƣợc dự đốn là thuộc
lớp mã độc . Bên cạnh các tham số về độ chính xác, thời gian cần thiết để phân loại đƣợc một mẫu mã độc cũng đƣợc
chúng tôi đánh giá trong bài báo này.
C. Kết quả, nhận xét và đánh giá
1. Kịch bản 1
Nhƣ đã trình bày trong phần 2.1 việc lựa chọn kích cỡ ảnh đầu vào sẽ ảnh hƣởng đến kiến trúc của mạng cũng
nhƣ độ chính xác của bộ phân loại. Kích thƣớc tối thiểu với ảnh ASM là 45x45. Phƣơng pháp đề xuất cho kết quả tốt
nhất với ảnh kích thƣớc 55x55. Từ độ phân giải 64x64 trở đi, độ chính xác có thay đổi, nhƣng mức độ thay đổi khơng
đáng kể. Vì thế trong bài báo, chúng tôi đề xuất sử dụng ảnh 55x55 để cân bằng giữa hai thang đo độ chính xác và khối
lƣợng tính tốn.

Bảng 2. Hiệu năng của phƣơng pháp đề xuất với các kích cỡ ảnh ASM đầu vào khác nhau
Số lƣợng điểm ảnh trích xuất
Kích cỡ ảnh ASM đầu vào
Độ chính xác (%)

1024
32x32
90,208

2025
45x45
97,616

3025
55x55
98,590

4096
64x64
98,012

7056
78x78
97,607

8100
90x90
97,551

10000

100x100
97,708


PHƢƠNG PHÁP PHÂN LOẠI NHANH MÃ ĐỘC SỬ DỤNG MẠNG NƠRON TÍCH CHẬP

498

2. Kịch bản 2
Kịch bản 2 thực hiện so sánh phƣơng pháp đề xuất với những phƣơng pháp của Gibert [12], Ahmadi và cộng sự
[14], phƣơng pháp M-CNN [4] và mạng LSTM hai chiều [5] theo hai tiêu chí Logloss và độ chính xác, trong đó
Logloss là tiêu chí chính đƣợc sử dụng trong cuộc thi BIG 15. Từ Bảng 3 có thể thấy phƣơng pháp đề xuất có kết quả
tốt hơn so với các phƣơng pháp sử dụng ảnh .byte. Việc kết hợp hai ảnh cho hiệu quả vƣợt trội, nhƣng đòi hỏi nhiều
thời gian để xử lý đối với một mẫu mã độc.
Bảng 3. So sánh hiệu năng của phƣơng pháp đề xuất với các phƣơng pháp phân loại khác theo tiêu chí đánh giá Microsoft Malware
Classification Challenge (BIG 15)
Phƣơng pháp
Gibert [12]
Ahmadi và cộng sự [14]
Đội chiến thắng [15]
M-CNN [4]
CNN BiLSTM - Reb Sampl [5]
Phƣơng pháp đề xuất

Kiểu tệp dữ liệu đầu vào
.bytes
.bytes + .asm
.bytes + .asm
.bytes
.bytes

.asm

Logloss
0,1176
0,0063
0,0028
0,0571
0,0655
0,0533

Liên quan đến độ chính xác, phƣơng pháp đề xuất cũng có kết quả tƣơng đƣơng với các phƣơng pháp truyền
thống. Phƣơng pháp của Gilbert và cộng sự tập trung vào việc phân loại đúng các mẫu mã độc vì thế Logloss không đạt
đƣợc kết quả tốt tại cuộc thi BIG 15.
Bảng 4. So sánh hiệu năng của phƣơng pháp đề xuất với các phƣơng pháp phân loại mã độc khác có cùng hƣớng tiếp cận
dựa trên Deep Learning với đầu vào là ảnh của mã độc
Phƣơng pháp
Gibert [12]
Li Chen [11]
CNN BiLSTM - Reb Sampl [5]
M-CNN [4]
Phƣơng pháp đề xuất

Kiểu tệp dữ liệu đầu vào
.bytes
.bytes
.bytes
.bytes
.asm

Kích thƣớc ảnh đầu vào

32x32
224x224
32x32
224x224
55x55

Độ chính xác (%)
99,38
98,13
98,20
98,99
98,59

Chúng tôi cũng tiến hành đánh giá thời gian phân loại đối với một mẫu mã độc. Theo nhƣ Bảng 3, phƣơng pháp
đề xuất có kết quả tƣơng đƣơng với 10,4 milligiây, thấp hơn khoảng 4 lần so với phƣơng pháp dùng mạng LSTM hai
chiều. Thời gian 5,4 milligiây cũng phù hợp để triển khai trong các ứng dụng phân loại mã độc hoạt động theo thời
gian thực.
Bảng 5. So sánh thời gian cần thiết để phân loại mã độc
Thời gian chuyển đổi tệp mã độc sang ảnh (s)
Thời gian phân loại ảnh (s)
Tổng thơi gian phân loại (s)

CNN BiLSTM - Reb Sampl [5]
0,0176
0,0021
0,0197

Phƣơng pháp đề xuất
0,0052
0,0002

0,0054

V. KẾT LUẬN
Trong bài báo này, chúng tôi đã đề xuất một hƣớng tiếp cận mới cho bài toán phân loại mã độc bằng cách biểu
diễn các tệp asm của mã độc dƣới dạng ảnh rút gọn và sử dụng một kiến trúc mạng CNN đơn giản để phân loại. Bằng
thực nghiệm, chúng tơi đã chứng minh tính hiệu quả của phƣơng pháp đề xuất với logloss trên bộ dữ liệu mã độc thử
nghiệm của Microsoft Malware Classification Challenge là 0.0533, tốt hơn các phƣơng pháp phân loại dựa trên ảnh mã
độc đƣợc tạo ra từ tệp nhị phân. Bên cạnh đó phƣơng pháp đề xuất cho phép xây dựng đƣợc một bộ phân loại mã độc
tự động với hiệu năng xử lý đạt xấp xỉ 100 mẫu mã độc/s trên cấu hình phần cứng phổ thông.
Trong tƣơng lai, chúng tôi sẽ mở rộng bộ dữ liệu huấn luyện với nhiều họ mã độc mới để tăng khả năng phân
loại, hỗ trợ các nhà nghiên cứu bảo mật trong việc phân tích chuyên sâu các mẫu mã độc từ đó có thể phát hiện, ngăn
chặn và loại bỏ kịp thời các biến thể mới của các mẫu mã độc đã biết, đảm bảo an tồn an ninh cho khơng gian mạng.
VI. LỜI CẢM ƠN
Các nghiên cứu trong bài báo này được tài trợ bởi Viện Hố học mơi trường qn sự.
TÀI LIỆU THAM KHẢO
[1] Michael Sikorski and Andrew Honig, "Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious
Software", No Starch Press, Inc., San Francisco, 2012.
[2] "Internet Security Threat Report", antec .com/content/dam/symantec/docs/reports/istr-24-2019en.pdf, Accessed: 25-11-2019.


Mạc Đình Hiếu, Lê Ngọc Anh, Trần Đức Hùng, Trịnh Văn Hùng, Ngô Minh Phƣớc, Hà Quốc Trung

499

[3] Lakshmanan Nataraj, S. Karthikeyan and B.S. Manjunath, "Sattva: Sparsity inspired classification of malware
variants", the 3rd ACM Workshop on Information Hiding and Multimedia Security, 2015, pp. 135-140, 2015.
[4] Mahmoud Kalash et al., "Malware classification with deep convolutional neural networks", The 9th IFIP
International Conference on New Technologies, Mobility and Security (NTMS), Paris, France, 2018.
[5] Le Quan et al., "Deep learning at the shallow end: Malware classification for non-domain experts." Digital
Investigation, Vol. 26, pp. 118-126, 2018.

[6] Mac Hieu, et al., "DGA botnet detection using supervised learning methods", the Eighth International Symposium
on Information and Communication Technology, Nha Trang, Vietnam 2017.
[7] Goodfellow, Ian, Yoshua Bengio, and Aaron Courville. "Deep learning". MIT press, 2016.
[8] Tran Duc et al., "A LSTM based framework for handling multiclass imbalance in DGA botnet detection."
Neurocomputing, Vol. 275, pp. 2401-2413, 2018.
[9] Mac Hieu et al., "Detecting Attacks on Web Applications using Autoencoder." The Ninth International
Symposium on Information and Communication Technology, Da Nang, Vietnam, 2018.
[10] Hiếu Mạc Đình, et al. "A Method to Improve LSTM using Statistical Features for DGA Botnet Detection",
Research and Development on Information and Communication Technology Vol. 40, No. 3, 2018.
[11] Li Chen, "Deep transfer learning for static malware classification", arXiv preprint arXiv: 1812.07606, 2018.
[12] D. Gibert Llaurado, "Convolutional neural networks for malware classification", Master’s thesis, Universitat
Polit`ecnica de Catalunya, 2016.
[13] L. Nataraj, S. Karthikeyan, G. Jacob and B.S Manjunath, "Malware images: Visualization and Automatic
Classification", The 8th international symposium on visualization for cyber security, 2011.
[14] M. Ahmadi, D. Ulyanov, S. Semenov, M. Trofimov, G. Giacinto, "Novel feature extraction, selection and fusion
for effective malware family classification". The Sixth ACM Conference on Data and Application Security
andPrivacy, New York, USA, 2016.
[15] "Microsoft malware winners’ interview: 1st place, no to overfitting!" />Microsoft Malware/ blob/master/ Saynotooverfitting.pdf, 2017, Accessed: 22 November 2019.
[16] Ronen Royi et al., "Microsoft malware classification challenge", arXiv preprint arXiv:1802.10135, 2018.
[17] Microsoft Malware Classification Challenge (BIG 2015), "Classify malware into families based on file content and
characteristics", URL c/malware-classification, Retrieved: 24 November 2019.
[18] Franỗois Chollet. Keras, URL , Accessed: 24 November 2019.
[19] Tensorflow, "An end-to-end open source machine learning platform", , Retrieved: 24
November 2019.
[20] The Interactive Disassembler (IDA), Retrieved: 15 August 2020.
[21] "Multi-layer Perceptron and Backpropagation", Accessed: 2511-2019.
[22] Krizhevsky, Alex, and Geoff Hinton. "Convolutional deep belief networks on cifar-10." Unpublished manuscript
40.7 (2010): 1-9.
FAST AND ACCURATE MALWARE CLASSIFICATION
BASED ON CONVOLUTIONAL NEURAL NETWORKS

Mac Dinh Hieu, Le Ngoc Anh, Tran Duc Hung, Trinh Van Hung, Ngo Minh Phuoc, Ha Quoc Trung
ABSTRACT: In this paper, we propose a novel method for fast and accurate malware classification using Convolutional
Neural Networks (CNN) and ASM images. Particularly, the proposed method relies on the reverse engineering tools to create the
so-called ASM file, whose metadata can be represented as a sequence of image pixels. Such sequence is then shortened and
reshaped to form an ASM image. A simple CNN is also exploited to performance the classification, where the ASM image is treated
as an input of the network. Experiments are carried out on the dataset from Microsoft Malware Classification Challenge (BIG 15).
They have shown that the proposed method can achieve an accuracy of 98,59 %. It is also amenable to deployed in a practical
security system.



×