## Tổng quan nghiên cứu
Trong bối cảnh công nghệ 4.0 phát triển mạnh mẽ, hệ điều hành Android chiếm lĩnh thị trường thiết bị di động với hơn 3 tỷ thiết bị đang hoạt động và hơn 1 tỷ thiết bị được kích hoạt trong năm gần đây. Sự phổ biến này kéo theo nguy cơ bảo mật ngày càng gia tăng, đặc biệt là sự xuất hiện của các mã độc trên nền tảng Android. Theo báo cáo quý 2 năm 2022, có hơn 405.000 mã độc cài đặt thành công được phát hiện, dù số lượng này có giảm so với quý trước nhưng vẫn ở mức đáng báo động. Các mã độc này không chỉ gây thiệt hại về tài chính mà còn ảnh hưởng nghiêm trọng đến quyền riêng tư và an toàn dữ liệu người dùng.
Vấn đề nghiên cứu tập trung vào việc phát triển phương pháp phân loại mã độc Android hiệu quả, nhằm nâng cao khả năng phát hiện và phân loại chính xác các loại mã độc khác nhau. Mục tiêu cụ thể của luận văn là áp dụng các mô hình học máy và mạng sinh đối kháng (GAN) để phân loại mã độc theo loại và họ mã độc, sử dụng hai tập dữ liệu phổ biến là Drebin và CIC-MalDroid2020. Phạm vi nghiên cứu bao gồm các tập tin cài đặt ứng dụng Android (APK) thu thập trong khoảng thời gian từ năm 2017 đến 2020, với dữ liệu được xử lý và phân tích tại trường Đại học Công Nghệ Thông Tin, ĐHQG TP. Hồ Chí Minh.
Ý nghĩa của nghiên cứu thể hiện qua việc nâng cao độ chính xác phân loại mã độc, giảm thiểu tỷ lệ cảnh báo sai, từ đó góp phần bảo vệ người dùng và hệ thống khỏi các mối đe dọa an ninh mạng ngày càng tinh vi.
## Cơ sở lý thuyết và phương pháp nghiên cứu
### Khung lý thuyết áp dụng
Luận văn dựa trên hai lý thuyết chính: học máy (Machine Learning) và mạng sinh đối kháng (Generative Adversarial Network - GAN).
- **Học máy**: Là nhánh của trí tuệ nhân tạo, cho phép máy tính tự động học từ dữ liệu để đưa ra dự đoán hoặc phân loại. Các thuật toán học máy được sử dụng bao gồm Random Forest (RF), Extra Trees (ET), Deep Neural Network (DNN) và Convolutional Neural Network (CNN). Các khái niệm quan trọng gồm: supervised learning (học có giám sát), one-hot encoding (biểu diễn dữ liệu nhị phân), hàm kích hoạt (activation functions) như ReLU, sigmoid, softmax, và các kỹ thuật phòng tránh overfitting như dropout, max pooling.
- **Mạng sinh đối kháng (GAN)**: Mô hình học sâu gồm hai mạng nơ-ron là Generator (mạng tạo sinh) và Discriminator (mạng phân biệt) cạnh tranh với nhau để tạo ra dữ liệu giả gần giống dữ liệu thật. Mô hình AC-GAN (Auxiliary Classifier GAN) được sử dụng để cải thiện khả năng phân loại đa lớp bằng cách thêm nhãn vào quá trình tạo dữ liệu giả, giúp kiểm soát mẫu giả theo từng loại mã độc.
Các khái niệm chuyên ngành quan trọng bao gồm: đặc tính trích xuất (feature extraction) từ tập tin APK, ma trận nhầm lẫn (confusion matrix), độ chính xác (accuracy), độ phủ (recall), điểm F1 (F1 score), và đường cong ROC (Receiver Operating Characteristic).
### Phương pháp nghiên cứu
Nguồn dữ liệu chính gồm hai tập dữ liệu mã độc Android phổ biến: Drebin (khoảng 5.560 mẫu) và CIC-MalDroid2020 (hơn 11.000 mẫu). Dữ liệu được thu thập từ các kho ứng dụng và các nguồn mã độc thực tế trong giai đoạn 2017-2020.
Phương pháp nghiên cứu bao gồm:
- **Trích xuất đặc tính**: Sử dụng công cụ AndroPyTool để phân tích tĩnh và động, trích xuất các đặc tính như quyền (permission), dịch vụ (service), intent, lời gọi API từ các tập tin APK. Dữ liệu sau đó được lưu dưới dạng vector đặc tính trong file CSV.
- **Chọn lọc đặc tính**: Áp dụng thuật toán Extra Trees và chỉ số Gini để chọn lọc các đặc tính quan trọng, loại bỏ các đặc tính không đóng góp cho phân loại.
- **Huấn luyện mô hình**: Các mô hình học máy RF, ET, DNN, 1D-CNN và mạng sinh đối kháng AC-GAN được huấn luyện trên dữ liệu đã chọn lọc. Phương pháp đánh giá bao gồm kỹ thuật đánh giá chéo 10-fold để đảm bảo tính khách quan và độ tin cậy của kết quả.
- **Timeline nghiên cứu**: Quá trình nghiên cứu kéo dài trong khoảng 12 tháng, bao gồm thu thập dữ liệu, tiền xử lý, huấn luyện mô hình, đánh giá và phân tích kết quả.
## Kết quả nghiên cứu và thảo luận
### Những phát hiện chính
- **Độ chính xác phân loại cao**: Mô hình AC-GAN đạt độ chính xác lên đến 99,73% trên tập dữ liệu Drebin theo họ mã độc và 98,26% theo loại mã độc trên CIC-MalDroid2020, vượt trội so với các mô hình học máy truyền thống.
- **Hiệu quả chọn lọc đặc tính**: Việc sử dụng thuật toán Extra Trees và chỉ số Gini giúp giảm số lượng đặc tính đầu vào xuống còn khoảng 20 đặc tính quan trọng nhất, tăng tốc độ huấn luyện và cải thiện độ chính xác.
- **So sánh mô hình**: Mô hình 1D-CNN và DNN cũng đạt kết quả tốt với độ chính xác trên 95%, tuy nhiên AC-GAN cho thấy khả năng phân loại đa lớp vượt trội hơn nhờ khả năng tạo dữ liệu giả bổ sung.
- **Tỷ lệ cảnh báo sai thấp**: Tỷ lệ cảnh báo sai (False Positive Rate) của các mô hình đều dưới 2%, đảm bảo tính tin cậy trong ứng dụng thực tế.
### Thảo luận kết quả
Nguyên nhân của kết quả tích cực là do việc kết hợp giữa học máy và mạng sinh đối kháng giúp mô hình học được các đặc trưng phức tạp và đa dạng của mã độc Android. So với các nghiên cứu trước đây, việc áp dụng AC-GAN giúp khắc phục hạn chế về thiếu hụt dữ liệu và mất cân bằng lớp trong tập huấn luyện.
Kết quả có thể được trình bày qua biểu đồ so sánh độ chính xác và F1-score giữa các mô hình, cũng như ma trận nhầm lẫn thể hiện khả năng phân biệt các loại mã độc khác nhau. Điều này minh chứng cho tính khả thi và hiệu quả của phương pháp đề xuất trong việc nâng cao an ninh mạng trên nền tảng Android.
## Đề xuất và khuyến nghị
- **Triển khai hệ thống phát hiện mã độc dựa trên AC-GAN**: Áp dụng mô hình AC-GAN vào các hệ thống bảo mật di động để nâng cao khả năng phát hiện và phân loại mã độc, hướng tới giảm tỷ lệ cảnh báo sai dưới 1% trong vòng 6 tháng.
- **Cập nhật và mở rộng tập dữ liệu liên tục**: Thu thập thêm dữ liệu mã độc mới từ các nguồn đa dạng để huấn luyện mô hình, đảm bảo mô hình luôn cập nhật với các biến thể mã độc mới, thực hiện định kỳ hàng quý.
- **Tăng cường đào tạo và nâng cao nhận thức người dùng**: Tổ chức các chương trình đào tạo về an ninh mạng cho người dùng Android, giúp họ nhận biết và phòng tránh các ứng dụng độc hại, giảm thiểu nguy cơ bị tấn công.
- **Phát triển công cụ trích xuất và chọn lọc đặc tính tự động**: Nâng cấp công cụ AndroPyTool để tự động hóa quy trình trích xuất và chọn lọc đặc tính, giảm thiểu sai sót và tăng hiệu quả xử lý dữ liệu, hoàn thành trong 12 tháng.
## Đối tượng nên tham khảo luận văn
- **Nhà nghiên cứu và sinh viên ngành Công nghệ Thông tin**: Nghiên cứu sâu về ứng dụng học máy và mạng sinh đối kháng trong an ninh mạng, phát triển các mô hình phân loại mã độc.
- **Chuyên gia bảo mật và kỹ sư phát triển phần mềm**: Áp dụng các phương pháp phân loại mã độc để xây dựng hệ thống bảo vệ thiết bị di động, nâng cao hiệu quả phát hiện mã độc.
- **Các tổ chức và doanh nghiệp cung cấp dịch vụ di động**: Tích hợp giải pháp phân loại mã độc để bảo vệ khách hàng, giảm thiểu rủi ro mất mát dữ liệu và tài chính.
- **Cơ quan quản lý và chính sách an ninh mạng**: Tham khảo để xây dựng các chính sách, quy định về bảo mật thiết bị di động và ứng dụng công nghệ mới trong phòng chống mã độc.
## Câu hỏi thường gặp
1. **Phân loại mã độc Android là gì và tại sao quan trọng?**
Phân loại mã độc Android là quá trình xác định loại và họ của phần mềm độc hại trên nền tảng Android. Việc này giúp hiểu rõ hành vi mã độc, từ đó phát triển biện pháp phòng chống hiệu quả, giảm thiểu thiệt hại cho người dùng và hệ thống.
2. **Mạng sinh đối kháng (GAN) hoạt động như thế nào trong phân loại mã độc?**
GAN gồm hai mạng: Generator tạo dữ liệu giả và Discriminator phân biệt dữ liệu thật giả. Trong phân loại mã độc, GAN giúp tạo thêm dữ liệu mẫu đa dạng, cải thiện khả năng học của mô hình, đặc biệt với dữ liệu thiếu cân bằng.
3. **Tại sao chọn AC-GAN thay vì GAN truyền thống?**
AC-GAN bổ sung nhãn cho dữ liệu giả tạo, giúp kiểm soát việc tạo mẫu theo từng loại mã độc cụ thể, nâng cao hiệu quả phân loại đa lớp so với GAN truyền thống chỉ tạo dữ liệu giả không kiểm soát.
4. **Các đặc tính nào được trích xuất từ tập tin APK để phân loại mã độc?**
Các đặc tính chính gồm quyền (permission), dịch vụ (service), intent, và lời gọi API. Đây là các đặc trưng quan trọng phản ánh hành vi và chức năng của ứng dụng, giúp mô hình phân biệt mã độc chính xác.
5. **Mô hình nào cho kết quả phân loại mã độc tốt nhất?**
Mô hình AC-GAN đạt độ chính xác cao nhất, trên 99% với tập dữ liệu Drebin, đồng thời giữ tỷ lệ cảnh báo sai thấp, vượt trội hơn các mô hình học máy và học sâu truyền thống như RF, ET, DNN và 1D-CNN.
## Kết luận
- Đề tài đã xây dựng thành công phương pháp phân loại mã độc Android sử dụng kết hợp học máy và mạng sinh đối kháng, đạt độ chính xác cao và tỷ lệ cảnh báo sai thấp.
- Việc áp dụng AC-GAN giúp khắc phục hạn chế về dữ liệu và nâng cao khả năng phân loại đa lớp mã độc.
- Kết quả thực nghiệm trên hai tập dữ liệu Drebin và CIC-MalDroid2020 cho thấy tính khả thi và hiệu quả của phương pháp.
- Nghiên cứu góp phần nâng cao an ninh mạng trên nền tảng Android, bảo vệ người dùng và hệ thống khỏi các mối đe dọa ngày càng tinh vi.
- Hướng phát triển tiếp theo là mở rộng tập dữ liệu, tự động hóa quy trình trích xuất đặc tính và triển khai ứng dụng thực tế trong các hệ thống bảo mật di động.
Hành động tiếp theo là triển khai mô hình vào hệ thống thực tế và tiếp tục nghiên cứu cải tiến để đáp ứng các biến đổi nhanh chóng của mã độc Android.