Tóm tắt Luận án Tiến sĩ Kỹ thuật máy tính: Phân loại mã độc Android sử dụng học sâu
lượt xem 4
download
Mục đích nghiên cứu của tóm tắt luận án "Phân loại mã độc android sử dụng học sâu" trình bày các nội dung chính sau: Tổng quan về phân lớp mã độc trên Android dựa trên học máy; các phương pháp đề xuất theo hướng trích xuất đặc trưng; phân lớp mã độc Android dựa trên học sâu;... Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Tóm tắt Luận án Tiến sĩ Kỹ thuật máy tính: Phân loại mã độc Android sử dụng học sâu
- 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
- 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: 1. TS. Nguyễn Kim Khánh 2. TS. Hoàng Văn Hiệp Phản biện 1: Phản biện 2: Phản biện 3: 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
- 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 1
- 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 2
- 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 3
- 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. 4
- 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 5
- 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ở đó 6
- 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 7
- 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. 8
- 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. 9
- 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 Bảng 323: Các độ đo được sử CNN với độ đo Acc (%) dụng trong đánh giá CNN CNN với Tập Kịch Kịch bản ĐỘ ĐO CNN ma trận bản 1 2 đồng hiện 1 93.59 93.26 PR 97.6 98 2 95.68 95.98 RC 91.9 92.63 3 96.12 97.48 F1-score 94.66 95.25 4 95.29 97.07 FPR 1.56 1.3 5 96.97 96.86 ACC 95.78 96.23 6 97.1 96.06 7 97.41 97.14 8 97.47 97.24 9 95.38 96.77 10 92.00 94.46 ACC 95.78 96.23 10
- 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. 11
- 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. 12
- 2.2.4.3. Kết quả thực nghiệm Chi tiết kết quả thực nghiệm được mô tả trong Hình 2.5. Để đánh giá thuật toán Apriori, bốn bộ dữ liệu đã được đưa vào mô hình CNN như được mô tả trong Phần 2.2.4.1. Các độ đo được sử dụng trong thực nghiệm là Acc, Precision, Recall và F1_score. Kết quả được thể hiện ở Bảng 2.5 và Bảng 2.6 mô tả hiệu quả của việc sử dụng cùng một thuật toán CNN trên 4 bộ dữ liệu khi áp dụng và không áp dụng thuật toán Apriori. 98 SVM CNN RF 96 94 92 90 88 86 84 TH 1 TH 2 TH 3 TH 4 SVM 88.6 90.3 92.4 92.8 CNN 94.74 94.94 96.49 96.71 RF 91 91.6 92.9 93.3 Hình 2.7: Kết quả thực nghiệm Để so sánh rõ ràng hơn với các mô hình học máy, Hình 2.7 thể hiện kết quả dưới dạng biểu đồ. 2.2.4.4. Đánh giá Nhìn vào Hình 2.7, cả ba mô hình là CNN, SVM, RF khi sử dụng bộ dữ liệu được xử lý trước bằng thuật toán Apriori đều mang lại kết quả cao hơn. Tuy độ chính xác không cao hơn đáng kể, nhưng là điều kiện tiên quyết để áp dụng thuật toán Apriori trong các nghiên cứu sau này. 13
- 2.3. Lựa chọn tính năng dựa trên mức độ phổ biến và giá trị tương phản trong cách tiếp cận đa mục tiêu 2.3.1. Ý tưởng Ý tưởng chính của phương pháp đề xuất này là sử dụng phương pháp tối ưu hóa đa mục tiêu Pareto để xây dựng hàm chọn lọc (hàm toàn cục) dựa trên ba thước đo thành phần là mức độ phổ biến, độ tương phản giữa tập tin mã sạch với tập tin mã độc và độ tương phản giữa các loại mã độc. 2.3.2. Tính toán độ phổ biến và độ tương phản Trong phần này, tôi xây dựng các thước đo thành phần dựa trên giá trị của từng đặc trưng trong tập dữ liệu. Mỗi thước đo thành phần đại diện cho một đặc tính chất lượng của đặc trưng. Các thước đo thành phần được sử dụng để xây dựng hàm lựa chọn - đánh giá đặc trưng. 2.3.3. Phương pháp tối ưu hóa đa mục tiêu Pareto Trong phần này tôi trình bày ý tưởng về phương pháp tối ưu đa mục tiêu Pareto. 2.3.4. Hàm lựa chọn và thực hiện Hàm lựa chọn tích hợp là hàm mục tiêu tổng thể. Tôi mong muốn tối ưu hóa các đối số trên toàn cục và cân bằng giữa các mục tiêu thành phần. Hàm lựa chọn được ký hiệu là F, được xây dựng dựa trên trọng số và thước đo thành phần tương ứng như trong phương trình 2.10. F = w1*M1 + w2 * M2 + w3 * M3 (2.10) Mục đích của chức năng lựa chọn là đạt được sự phù hợp và cân bằng tốt nhất giữa các thước đo thành phần, nghĩa là nó nhắm đến mục tiêu toàn cục và chất lượng tổng thể của các đặc trưng. Tùy thuộc vào vấn đề và số lượng đặc trưng cần chọn, tôi đặt giá trị ngưỡng thích hợp M0. Đặc trưng với giá trị F ≥ M0 sẽ được chọn. Lựa chọn đặc trưng được mô tả trong thuật toán 5. 14
- 2.3.5. Kết quả thực nghiệm 2.3.5.1. Dữ liệu thực nghiệm Trong thực nghiệm này, bộ dữ liệu AMD [169] được sử dụng. Bộ dữ liệu AMD với 24,553 mẫu và có 71 họ mã độc được thu thập từ năm 2010 tới năm 2016. Tôi sử dụng 19,943 mẫu trong 65 họ mã độc. Do một vài mẫu không thể phân tích được nên đã đươc loại bỏ. Chúng tôi sử dụng 6,771 mẫu mã sạch được tải từ [168]. Do đó, bộ dữ liệu thực nghiệm bao gồm 26,714 mẫu từ 66 họ. 2.3.5.2. Kịch bản thực nghiệm Kịch bản thực nghiệm cho lựa chọn đặc trưng như sau: − Kịch bản 1: đưa bộ dữ liệu vào thuật toán lựa chọn đặc trưng được đề xuất. − Kịch bản 2: đưa bộ dữ liệu vào thuật toán IG. Với mỗi kịch bản đều được thực nghiệm theo các bộ đặc trưng như sau: o Bộ đặc trưng là các lời gọi API. o Bộ đặc trưng là permission. o Bộ đặc trưng là permission và lời gọi API. 2.3.5.3. Kết quả thực nghiệm Theo phương pháp đề xuất, để lựa chọn được đặc trưng tốt, tôi tính toán các độ đo M1, M2, M3 theo các phương trình (2.6), (2.7), (2.8). Hàm lựa chọn (F) sau đó có thể được tính toán theo các giá trị của số đo và trọng số tương ứng. Giá trị trọng số này thể hiện tầm quan trọng của từng thước đo. Theo phương pháp đa mục tiêu Pareto, các trọng số này được lựa chọn dựa trên kinh nghiệm và thực nghiệm. Kết quả lựa chọn đặc trưng được minh họa trong Bảng 2.7. Việc lựa chọn đặc trưng được thực hiện trên 3 tập đặc trưng: API, permission và API kết hợp với permission. Dựa vào giá trị F với 3 cách chọn trọng số trong Bảng 2.8 cho thấy kết quả của việc loại bỏ các đặc trưng có giá trị F nhỏ. 15
- 2.3.5.4. Đánh giá Đánh giá bằng chức năng lựa chọn đặc trưng với các trọng số khác nhau và sử dụng thuật toán IG. Kết quả được thể hiện rõ ở Bảng 2.7, Bảng 2.8 và Hình 2.11. CHƯƠNG 3 PHÂN LỚP MÃ ĐỘC ANDROID DỰA TRÊN HỌC SÂU Nội dung của Chương 3 như sau: − Áp dụng mô hình học sâu như DBN, CNN trong bài toán phân lớp mã độc trên Android. − Trình bày về mô hình WDCNN, đây là mô hình cải tiến của mô hình CNN cho kết quả tốt hơn. − Xây dựng hệ thống học tập liên kết sử dụng mô hình CNN giúp giảm thời gian đào tạo, phát hiện và ứng dụng dễ dàng hơn trên hệ thống thực. 3.1. Áp dụng mô hình DBN 3.1.1. Mô hình DBN DBN là mạng học sâu đầu tiên được Giáo sư Hinton giới thiệu vào năm 2006 [146]. Mô hình này sử dụng mô hình huấn luyện không giám sát và xếp chồng nhiều mạng không được giám sát, chẳng hạn như các máy Boltzmann bị hạn chế hoặc bộ mã hóa tự động. 3.1.2. Máy Boltzmann và mô hình DBN Máy Boltzmann bị hạn chế (RBM) là một loại mạng lưới thần kinh nhân tạo dựa trên mô hình năng lượng xác suất. Đó là một mô hình bao gồm tập hợp các biến nhị phân ngẫu nhiên nv được gọi chung là vector v, và các lớp ẩn của các biến nhịn phân ngẫu nhiên nh, được gọi là h. Các kết nối giữa các lớp tạo thành một biểu đồ lưỡng cực, nghĩa là không có kết nối nào trong cùng một lớp. Phân bố xác suất chung được biểu diễn thông qua công thức phân bố Gibbs 𝑝(𝑣, ℎ) với hàm năng lượng 𝐸 𝜃 (𝑣, ℎ) được mô tả như trong phương trình 3.1. Mạng niềm tin sâu được xây dựng bằng cách xếp chồng các lớp RBM lên nhau, với lớp kích hoạt của một RBM làm đầu vào cho RBM tiếp 16
- theo. Nó sử dụng cách tiếp cận theo lớp để huấn luyện mạng bằng cách khởi tạo các giá trị ban đầu của mạng thông qua học không giám sát, sau đó điều chỉnh các tham số bằng thuật toán tối ưu hóa để điều chỉnh trọng số một cách thích hợp sao cho xác suất đầu ra đạt được từ các giá trị đầu vào tương ứng được tối đa hóa. Hình 3.2. mô tả cấu trúc của DBN. 3.1.3. Kết quả thực nghiệm 3.1.3.1. Bộ dữ liệu thực nghiệm Trong thực nghiệm, tôi sử dụng hai bộ dữ liệu: − Bộ dữ liệu 1: 500 mẫu tập tin APK từ Virusshare [171]. − Bộ dữ liệu 2: 5,405 mẫu với 179 họ mã độc từ bộ dữ liệu Drebin [167], kết hợp với 6730 mẫu mã sạch từ [168]. Hình 3.3: Mô hình tổng thể huấn luyện và phân loại mã độc sử dụng mô hình CNN 17
- 3.1.3.2. Kịch bản thực nghiệm Dựa trên hai bộ dữ liệu và mô hình DBN, tôi có ba kịch bản thực nghiệm sau: − Kịch bản 1: sử dụng 121 đặc trưng được trích xuất từ tập tin DEX trong bộ dữ liệu 1. − Kịch bản 2: sử dụng tất cả đặc trưng trích xuất trong bộ dữ liệu 1. − Kịch bản 3: sử dụng tất cả đặc trưng trích xuất trong bộ dữ liệu 2. 3.1.3.3. Kết quả thực nghiệm Bảng 4.1 mô tả kết quả trong kịch bản 1, Bảng 3.2 mô tả kết quả trong kịch bản 2. Trong kịch bản 1 và kịch bản 2, tôi điều chỉnh số lớp ẩn và số vòng lặp để đánh giá mức độ ảnh hưởng của các siêu tham số này đến kết quả phát hiện mã độc. Bảng 3.3 mô tả kết quả trong kịch bản 3. Đối với kịch bản 3, tôi sử dụng các độ đo Acc, precision, recall, và F1_score để đánh giá. 3.2. Áp dụng mô hình CNN 3.2.1. Mô hình CNN Dựa trên lý thuyết đã cho về mạng nơ-ron tích chập, tôi sử dụng mô hình này để phân lớp mã độc trên Android. Mô hình CNN được mô tả chi tiết trong Hình 3.3. 3.2.2. Kết quả thực nghiệm 3.2.2.1. Bộ dữ liệu thực nghiệm Bộ dữ liệu Drebin [167] chứa 129,013 mẫu với 180 họ (mã sạch và 179 họ mã độc). Chi tiết bộ dữ liệu như sau: − 179 họ mã độc với 5,560 mẫu. − 123,453 mẫu mã sạch. 3.2.2.2. Tập đặc trưng thô Các đặc trưng được sử dụng bao gồm: hardware components, requested permissions, app components, filtered intents, restricted API calls, used permissions, suspicious API calls, và network address. 18
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Tóm tắt Luận án Tiến sĩ Giáo dục học: Phát triển tư duy vật lý cho học sinh thông qua phương pháp mô hình với sự hỗ trợ của máy tính trong dạy học chương động lực học chất điểm vật lý lớp 10 trung học phổ thông
219 p | 291 | 35
-
Tóm tắt Luận án Tiến sĩ Kinh tế: Chiến lược Marketing đối với hàng mây tre đan xuất khẩu Việt Nam
27 p | 187 | 18
-
Tóm tắt Luận án Tiến sĩ Luật học: Hợp đồng dịch vụ logistics theo pháp luật Việt Nam hiện nay
27 p | 279 | 17
-
Tóm tắt Luận án Tiến sĩ Kinh tế: Thúc đẩy tăng trưởng bền vững về kinh tế ở vùng Đông Nam Bộ đến năm 2030
27 p | 212 | 17
-
Tóm tắt Luận án Tiến sĩ Y học: Nghiên cứu điều kiện lao động, sức khoẻ và bệnh tật của thuyền viên tàu viễn dương tại 2 công ty vận tải biển Việt Nam năm 2011 - 2012
14 p | 272 | 16
-
Tóm tắt luận án Tiến sĩ: Nghiên cứu tối ưu các thông số hệ thống treo ô tô khách sử dụng tại Việt Nam
24 p | 254 | 12
-
Tóm tắt Luận án Tiến sĩ Triết học: Giáo dục Tư tưởng Hồ Chí Minh về đạo đức cho sinh viên trường Đại học Cảnh sát nhân dân hiện nay
26 p | 156 | 12
-
Tóm tắt luận án Tiến sĩ Kỹ thuật: Nghiên cứu tính toán ứng suất trong nền đất các công trình giao thông
28 p | 223 | 11
-
Tóm tắt Luận án Tiến sĩ Kinh tế Quốc tế: Rào cản phi thuế quan của Hoa Kỳ đối với xuất khẩu hàng thủy sản Việt Nam
28 p | 183 | 9
-
Tóm tắt Luận án Tiến sĩ Xã hội học: Vai trò của các tổ chức chính trị xã hội cấp cơ sở trong việc đảm bảo an sinh xã hội cho cư dân nông thôn: Nghiên cứu trường hợp tại 2 xã
28 p | 151 | 8
-
Tóm tắt Luận án Tiến sĩ Luật học: Các tội xâm phạm tình dục trẻ em trên địa bàn miền Tây Nam bộ: Tình hình, nguyên nhân và phòng ngừa
27 p | 207 | 8
-
Tóm tắt luận án Tiến sĩ Kinh tế: Phản ứng của nhà đầu tư với thông báo đăng ký giao dịch cổ phiếu của người nội bộ, người liên quan và cổ đông lớn nước ngoài nghiên cứu trên thị trường chứng khoán Việt Nam
32 p | 185 | 6
-
Tóm tắt Luận án Tiến sĩ Triết học: Tư tưởng Triết học của Tôn Trung Sơn và ý nghĩa của nó
32 p | 164 | 6
-
Tóm tắt Luận án Tiến sĩ Luật học: Quản lý nhà nước đối với giảng viên các trường Đại học công lập ở Việt Nam hiện nay
26 p | 137 | 5
-
Tóm tắt Luận án Tiến sĩ Ngôn ngữ học: Phương tiện biểu hiện nghĩa tình thái ở hành động hỏi tiếng Anh và tiếng Việt
27 p | 124 | 4
-
Tóm tắt luận án Tiến sĩ Y học: Nghiên cứu mức lọc cầu thận bằng Cystatin C huyết thanh ở bệnh nhân tiền đái tháo đường và đái tháo đường típ 2
38 p | 95 | 4
-
Tóm tắt luận án Tiến sĩ Kinh tế: Các nhân tố ảnh hưởng đến cấu trúc kỳ hạn nợ phương pháp tiếp cận hồi quy phân vị và phân rã Oaxaca – Blinder
28 p | 28 | 3
-
Tóm tắt luận án Tiến sĩ Kinh tế: Phát triển sản xuất chè nguyên liệu bền vững trên địa bàn tỉnh Phú Thọ các nhân tố tác động đến việc công bố thông tin kế toán môi trường tại các doanh nghiệp nuôi trồng thủy sản Việt Nam
25 p | 173 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn