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

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

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

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

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

<b>ĐẠI HỌC BÁCH KHOA HÀ NỘI </b>

<b>LÊ ĐỨC THUẬN </b>

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

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

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

Hà Nội – 2024

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

Cơng trình được hồ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

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>GIỚI THIỆU </b>

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 tồ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ã hố, 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 qt đượ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ó chun 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

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="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 qn 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à q 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 qt của mơ hình đối với các tình huống mới và độ tin cậy trong các dự đố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 ngun 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

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="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 tố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

<b>cơng trình [Pub.3] (chỉ mục SCI Q3). </b>

Để đạ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 q 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.

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

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

<b>1.1. Thông tin cơ bản </b>

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.

<b>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ý </b>

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.

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

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.

<b>1.2.3. Các độ đo được sử dụng </b>

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 tốn phân lớp, có một vài độ đo khác được sử dụng.

<b>1.2.4. Bộ dữ liệu mã độc Android </b>

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

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

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

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

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.

<b>1.4. Các nghiên cứu liên quan </b>

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ở đó

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="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.

<b>1.5. Các phương pháp đề xuất </b>

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

<i><b>− Lựa chọn đặc trưng: ngồi các thuật tốn được sử dụng như IG, </b></i>

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 tố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.

− <i><b>Tăng cương đặc trưng dựa trên Co-matrix: sử dụng Co-matrix để </b></i>

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.

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

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

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="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.

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

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.

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

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.

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

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 tố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.

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

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.

<b>2.1.2. Trích xuất đặc trưng thơ </b>

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.

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>2.1.3. Các đặc trưng được tính tốn bằng ma trận đồng hiện </b>

Thực hiện tính tốn theo ma trận đồng hiện được mô tả như trong thuật tố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.

<b>2.1.4. Kết quả thực nghiệm </b>

<i>2.1.4.1. Bộ dữ liệu thực nghiệm </i>

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]. Ngồ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 tố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.

<i>2.1.4.2. Kịch bản thực nghiệm </i>

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

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

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

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

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).

<i>2.1.4.3. Phân lớp mã độc dựa trên mơ hình CNN </i>

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.

<i>2.1.4.4. Kết quả thực nghiệm </i>

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 (%)

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

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

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 tốn phân loại mã độc trên Android, nó được xử lý theo quy trình như trong Hình 2.5.

<b>2.2.2. Thuật tốn Apriori </b>

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

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

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) <i><b> minsup được gọi là tập phổ biến (frequent itemsets). </b></i>

<b>Ý tưởng của thuật tốn Apriori </b>

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

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

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

<i>2.2.2.2. Thuật toán Apriori </i>

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

<i>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. </i>

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

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

trong thuật toán 4.

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b>2.2.3. Tạo bộ đặc trưng </b>

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 tố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.

<i>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 tốn Apriori, tơi thu được tập i. </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

<i>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 tốn, tơi thu được tập ii. </i>

<b>2.2.4. Kết quả thực nghiệm </b>

<i>2.2.4.1. Dữ liệu và kịch bản thực nghiệm </i>

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:

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

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

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

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

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

(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.

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

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

<i>2.2.4.2. Mơ hình CNN được dùng trong thực nghiệm </i>

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.

</div>

×