Đồ án này tập trung vào phân loại phần mềm độc hại trên Android sử dụng phương pháp K-Nearest Neighbors (KNN). Dự án sử dụng cách biểu diễn malware dưới dạng ảnh grayscale và trích xuất đặc trưng từ các ảnh này để huấn luyện mô hình KNN, nhằm phân biệt các ứng dụng malicious và benign.
Dự án được thực hiện trong khuôn khổ học tập của sinh viên Trường Đại học Công nghệ Thông tin - ĐHQG, dựa trên bộ dữ liệu CIC-AndMal2017.
Các thành viên trong nhóm bao gồm:
| STT | Tên | Mã Số Sinh Viên | Vai Trò |
|---|---|---|---|
| 1 | Vũ Thanh Phong | 22521095 | Trưởng nhóm |
| 2 | Võ Hoàng Thảo Phương | 22521171 | Thành Viên |
Dự án sử dụng bộ dữ liệu CIC-AndMal2017, chứa các mẫu malware và ứng dụng hợp pháp. Dữ liệu này được chuyển đổi sang ảnh grayscale để trích xuất đặc trưng phục vụ cho phân loại KNN.
- Python 3.8+
- jupyter / jupyterlab
- numpy
- pandas
- scikit-learn
- matplotlib
- seaborn
- opencv-python
- pillow (PIL)
- tqdm
Các bước chính trong notebook:
- Load dữ liệu ảnh grayscale từ APK hoặc tập mẫu malware.
- Tiền xử lý dữ liệu (resize, flatten, normalize).
- Chia train/test hoặc cross-validation.
- Huấn luyện mô hình KNN và chọn tham số K tối ưu.
- Đánh giá mô hình (accuracy, precision, recall, F1-score).
- Visualize kết quả (confusion matrix, ví dụ ảnh đại diện).