Đối với phương pháp trích xuất đặc trưng 2-gram dựa trên payload của gói tin: Trên toàn bộ không gian đối với phương pháp trích rút các đăng trưng 2-gram bytes ta sẽ thu được 3765 đặc trưng, sau đó tôi áp dụng thuật toán PCA để giảm số chiều và chọn ra được 100 đặc trưng cho kết quả tốt nhất. Trong tổng số mẫu 212788 được đưa chia thành 02 file độc lập theo tỷ lệ 70:30, 70% dùng cho dữ liệu huấn luyện và 30% dùng cho dữ liệu kiểm thử. Đối với phương pháp trích xuất thông tin từ header, do số lượng đặc trưng ít, gồm 43 đặc trưng, tôi lựa chọn ra 04 đặc trưng tiêu biểu nhất cho dữ liệu gói tin gồm: tổng số gói tin gửi đi, tổng số gói tin nhận được, thời gian và loại mã độc. Việc thực nghiệm được được thực hiện kiểm thử nhiều lần đối với 02 tập dữ liệu thu được theo 02 phương pháp ở trên và các kết quả được đánh giá dựa trên phương pháp ma trận nhầm lẫn trong đó coi lớp dương là một loại mã độc, lớp âm mẫu bình thường hoặc mẫu mã độc khác. Kết quả như sau:
Số đặc trưng Mô hình Độ đo Precision Độ đo Recall Độ đo F1 Đặc trưng được trích xuất từ header 4 One- class SVM 95,93% 95,83% 95,84% Đặc trưng được trích xuất từ payload 100 One- class SVM 87,78% 71,16% 78,60%
o Với tập dữ liệu kiểm thử: Số đặc trưng Mô hình Độ đo Precision Độ đo Recall Độ đo F1 Đặc trưng được trích xuất từ header 4 One- class SVM 95,91% 95,73% 95,82% Đặc trưng được trích xuất từ payload 100 One- class SVM 85,58% 69,82% 76,05%
Nhận xét: Dựa vào kết quả thực nghiệm đối với cùng một dữ liệu đầu vào là các file .pcap thì phương pháp trích xuất đặc trưng từ header cho kết quả tốt hơn phương pháp trích xuất đặc trưng từ payload gói tin mạng khi áp dụng cùng một thuật toán học máy One-class SVM.
KẾT LUẬN
Luận văn đã trình bày một hướng tiếp cận mới có hiệu quả trong việc so sánh, đánh giá của 02 phương pháp trích xuất đặc trưng gói tin mạng, phương pháp trích xuất đậc trưng từ header gói tin mạng cho kết quả tốt hơn so phương pháp trích xuất từ payload của gói tin mạng trên cơ sở áp dụng cùng dữ liệu đầu vào và cùng một toán học máy để phát hiện và phân loại mã độc đã biết. Lựa chọn đặc trưng lớp mạng phù hợp để có thể phát hiện, phân loại được các mã độc đã biết, mã độc chưa biết (zero-day), đồng thời khắc phục điểm yếu của các thuật toán học máy khác thường cho kết quả không tốt đối với dữ liệu bị mã hõa, được ngụy trang. Kết quả thực nghiệm cho thấy phương pháp trích xuất đặc trưng từ header cho kết quả phát hiện mã độc đã biết với các độ đo Precision, Recall, F1 tốt hơn so với phương pháp trích xuất từ payload đối với cùng một dữ liệu đầu vào là các .file pcap và áp dụng cùng một thuật toán học máy One-class SVM. Các kết quả đạt được của luận văn gồm:
Tìm hiều tổng quan về mã độc bao gồm: khái niệm, phân loại, mục đích phân tích mã độc, các kỹ thuật phân tích mã độc.
Tìm hiều tổng quan về học máy bao gồm: khái niệm, phân loại thuật toán học máy, trích xuất đặc trưng, các thuật toán học máy, các phương pháp đáng giá độ chính xác của các thuật toán học máy
Lựa chọn đặc trưng, trích xuất đặc trưng từ header gói tin mạng và trích xuất từ payload gói tin mạng. Lập trình trích xuất đặc trưng payload gói tin http từ các file .pcap, biểu diễn đặc trưng theo phương pháp 2-gram, lựa chọn đặc trưng theo thuật toán PCA.
Thực nghiệm, đánh giá hiệu quả học máy đối với phương pháp trích xuất đăc trưng từ header và trích xuất đặc trưng từ payload của cùng gói
tin mạng bằng phương pháp 2-gram trên cơ sở áp dụng cùng một thoán toán học máy One-class SVM.
Hướng phát triển tiếp theo của đề tài:
Mở rộng thử nghiệm với việc trích xuất đặc trưng payload theo các phương pháp n-gram khác như 3-gram, 4-gram, 2-v-Gram …và đánh giá hiệu quả với các thuật toán phân lớp khác thuật toán One-class SVM.
Nghiên cứu và thử nghiệm với các thuật toán học máy One-class SVM theo các tác giả Dax và Duin hoặc các thuật toán họ máy khác để phát hiện ra các biến thể của mã độc đã biết và mã độc mới.
TÀI LIỆU THAM KHẢO
Tiếng việt
[1]https://machinelearningcoban.com/2017/04/09/smv/
Tiếng Anh
[2] Daniele Ucci, Leonardo, Roberto Baldoni, "Survey of Machine Learning Techiniques for Malware Analysis", Computer & Security (2018).
[3] Prakash Mandayam Commar, Lei Liu, Sabyasachi Saha, Pang-Ning Tan+, Antonio Nucci "Combining Supervised and Unsupervised Learning for Zero-Day Malware Detection" , 2013 Proceedings IEEE INFOCOM
[4] Roberto Perdisci, Davide Ariu, Prahlad Fogla, Giorgio Giacinto, Wenke Lee “McPAD: A Multiple Classifer System for Accurate Payload-based Anomaly Detection”, Preprint submitted to Elsevier Science (2008). [5] William Stallings, "Network Security Essentials: Applications and
Standard Foutth Edition"
[6] Michael Sikrski and Andrew Honig “Practical Malware Analysis – The Hands-On Guide to Dissecting Malicious Software”
[7] Savan Gadhiya and Kaushal Bhavsar, “Techniques for Malware Analysis”, International Journal of Advanced Research in Computer Science and Software Engineering, Vol. 3, Issue 4, pp. 972-975, April 2013
[8] Nayan Zalavadiya1 Dr. Priyanka Sharma2, "A Methodology of Malware Analysis, Tools and Technique for windows platform – RAT Analysis" [9] Peter Harrington, “Machine Leaning in Action”, in Part 1 Classification,
by Manning Publications, 2012, pp 1-129
[10] Trent Hauck, “scikit-learn Cookbook”, in Chapter 4 Classifying Data with scikit-learn, by Packt Publishing, 2014, pp. 119-157
[12] https://iscxdownloads.cs.unb.ca/iscxdownloads/CICAndMal2017/PCA Ps/
[13] https://towardsdatascience.com/workflow-of-a-machine-learning- project-ec1dba419b94
[14] Iman Sharafaldin, Arash Habibi Lashkari and Ali A. Ghorbani, "Toward Generating a New Intrusion Detection Dataset and IntrusionTraffic Characterization"
[15] Andi FitriahA. Kadir, Laya Taheri and Ali A. Ghorbani "Toward Developing a Systematic Approach toGenerate Benchmark Android Malware Datasets and ClassificationArashHabibiLashkari"