3.3.1. Kết quả cài đặt
Vì không bao giờ có đủ dữ liệu để đào tạo mô hình của bạn, nên việc
loại bỏ một phần của nó để xác thực sẽ đặt ra vấn đề bị thiếu. Bằng cách giảm dữ liệu đào tạo, chúng tôi có nguy cơ mất các mẫu / xu hướng quan trọng trong tập dữ liệu, do đó làm tăng lỗi do sai lệch gây ra. Vì vậy, những
gì chúng tôi yêu cầu là một phƣơng pháp cung cấp nhiều dữ liệu để đào tạo mô hình và cũng để lại nhiều dữ liệu để xác thực. K Fold chéo xác thực thực hiện chính xác điều đó.
Cách tính sử dụng độ chính xác (accuracy) nhƣ ở trên chỉ cho chúng ta biết đƣợc bao nhiêu phần trăm lƣợng dữ liệu đƣợc phân loại đúng mà không chỉ ra đƣợc cụ thể mỗi loại đƣợc phân loại nhƣ thế nào, lớp nào đƣợc phân loại đúng nhiều nhất, và dữ liệu thuộc lớp nào thƣờng bị phân loại nhầm vào lớp khác.
Hình 3. 1. Kết quả dự đoán của mô hình sau khi cài đặt với bộ dữ liệu thu thập đƣợc.
Chúng tôi tiến hành sử dụng bộ dữ liệu thu thập đƣợc nhƣ đã giới thiệu kết hợp với các công cụ, thƣ viện mã nguồn mở để tiến hành cài đặt bằng ngôn ngữ lập trình Python trên môi trƣờng Anacoda 3.7. Kết quả thu đƣợc trên bộ dữ liệu thu thập đƣợc đƣợc cài đặt đánh giá độ chính xác theo phƣơng pháp đánh giá chéo trên tập dữ liệu thu thập đƣợc. Kết quả thu đƣợc sau quá trình cài đặt đƣợc thể hiện nhƣ trong hình 3.1.
3.3.2. Đánh giá kết quả của mô hình
Luận văn đã kiểm tra hệ thống dựa trên một tập hợp 2081 lành tính và 91 ứng dụng Android độc hại có khả năng làm rò rỉ thông tin riêng tƣ. Đối với mỗi điểm dữ liệu, chúng tôi chọn một tập hợp con ngẫu nhiên của các ứng dụng an toàn không rò rỉ và đánh giá chéo k lần. Luận văn đã làm điều này với k=4 cho mỗi điểm dữ liệu, và tính trung bình các kết quả. Kết quả dự đoán chính xác của mô hình trên bộ dữ liệu thu thập đƣợc theo phƣơng pháp đánh giá chéo vơi k =4 trên tập dữ liệu có đƣợc là 97.67%.
3.3.3. Nhật xét và kết quả cài đặt
Với độ chính xác của mô hình khá cao, chúng tôi có nhận xét rằng mô hình cho kết quả tốt trên bộ dữ liệu thu thập đƣợc một phần là do chất lƣợng của bộ dữ liệu thu thập đƣợc đáng tin cậy. Một lý do khác là các đặc trƣng đƣợc trích chọn để đƣa vào mô hình phân lớp cho thấy là các đặc trƣng đƣợc lựa chọn phù hợp với lý thuyết mà các tài liệu chúng tôi tham khảo ở trong Chƣơng 2. Ngoài ra, mô hình SVM cho thấy kết quả phân lớp lớp nhị phân (phân vào hai lớp) phần nào chƣa thể giải quyết đƣợc sự phức tạp và tiềm ẩn nhiều nguy cơ phân lớp nhầm của mô hình đối với các mẫu dữ liệu kiểm tra.
Bên cạnh đó, theo nhận xét của chúng tôi, bộ dữ liệu thu thập đƣợc đã qua tiền xử lý từ trƣớc nên kết quả dự đoán của mô hình khá tốt. So với thực tế những bộ dữ liệu thu thập bằng tay và tiền xử lý thủ công thì kết quả này chƣa phản ánh đúng.
3.4. TIỂU KẾT CHƢƠNG 3
Chƣơng này đã trình bày chi tiết các bƣớc chuẩn bị cũng nhƣ cài đặt để từ đó thực nghiệm và đánh giá kết quả của phƣơng pháp dựa trên chƣơng trình cài đặt với bộ dữ liệu thu thập đƣợc.
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN Kết luận
Luận văn đã nghiên cứu, tìm hiểu mô hình SVM và ứng dụng thành công vào bài toán phát hiện khả năng rò rỉ thông tin riêng tƣ trong các ứng dụng Android. Việc cài đặt đƣợc hiệu quả tốt với bộ dữ liệu thu thập đƣợc. Một số các kết quả chính mà luận văn đạt đƣợc nhƣ sau:
- Luận văn đã tìm hiểu, nghiên cứu và trình bày các kiến thức liên quan đến nền tảng Android, các cơ chế hoạt động cũng nhƣ các mức bảo mật của hệ thống Android.
- Luận văn đã xây dựng thành công mô hình SVM với hai đặc trƣng đã trình bày trong Chƣơng 3 cho bài toán phát hiện khả năng rò rỉ thông tin trong các ứng dụng Android.
- Luận văn sử dụng ngôn ngữ lập trình Python để cài đặt thực nghiệm ứng dụng mô hình SVM cho bài toán và đạt kết quả chính xác cao trên bộ dữ liệu thu thập đƣợc.
Hƣớng phát triển
Bên cạnh những kết quả đạt đƣợc, hạn chế lớn nhất là mới chỉ dừng lại ở mức thực nghiệm cho bài toán trên một bộ dữ liệu đã đƣợc thu thập sẵn, khá tốt, nên kết quả có độ chính xác cao. Trong tƣơng lai, chúng tôi sẽ tập trung giải quyết một số vấn đề:
- Nghiên cứu và sử dụng nhiều hơn 2 đặc trƣng cho mô hình SVM dự đoán;
- Tiếp thực nghiên cứu thêm các mô hình dự đoán khác để lựa chọn mô hình cho kết quả cao hơn SVM;
DANH MỤC TÀI LIỆU THAM KHẢO
[1]. Seo, S.-H., Gupta, A., Sallam, A. M., Bertino, E., and Yim, K. (2014). Detecting mobile malware threats to homeland security through static analysis. Journal of Network and Computer Applications, 38:43–53.
[2]. Application fundamentals — android developers.
http://developer.android.com/guide/components/fundamentals.html. Accessed April 19, 2015.
[3] Arp, D., Spreitzenbarth, M., H¨ubner, M., Gascon, H., Rieck, K., and Siemens, C. (2014). Drebin: Effective and explainable detection of android malware in your pocket. In Proc. of NDSS
[4].Anthony Desnos. androguard.( https://code.google.com/p/androguard/) [5]. Koli, J. D. (2018). RanDroid: Android malware detection using random
machine learning classifiers. In: International Conference on Technologies for Smart City Energy Security and Power (ICSESP) IEEE, Mar 2018.
[6]. Agrawal, P., & Trivedi, B. (2019). A survey on android malware and their detection techniques. In: Third International Conference on Electrical, Computer and Communication Technologies (ICECCT) IEEE, Feb 2019.
[7]. Agrawal, Prerna, & Trivedi, Bhushan. (2019). Analysis of android malware scanning tools. International Journal of Computer Sciences and Engineering, 7(3), 807–810.
[8]. Kumaran, M., & Li, W. (2016). Lightweight malware detection based on machine learning algorithms and the android manifest file. In: MIT
Undergraduate Research Technology Conference(URTC) IEEE, Nov 2016.
[9]. Leeds, M., & Atkison, T. (2016). Preliminary results of applying machine learning algorithms to android malware detection. In: International Conference on Computational Intelligence (ICCI) IEEE, Dec 2016. [10]. Dutt, S., Chanframouli, S., & Das, A. K. (2019). Machine Learning 1st
(Ed.), India: Pearson.
[11]. Aung, Z., & Zaw, W. (2013). Permission-based android malware detection. International Journal of Scientific and Technology Research, 2(3).
[12]. Ham, H. S., & Choi, M. J. (2013). Analysis of android malware detection performance using machine learning classifiers. In: International Conference on ICT Convergence (ICTC) IEEE, Oct 2013.
[13]. Chang, W. L., & Wu, W. (2016). An android behaviour-based malware detection method using machine learning. In: International Conference on Signal Processing, Communications, and Computing (ICSPCC) IEEE, Aug 2016.
[14]. Yu, W., & Zhang, H. (2013). On behaviour-based detection of malware on android platform. In: Communication and Information System Security Symposium (Globecom) IEEE, Dec 2013.
[15]. Wu, W. C., & Hung, S. H. (2014). DroidDolphin: A dynamic android malware detection using big data and machine learning. In: Research in Adaptive and Convergent Systems (RACS). ACM, Oct 2014.
[16]. Sahs, J., & Khan, L. (2012). A machine learning approach to android malware detection. In: European Intelligence and Security Informatics Conference (EISIC) IEEE, Aug 2012.