tóm tắt: Phân loại mã độc Android sử dụng học sâu

28 2 0
Tài liệu đã được kiểm tra trùng lặp
tóm tắt: Phân loại mã độc Android sử dụng học sâu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu Phân loại mã độc Android sử dụng học sâu

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

ĐẠI HỌC BÁCH KHOA HÀ NỘI

LÊ ĐỨC THUẬN

PHÂN LOẠI MÃ ĐỘC ANDROID SỬ DỤNG HỌC SÂU

Ngành: Kỹ thuật Máy tinh Mã số: 9480106

TÓM TẮT LUẬN ÁN TIẾN SĨ KỸ THUẬT MÁY TÍNH

Hà Nội – 2024

Trang 2

Công trình được hoàn thành tại: Đại học Bách khoa Hà Nội

Người hướng dẫn khoa học:

Luận án được bảo vệ trước Hội đồng đánh giá luận án tiến sĩ cấp Đại học Bách Khoa Hà Nội họp tại Đại học Bách khoa Hà Nội

Vào hồi …… giờ, ngày … tháng … năm ………

Có thể tìm hiểu luận án tại thư viện:

1 Thư viện Tạ Quang Bửu – Đại học Bách khoa Hà Nội 2 Thư viện Quốc gia Việt Nam

Trang 3

GIỚI THIỆU

