(Luận văn thạc sĩ) Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu Metadata của tệp tin(Luận văn thạc sĩ) Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu Metadata của tệp tin(Luận văn thạc sĩ) Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu Metadata của tệp tin(Luận văn thạc sĩ) Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu Metadata của tệp tin(Luận văn thạc sĩ) Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu Metadata của tệp tin(Luận văn thạc sĩ) Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu Metadata của tệp tin(Luận văn thạc sĩ) Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu Metadata của tệp tin(Luận văn thạc sĩ) Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu Metadata của tệp tin(Luận văn thạc sĩ) Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu Metadata của tệp tin(Luận văn thạc sĩ) Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu Metadata của tệp tin(Luận văn thạc sĩ) Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu Metadata của tệp tin(Luận văn thạc sĩ) Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu Metadata của tệp tin(Luận văn thạc sĩ) Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu Metadata của tệp tin(Luận văn thạc sĩ) Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu Metadata của tệp tin(Luận văn thạc sĩ) Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu Metadata của tệp tin(Luận văn thạc sĩ) Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu Metadata của tệp tin(Luận văn thạc sĩ) Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu Metadata của tệp tin(Luận văn thạc sĩ) Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu Metadata của tệp tin(Luận văn thạc sĩ) Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu Metadata của tệp tin(Luận văn thạc sĩ) Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu Metadata của tệp tin(Luận văn thạc sĩ) Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu Metadata của tệp tin
BỘ GIÁO DỤC VIỆN HÀN LÂM VÀ ĐÀO TẠO KHOA HỌC VÀ CÔNG NGHỆ VN HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ Nguyễn Anh Tuấn NGHIÊN CỨU PHƯƠNG PHÁP PHÁT HIỆN MÃ ĐỘC DỰA TRÊN DỮ LIỆU META-DATA CỦA TỆP TIN LUẬN VĂN THẠC SĨ NGÀNH MÁY TÍNH Hà Nội - 2021 BỘ GIÁO DỤC VIỆN HÀN LÂM VÀ ĐÀO TẠO KHOA HỌC VÀ CÔNG NGHỆ VN HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ Nguyễn Anh Tuấn NGHIÊN CỨU PHƯƠNG PHÁP PHÁT HIỆN MÃ ĐỘC DỰA TRÊN DỮ LIỆU META-DATA CỦA TỆP TIN Chuyên ngành : Hệ thống thông tin Mã số : 8480104 LUẬN VĂN THẠC SĨ NGÀNH MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC : TS TRẦN ĐỨC NGHĨA Hà Nội - 2021 LỜI CAM ĐOAN Tôi Nguyễn Anh Tuấn, học viên khóa 2019B, ngành máy tính, chuyên ngành Hệ Thống Thông Tin Tôi xin cam đoan luận văn “Nghiên cứu phương pháp phát mã độc dựa liệu meta data tệp tin” tơi nghiên cứu, tìm hiểu phát triển hướng dẫn TS Trần Đức Nghĩa, chép từ tài liệu, cơng trình nghiên cứu người khác mà không ghi rõ tài liệu tham khảo Tôi xin chịu trách nhiệm lời cam đoan Hà Nội, ngày tháng năm 2021 Học viên Nguyễn Anh Tuấn i LỜI CẢM ƠN Lời cảm ơn trân trọng muốn dành tới thầy cô Học viện khoa học công nghệ Việt Nam, Viện công nghệ thông tin, Viện Hàn lâm khoa học cơng nghệ Việt Nam tận tình giảng dạy truyền đạt kiến thức quý báu, tạo môi trường học tập, nghiên cứu khoa học nghiêm túc suốt thời gian vừa qua, giúp tơi có kiến thức chuyên môn tảng để làm sở lý luận khoa học cho luận văn Đặc biệt xin chân thành cảm ơn thầy TS Trần Đức Nghĩa định hướng, dìu dắt hướng dẫn tơi suốt trình làm luận văn, bảo thầy giúp tự tin nghiên cứu vấn đề giải toán cách khoa học Tôi xin trân trọng cảm ơn Ban giám hiệu Học viện khoa học công nghệ Việt Nam - Viện Hàn lâm khoa học công nghệ Việt Nam tạo điều kiện cho học tập làm luận văn cách thuận lợi Tôi xin cảm ơn hỗ trợ nhóm nghiên cứu tiềm Cảm nhận thông minh ứng dụng (SSA), Trường đại học Phenikaa Trong trình học tập thực luận văn, thực với tinh thần nghiêm túc, chắn không tránh khỏi thiết sót Tơi mong thơng cảm bảo tận tình thầy bạn TÁC GIẢ LUẬN VĂN Nguyễn Anh Tuấn ii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii DANH MỤC KÝ HIỆU VÀ VIẾT TẮT v DANH MỤC HÌNH VẼ vi DANH MỤC BẢNG vii MỞ ĐẦU 1 Tính cấp thiết luận văn Mục tiêu nghiên cứu luận văn Các nội dung nghiên cứu luận văn CHƯƠNG TỔNG QUAN VỀ MÃ ĐỘC VÀ PHÂN TÍCH MÃ ĐỘC 1.1 Khái niệm mã độc 1.2 Mục đích mã độc 1.3 Hiện trạng phát triển mã độc 1.4 Phân loại mã độc 1.4.1 Các loại mã độc phổ biến 1.4.2 Xác định loại mã độc dịch vụ virustotal 1.5 Kỹ thuật phân tích mã độc 1.5.1 Phân tích động 1.5.2 Phân tích tĩnh 1.6 Kết luận chương 11 CHƯƠNG PHÁT HIỆN MÃ ĐỘC DỰA TRÊN METADATA CỦA TỆP TIN BẰNG PHƯƠNG PHÁP CÂY QUYẾT ĐỊNH TRONG HỌC MÁY 12 2.1 Khái niệm meta-data 12 2.1.1 Định nghĩa 12 2.1.2 Cách sử dụng siêu liệu 13 2.1.3 Mô tả liệu 14 2.2 Cấu trúc tệp tin thực thi hệ điều hành Windows 16 2.2.1 Cấu trúc 16 2.2.2 DOS Header 18 2.2.3 PE Header 19 2.2.4 Data Directory 22 2.2.5 Section Table 23 2.3 Phương pháp phát mã độc dựa meta-data tệp tin kỹ thuật định học máy 25 2.3.1 Tổng quan định học máy 25 2.3.2 Thuật toán Quinlan 31 2.3.3 Thuật toán ID3 31 2.3.4 Thuật toán C4.5 34 iii 2.3.5 Thuật toán RandomForest 36 2.4 Kết luận chương 39 CHƯƠNG TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ 40 3.1 Triển khai giải pháp 40 3.1.1 Giới thiệu giải pháp 40 3.1.2 Lựa chọn thuật tốn để xây dựng mơ hình đánh giá 40 3.1.3 Các bước triển khai sở liệu 42 3.2 Cài đặt thử nghiệm 47 3.2.1 Môi trường cài đặt 47 3.2.2 Thử nghiệm 48 3.3 Đánh giá kết 49 3.3.1 Đánh giá kết sau thực nghiệm 49 3.4 Kết luận chương 54 Chương KẾT LUẬN 55 TÀI LIỆU THAM KHẢO 57 iv DANH MỤC KÝ HIỆU VÀ VIẾT TẮT APT Advanced Persistent Threat API Application Programming Interface CPL Control Panel CSDL Cơ Sở Dữ Liệu CLS Concept Learning System CPU Central Processing Unit DNS Domain Name System DoS Denial of Service RF Relative Frequency TEI Text Encoding Initiative EAD Encoded Archival Description PE Portable Executable RDF RandomForest KDD Knowledge Discovery in Database v DANH MỤC HÌNH VẼ Hình 1.1 Chức Pseudocode-A tạo mã giả C IDA pro 10 Hình 1.2 Chương trình phân tích IDA pro 10 Hình 2.1 Cấu trúc tệp tin thực thi PE 17 Hình 2.2 Cấu trúc Image_Dos_Header 18 Hình 2.3 Giá trị lfanew hex dump 19 Hình 2.4 Cấu trúc Image_NT_Header 19 Hình 2.5 Cấu trúc Image_File_Header 20 Hình 2.6 Cấu trúc Image_Optional_Header32 21 Hình 2.7 Cấu trúc liệu định nghĩa Data Directory 22 Hình 2.8 Cấu trúc Image_Data_Directory 22 Hình 2.9 Cấu trúc Image_Section_Header 23 Hình 2.10 Mơ phân tách định 28 Hình 2.11 Mơ phân tách định 38 Hình 3.1 KDD process 43 Hình 3.2 Bản ghi liệu sau trích rút thuộc tính gán nhãn 46 Hình 3.3 Bảng tương quan thuộc tính 47 Hình 3.4 Báo cáo thử nghiệm đánh giá kết sử dụng kết hợp mơ hình thuật toán 49 Hình 3.5 Kết đánh giá không biến đổi giảm chiều liệu 50 Hình 3.6 Kết đánh giá biến đổi giảm chiều liệu 51 Hình 3.7 Kết đánh giá biến đổi lựa chọn thuộc tính liệu 51 vi DANH MỤC BẢNG Bảng 3.1 Bảng yêu cầu chức 48 Bảng 3.2 Bảng phần mềm hỗ trợ 48 Bảng 3.3 Bảng tổng hợp kết thử nghiệm với thuật toán Random Forest 52 vii MỞ ĐẦU Tính cấp thiết luận văn Dưới phát triển nhanh chóng mã độc độ phức tạp số lượng, không gian mạng trở nên nóng hết Các nhà phân tích nghiên cứu mã độc khơng thể áp dụng đơn điệu kỹ thuật phân tích Hiện có nhiều giải pháp tích cực như: sandbox, virustotal, … giải pháp mang lại tính hiệu cao, thay vào phụ thuộc nhiều vào hãng chống phần mềm độc hại Đối với mẫu mã độc xuất hay loại mã độc công có chủ đích (APT) giải pháp chưa thực tốt Và quan trọng đơn vị nghiên cứu giải pháp chống mã độc phải tự phát triển giải pháp riêng song song với việc ứng dụng dịch vụ bên thứ ba Bên cạnh xu tương lai học máy trí tuệ nhân tạo có tính ứng dụng lớn Để giảm thời gian phân tích mã độc, tăng tính hiệu quả, mã độc cần phát cách tự động nhanh chóng Để xây dựng hệ thống phát mã độc, cách tiếp cận đề xuất luận văn sử dụng kỹ thuật học máy mang tên định để phân tích meta-data (siêu liệu) tệp tin mã độc, Đây hướng tiếp cận việc phát mã độc trước để phát mã độc phát theo hành vi, theo mã nguồn hay theo đặc trưng mã độc Điều sở đắn tốn thời gian hiệu thấp có nhiều chế chống phát tích hợp Siêu liệu liệu gắn liền với tệp tin điều gần khó để thay đổi mã độc mang đặc trưng chúng Mục tiêu nghiên cứu luận văn Từ nội dung nêu tính cấp thiết luận văn, học viên xác định mục tiêu nghiên cứu luận án “nghiên cứu kỹ thuật học máy định nhằm nâng cao độ xác tốc độ phát loại mã độc dựa siêu liệu (meta data) tệp tin” Các nội dung nghiên cứu luận văn Với mục tiêu nghiên cứu trình bày trên, học viên xác định nghiên cứu Gán nhãn liệu Mã độc có giá trị Tệp tin giá trị Hình 3.2 Bản ghi liệu sau trích rút thuộc tính gán nhãn Chuẩn hóa liệu Báo cáo sử dụng thử nghiệm trường hợp để đánh giá với loại mơ hình phân lớp: - Khơng biến đổi liệu - Min-max normalization: Chuẩn hóa liệu việc scale liệu phân bố giá trị trung bình quan sát độ lệch chuẩn = Nhờ việc chuẩn hóa, thuật tốn linear regression, logistic regression cải thiện - Z-score normalization: Bộ scaler MinMaxScaler đưa biến miền giá trị [0, 1] Lựa chọn thuộc tính giảm chiều liệu Báo cáo sử dụng thử nghiệm trường hợp lựa chọn thuộc tính giảm chiều liệu (hình 3.3) - Khơng sử dụng lựa chọn thuộc tính, giảm chiều liệu - ExtraTreeClassifier: Đây loại kỹ thuật học tập tổng hợp , tổng hợp kết nhiều định không tương quan thu thập “khu rừng” để tạo kết phân loại 46 Hình 3.3 Bảng tương quan thuộc tính Khai phá liệu Báo cáo thử nghiệm thuật toán phân lớp với siêu tham số khác (21 mơ hình): - DecisionTreeClassifier - RandomForestClassifier - GradientBoosting - AdaBoost - MLP - LogisticRegression - GNB - SVM - KNeighborsClassifier 3.2 Cài đặt thử nghiệm 3.2.1 Môi trường cài đặt Công cụ cài đặt môi trường hệ điều hành Windows 10 máy có cấu sau (bảng 3.1): 47 Bảng 3.1 Bảng yêu cầu chức Phần cứng Phần mềm môi trường phát triển CPU Core(TM) i5- HĐH: Windows 10 1135G7 @ 2.40GHz IDE: Spyder Anacoda RAM 8GB Môi trường: Python SSD 256 GB Thư viện hỗ trợ: Sklearn, Pickle, Pefile Yêu cầu phần mềm hỗ trợ (minh họa bảng 3.2) Bảng 3.2 Bảng phần mềm hỗ trợ STT Tên Python 3.8 Anacoda Giấy phép Địa tải GPL https://www.python.org/ Anaconda https://repo.anaconda.com/archive/Anacond Inc a3-2021.05-Windows-x86_64.exe 3.2.2 Thử nghiệm Các bước thực Bước 1: Chạy file Get_benign_file.py Bước 2: Chạy file Feature_extraction.py Bước 3: Chạy file Training.py Bước 4: Chạy file Savedmodel.py Bước 5: Chạy Using_model.py Phương pháp huấn luyện mẫu thử nghiệm Phương pháp đánh giá: Hold-out method (80% cho Training 20% cho Testing) Phương pháp triển khai mơ hình 48 Báo cáo thử nghiệm đánh giá kết sử dụng kết hợp mơ hình thuật tốn sau (Hình 3.4): Hình 3.4 Phương pháp chuẩn hóa, lựa chọn thuộc tính mơ hình học máy 3.3 Đánh giá kết 3.3.1 Đánh giá kết sau thực nghiệm Đánh giá Confusions Matrix Cách đơn giản hay sử dụng Accuracy (độ xác) Cách đánh giá đơn giản tính tỉ lệ số điểm dự đoán tổng số điểm tập liệu kiểm thử Accuracy = 𝑇𝑃+𝑇𝑁 𝑇𝑃+𝐹𝑃+𝑇𝑁+𝐹𝑁 Đánh giá Precision Recall Trong thực nghiệm thực hiện, số lượng lớp không đồng đều, có chút chênh lệch Với trường hợp phép đo hiệu sử dụng Precision - Recall Precision = Recall = 𝑇𝑃 𝑇𝑃+𝐹𝑃 𝑇𝑃 𝑇𝑃+𝐹𝑁 Precision Recall số không âm nhỏ bẳng Precision cao đồng nghĩa với việc độ xác điểm tìm cao Recall cao đồng đồng nghĩa với việc True Positive Rate cao, tức tỉ lệ bỏ 49 sót điểm thực positive thấp Từ hai đại lượng tính ta thấy mơ hình phân lớp triển khai tốt Đánh giá F1-score $F_1$ hay F1-score harmonic mean precision recall F1 – score có giá trị nằm nửa khoảng (0,1] F1 cao, phân lớp tốt Khi recall precision (tốt có thể), F1 = 𝐹1 = 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑟𝑒𝑐𝑎𝑙𝑙 hay F1 = 1 + 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 𝑟𝑒𝑐𝑎𝑙𝑙 =2 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 𝑟𝑒𝑐𝑎𝑙𝑙 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑟𝑒𝑐𝑎𝑙𝑙 F1-score cao cho thấy chất lượng mơ hình cao Kết thử nghiệm với lựa chọn “Không biến đổi liệu không giảm chiều liệu” (hình 3.5) Hình 3.5 Kết đánh giá không biến đổi giảm chiều liệu Khi khơng biến đổi liệu: Các thuật tốn dạng định cho hiệu tốt đặc biệt RandomForest Mơ hình có độ xác chung cao Randomforest với tham số số lượng dự đốn n=100 Các mơ hình dựa khoảng cách Logictic Regression, SVM cho hiệu chung thấp Kết thử nghiệm với lựa chọn “Biến đổi liệu khơng giảm chiều liệu” (hình 3.6) 50 Hình 3.6 Kết đánh giá biến đổi giảm chiều liệu Khi thực đổi liệu: Các thuật toán dạng định cho hiệu tốt đặc biệt RandomForest Mơ hình có độ xác chung cao Randomforest với tham số số lượng dự đốn n=100 Các mơ hình dựa khoảng cách Logictic Regression, SVM cho hiệu chung cao nhiều so với không thực biến đổi liệu Đánh giá kết với lựa chọn “Biến đổi liệu lựa chọn thuộc tính” (hình 3.7) Hình 3.7 Kết đánh giá biến đổi lựa chọn thuộc tính liệu Khi thực đổi liệu: Các thuật toán dạng định cho hiệu tốt đặc biệt RandomForest 51 ... CÔNG NGHỆ Nguyễn Anh Tuấn NGHIÊN CỨU PHƯƠNG PHÁP PHÁT HIỆN MÃ ĐỘC DỰA TRÊN DỮ LIỆU META-DATA CỦA TỆP TIN Chuyên ngành : Hệ thống thông tin Mã số : 8480104 LUẬN VĂN THẠC SĨ NGÀNH MÁY TÍNH NGƯỜI... Thông Tin Tôi xin cam đoan luận văn ? ?Nghiên cứu phương pháp phát mã độc dựa liệu meta data tệp tin? ?? nghiên cứu, tìm hiểu phát triển hướng dẫn TS Trần Đức Nghĩa, chép từ tài liệu, cơng trình nghiên. .. tiêu nghiên cứu luận án ? ?nghiên cứu kỹ thuật học máy định nhằm nâng cao độ xác tốc độ phát loại mã độc dựa siêu liệu (meta data) tệp tin? ?? Các nội dung nghiên cứu luận văn Với mục tiêu nghiên cứu