Nghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máy
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - NGUYỄN THỊ NGỌC ANH NGHIÊN CỨU PHƯƠNG PHÁP PHÁT HIỆN MÃ ĐỘC DỰA TRÊN CÁC KỸ THUẬT HỌC MÁY LUẬN VĂN THẠC SĨ KỸ THUẬT HÀ NỘI - 2019 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG - NGUYỄN THỊ NGỌC ANH NGHIÊN CỨU PHƯƠNG PHÁP PHÁT HIỆN MÃ ĐỘC DỰA TRÊN CÁC KỸ THUẬT HỌC MÁY Chuyên ngành: Hệ thống thông tin Mã số: 8.48.01.04 LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) NGƯỜI HƯỚNG DẪN KHOA HỌC: TS HOÀNG XUÂN DẬU HÀ NỘI - 2019 i LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu riêng Các số liệu, kết nêu luận văn trung thực chưa công bố cơng trình khác Hà Nội, tháng 10 năm 2018 Tác giả luận văn Nguyễn Thị Ngọc Anh ii LỜI CẢM ƠN Tôi xin trân trọng cảm ơn thầy cô Khoa công nghệ thông tin tạo điều kiện cho môi trường học tập tốt, đồng thời truyền đạt cho vốn kiến thức quý báu, tư khoa học để phục vụ cho q trình học tập cơng tác Tôi xin gửi lời cảm ơn đến bạn lớp Cao học Hệ thống thông tin M17CQIS01-B khóa 2017- 2019 giúp đỡ tơi suốt thời gian học tập vừa qua Đặc biệt, xin bày tỏ lòng biết ơn sâu sắc đến TS HỒNG XN DẬU tận tình bảo cho tơi suốt trình học tập nghiên cứu, giúp tơi có nhận thức đắn kiến thức khoa học, tác phong học tập làm việc, tạo điều kiện thuận lợi để tơi hồn thành luận văn Cuối cùng, xin gửi lời cảm ơn tới gia đình, đồng nghiệp, người thân động viên, giúp đỡ tơi q trình hồn thành luận văn Hà Nội, tháng 10 năm 2018 Tác giả luận văn Nguyễn Thị Ngọc Anh 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 THUẬT NGỮ, CHỮ VIẾT TẮT v DANH MỤC BẢNG BIỂU vi DANH MỤC HÌNH VẼ vii MỞ ĐẦU .1 CHƯƠNG - TỔNG QUAN VỀ MÃ ĐỘC VÀ PHÁT HIỆN MÃ ĐỘC 1.1 Tổng quan mã độc 1.1.1 Khái niệm mã độc 1.1.2 Các dạng mã độc .5 1.2 Các phương pháp phát mã độc 1.2.1 Phương pháp phát dựa chữ ký 1.2.2 Phương pháp phát dựa hành vi 10 1.3 Sự cần thiết học máy phát mã độc .11 1.4 Các nghiên cứu liên quan 12 1.5 Kết luận chương 13 CHƯƠNG - PHÁT HIỆN MÃ ĐỘC DỰA TRÊN HỌC MÁY 14 2.1 Khái quát kỹ thuật học máy 14 2.1.1 Tổng quan học máy 14 2.1.2 Một số kỹ thuật học máy .18 2.2 Mô hình phát mã độc dựa học máy 27 2.3 Kết luận chương 32 iv CHƯƠNG - CÀI ĐẶT VÀ THỬ NGHIỆM 33 3.1 Thu thập tiền xử lý liệu 33 3.1.1 Dữ liệu mẫu 33 3.1.2 Cuckoo Sandbox 34 3.1.3 Trích xuất đặc trưng 34 3.1.4 Lựa chọn đặc trưng .36 3.2 Huấn luyện kiểm thử mơ hình phát mã độc 36 3.3 Kết đánh giá .38 3.3.1 K-Nearest Neighbors 38 3.3.2 Support Vector Machines .39 3.3.3 J48 Decision Tree 40 3.3.4 Naïve Bayes 41 3.3.5 Random Forest 42 3.4 Nhận xét .42 3.5 Kết luận chương 43 KẾT LUẬN VÀ KIẾN NGHỊ 44 TÀI LIỆU THAM KHẢO 45 v DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT Viết tắt Tiếng Anh Tiếng Việt KNN K-Nearest Neighbors K láng giềng gần SVM Support Vector Machines Máy vector hỗ trợ vi DANH MỤC BẢNG BIỂU Bảng 2.1 Ví dụ liệu huấn luyện định 23 Bảng 3.1 Độ xác thuật tốn KNN .39 Bảng 3.2 Độ xác thuật toán SVM .40 Bảng 3.3 Độ xác thuật tốn Decision Tree .40 Bảng 3.4 Độ xác thuật tốn Naive Bayes 41 Bảng 3.5 Độ xác thuật toán Random Forest .42 Bảng 3.6 Kết thực nghiệm 43 vii DANH MỤC HÌNH VẼ Hình 1.1 Thống kê số lượng mã độc điện thoại di động 2016-2017 Hình 2.1 Quy trình học máy 15 Hình 2.2 Bộ sở liệu chữ số viết tay 17 Hình 2.3 Ví dụ KNN 18 Hình 2.4 Mơ hình SVM 20 Hình 2.5 Bài tốn SVM với khơng gian hai chiều 21 Hình 2.6 Ví dụ định .24 Hình 2.7 Sơ đồ thuật toán Random Forest 27 Hình 2.8 Mơ hình tổng quan .29 Hình 2.9 Kiến trúc Cuckoo Sandbox 30 Hình 3.1 Tỉ lệ dạng mã độc tập liệu mẫu .33 Hình 3.2 Sơ đồ q trình trích xuất liệu .35 Hình 3.3 Mơ hình q trình phân loại .37 Hình 3.4 Kết dự đốn thuật tốn KNN 38 Hình 3.5 Kết dự đoán thuật toán SVM 39 Hình 3.6 Kết dự đoán thuật toán J48 40 Hình 3.7 Kết dự đoán thuật toán Naive Bayes 41 Hình 3.8 Kết dự đốn thuật toán Random Forest 42 MỞ ĐẦU Lý chọn đề tài Hiện nay, phát triển nhanh chóng cơng nghệ thơng tin không gian mạng đem lại nhiều lợi ích đời sống xã hội Tuy nhiên, bên cạnh lợi ích mà khơng gian mạng mang lại, nhiều nguy gây ảnh hưởng đến hệ thống thơng tin người dùng – điển hình xuất gia tăng nhanh chóng loại mã độc nhằm đánh cắp thông tin, tống tiền, thám, cá nhân tổ chức không gian mạng Các loại mã độc ngày đa dạng tinh vi hơn, có khả lẩn tránh phần mềm anti-virus thông qua kỹ thuật nén, xáo trộn mã, tự thay đổi mã nguồn, dẫn đến việc sử dụng phương pháp rà quét phát dựa chữ ký không thực hiệu Hơn nữa, để tạo chữ ký mẫu mã độc, chuyên gia phải tiêu tốn nhiều thời gian công sức, khiến cho việc cập nhật phần mềm anti-virus chậm hơn, khó có khả phát mã độc kịp thời Để cải thiện khả nhận dạng phát mẫu mã độc mới, phương pháp phát mã độc dựa hành vi nghiên cứu triển khai Theo đó, mã độc thực thi mơi trường có giám sát hành vi mã độc truy nhập tệp tin, truy nhập mạng, thay đổi tham số hệ thống,… ghi nhận phân tích làm sở cho xây dựng hồ sơ phát mã độc Hơn nữa, để nâng cao hiệu trình xây dựng hồ sơ phát mã độc, phương pháp học máy sử dụng để huấn luyện đặc trưng hành vi mã độc cho việc xây dựng phát Ưu điểm việc ứng dụng học máy phát mã độc tự động hóa q trình xây dựng hồ sơ phát cải thiện khả phát dạng mã độc Theo hướng nghiên cứu này, đề tài luận văn “Nghiên cứu phương pháp phát mã độc dựa kỹ thuật học máy” tiến hành nghiên cứu ứng dụng kỹ thuật học máy để tìm phương pháp phát mã độc cho hiệu cao Luận văn bao gồm chương: Chương 1: Tổng quan mã độc phát mã độc Chương giới thiệu tổng quan mã độc, bao gồm khái niệm, dạng mã độc, lịch sử phát triển tác hại mã độc Bên cạnh đó, chương giới thiệu 33 CHƯƠNG - CÀI ĐẶT VÀ THỬ NGHIỆM Chương tiến hành áp dụng mơ hình phát mã độc giới thiệu chương vào tập liệu mẫu Sau kết thử nghiệm kỹ thuật học máy so sánh đưa kết luận 3.1 Thu thập tiền xử lý liệu 3.1.1 Dữ liệu mẫu Luận văn thu thập 1503 files liệu mẫu, có 1077 files mã độc 426 files bình thường Các files bình thường bao gồm định dạng: doc, jar, xls, pdf, exe,… chạy Windows; files mã độc thu thập từ trang “Contagio” [17] “VX Heaven” [28], bao gồm dạng mã độc: worm, trojan, virus, dạng khác (backdoor, adware, spyware, ransomware…) Số lượng files mô tả hình 3.1: Mã độc Khác 10% Worm 10% Virus 48% Trojan 32% Virus Trojan Worm Khác Hình 3.1 Tỉ lệ dạng mã độc tập liệu mẫu Tập liệu mẫu chia thành hai tập con: tập liệu huấn luyện (chiếm 2/3) tập liệu thử nghiệm (chiếm 1/3), files chia ngẫu nhiên 34 3.1.2 Cuckoo Sandbox Để đảm bảo hành vi mã độc ghi lại xác, Cuckoo Sandbox cấu sau: Máy chủ: - Hệ điều hành Ubuntu 16.04 x64 - Ram 4Gb - Kết nối Internet - Sử dụng Virtualbox để cài đặt máy khách Máy khách: - Hệ điều hành Windows Professional x86 - Ram 1Gb - Adobe PDF reader - Adobe Flashplayer - Microsoft Office 2007 - Java JRE - NET framework 4.0 3.1.3 Trích xuất đặc trưng Như đề cập mục 2.2, thuộc tính biểu diễn dạng ma trận tần suất, bao gồm tần suất lời gọi API thành công, lời gọi API thất bại mã trả chúng Dữ liệu trích xuất từ báo cáo phân tích sandbox Q trình trích xuất đặc trưng mơ tả hình 3.2 Trong đó, báo cáo thu sau phân tích files sandbox (có định dạng JSON) xử lý đoạn script để xuất file tổng hợp (có định dạng csv) chứa đặc trưng biểu diễn dạng ma trận Số lượng API tối thiểu định nghĩa chương trình, ví dụ files có lời gọi API bỏ qua 35 Định nghĩa số lời gọi API tối thiểu Thiết lập ghi log Tạo danh sách: successfulAPIs, failed-API, returncodes Lấy file từ tập huấn luyện Đúng định dạng JSON? No Ghi log Yes No Có n lời gọi API? Yes Đã có danh sách Chưa có danh sách Kiểm tra lời gọi API thành công, thất bại mã trả Tăng giá trị cột tương đương lên Thêm vào ma trận Tính tổng số lời gọi API thành công, thất bại, mã trả Tạo ma trận với số chiều tương ứng Tạo ma trận cho IDS tính điểm Lấy file từ tập huấn luyện Đúng định dạng JSON? Yes Có n lời gọi API? No Ghi log No Yes Lấy ID lớp số điểm, lưu vào ma trận Đọc APIs RCs, điền vào ma trận Lưu vào file CSV với timestamp Lưu vào file CSV với timestamp Hình 3.2 Sơ đồ q trình trích xuất liệu 36 3.1.4 Lựa chọn đặc trưng Việc lựa chọn đặc trưng nhằm đảm bảo loại trừ dư thừa đặc trưng không liên quan để tăng độ xác cho q trình dự đoán, đặc biệt tập đặc trưng lớn trường hợp Ngôn ngữ R sử dụng để thực lựa chọn đặc trưng áp dụng lên kỹ thuật học máy R mơi trường lập trình dùng cho thống kê lập biểu đồ, biên dịch chạy tảng khác UNIX, Windows, MacOS,… [29] Một thuật toán đơn giản hiệu dùng để lựa chọn đặc trưng gói thư viện Boruta nằm gói ngơn ngữ R Thuật tốn mô tả sau [18]: Tạo tập liệu xáo trộn chúng Huấn luyện thuật toán Random Forest tập liệu áp dụng thuật toán Mean Decrease Accuracy để đo mức độ quan trọng đặc trưng Tại vòng lặp, kiểm tra độ quan trọng đặc trưng Loại bỏ đặc trưng xếp loại khơng quan trọng sau vịng lặp Dừng sau phân loại hết đặc trưng, sau đạt đến số vòng lặp định Tuy nhiên, số lượng đặc trưng lớn, khơng đủ tài ngun để thuật tốn Boruta chạy ổn định Vì thế, cần chia nhỏ tập liệu thành tập để xử lý Sau đó, đặc trưng quan trọng thu thập từ tập hợp lại, loại bỏ đặc trưng dư thừa Cuối thực lựa chọn lần tập đặc trưng Từ tập 14789 đặc trưng, sau chạy thuật tốn rút gọn cịn 99 đặc trưng 3.2 Huấn luyện kiểm thử mơ hình phát mã độc Sau trích xuất lựa chọn đặc trưng, tập liệu dùng để đưa vào huấn luyện kỹ thuật học máy, bao gồm: KNN, SVM, J48 Decision Tree, Naïve Bayes, Random Forest Mơ hình phát biểu diễn hình 3.4: 37 Import thư viện Load liệu Định nghĩa hàm chuẩn hóa Chia liệu theo tỉ lệ 2/3 thành hai tập huấn luyện thử nghiệm ngẫu nhiên Chuẩn hóa liệu phù hợp với thuật tốn J48 Nạve Bayes SVM Random Forest Thực dự đoán Thực dự đoán Thực dự đoán Thực dự đoán Thực dự đoán cho KNN Đưa kết Đưa kết Đưa kết Đưa kết Đưa kết Hình 3.3 Mơ hình q trình phân loại Các gói thư viện dùng cho thuật toán sau: K-Nearest Neighbors – class Support Vector Machine – kernlab J48 Decision Tree – Rweka Naïve Bayes – e1071 Random Forest – randomForest Tạo kết dạng bảng – gmodels 38 3.3 Kết quả đánh giá Độ xác mơ hình phát mã độc tính theo cơng thức sau: 𝐴𝑐𝑐 = 𝑇𝑃+𝑇𝑁 𝑇𝑃+𝑇𝑁+𝐹𝑃+𝐹𝑁 (3.1) Trong đó: - TP (True Positive): Số lượng mẫu mã độc phân loại vào lớp mã độc - FP (False Positive): Số lượng mẫu mã độc bị phân loại nhầm vào lớp mã độc - TN (True Negative): Số lượng mẫu mã độc phân loại vào lớp bình thường - FN (False Negative): Số lượng mẫu mã độc bị phân loại nhầm vào lớp bình thường 3.3.1 K-Nearest Neighbors Kết thực nghiệm KNN thể hình 3.4 Trong đó, lớp files bình thường (benign), lớp files mã độc (malicious) Row Total số lượng thực tế mẫu tương ứng với lớp 0, Column Total số lượng mẫu phân chia vào lớp 0, theo mơ hình Hình 3.4 Kết quả dự đoán thuật toán KNN 39 Độ xác đạt 99.6% k = Số lượng chi tiết thể bảng 3.1: Bảng 3.1 Độ xác thuật toán KNN Lớp Số mẫu phát Số mẫu phát sai Độ xác Benign 58 98.3% Malicious 214 100% Như vậy, thuật toán KNN cho kết tốt với tỉ lệ xác lên tới 99.6% Tỉ lệ FN 0, tức khơng có file mã độc bị nhận nhầm thành file bình thường 3.3.2 Support Vector Machines Kết thực nghiệm thuật tốn thể hình 3.5, với độ xác 98.2% Hình 3.5 Kết quả dự đốn thuật toán SVM Bảng 3.2 thể số liệu cụ thể độ xác thuật tốn Trong đó, số lượng files bình thường phát (TN) 57, số lượng files mã độc phát (TP) 211 40 Bảng 3.2 Độ xác thuật toán SVM Lớp Số mẫu phát Số mẫu phát sai Độ xác Benign 57 96.6% Malicious 211 98.6% 3.3.3 J48 Decision Tree Ưu điểm phương pháp Decision Tree thực dạng “white box” nhìn thấy q trình dự đốn cách trực quan Kết dự đoán thuật toán thể hình 3.6 Hình 3.6 Kết quả dự đốn thuật tốn J48 Độ xác thuật tốn 98.5%, với thông tin chi tiết thể bảng 3.3 Số lượng files bình thường nhận dạng 57, số lượng files mã độc nhận dạng 212 Bảng 3.3 Độ xác thuật toán Decision Tree Lớp Số mẫu phát Số mẫu phát sai Độ xác Benign 57 96.6% Malicious 212 99.1% Kết thu có độ xác cao, xấp xỉ với thuật tốn SVM 41 3.3.4 Nạve Bayes Thuật tốn cho kết với độ xác thấp – 54.2% Số lượng mã độc phát (TP) 91, số lượng file bình thường phát (TN) 57 Thông tin chi tiết thể hình 3.7 bảng 3.4 Hình 3.7 Kết quả dự đoán thuật toán Naive Bayes Bảng 3.4 Độ xác thuật tốn Naive Bayes Lớp Số mẫu phát Số mẫu phát sai Độ xác Benign 57 96.6% Malicious 91 123 42.5% Độ xác thuật tốn thấp so với thuật toán Hơn nữa, tỉ lệ file mã độc bị nhận nhầm thành file bình thường (FN) cao – 57.5%, dẫn đến thiệt hại lớn thực tế Lý dẫn đến kết thuật tốn Nạve Bayes, đặc trưng xử lý cách độc lập, điều không hầu hết trường hợp Các lời gọi APIs phụ thuộc lẫn Vì thế, thuật tốn Nạve Bayes cho kết thiếu xác 42 3.3.5 Random Forest Kết thực nghiệm thuật toán Random Forest thể hình 3.8 Hình 3.8 Kết quả dự đốn thuật tốn Random Forest Thuật tốn có độ xác 99.3%, gần với thuật toán KNN Số lượng file bình thường phát (TN) 58, số lượng mã độc phát (TP) 213 Chi tiết thể bảng 3.5: Bảng 3.5 Độ xác thuật tốn Random Forest Lớp Số mẫu phát Số mẫu phát sai Độ xác Benign 58 98.3% Malicious 213 99.5% 3.4 Nhận xét Trên luận văn trình bày trình thử nghiệm kết thử nghiệm thuật toán Các thuật toán cho kết khác Thuật tốn tốt KNN với độ xác 99.6% Tiếp theo Random Forest (99.3%), J48 (98.5%), SVM(98.1%) Thuật tốn có độ xác thấp Nạve Bayes với 54.2% Độ xác thuật toán thể bảng 3.6: 43 Bảng 3.6 Kết quả thực nghiệm Thuật tốn Nạve SVM Độ xác 99.6% 98.1% 54.2% 98.5% 99.3% TP 214 211 91 212 213 FP 2 TN 58 57 57 57 58 FN 123 Kết Bayes J48 Random KNN Forest Mặc dù thuật tốn KNN có độ xác cao nhất, luận văn kiến nghị sử dụng thuật toán Random Forest Bởi kết thuật tốn KNN cịn phụ thuộc vào việc lựa chọn k KNN phù hợp với tập liệu nhỏ lớp phân bố – không phù hợp mở rộng liệu mẫu Đối với thuật toán Random Forest, tỉ lệ FN, tức khả phát sai file mã độc thành file bình thường thấp thuật tốn cịn lại 3.5 Kết luận chương Chương trình bày trình thử nghiệm, bao gồm bước thực hiện, kết thực nghiệm, đánh giá nhận xét kỹ thuật học máy Trong năm kỹ thuật đề cập trên, luận văn kiến nghị ứng dụng Random Forest vào toán phát mã độc thực tế, với độ xác 99.3%, có tỉ lệ FN thấp – 0.05% phù hợp với tốn có tập liệu lớn 44 KẾT LUẬN VÀ KIẾN NGHỊ Những đóng góp luận văn Luận văn nghiên cứu phương pháp phát mã độc dựa kỹ thuật học máy đạt số kết sau: Giới thiệu tổng quan mã độc: khái niệm, phân loại phương pháp phát mã độc truyền thống Trình bày sở lý thuyết đưa mơ hình phát mã độc dựa kỹ thuật học máy KNN, SVM, Decision Tree, Naïve Bayes, Random Forest Tiến hành thực nghiệm, đánh giá so sánh kết Tóm lại, trình thực nghiệm tóm tắt sau: sử dụng cuckoo sandbox để trích xuất đặc trưng biểu diễn đặc trưng dạng ma trận tần suất lời gọi API với mã trả chúng Phương pháp thể thơng tin thay đổi hệ thống, bao gồm thay đổi registry, mutexes, tệp tin,… Sau sử dụng thư viện Boruta để lựa chọn đặc trưng quan trọng loại bỏ đặc trưng dư thừa Cuối xử lý liệu mẫu đưa vào thuật toán học máy để thực phân lớp Thuật toán kiến nghị sử dụng Random Forest có độ xác cao, phù hợp với tập lớn có nhiều nhiễu Ngồi ra, thuật tốn cho tỉ lệ FN thấp – tức khơng có file mã độc bị nhận sai thành file bình thường Hướng phát triển Hiện tại, luận văn sử dụng cuckoo sandbox để trích xuất đặc trưng Q trình tốn nhiều thời gian tài nguyên hệ thống Hướng phát triển kết hợp q trình trích xuất lựa chọn đặc trưng để tăng hiệu cho q trình trích chọn đặc trưng Ngồi luận văn mở rộng tập liệu mẫu, tập liệu chứa số lượng nhỏ dạng mã độc khác Để tăng độ xác cho kết phát hiện, cần sử dụng tập liệu lớn đa dạng 45 TÀI LIỆU THAM KHẢO Tiếng Anh: [1] Alazab, Mamoun, Sitalakshmi Venkatraman, Paul Watters, and Moutaz Alazab (2011) Zero-day Malware Detection based on Supervised Learning Algorithms of API call Signatures Proceedings of the 9-th Australasian Data Mining Conference, 171-181 [2] Baldangombo Usukhbayar, Nyamjav Jambaljav, Shi-Jinn Horng (2013) A Static Malware Detection System Using Data Mining Methods Cornell University [3] Baskaran, Balaji, Anca Ralescu (2016) A Study of Android Malware Detection Techniques and Machine Learning Proceedings of the 27th Modern Artificial Intelligence and Cognitive Science Conference [4] Biau, G (2013) Analysis of a Random Forests Model Journal of Machine Learning Research, 1063-1095 [5] Bishop, C (2006) Pattern Recognition and Machine Learning New York: Springer [6] Cloonan, J (2017, 04 11) Advanced Malware Detection - Signatures vs Behavior Analysis Retrieved 2018-10-08, from https://www.infosecuritymagazine.com/opinions/malware-detection-signatures/ [7] Cuckoo Sandbox (Cuckoo Foundation) Retrieved from https://cuckoo.readthedocs.io/en/latest/introduction/what/#architecture [8] Egele, Manuel, Theodoor Sholte, Engin Kirda, Christofer Kruegel (2012) A Survey on Automated Dynamic Malware Analysis Techniques and Tools ACM Computing Surveys [9] First computer virus of Bob Thomas Retrieved 2018-10-03, from http://historycomputer.com/Internet/Maturing/Thomas.html [10] Gavrilut, Dragos, Mihai Cimpoesu, Dan Anton, Liviu Ciortuz (2009) Malware Detection Using Machine Learning The International Multiconference on Computer Science and Information Technology 46 [11] Harley, David, Andrew Lee (2009) Heuristic Analysis — Detecting Unknown Viruses [12] Hung, P V (2011) An approach to fast malware classification with machine learning technique [13] Isabelle Guyon, Andre Elisseef (2006) An Introduction to Feature An Introduction to Feature New York [14] Jorma Laaksonen, Erkki Oja (1996) Classification with learning k-Nearest Neighbors [15] Krishna Sandeep Reddy, Arun Pujari (2006) N-gram analysis for computer virus detection [16] Louppe, G (2014) Understanding Random Forests [17] Milaparkour Contagio Malware dump Retrieved from http://contagiodump.blogspot.com/ [18] Miron B Kursa, Witold R Rudnicki (2010) Feature selection with the Boruta package Journal of Statistical Software, 36 [19] Mitchell, T (1997) Machine Learning [20] Pirscoveanu, R.-S (2015) Clustering Analysis of Malware Behavior Aalborg University [21] Prasad, B Jaya, Haritha Annangi, Krishna Sastry Pendyala (2016) Basic static malware analysis using open source tools [22] Priyank Singhal, Nataasha Raul (2015) Malware Detection Module using Machine Learning Algorithms to Assist in Centralized Security in Enterprise Networks [23] Rankin, B (2018, 04 05) A Brief History of Malware — Its Evolution and Impact Retrieved 2018-10-03, from https://www.lastline.com/blog/history-ofmalware-its-evolution-and-impact/ [24] Ranzhe Jing, Yong Zhang (2010) A View of Support Vector Machines Algorithm on Classification Problems International Conference on Multimedia Communications International Conference on Multimedia Communications 47 [25] Swain, Philip H., Hans Hauska (1977) The Decision Tree classifier: design and potential IEEE Transactions on Geoscience Electronics [26] Symatec (2018) 2018 Internet Security [27] Thirumuruganathan, S (2010) A Detailed Introduction to K-Nearest Neighbor (KNN) Algorithm Retrieved from https://saravananthirumuruganathan.wordpress.com/2010/05/17/a-detailedintroduction-to-k-nearest-neighbor-knn-algorithm/ [28] VX Heaven windows virus collection Retrieved from https://archive.org/details/vxheaven-windows-virus-collection [29] W N Venables, and D M Smith (2016) An Introduction to R [30] When did the term 'computer virus' arise? Retrieved 2018-10-03, from https://www.scientificamerican.com/article/when-did-the-term-compute/ Tiếng Việt: [31] https://vi.wikipedia.org/wiki/H%E1%BB%8Dc_m%C3%A1y#%C4%90%E1 %BB%8Bnh_ngh%C4%A9a Đã truy cập 2018-10-08 ... MÃ ĐỘC VÀ PHÁT HIỆN MÃ ĐỘC 1.1 Tổng quan mã độc 1.1.1 Khái niệm mã độc 1.1.2 Các dạng mã độc .5 1.2 Các phương pháp phát mã độc 1.2.1 Phương pháp phát dựa. .. học máy phát mã độc tự động hóa q trình xây dựng hồ sơ phát cải thiện khả phát dạng mã độc Theo hướng nghiên cứu này, đề tài luận văn ? ?Nghiên cứu phương pháp phát mã độc dựa kỹ thuật học máy? ?? tiến... dạng mã độc, lịch sử phát triển tác hại mã độc Bên cạnh đó, chương giới thiệu phương pháp phát mã độc, cần thiết học máy việc phát mã độc số nghiên cứu liên quan Chương Phát mã độc dựa học máy