Ngày nay, xu hướng áp dụng chuyển đổi kỹ thuật số và trí tuệ nhân tạo trong các thiết bị thông minh ngày càng tăng do cuộc cách mạng công nghiệp lần thứ tư thúc đẩy Android thống trị thị trường hệ điều hành di động với 70,79% tính đến tháng 6 năm 2023, được sử dụng trong nhiều thiết bị khác nhau như điện thoại, TV, đồng hồ, ô tô, v.v [1] Sự đa dạng này đã dẫn đến sự gia tăng mã độc (mã độc là các phần mềm độc hại) trên Android Năm 2021, có 3,36 triệu mã độc trên thị trường hệ điều hành Android [2], gây rủi ro cho người dùng Giải quyết vấn đề phát hiện mã độc là một nhu cầu cấp thiết, có 1.081 nghiên cứu từ năm 2013 đến năm 2022 trong cơ sở dữ liệu DBLP [3] Hai phương pháp phổ biến để phát hiện mã độc trên Android là phân tích tĩnh và phân tích động Phân tích tĩnh bao gồm việc kiểm tra cấu trúc, đặc điểm và mã của các tập tin thực thi mà không thực sự chạy cac đoạn mã đó, điều này sẽ an toàn hơn Nó có thể xác định mã độc bằng cách phân tích mã được dịch ngược nhưng có thể bỏ sót mã độc phức tạp (cấu trúc tập tin trong ứng dụng mã độc phức tạp hoặc một phần tập tin đã bị mã hoá, làm rối mã,v.v.) Mặt khác, phân tích động chạy mã độc tiềm ẩn trong môi trường độc lập (sandbox) để giám sát hành vi của nó, giảm rủi ro cho hệ thống Mặc dù phân tích động có thể phát hiện ra các mối đe dọa mà phân tích tĩnh có thể bỏ sót nhưng nó đòi hỏi nhiều thời gian và nguồn lực hơn Phân tích động có thể không bao quát được tất cả các lộ trình thực thi Tóm lại, phân tích tĩnh rất hữu ích cho các mối đe dọa và lỗ hổng đã biết, trong khi phân tích động phù hợp để phát hiện các mối đe dọa mới, bao gồm cả các mối đe dọa chưa từng có Phân tích động được khuyến nghị cho các tổ chức có chuyên môn về hành vi của mã độc, trong khi phân tích tĩnh phổ biến hơn do tính đơn giản trong phân loại và phát hiện mã độc Trong luận án này, tôi chỉ sử dụng phương pháp phân tích tĩnh để trích xuất đặc trưng [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

Phân loại mã độc (cả phần mềm sạch) là việc chia thành các nhóm (các họ) mã độc Hai phương pháp chính được sử dụng cho mục đích phân

Trang 4

loại mã độc này là phương pháp dựa trên chữ ký và dựa trên học máy Các phương pháp dựa trên chữ ký, được sử dụng rộng rãi trong những năm gần đây, dựa vào việc khớp "chữ ký" của các mẫu mã độc đã biết với các mẫu chưa biết, được trích xuất thông qua phân tích tĩnh hoặc động [15, 16, 17] Tuy nhiên, chúng có những hạn chế, bao gồm không có khả năng phát hiện mã độc mới hoặc chưa xác định, lỗ hổng bảo mật và mã hóa cũng như nhu cầu cập nhật cơ sở dữ liệu chữ ký liên tục Ngược lại, các phương pháp dựa trên học máy đang nổi lên như những kỹ thuật đầy hứa hẹn, tận dụng nhiều thuật toán khác nhau để phân loại mã độc dựa trên các đặc điểm (gồm đặc điểm riêng và đặc điểm chung) của ứng dụng Phương pháp dựa trên học máy có thể giải quyết một số thách thức của các phương pháp dựa trên chữ ký, chẳng hạn như phát hiện mã độc mới và giảm phân tích thủ công Tuy nhiên, phương pháp dựa trên học máy đòi hỏi nhiều thời gian và nguồn lực hơn cũng như phụ thuộc vào chất lượng của dữ liệu đào tạo được gắn nhãn và mô hình học tập Trong luận án này, tôi tập trung vào phương pháp dựa trên học máy để phân loại mã độc trên Android do những tiến bộ của phương pháp này so với phương pháp dựa trên chữ ký Học máy, một nhánh quan trọng của trí tuệ nhân tạo, được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau Nó bao gồm hai loại chính: học tập có giám sát và không giám sát Trong bối cảnh phát hiện và phân loại mã độc trên Android, các mô hình học tập không giám sát (là mô hình học không cần dữ liệu được gắn nhãn) khiến mô hình có thể hoạt động với bất kỳ ứng dụng Android nào mà không cần có kiến thức trước về lớp của ứng dụng đó Tuy nhiên, những mô hình này có thể kém tin cậy và khó hiểu hơn, có khả năng nhóm các ứng dụng dựa trên các tính năng tùy ý hoặc không liên quan và không thể nắm bắt chính xác các đặc điểm của mã độc Do đó, học có giám sát phổ biến hơn đối với việc phân loại mã độc trên Android, mang lại kết quả chính xác và dễ hiểu hơn [6, 18 19 20, 21, 22, 23, 24, 25, 26, 27] Trong luận án này, tôi tập trung vào mô hình học tập có giám sát, đòi hỏi một tập dữ liệu đáng kể và đáng tin cậy với các ứng dụng Android được gắn

Trang 5

nhãn là lành tính hoặc mã độc Tôi sử dụng những bộ dữ liệu được cung cấp trên Internet, những bộ dữ liệu này đã được tổng hợp của phòng nghiên cứu, trường đại học có uy tín trên thế giới

Trong học máy có hai bước chính là chuẩn bị dữ liệu và đánh giá mô hình

− Chuẩn bị dữ liệu bao gồm việc thu thập, làm sạch, chuyển đổi và lựa chọn dữ liệu được sử dụng cho mô hình học máy Điều này rất quan trọng vì chất lượng và hiệu suất của mô hình học máy phụ thuộc vào việc chuẩn bị dữ liệu này Dữ liệu không đầy đủ, không chính xác, không liên quan hoặc không nhất quán có thể cản trở khả năng của mô hình trong việc tìm hiểu các mẫu và đưa ra dự đoán đáng tin cậy

− Đánh giá mô hình là quá trình đo lường và so sánh hiệu suất của mô hình học máy trên dữ liệu chưa nhìn thấy (dữ liệu kiểm tra) Điều quan trọng là phải đánh giá mức độ khái quát của mô hình đối với các tình huống mới và độ tin cậy trong các dự đoán mà mô hình đưa ra

Chuẩn bị dữ liệu trong quá trình phân loại mã độc trên Android bao gồm việc trích xuất các đặc trưng thô từ tập tin APK, chẳng hạn như quyền, lệnh gọi API và tài nguyên thông qua phân tích tĩnh Các đặc trưng này ban đầu ở định dạng "chuỗi" và yêu cầu chuyển đổi thành giá trị số cho học máy Nghiên cứu trước đây thường sử dụng các đặc trưng thô này một cách riêng lẻ hoặc kết hợp chúng mà không xem xét mối quan hệ của chúng [4, 5, 7, 26, 28, 29] Trong luận án này, hai phương pháp tăng cường các đặc trưng thô được đề xuất, tập trung vào mối quan hệ giữa các đặc trưng Cụ thể, sự xuất hiện đồng thời của các quyền và lệnh gọi API được khám phá để cải thiện mối quan hệ giữa các tính năng

Để đánh giá mô hình, nhiều mô hình học máy truyền thống khác nhau như SVM, RF, DT, KNN và NB đã được xem xét và cho thấy độ chính xác cao trong việc phát hiện mã độc [14, 25, 27, 30] Các mô hình học sâu, đặc biệt là mạng nơ-ron tích chập (CNN), đã phân loại tốt trong

Trang 6

các lĩnh vực khác như nhận dạng dấu vân tay, nhận dạng khuôn mặt và phát hiện giọng nói nhưng lại chưa được sử dụng đúng mức trong phân loại mã độc trên Android [31, 32, 33, 34] Một số nghiên cứu đã chỉ ra việc chuyển đổi tập tin APK thành "hình ảnh" để phân loại dựa trên CNN, thành công trên Windows nhưng không thành công trên Android do tính chất phức tạp của tập tin APK Không giống như tập tin Windows, tập tin APK chứa nhiều thành phần cần thiết cho ứng dụng Android Việc chuyển đổi APK thành hình ảnh sẽ đơn giản hóa dữ liệu Để tận dụng học sâu một cách hiệu quả và cải thiện khả năng phân loại mã độc trên Android, mô hình Deep and Wide (D&W) đã được đề xuất Kết quả thực nghiệm trên các bộ dữ liệu khác nhau chứng minh tính khả thi và hiệu quả của phương pháp này

Tóm lại, luận án có những đóng góp chính sau: ▪ Trong giai đoạn trích xuất đặc trưng:

• Tăng cường đặc trưng dựa trên ma trận đồng hiện trong công trình [Pub.2]

• Tăng cường đặc trưng dựa trên thuật toán Apriori trong công trình [Pub.6]

• Lựa chọn đặc trưng dựa trên mức độ phổ biến và độ tương phản trong công trình [Pub.10]

▪ Phân lớp mã độc trên Android bằng mô hình học sâu và rộng trong

công trình [Pub.3] (chỉ mục SCI Q3)

Để đạt được kết quả nêu trên, luận án kết hợp phân tích lý thuyết với đánh giá thực nghiệm Trong luận án đã bắt đầu bằng việc xem xét kỹ lưỡng các tài liệu liên quan để xác định một vấn đề chung và sau đó đi sâu vào các vấn đề chưa được giải quyết Luận án giới thiệu và giải thích các phương pháp, giải quyết các vấn đề này trong quá trình trích chọn và huấn luyện đặc trưng Các phương pháp này được thực nghiệm trên ba bộ dữ liệu đáng tin cậy để đánh giá và so sánh hiệu suất của chúng với các phương pháp học máy khác

Trang 7

CHƯƠNG 1 TỔNG QUAN VỀ PHÂN LỚP MÃ ĐỘC TRÊN ANDROID DỰA TRÊN HỌC MÁY

1.1 Thông tin cơ bản

Phần này trình bày về: nền tảng Android, khái niệm về mã độc trên Android, phân loại mã độc Android, tình hình tổng thể về mã độc trên Android hiện nay

1.2 Các phương pháp pháp hiện mã độc trên Android 1.2.1 Phương pháp dựa trên chữ ký

Trong phương pháp này, đặc điểm của mã độc sẽ được lưu trữ trong cơ sở dữ liệu Đặc điểm có thể được trích xuất bằng phân tích tĩnh hoặc động Để quyết định xem một mẫu có phải là mã độc hay không, phương pháp này sẽ so sánh đặc điểm của mẫu với tất cả các đặc điểm được lưu trong cơ sở dữ liệu

1.2.2 Phương pháp phát hiện dựa trên sự bất thường

Cách tiếp cận dựa trên sự bất thường là phương pháp phỏng đoán và quy trình chạy theo kinh nghiệm để phát hiện các hoạt động bất thường Các mô hình học máy thuộc phương pháp này Mô hình học máy bao gồm hai giai đoạn: giai đoạn huấn luyện và giai đoạn phát hiện, được trình bày trong Hình 1.4 Học máy này dựa vào mô hình đã được huấn luyện trước đó và các đặc trưng được thu thập (số lượng đặc trưng lớn không thể sử dụng bằng cách so khớp) để đưa ra kết luận về hành vi của ứng dụng

1.2.3 Các độ đo được sử dụng

Một số độ đo thường được sử dụng như: Accuracy (Acc), Precision, Recall, F1-score, confusion matrix, ROC curve, Area Under the Curve, v.v Đối vưới bài toán phân lớp, có một vài độ đo khác được sử dụng

1.2.4 Bộ dữ liệu mã độc Android

Nhiều bộ dữ liệu đã được xuất bản cho cộng đồng nghiên cứu như: Contagio mobile, Malgenome, Virusshare, Drebin, PRAGuard, Androzoo, AAGM, AMD, CICMalDroid 2020, MalNet2020 Các

Trang 8

thực nghiệm trong luận án, tôi sử dụng các bộ dữ liệu: Virusshare, Drebin, AMD

1.3 Phân lớp mã độc Android dựa trên học máy

Nhìn chung, có 4 bước liên quan đến việc phân loại mã độc trên Android − Trích xuất đặc trưng: trích xuất dựa trên phân tích tĩnh, động, lai − Lựa chọn đặc trưng: đặc trưng có trọng số thấp là đặc trưng ít quan

trọng, sẽ được loại bỏ Chỉ giữ những đặc trưng quan trọng − Tăng cường đặc trưng: các đặc trưng mới được tạo ra từ sự kết hợp

giữa các đặc trưng ban đầu

− Áp dụng mô hình học máy, học sâu: sử dụng các đặc trưng ở các bước trên, đi vào mô hình học máy, học sâu để đưa ra kết luận

1.4 Các nghiên cứu liên quan

Nội dung khảo sát trong Mục 1.3.1 về kỹ nghệ đặc trưng gồm khía cạnh chính là trích xuất đặc trưng, tăng cường đặc trưng và chọn lọc đặc trưng Về trích xuất đặc trưng, các nghiên cứu trong Mục 1.3.1.1 tập trung trích xuất đặc trưng theo Permission, API call riêng biệt mà chưa tạo ra các đặc trưng liên kết giữa các Permission, giữa các API và giữa các Permission với API Dựa trên khoảng trống này, luận án đã nghiên cứu, đề xuất và phát triển phương pháp tăng cường đặc trưng sử dụng ma trận đồng hiện và tăng cường đặc trưng sử dụng thuật toán Apriori trong Mục 1.3.1.2 Các phương pháp chọn lọc đặc trưng được tổng hợp trong Mục 1.3.1.3 phần lớn tập trung vào việc chọn lọc đặc trưng dựa trên độ phổ biến của các đặc trưng mà chưa xét đến độ tương phản về mặt giá trị giữa các đặc trưng và các nhóm đặc trưng Do đó, để giải quyết vấn đề này, luận án đã đề xuất, phát triển phương pháp chọn lọc đặc trưng dựa trên độ phổ biến và độ tương

Có thể thấy rằng các mô hình học máy và học sâu cho kết quả tốt trong việc phát hiện và phân loại mã độc trên Android Các kết quả được liệt kê ở mục 1.3.2 Đa phần các kết quả đều cho độ chính xác lên tới 90% Trong mục này, tôi đã tổng hợp và so sánh kết quả của các phương pháp đã có về tăng cường đặc trưng, phân lớp mã độc Trên cơ sở đó

Trang 9

làm căn cứ luận giải các phương pháp được đề xuất, phát triển trong luận án

Từ kết quả của khảo sát trong Mục 1.3.2 cho thấy: việc áp dụng mô hình học máy (SVM, RF, KNN, v.v.) và mô hình học sâu (DBN, CNN, LSTM, GAN, v.v.) cho kết quả tốt với bài toán phân lớp mã độc trên Android Từ đó, tôi đã áp dụng thành công các mô hình học máy, học sâu vào trong bộ dữ liệu của mình (khi sử dụng thêm các thuật toán tăng cường đặc trưng và lựa chọn đặc trưng trong Mục 1.3.1.) và làm cơ sở để áp dụng thành công mô hình WDCNN (là mô hình cải tiển của CNN) trong bài toán phát hiện mã độc.

1.5 Các phương pháp đề xuất

Trong luận án, tôi đã đề xuất một số phương pháp:

− Lựa chọn đặc trưng: ngoài các thuật toán được sử dụng như IG,

IF-IDF, tôi đã đề xuất một phương pháp mới dựa trên độ tương phản và độ phổ biến [Pub.10] Sau khi áp dụng đã cho kết quả tốt hơn khi sử dụng thuật toán IG, thậm chí độ đo recall còn được cải thiện hơn so với sử dụng bộ đặc trưng ban đầu

Tăng cương đặc trưng dựa trên Co-matrix: sử dụng Co-matrix để

kết hợp hai đặc trưng gốc với nhau [Pub.2] Co-matrix được thiết lập dựa trên các đặc trưng ban đầu, được trích xuất từ các tập tin APK Các đặc trưng được đề xuất có thể tận dụng lợi thế của CNN trong khi vẫn giữ được các đặc trưng quan trọng của mã độc Android

− Tăng cương đặc trưng dựa trên thuật toán Apriori: áp dụng thuật

toán Apriori trong từng bộ đặc trưng để kết hợp các đặc trưng gốc với nhau [Pub.6] Phương pháp này nghiên cứu các luật kết hợp từ tập đặc trưng ban đầu để đưa ra các đặc trưng có tính tương quan cao và mang tính thông tin, những đặc điểm này sẽ được thêm vào tập đặc trưng ban đầu

Tăng cường đặc trưng bằng thuật toán Apriori và Co-matrix đã được sử dụng để tạo ra nhiều đặc trưng hơn (thực tế đó là mối quan hệ giữa các đặc trưng) Các đặc trưng có liên quan với nhau và khi khai thác

Trang 10

liên kết giữa các đặc trưng sẽ cho kết quả phát hiện và phân loại tốt hơn

− Mô hình WDCNN [Pub.3]: đây là mô hình được cải tiến từ mô

hình CNN Trong mô hình WDCNN, các thông tin được đưa vào trong thành phần rộng và thành phần sâu Kết quả khi sử dụng mô hình WDCNN tốt hơn so với CNN và các phương pháp học máy khác

− Học liên kết [Pub.11]: mô hình học liên kết được sử dụng để huấn

luyện và phát hiện trên nhiều máy Mặc dù độ chính xác trong mô hình học liên kết thấp hơn (nhưng không đáng kể), nhưng cho tốc độ xử lý cao, từ đó cho phép các mô hình và ứng dụng thực được thực nghiệm và triển khai trong thời gian ngắn

CHƯƠNG 2 CÁC PHƯƠNG PHÁP ĐỀ XUẤT THEO HƯỚNG TRÍCH XUẤT ĐẶC TRƯNG

Chương này tập trung vào các phương pháp cải thiện bộ đặc trưng Có hai cách tiếp cận:

− Tăng cường bộ đặc trưng: các đặc trưng bổ sung sẽ được tạo ra từ bộ đặc trưng ban đầu

− Lựa chọn đặc trưng: loại bỏ các đặc trưng có trọng số thấp (theo thuật toán được áp dụng) Từ đó, một bộ đặc trưng mới có số lượng nhỏ hơn bộ đặc trưng gốc và được coi là các đặc trưng quan trọng trong bài toán phân lớp mã độc

2.1 Tăng cường đặc trưng dựa trên ma trận đồng hiện 2.1.1 Ý tưởng

Mô hình tổng thể về việc áp dụng ma trận đồng hiện để tăng cường đặc trưng trong bài toán phân lớp mã độc trên Android được thể hiện như trong Hình 2.1

2.1.2 Trích xuất đặc trưng thô

Các đặc trưng được trích xuất từ tập tin APK và được trích xuất theo phương pháp tĩnh Các đặc trưng được trích xuất từ tập tin XML và tập tin DEX

Trang 11

2.1.3 Các đặc trưng được tính toán bằng ma trận đồng hiện

Thực hiện tính toán theo ma trận đồng hiện được mô tả như trong thuật toán 2 Hình 2.2 minh hoạ ví dụ về tạo ma trận đồng hiện từ các kích cỡ khác nhau

2.1.4 Kết quả thực nghiệm

2.1.4.1 Bộ dữ liệu thực nghiệm

Trong nghiên cứu này, tôi sử dụng bộ dữ liệu Drebin để tiến hành thực nghiệm Bộ dữ liệu bao gồm 5,438 mẫu với 179 họ mã độc [167] Ngoài ra, tôi dữ dụng 6,732 mẫu mã sạch bao gồm các ứng dụng và các trò chơi [168]

Tôi đã trích xuất 398 đặc trưng permission và 200 lời gọi API được sử dụng nhiều nhất trong bộ dữ liệu Như vậy, mỗi tập tin APK tôi tạo một vector đặc trưng thô gồm 598 đặc trưng Sau khi tính toán qua ma trận đồng hiện, cho kết quả là 158,404 đặc trưng permission và 40,000 đặc trưng lời gọi API

2.1.4.2 Kịch bản thực nghiệm

Tôi tiến hành với hai kịch bản thực nghiệm như sau:

Kịch bản 1: sử dụng 598 đặc trưng gốc là permission và API

Trang 12

Scenario 2: sử dụng 198,404 đặc trưng sau khi đưa đặc trưng gốc

trong kịch bản 1 vào ma trận đồng hiện (158,404 đặc trưng permission và 40,000 đặc trưng API)

2.1.4.3 Phân lớp mã độc dựa trên mô hình CNN

Cấu trúc của mô hình CNN được thể hiện như trong Hình 2.4 Các tham số của mô hình CNN được thể hiện như trong Bảng 2.1

2.1.4.4 Kết quả thực nghiệm

Với hai bộ dữ liệu: gồm đặc trưng thô và đặc trưng đã sử dụng ma trận đồng hiện (trong hai kịch bản) Với mỗi bộ, tôi chia thành 10 phần (10-fold) bằng nhau Tôi sử dụng 8 phần cho huấn luyện (train), 1 phần cho kiểm tra trong lúc huấn luyện (validation) và một phần cho kiểm tra (test) Thực nghiệm luân phiên 10 lần và lấy kết quả trung bình Kết quả thực nghiệm với mô hình CNN được thể hiện chi tiết trong Bảng 2.2 Ngoài ra, tôi sử dụng thêm các độ đo như PR, RC, F1_score, và FPR để đánh gia khách quan hơn, được thể hiện trong Hình 2.3

Bảng 2.2: Phân lớp với mô hình CNN với độ đo Acc (%)

Trang 13

2.2 Tăng cường đặc trưng dựa trên thuật toán Apriori 2.2.1 Ý tưởng

Thuật toán Apriori là một kỹ thuật được sử dụng phổ biến trong lĩnh vực khai thác dữ liệu Mục đích chính của nó là khám phá quy tắc kết hợp giữa các đối tượng khác nhau Trong bối cảnh phát hiện mã độc trên Android, các đặc trưng được trích xuất từ tập tin APK Hai loại đặc trưng quan trọng là permisssion và lệnh gọi API Tuy nhiên, các đặc trưng là riêng biệt và không có bất kỳ kết nối nào Vì vậy, việc sử dụng thuật toán Apriori là khả thi để thu thập kiến thức về luật kết hợp trong vấn đề cụ thể này

Để áp dụng thuật toán Apriori nhằm nâng cao bộ đặc trưng và điều chỉnh nó cho bài toán phân loại mã độc trên Android, nó được xử lý theo quy trình như trong Hình 2.5.

2.2.2 Thuật toán Apriori

2.2.2.1 Giới thiệu về thuật toán Apriori

Giá trị minsup và mincof là hai ngưỡng được xác định trước khi tạo ra

các quy tắc kết hợp Tập các đặc trưng mà tần suất xuất hiện (frequency)  minsup được gọi là tập phổ biến (frequent itemsets)

Ý tưởng của thuật toán Apriori

• Tìm tất cả frequent itemsets: sử dụng k-itemset (itemsets chứa k

items) để tìm (k+1) itemsets

• Tìm tất cả các luật kết hộp từ frequent itemsets (thoả mãn cả minsup và mincof)

2.2.2.2 Thuật toán Apriori

Giai đoạn 1: đầu tiên, tìm 1-itemset (được ký hiệu là F1) F1 được

dùng để tìm F2 (2-itemsets) F2 được dùng để tìm F3 (3-itemsets), từ đó có thể tìm tới k-itemset Được mô tả qua thuật toán 3

Giai đoạn 2: sử dụng frequent itemsets có được trong giai đoạn 1 để

sinh ra các luật kết hợp thoả mãn confidence ≥ minconf Được thể hiện

trong thuật toán 4

Trang 14

2.2.3 Tạo bộ đặc trưng

Trích xuất đặc trưng được sử dụng như trong phần 2.1.2 Sử dụng bộ đặc trưng thô kết hợp với thuật toán Apriori để tạo bộ đặc trưng được tăng cường Thuật toán Apriori được sử dụng để tạo đặc trưng tăng cường cho từng bộ: permission và lời gọi API

Nhóm 1 (permissions): sử dụng min_sup là 0.4 Vượt qua được nhóm đầu tiên, thông qua thuật toán Apriori, tôi thu được tập i

Nhóm 2 lời gọi API, services, activities đã được lấy theo xếp hạng các API được sử dụng nhiều nhất trong bộ dữ liệu, sự liên kết giữa các đặc

trưng này không chặt chẽ như permission Do đó, min_sub được đặt là 0.2 Nhóm 2 thông qua thuật toán, tôi thu được tập ii

2.2.4 Kết quả thực nghiệm

2.2.4.1 Dữ liệu và kịch bản thực nghiệm

Bộ dữ liệu Drebin [167] với 5,560 mẫu mã độc có 179 nhãn và 7,140 mẫu mã sạch từ các ứng dụng và trò chơi [168]

Tương ứng với việc trích xuất đặc trưng ở phần 3.2.3, tôi chia tập dữ liệu ban đầu thành 4 kịch bản:

Kịch bản 1: sử dụng đặc trưng permission Tôi sử dụng 398 đặc trưng

permission được trích xuất từ tập tin APK

Kịch bản 2: sử dụng các đặc trưng trong kịch bản 1 và thuật toán

Apriori: 398 + 2,132 = 2,530 features

Kịch bản 3: sử dụng các đặc trưng như sau: permission (398), APIs

(200), sizes of file, user-defined permissions, use native libc, number of services Tổng số lượng đặc trưng được sử dụng là 603

Kịch bản 4: sử dụng các đặc trưng trong kịch bản 3 và thuật toán

Apriori Tổng số đặc trưng được dùng trong kịch bản là 5,820

2.2.4.2 Mô hình CNN được dùng trong thực nghiệm

Kiến trúc mô hình CNN được sử dụng trong thực nghiệm được mô tả chi tiết trong Hình 2.6.

Các tham số của mô hình CNN được mô tả trong Bảng 2.4

Ngày đăng: 03/05/2024, 15:31

Tài liệu cùng người dùng

Tài liệu liên quan