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

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  
1Việ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 quân 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 vuông đ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 toá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 toà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 chuyên 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 soá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 ngoà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 quá trình lựa chọn và triển khai môi trƣờng ảo hóa phù hợp cho mã độc. Ngoà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  
toà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 toá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 toá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 toá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 toá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 toá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  
496  
PHƢƠNG PHÁP PHÂN LOẠI NHANH MÃ ĐỘC SỬ DỤNG MẠNG NƠRON TÍCH CHẬP  
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 khuôn mặt. Với bài toá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 toá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 toá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 toá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  
toán. Việc tính toá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 toá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  
24x24x64  
26x26x64  
26x26x32  
512  
53x53x32  
55x55x1  
55x55x32  
9216  
Lớp Fully Connected  
Ảnh ASM  
Lớp nhân chập  
Max Pooling  
Lớp nhân chập  
Max Pooling  
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  
Số lƣợng mẫu  
1,541  
2,478  
2,942  
475  
Simda  
42  
Tracur  
751  
Kelihos_ver1  
Obfuscator.ACY  
Gatak  
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 toá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ự đoá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ự đoá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 toá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  
498  
PHƢƠNG PHÁP PHÂN LOẠI NHANH MÃ ĐỘC SỬ DỤNG MẠNG NƠRON TÍCH CHẬP  
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  
Kiểu tệp dữ liệu đầu vào  
Logloss  
0,1176  
0,0063  
0,0028  
0,0571  
0,0655  
0,0533  
Gibert [12]  
.bytes  
.bytes + .asm  
.bytes + .asm  
.bytes  
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  
.bytes  
.asm  
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  
Kích thƣớc ảnh đầu vào  
Độ chính xác (%)  
99,38  
.bytes  
.bytes  
.bytes  
.bytes  
.asm  
32x32  
224x224  
32x32  
224x224  
55x55  
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  
CNN BiLSTM - Reb Sampl [5]  
Phƣơng pháp đề xuất  
0,0052  
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)  
0,0176  
0,0021  
0,0197  
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 toà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 Hoá học môi trường quân 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.  
en.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!" https://github.com/xiaozhouwang/kaggle  
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  
November 2019.  
11-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.  
pdf 7 trang Thùy Anh 16440 Free
Bạn đang xem tài liệu "Phương pháp phân loại nhanh mã độc sử dụng mạng nơron tích chập", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfphuong_phap_phan_loai_nhanh_ma_doc_su_dung_mang_noron_tich_c.pdf