(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android(Luận văn thạc sĩ) - Ứng dụng mô hình học máy trong phát hiện nguy cơ mã độc trên nền tảng Android
i LỜI CAM ĐOAN Tôi xin cam đoan kết nghiên cứu luận văn sản phẩm cá nhân hướng dẫn thầy giáo PGS TS Phạm Thanh Giang Các số liệu, kết cơng bố hồn tồn trung thực Những nội dung trình bày luận văn nghiên cứu, tổng hợp từ nhiều nguồn tài liệu khác Các tài liệu tham khảo có xuất xứ rõ ràng, trích dẫn đầy đủ, hợp pháp Tơi xin hồn tồn chịu trách nhiệm trước lời cam đoan Hà Nội, ngày tháng năm 2020 Người cam đoan Trần Đức Kiên ii LỜI CẢM ƠN Lời đầu tiên, xin gửi lời biết ơn sâu sắc tới thầy giáo PGS TS Phạm Thanh Giang, Trưởng phịng Tin học viễn thơng, Viện Cơng nghệ thơng tin, Viện Hàn lâm Khoa học Công nghệ Việt Nam người thầy ln khuyến khích, tận tình bảo, hướng dẫn hỗ trợ suốt trình nghiên cứu Tơi xin dành lời cảm ơn chân thành tới thầy cô giáo Viện Công nghệ thơng tin tận tình đào tạo, cung cấp cho kiến thức vô giá, tạo điều kiện tốt cho tơi q trình học tập, nghiên cứu Tôi xin gửi lời cảm ơn tất người thân u gia đình tơi tồn thể bạn bè, đặc biệt bạn Nguyễn Việt Đức, cán Phịng Tin học viễn thơng, Viện Cơng nghệ thơng tin giúp đỡ, động viên khó khăn, trở ngại Cuối cùng, tơi xin gửi lời cảm ơn tới đồng nghiệp Bộ Tư lệnh Cảnh vệ, Bộ Công an giúp đỡ, tạo điều kiện thuận lợi cho học tập nghiên cứu chương trình thạc sĩ Viện Cơng nghệ thơng tin, Viện Hàn lâm Khoa học Công nghệ Việt Nam iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC KÝ HIỆU VIẾT TẮT iv DANH MỤC CÁC BẢNG BIỂU v DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ vi MỞ ĐẦU CHƯƠNG TỔNG QUAN 1.1 NGHIÊN CỨU LIÊN QUAN 1.2 GIỚI THIỆU VỀ NỀN TẢNG ANDROID 1.2.1 Lịch sử hình thành phát triển 1.2.2 Một số phương pháp lây nhiễn mã độc tảng Android 1.3 PHÂN TÍCH MÃ ĐỘC 1.3.1 Các phương pháp phân tích mã độc Android 10 1.3.2 Ưu Nhược điểm phân tích tĩnh phân tích động 16 1.4 GIỚI THIỆU VỀ HỌC MÁY 17 1.4.1 Phân loại thuật toán học máy 19 1.4.2 Giới thiệu số thuật toán học máy hiệu với toán 20 CHƯƠNG ỨNG DỤNG MƠ HÌNH HỌC MÁY TRONG PHÁT HIỆN NGUY CƠ MÃ ĐỘC TRÊN NỀN TẢNG ANDROID 25 2.1 PHƯƠNG PHÁP THU THẬP DỮ LIỆU THÔ 25 2.1.1 Thu thập liệu 25 2.1.2 Giải thích cấu tạo file APK 25 2.1.3 Thực dịch ngược file APK để lấy thuộc tính với apktool 28 2.1.4 Trích xuất feature từ liệu thô dịch ngược từ apktool 30 2.2 PHƯƠNG PHÁP CHUẨN HĨA TẬP THUỘC TÍNH 31 2.2.1 Tập thuộc tính 31 2.2.2 Chuyển liệu sang không gian vector 34 CHƯƠNG ĐỀ XUẤT MƠ HÌNH, ĐÁNH GIÁ 37 CHƯƠNG KẾT LUẬN 45 TÀI LIỆU THAM KHẢO 46 iv DANH MỤC CÁC KÝ HIỆU VIẾT TẮT Ý NGHĨA KÝ HIỆU OS APK Operating system – Hệ điều hành Android Package Kit FN False Negative FP False Positive TN True Negative TP True Positive FNR False Negative Rate FPR False Positive Rate TNR True Negative Rate TPR True Positive Rate LR Logistic Regression – Hồi quy Logistic SVM Support Vector Machine v DANH MỤC CÁC BẢNG BIỂU Bảng 1.1 Ưu nhược điểm phân tích tĩnh, phân tích động 16 Bảng 3.1 Precision Recall S1 đến S8 40 Bảng 3.2 Precision Recall nhóm thuộc tính 42 vi DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 2.1 Sơ đồ quy trình học máy 18 Hình 2.2 Mơ hình phân lớp nhị phân SVM 21 Hình 3.1 Cách đóng gói file APK 28 Hình 3.2 Thư mục chứa liệu giải nén từ file APK 29 Hình 3.3 Biểu đồ F1 – Score thuộc tính S1 đến S8 39 Hình 3.4 Biểu đồ Accuracy thuộc tính S1 đến S8 39 Hình 3.5 F1-score nhóm thuộc tính 44 MỞ ĐẦU Ngày với phát triển mạnh mẽ công nghệ thông tin phát triển Internet toàn cầu nguy an toàn thơng tin trở nên nguy hiểm khó lường hơn, mã độc hại (malware) mối hiểm họa nghiêm trọng Internet Mã độc ngày tiến hóa với biến thể đa dạng từ virus máy tính, worm, botnet…với hình thức xâm nhập, che dấu ngày tinh vi Số lượng hình thái đa dạng mã độc ngày tăng, phần mềm phịng chống mã độc khơng thể phát hiện, ngăn chặn hết dẫn đến hàng triệu máy tính bị nhiễm mã độc Ở Việt Nam, theo số liệu thống kê BKAV năm 2017 có đến 15 triệu máy tính Việt Nam bị nhiễm mã độc tương ứng thiệt hại khoảng 12.300 tỷ đồng Ngoài ra, ngày để phát triển mã độc không yêu cầu nhiều kỹ cao tính sẵn có cơng cụ cơng internet Tính sẵn sàng cao kỹ thuật chống phát khả mua phần mềm độc hại thị trường chợ đen dẫn đến hội trở thành kẻ công cho ai, không phụ thuộc vào cấp độ kỹ trình độ chun mơn Do đó, bảo vệ hệ thống máy tính khỏi phần mềm độc hại Intenet nhiệm vụ quan trọng an ninh mạng cho người dùng, doanh nghiệp Một công đơn lẻ dẫn đến liệu bị xâm phạm gây hậu to lớn Sự mát lớn công thường xuyên đặt yêu cầu cần thiết phải có phương pháp phát xác kịp thời Android tảng hệ điều hành phổ biến thiết bị di động ngày Cùng với hàng trăm nghìn ứng dụng kênh lưu trữ trực tuyến, tảng Android đáp ứng hầu hết nhu cầu đa dạng người sử dụng Do phổ biến, tính mở, tính tùy biến linh hoạt nên vấn đề an tồn, bảo mật nói chung mã độc nói riêng hệ thống Android ln chủ đề nóng Phát mã độc bước quan trọng để ngăn chặn tiêu diệt hoàn toàn mã độc khỏi thiết bị hệ thống mạng; khôi phục lại trạng thiết bị, hệ thống mạng; truy tìm nguồn gốc cơng Hầu hết mã độc dạng chương trình, dịch vụ đọc thông thường Các cách phát mã độc là: sử dụng cơng cụ kĩ thuật phân tích Có hai kĩ thuật phân tích Phân tích tĩnh (khơng cần chạy mã độc hệ thống) Phân tích động (thực mã độc chạy hệ thống) Học máy lĩnh vực trí tuệ nhân tạo liên quan đến việc nghiên cứu xây dựng kĩ thuật cho phép hệ thống "học" tự động từ liệu để giải vấn đề cụ thể Ứng dụng học máy phát mã độc chủ đề thu hút nhiều quan tâm thời gian qua; khắc phục nhược điểm phương pháp so sánh mẫu dựa sở liệu mã độc xây dựng định nghĩa từ trước khơng có khả phát mẫu mã độc mới, số lượng liệu mã độc ngày gia tăng làm cho sở liệu mẫu trở nên ngày lớn Hơn nữa, ngày số lượng mã độc ngày tăng cao dẫn đến số lương mẫu ngày nhiểu địi hỏi phải có phương pháp phù hợp để phát mã độc Do hướng nghiên cứu dựa vào mơ hình học máy để phát phân loại mã độc tỏ phương pháp tìm hiệu số lượng mẫu mã độc lớn biến thể mã độc ngày đa dạng Tuy nhiên vấn đề quan tâm làm để xây dựng mơ hình học máy hiệu mang lại kết xác cao Trong có yếu tố quan trọng ảnh hưởng đến mơ hình hiệu qủa thuật tốn học máy lựa chọn đặc trưng phương pháp trích chọn đặc trưng phù hợp Trong luận văn, tác giả đề xuất phương pháp thu thập tiêu chí mở rộng gồm thơng tin đa dạng thu thập từ ứng dụng Android sau phân tích đánh giá mức độ an tồn ứng dụng Dữ liệu đánh giá dựa tập mẫu bao gồm 82.682 mẫu với 545.167 feature Với tập mẫu vậy, phương pháp hứa hẹn đạt hiệu việc dự đoán phát loại mã độc khác nhau, nhiên nghiên cứu đảm bảo hiệu cao CHƯƠNG TỔNG QUAN 1.1 NGHIÊN CỨU LIÊN QUAN Hiện nay, nhằm thay phương pháp đối chiếu chữ ký số cũ với hạn chế việc xử lý mẫu mã độc mới, nghiên cứu thường tập trung phân tích sâu vào tập tin apk để tìm đặc điểm riêng Hai chế chế phân tích tĩnh chế phân tích động Trong đó, chế thứ phương pháp trích xuất đặc trưng từ mã nguồn tập tin cài đặt Cơ chế cịn lại thu thập luồng thơng tin nhập xuất thời gian thực thi ứng dụng Các đặc trưng rút từ hai phương pháp thuộc tính đầu vào phương pháp học máy[1] Crowdroid, AMDA MADAM nằm số công trình nghiên cứu thực phát phần mềm độc hại android thơng qua chế phân tích động Trình theo dõi Crowdroid ghi lại tất gọi hệ thống sử dụng kỹ thuật phân cụm để xây dựng mơ hình phân loại AMDA tập trung theo dõi hành vi lành tính qua15 lệnh gọi hệ thống để nhận biết mã độc MADAM đề xuất khung phát kết hợp tính cấp lõi cấp ứng dụng MADAM nhận thấy có 11 lệnh gọi hệ thống cấp độ kernel mơ tả tốt hành vi thiết bị Tuy nhiên, đặc trưng rút từ phân tích động thường tốn thiếu tính khái quát Đối với thuộc tính tĩnh, Ignacio Martín cộng khai thác thông tin cửa hàng ứng dụng ngày đưa lên, số lượt tải, số lượt bình chọn hay tên nhà phát triển để thuộc tính Sau đó, họ thử thuộc tính với thuật toán định, máy vec-tơ hỗ trợ hồi quy logistic.Chen công sự[2] kết hợp thuật tốn PCA với thuộc tính bao gồm: quyền ứng dụng, thành phần ứng dụng hàm chức Tuy nhiên, số lượng mẫu có hạn với 387 mẫu nên số lượng thuộc tính 35 Với cơng thức tính xác suất trên, ta cần tìm ngưỡng ϵ ∈ [0,1] để phân loại ứng dụng sau: Việc tìm ϵ thực trình training việc tối thiểu hàm lỗi sau: Với m kích cỡ tập liệu, y(i) lớp giá trị thực tế ứng dụng thứ i tập liệu σ(i) kết dự đoán tương ứng cho liệu thứ i 2.2.2.2 Công thức áp dụng SVM với vector: Trong thuật toán máy vecto hỗ trợ, giá trị vecto lớp (malware/benign) phân chia với khoảng cách lớn tới siêu phẳng sau: |𝜔 ∗ Φ(𝑥) + 𝑏| |𝜔 ∗ 𝑥 + 𝑏| = ||𝜔||2 √∑𝑑𝑖=1 𝜔𝑖2 Với x: liệu thuộc tính ứng dụng Φ(x): hàm ánh xạ liệu lên không gian siêu mặt phẳng w: trọng số tương ứng b: bias tương ứng d: số chiều không gian Quá trình training liệu việc tối thiểu hóa giá trị ||w|| Từ đây, liệu phân lớp với điều kiện sau: 𝑥 ∗ 𝜔 + 𝑏 ≥ 1𝑡ℎì𝑦𝑖 = { 𝑖 𝑥𝑖 ∗ 𝜔 + 𝑏 ≤ −1𝑡ℎì𝑦𝑖 = −1 Với xi vector liệu ứng dụng mặt phẳng 36 yi giá trị đầu mơ hình svm Nếu yi = 1, ta có ứng dụng thuộc phía malware siêu mặt phẳng có nhãn Ngược lại, ứng dụng có nhãn hay benign 37 CHƯƠNG ĐỀ XUẤT MƠ HÌNH, ĐÁNH GIÁ Như nói chương trên, hai thuật tốn LR SVM thường ưu tiên tốn có mơ hình phân lớp nhị phân nên ta lựa chọn phương pháp để so sánh khả phân loại Đầu tiên, ta nhận định mẫu cân liệu Benign gấp khoảng 21 lần Malware Confusion matrix (Ma trận hỗn loạn) giúp ta có nhìn rõ việc điểm liệu phân loại sai Trong đó: - True Positive Rate (TPR) - Độ nhạy: Tỷ lệ xác định mã độc 𝑇𝑃𝑅 = 𝑇𝑃 𝑇𝑃 + 𝐹𝑁 - False Negative Rate (FNR) – Đặc trưng: Tỷ lệ xác định sai mã độc 𝐹𝑁𝑅 = 𝐹𝑁 𝑇𝑃 + 𝐹𝑁 - True Negative Rate (TNR) – Tỷ lệ xác định lành tính 𝑇𝑁𝑅 = 𝑇𝑁 𝐹𝑃 + 𝑇𝑁 - False Positive Rate (FPR) – Tỷ lệ xác định sai lành tính 𝐹𝑃𝑅 = 𝐹𝑃 𝐹𝑃 + 𝑇𝑁 Để có nhìn xác hiệu dự đốn ta cần tập trung vào kết Precision Recall Trong đó, Precision thể độ xác mẫu mã độc bị phát hiện, Recall đại diện cho tỉ lệ bỏ sót mẫu thực mã độc Precision: Tỉ lệ số điểm true positive số điểm phân loại positive (TP + FP) 38 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑇𝑃 𝑇𝑃 + 𝐹𝑃 Recall: Tỉ lệ số điểm true positive số điểm thực positive (TP + FN) 𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑇𝑃 𝑇𝑃 + 𝐹𝑁 F1: trung bình điều hịa (harmonic mean) precision recall F1 có giá trị nằm nửa khoảng (0; 1] F1 cao, phân lớp tốt 𝐹1 = 2𝑥 𝑅𝑒𝑐𝑎𝑙𝑙𝑥𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 𝑅𝑒𝑐𝑎𝑙𝑙 + 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 Tiến hành thực nghiệm: Để có nhìn tổng quát hiệu thuộc tính, ta chạy thử với tập liệu thuộc tính xem xét kết F1-score Accuracy Dễ dàng nhận ra, liệu Test liệu gần cân với tỉ lệ Malware – Benign 3120 3220 Điều giúp accuracy trở nên đáng tin cậy (Do Accuracy phù hợp với tốn mà kích thước lớp liệu tương đối nhau) F1-score accuracy thuộc tính S1 đến S8: 39 BIỂU ĐỒ F1-SCORE LR S1 S2 S3 SVM S4 S5 S6 S7 S8 LR 0.8852 0.9254 0.92981 0.8934 0.92511 0.89399 0.49255 0.84958 SVM 0.88651 0.84419 0.9291 0.89619 0.92812 0.89326 0.49252 0.89309 Hình 3.3 Biểu đồ F1 – Score thuộc tính S1 đến S8 BIỂU ĐỒ ACCURACY LR SVM S1 S2 S3 S4 S5 S6 S7 S8 LR 0.87776 0.9276 0.93502 0.8989 0.92476 0.8929 0.60804 0.84401 SVM 0.87965 0.85962 0.93454 0.90189 0.92808 0.89385 0.60931 0.85678 Hình 3.4 Biểu đồ Accuracy thuộc tính S1 đến S8 Theo kết trên, thuộc tính, S3 cho hiệu tốt thuật tốn, LR vượt trội chút, chênh lệch chưa đến 40 0.05% Thuộc tính S5 cho kết cao, số F1-score Accuracy chênh lệch thấp so với S3 nhỏ Ngoài ra, S7 cho hiệu LR SVM (kết đạt khoảng 60%) Để có nhìn sâu hiệu quả, ta tiếp tục xem xét đến Precision Recall thuộc tính Precision Recall thuộc tính S1 đến S8: Bảng 3.1 Precision Recall S1 đến S8 Ký hiệ u Feature Feature Confusion Precisio sets s Matrix n [[3034 186] S1 Requested permissions 3780 [ 273 2847]] [[3039 181] [ 709 2411]] [[3199 21] S2 App components 223344 [ 391 2729]] [[3206 14] [ 401 2719]] [[3013 207] S3 Filtered intents 6369 [ 434 2686]] [[3033 187] [ 435 2685]] [[2577 643] S4 Hardware components 72 [ 132 2988]] [[2597 623] [ 140 2980]] Recall Thuật toán 0.93867 0.9125 LR 0.93017 0.77276 SVM 0.99236 0.87468 LR 0.99488 0.87147 SVM 0.92845 0.8609 LR 0.93489 0.86058 SVM 0.82291 0.95769 LR 0.82709 0.95513 SVM 41 [[2917 303] S5 Restricted API calls 315 [ 174 2946]] [[2940 280] [ 176 2944]] [[2798 422] S6 Used permissions 70 [ 257 2863]] [[2851 369] [ 304 2816]] [[2649 571] S7 Suspicious API calls 730 [1914 1206]] [[2661 559] [1918 1202]] S8 Network addresses 310446 [[2558 662] [ 327 2793]] [[2570 650] [ 258 2862]] 0.90674 0.94423 LR 0.91315 0.94359 SVM 0.87154 0.91763 LR 0.88414 0.90256 SVM 0.67867 0.38654 LR 0.68257 0.38526 SVM 0.80839 0.89519 LR 0.81492 0.91731 SVM Dựa vào bảng trên, ta nhận thấy S3 có kết Precision cao tuyệt vời (LR: 99.236%; SVM: 99.488%) Thế Recall S3 lại cho kết cao mức tương kết xấp xỉ 87%% Điều giải thích cho việc S3 đạt kết tốt số F1-score Accuracy Tượng tự thuộc tính S7 cho kết cực thấp Ta xem xét việc không sử dụng S7 để giảm nhiễu nhóm kết hợp thuộc tính phần sau Ta đánh giá chủ quan số lượng feature cao kết tốt rõ ràng tập mẫu nhiều có nhiều hội để phát Nhưng qua kết thực nghiệm trên, Ta nhận xét kết luận mang tính tương đối Khi quan sát thêm số lượng feature thuộc tính, rõ ràng số feature S1 nhỏ nhiều 42 so với S8 S1 lại có kết tốt Điều chứng minh rằng, chất lượng thuộc tính để dự đốn mã độc hồn tồn khác Ngoài ra, ta phát thêm rằng, số Recall S1 đáng ý cao thuộc tính thuật tốn Từ kết luận trên, ta xem xét đến việc kết hợp thuộc tính khác để có hiệu dự đốn tốt Xét thuộc tính, ta có: Nhóm thuộc tính thứ nhất: S1 cho kết Recall cao nhất, S3 cho kết Precision cao nên ta kết hợp thuộc tính Nhóm thuộc tính thứ hai: Do S2, S3 S5 cho kết F1-score Accuracy có kết khơng chênh lệch đáng kể, đồng thời thuộc nhóm cao nên ta kết hợp thuộc tính (thuật toán SVM cho hiệu Recall S2 không tốt, đạt 77.276% ta thử nghiệm để có thêm liệu so sánh khách quan hơn) Nhóm thuộc tính thứ ba: Do S7 S8 thuộc tính cho kết thuộc tính (2 thuộc tính cho kết F1-score accuracy thấp nhất; S8 có số feature lớn hiệu khơng tốt, mức Nhóm thuộc tính thứ tư: Nhóm kết hợp đủ thuộc tính Việc có nhiều liệu có nhiều hội để cải thiện kết nên nhóm thuộc tính cần xem xét Ta có bảng kết quả: Bảng 3.2 Precision Recall nhóm thuộc tính Số thứ Feature Confusion tự sets Matrix S1 S3 [[3080 140] [ 261 2859]] Precision Recall 0.95332 0.91635 Thuật toán LR 43 [[3090 130] [ 699 2421]] [[3182 38] S2 + S3 + [ 125 2995]] S5 [[3186 34] [ 595 2525]] [[3175 45] S1 đến S6 [ 39 3081]] [[3189 31] [ 61 3059]] [[3193 27] S1 đến S8 [ 24 3096]] [[3197 23] [ 55 3065]] 0.94904 0.77596 SVM 0.98747 0.95994 LR 0.98671 0.80929 SVM 0.9856 0.9875 LR 0.98997 0.98045 SVM 0.99135 0.99231 LR 0.99255 0.98237 SVM Trước đó, xem xét riêng thuộc tính, S3 cho kết Precision cực cao; S1 cho kết Recall cao thuộc tính (LR: 95.769%; SVM: 95.513%) Trong tốn phát nguy mã độc, yếu tố bỏ xót mã độc nghiêm trọng việc cảnh báo nhầm Vì vậy, ta quan tâm đến độ hiệu Recall trước xét đến độ hiệu Precision đánh giá So sánh số Recall, ta thấy có Nhóm thứ (S1 S3) có số Recall thấp so với sử dụng riêng S1, nhóm cịn lại cho kết cao Điều chứng tỏ, tỉ lệ bỏ sót mẫu malware nhóm thuộc tính kết hợp lại có xu hướng cải thiện Ta thấy nhóm thuộc tính S1 đến S8 cho kết Recall cao Điều chứng tỏ, nhóm gồm đủ thuộc tính đem lại kết tốt hiệu dự đốn mã độc Tỉ lệ bỏ sót ứng dụng có mã độc có 24 mẫu (khoảng 0.769%) LR; 55 mẫu (khoảng 1.763%) 44 Tuy nhiên, để đánh giá độ hiệu thuật toán khách quan, ta xem xét đến F1-score nhóm thuộc tính trên: F1-score nhóm thuộc tính 1.05 0.95 0.9 0.85 0.8 0.75 S1 + S3 S2 + S3 + S5 S1 đến S6 LR S1 đến S8 SVM Hình 3.5 F1-score nhóm thuộc tính Qua kết Hình 3.5, ta thấy rằng, thuật tốn LR tỏ hiệu so với SVM thử nghiệm liệu sử dụng nghiên cứu Vì số lượng mẫu liệu sử dụng nghiên cứu tổng hợp cách khách quan, đa dạng, số lượng lớn nên đảm bảo chất lượng mơ hình tương lai liệu khác cấu trúc, mục tiêu phân loại Nhận xét: Như vậy, qua kết thực nghiệm, ta thấy nhóm gồm đủ thuộc tính cho kết dự đốn mã độc tốt Thuật toán Hồi quy Logistic phù hợp với liệu sử dụng 45 CHƯƠNG KẾT LUẬN Luận văn trình bày hướng tiếp cận có hiệu ứng dụng học máy phát nguy mã độc tảng Android Qua đây, ta đánh giá việc sử dụng học máy phân tích, phát nguy mã độc giải pháp thành công, cần phát triển tương lai Đồng thời, luận văn đề xuất việc kết hợp nhóm thuộc tính để cải thiện khả dự đoán mã độc so với dùng đơn lẻ Với hiệu đạt 99.231% phát mã độc sử dụng thuật toán LR, kết khả quan toán phát nguy mã độc Các kết luận văn đạt được: - Trình bày tổng quan hệ điều hành Android, mã độc, học máy - Tìm hiểu phương pháp phân tích mã độc tĩnh động - Trình bày phương pháp dịch ngược, trích xuất thuộc tính ứng dụng Android - Tiến hành thực nghiệm, đánh giá, so sánh kết Đề xuất mơ hình học máy phát nguy mã độc tảng Android có hiệu khả quan Hướng phát triển, nghiên cứu tiếp theo: Mở rộng với hướng tiếp cận thuật toán phát mã độc khác thuộc nhóm học có giám sát, học khơng giám sát, phân tích động Từ đó, xây dựng hệ thống có khả phát nguy mã độc cách xác, đa dạng 46 TÀI LIỆU THAM KHẢO [1] https://machinelearningcoban.com/2017/04/09/smv/ [2] https://machinelearningcoban.com/2017/01/27/logisticregression/ [3] Daniele Ucci, Leonardo, Roberto Baldoni, "Survey of Machine Learning Techiniques for Malware Analysis", Computer & Security (2018) [4] Roberto Perdisci, Davide Ariu, Prahlad Fogla, Giorgio Giacinto, Wenke Lee “McPAD: A Multiple Classifer System for Accurate Payloadbased Anomaly Detection”, Preprint submitted to Elsevier Science (2008) [5] 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 [6] Michael Sikrski and Andrew Honig “Practical Malware Analysis – The Hands-On Guide to Dissecting Malicious Software” [7] William Stallings, "Network Security Essentials: Applications and Standard Foutth Edition" [8] Nayan Zalavadiya1 Dr Priyanka Sharma2, "A Methodology of Malware Analysis, Tools and Technique for windows platform – RAT Analysis" [9] 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 47 2013 [10] Peter Harrington, “Machine Leaning in Action”, in Part Classification, by Manning Publications, 2012, pp 1-129 [11] Iman Sharafaldin, Arash Habibi Lashkari and Ali A Ghorbani, "Toward Generating a New Intrusion Detection Dataset and IntrusionTraffic Characterization" [12] Trent Hauck, “scikit-learn Cookbook”, in Chapter Classifying Data with scikit-learn, by Packt Publishing, 2014, pp 119-157 [13] Andi FitriahA Kadir, Laya Taheri and Ali A Ghorbani "Toward Developing a Systematic Approach toGenerate Benchmark Android Malware Datasets and ClassificationArashHabibiLashkari" [14] D Arp, M Spreitzenbarth, M Huebner, H Gascon, and K Rieck, “Drebin: Efficient and explainable detection of android malware in your pocket,” 21th Annual Network and Distributed System Security Symposium (NDSS), 2014 [15] T Micro, 2017 Mobile Threat Landscape, 2018 [Online] Available: https://www.trendmicro.com/vinfo/us/security/research-andanalysis/threat -reports/roundup/2017-mobile-threat-landscape [16] F Wei, Y Li, S Roy, X Ou, and W Zhou, “Deep ground truth analysis of current android malware,” Tech reports 2017, 2017 [17] S Arshad, A Khan, M A Shah, and M Ahmed, “Android malware detection and protection: A survey,” International Journal of Advanced Computer Science and Applications, vol 7, no 2, 2016 [18] F Gagnon and F Massicotte, “Revisiting static analysis of android malware,” CSET @ USENIX Security Symposium, 2017 48 [19] V D Nguyen, T G Pham, N H Nguyen, M V Pham, and D H Luong, “Đánh giá số phương pháp học máy phân tích mức độ an toàn ứng dụng android,” Hội thảo quốc gia lần thứ XX: Một số vấn đề chọn lọc Công nghệ thông tin truyền thông, 2017 [20] S A Gordon, Google’s security suite ‘Play Protect’ rolling out to Android phones, 2017 [Online] Available: http://www.androidauthority com/google-play-protect-rolling-out-788614/ [21] M C Grace, Y Zhou, Q Zhang, and X Jiang, “Riskranker: scalable and accurate zero-day android malware detection,” June 2012 [22] P G William Enck and B.-G Chun, “Taintdroid: An information-flow tracking system for real-time privacymonitoring on smartphones,” in 9th USENIX Symposium on Operating Systems Design and Implementation, 2010 [23] L Xu, D Zhang, N Jayasena, and J Cavazos, “Hadm: Hybrid analysis for detection of malware,” in Conference: Proceedings of SAI Intelligent Systems Conference, 2018 [24] Google Play [Online] Available: https://play.google.com/store [25] M Spreitzenbarth, F Echtler, T Schreck, F C Freling, and J Hoffmann, “Mobilesandbox: Looking deeper into android applications,” 28th International ACM Symposium on Applied Computing (SAC), 2013 [26] Android Asset Packaging Tool, 2010 - 2018 [Online] Available: https://elinux.org/Android_aapt [27] S Sperandei, “Understanding logistic regression analysis,” Biochem Medica, vol 24(1), pp 12–18, 2014 [28] J R Quinlan, “Induction of decision trees,” Mach Learn., vol 1, no 1, pp 81–106, Mar 1986 [Online] Available: http://dx.doi.org/10.1023/ 49 [29] C C Xiang Li, “A spatial entropy-based decision tree for classification of geographical information,” GIS, vol 10(3), pp 451 – 467, 2006 [30] V Vapnik, “The nature of statistical learning theory,” Springer, 2000 [31] Kernel Support Vector Machine, 2017 [Online] Available: https://machinelearningcoban.com/2017/04/22/kernelsmv/ [32] J Pearl, “Reverend bayes on inference engines: a distributed hierarchical approach.” in In Proceedings of the National Conference on Artificial Intelligence, 1982, pp 133–136 [33] Scikit-learn [Online] Available: http://scikit-learn.org/stable/ [34] M Sokolova and G Lapalme, “A systematic analysis of performance measures for classification tasks,” in Information Processing & Management, vol 45, July 2019, pp 427–437 ... Phân loại thuật toán học máy 19 1.4.2 Giới thiệu số thuật toán học máy hiệu với toán 20 CHƯƠNG ỨNG DỤNG MƠ HÌNH HỌC MÁY TRONG PHÁT HIỆN NGUY CƠ MÃ ĐỘC TRÊN NỀN TẢNG ANDROID 25 2.1 PHƯƠNG... CHƯƠNG ỨNG DỤNG MƠ HÌNH HỌC MÁY TRONG PHÁT HIỆN NGUY CƠ MÃ ĐỘC TRÊN NỀN TẢNG ANDROID 2.1 PHƯƠNG PHÁP THU THẬP DỮ LIỆU THÔ 2.1.1 Thu thập liệu Dữ liệu ban đầu gồm file apk tổng hợp từ nhiều nguồn Trong. .. phát mã độc sử dụng thuật toán LR, kết khả quan toán phát nguy mã độc Các kết luận văn đạt được: - Trình bày tổng quan hệ điều hành Android, mã độc, học máy - Tìm hiểu phương pháp phân tích mã