Xem mẫu

  1. 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 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ệ hieumd@soict.hust.edu.vn, anh.ln180008@sis.hust.edu.vn, minhhieu06042010@gmail.com, hungtv@most.gov.vn, phuocnm@most.gov.vn, trunghq@soict.hust.edu.vn 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.
  2. 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
  3. 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
  4. 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 26x26x32 26x26x64 24x24x64 512 53x53x32 55x55x1 55x55x32 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,
  5. 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 Số lƣợng mẫu Ramnit 1,541 Lollipop 2,478 Kelihos_ver3 2,942 Vundo 475 Simda 42 Tracur 751 Kelihos_ver1 398 Obfuscator.ACY 1228 Gatak 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 1024 2025 3025 4096 7056 8100 10000 Kích cỡ ảnh ASM đầu vào 32x32 45x45 55x55 64x64 78x78 90x90 100x100 Độ chính xác (%) 90,208 97,616 98,590 98,012 97,607 97,551 97,708
  6. 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 Gibert [12] .bytes 0,1176 Ahmadi và cộng sự [14] .bytes + .asm 0,0063 Đội chiến thắng [15] .bytes + .asm 0,0028 M-CNN [4] .bytes 0,0571 CNN BiLSTM - Reb Sampl [5] .bytes 0,0655 Phƣơng pháp đề xuất .asm 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 Kiểu tệp dữ liệu đầu vào Kích thƣớc ảnh đầu vào Độ chính xác (%) Gibert [12] .bytes 32x32 99,38 Li Chen [11] .bytes 224x224 98,13 CNN BiLSTM - Reb Sampl [5] .bytes 32x32 98,20 M-CNN [4] .bytes 224x224 98,99 Phƣơng pháp đề xuất .asm 55x55 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 Thời gian chuyển đổi tệp mã độc sang ảnh (s) 0,0176 0,0052 Thời gian phân loại ảnh (s) 0,0021 0,0002 Tổng thơi gian phân loại (s) 0,0197 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. [2] "Internet Security Threat Report", https://www.symantec .com/content/dam/symantec/docs/reports/istr-24-2019- en.pdf, Accessed: 25-11-2019.
  7. 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 characteristics", URL https://www.kaggle.com/ c/malware-classification, Retrieved: 24 November 2019. [18] François Chollet. Keras, URL http://keras.io, Accessed: 24 November 2019. [19] Tensorflow, "An end-to-end open source machine learning platform", https://tensorflow.org, Retrieved: 24 November 2019. [20] The Interactive Disassembler (IDA), https://www.hex-rays.com/products/ida/, Retrieved: 15 August 2020. [21] "Multi-layer Perceptron and Backpropagation", https://machinelearningcoban.com/2017/02/24/mlp, Accessed: 25- 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.
nguon tai.lieu . vn