Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
262,11 KB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - ĐẬU ĐỨC SIÊU PHÁT HIỆN MÃ ĐỘC DỰA TRÊN PHÂN TÍCH MẪU CHUN NGÀNH : HỆ THỐNG THƠNG TIN TĨM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC TS PHẠM HỒNG DUY HÀ NỢI – 2021 11 PHÁT HIỆN MÃ ĐỘC DỰA TRÊN PHÂN TÍCH MẪU Chuyên ngành: Hệ thống thông tin Mã số: 8.48.01.04 Người hướng dẫn khoa học: TS Phạm Hoàng Duy Phản biện 1: PGS TS Ngô Quốc Tạo Phản biện 2: TS Hoàng Xuân Dậu Luận văn bảo vệ trước Hội đồng chấm luận văn họp tại: Học viện Cơng nghệ Bưu Viễn thơng Vào hồi 09 15 ngày 28 tháng năm 2021 Có thể tìm hiểu luận văn tại: Thư viện học viện Cơng nghệ Bưu Viễn thơng 22 MỞ ĐẦU Phần mềm độc hại mối đe dọa lớn bảo mật thời đại kỹ thuật số ngày Người dùng máy tính, cơng ty phủ chịu cơng sử dụng phần mềm độc hại gia tăng theo cấp số nhân Phân tích phần mềm độc hại trở thành thành phần quan trọng chế bảo vệ Phương pháp phân tích tĩnh mã độc cổ điển đem lại hiệu cao nhiên nhiều phần mềm độc hại gần sử dụng kỹ thuật đa hình, biến hình kỹ thuật lẩn tránh khác để thay đổi hành vi phần mềm độc hại cách nhanh chóng tạo số lượng lớn phần mềm độc hại Từ nhu cầu phát triển phân tích mã độc trên, luận văn tập trung nghiên cứu phương pháp phát mã độc dựa phân tích mẫu với nội dung trình bày sau: Chương 1: Mã độc số phương pháp phân tích mã độc Giới thiệu chương khái niệm mã độc phân tích mã độc số phương pháp, công cụ xác định mã độc hành Chương 2: Mơ hình phát mã độc Giới thiệu chương: Chương đưa mơ hình chung cho việc xử lý liệu độc hại, giới thiệu cách thức để trích xuất liệu sang dạng phân tích được, cuối khai phá mẫu để tìm ngưỡng phù hợp để xác định mã độc phân tích xem liệu có phải độc hại hay khơng Chương 3: Thử nghiệm đánh giá Giới thiệu chương: Chương giới thiệu tập liệu, cách thức thực triển khai mơ hình phân tích mã độc Nội dung chương giới thiệu trình thu thập liệu thử nghiệm, xử lý trích chọn đặc trưng, huấn luyện mơ hình thuật tốn học máy, đưa kết nhận xét đánh giá 33 CHƯƠNG I: TỔNG QUAN VỀ MÃ ĐỘC VÀ CÁC PHƯƠNG PHÁP PHÁT HIỆN Chương I trình bày khái niệm mã độc, lịch sử phát triển loại mã độc phổ biến Ngoài ra, chương tìm hiểu phương pháp phân tích phát mã độc nghiên cứu có liên quan 1.1 Tổng quan mã độc 1.1.1 Định nghĩa Mã độc hay Malware (Malicious software) khái niệm chung dùng để phần mềm độc hại viết với mục đích lây lan phát tán (hoặc không lây lan, phát tán) hệ thống máy tính internet 1.1.2 Lịch sử phát triển Lịch sử phát triển mã độc gắn liền với lịch sử phát triển máy tình mạng máy tính Các virus trị đùa lành tính; virus độc hại không công khai đầu năm 1980 Trojan bắt đầu lộ diện vào năm 1980 Trong nửa sau năm 1990, số thay đổi quan trọng máy tính tạo hội cho phần mềm độc hại: số lượng máy tính cá nhân tăng lên nhiều việc sử dụng ứng dụng Thư điện tử phần mềm với ngơn ngữ vĩ mơ Theo đó, người viết virus bắt đầu phát triển virus hiểu lan truyền qua thư điện tử, phát triển Sâu với khả tương tự Một xu hướng khác nhiều trường hợp phần mềm độc hại, bao gồm worms, trojan mã độc di động, cung cấp công cụ công, chẳng hạn rootkit, keystroke logger, backdoors, để hệ thống bị nhiễm Trong năm gần đây, công tống tiền mã độc bùng nổ Nổi bật kể đến công WannaCry (năm 2017) lây nhiễm cho 250000 máy tính Trong tương lai khơng xa, mã độc dự báo có thêm bước biến đổi khác, bao gồm điểm mạnh sẵn kết hợp với thủ đoạn khác phần mềm gián điệp Đồng thời chúng cơng vào nhiều hệ điều hành khác không 44 thiết nhắm vào hệ điều hành độc 1.1.3 Các loại mã độc phổ biến a) Vi rút khởi động Virus khởi động, loại virus lây vào phân vùng khởi động ghi gốc ổ đĩa cứng Loại virus khởi động thực thi trước hệ điều hành nạp lên Ngày gần không thấy xuất Virus khởi động đặc điểm lây lan chậm không phù hợp với thời đại Internet b) Virus tác vụ (Macro virus) Đây loại virus đặc biệt cơng vào chương trình Microsoft Office Microsoft: Word, Excel, Powerpoint Macro tính hỗ trợ cơng cụ văn phòng Microsoft Office cho phép người sử dụng lưu lại công việc cần thực lại nhiều lần Thực tế cho thấy virus macro gần “tuyệt chủng” c) Virus script Đây loại virus viết ngôn ngữ script (kịch bản) VBScript, JavaScript, Batch script Những loại virus thường có đặc điểm dễ viết, dễ cài đặt Chúng thường tự lây lan sang file script khác, thay đổi nội dung file html để thêm thông tin quảng cáo, chèn banner … Đây loại virus phát triển nhanh chóng nhờ phổ biến Internet d) Virus thực thi Virus chuyên lây vào file thực thi (ví dụ file có phần mở rộng com, exe, dll) đoạn mã để file thực thi, đoạn mã virus kích hoạt trước tiếp tục thực hành vi phá hoại, lây nhiễm e) Virus gián điệp (Trojan ) Các đoạn mã Trojan “che giấu” loại virus khác phần mềm máy tính thơng thường để bí mật xâm nhập vào máy nạn nhân Khi tới thời điểm thuận lợi chúng tiến hành hoạt động ăn cắp thông tin cá nhân, mật khẩu, điều khiển máy tính nạn nhân … 55 f) BackDoor Backdoor (cửa hậu) phần mềm hay hệ thống máy tính thường cổng khơng thơng báo rộng rãi đến tùy ý, cho phép truy cập hệ thống từ xa g) Adware Spyware Đây loại Trojan xâm nhập vào máy tính với mục đích quảng cáo “gián điệp” Chúng đưa quảng cáo, mở trang web, thay đổi trang mặc định trình duyệt … gây khó chịu cho người sử dụng … h) Worm Vào thời điểm ban đầu, Worm tạo với mục đích phát tán qua thư điện tử Khi lây vào máy tính, chúng thực tìm kiếm sổ địa chỉ, danh sách thư điện tử máy nạn nhân giả mạo thư điện tử để gửi thân chúng tới địa thu thập Bên cạnh Worm lây lan theo cách truyền thống sử dụng thư điện tử, Worm sử dụng phương pháp lân lan qua ổ USB Thiết bị nhớ USB trở nên phổ biến toàn giới lợi kích thước nhỏ, động trở thành phương tiện lây lan lý tưởng cho Worm i) Rootkit Với xuất rootkit, phần mềm độc hại trở nên “vơ hình” trước cơng cụ thơng thường chí vơ hình với phần mềm diệt virus Việc phát mã độc tiêu diệt virus trở nên khó khăn nhiều trước bảo vệ rootkit – vốn trang bị nhiều kĩ thuật đại j) Botnet Từ “botnet” kết hợp hai từ, “robot” “network” Ở đây, tên tội phạm mạng thực vai trò “botmaster” sử dụng virus để xâm phạm bảo mật số máy tính kết nối chúng vào mạng mục đích xấu Mỗi máy tính mạng hoạt động “bot”, kẻ xấu kiểm soát để lây truyền mã độc, spam nội dung độc hại nhằm khởi động công k) Keylogger 66 Ghi lại tất phím người dùng nhấn lưu trữ tất liệu, bao gồm mật khẩu, số thẻ ngân hàng thông tin nhạy cảm khác l) Ransomware Loại phần mềm độc hại nhằm mục đích mã hóa tất liệu máy yêu cầu nạn nhân chuyển tiền để lấy khóa giải mã Thơng thường, máy bị nhiễm phần mềm ransomware bị "đóng băng" người dùng mở tệp 1.2 1.2.1 Các phương pháp phát mã độc Các kỹ thuật phân tích mã độc Có hai phương pháp để thực phân tích mã độc gồm: Phân tích tĩnh Phân tích động a) Phân tích tĩnh Phân tích tĩnh kỹ thuật sử dụng công cụ để đọc phần tồn mã nguồn chương trình độc hại từ cố gắng suy đặc tính hành vi chương trình Chương trình độc hại viết nhiều ngơn ngữ khác nhau, phổ biến assembly Vì có nhiều phương pháp phân tích tĩnh khác như: - Kiểm tra định dạng tệp: - String Extraction: đề cập đến việc kiểm tra đầu phần mềm - Fingerprinting: - AV scanning: - Disassembly: Ưu điểm phân tích tĩnh tìm tất kịch thực thi có mã độc mà khơng bị hạn chế điều kiện Hơn nữa, phân tích tĩnh an tồn phân tích động khơng cần thực thi mã độc trực tiếp, không gây nguy hiểm cho hệ thống Tuy nhiên phân tích tĩnh lại tốn nhiều thời gian, phân tích tĩnh thường khơng sử dụng thực tế mà thường dùng để nghiên cứu, ví dụ nghiên cứu chữ ký cho mã độc zero-day b) Phân tích động Khơng giống với phân tích tĩnh chỗ, hành vi mã độc giám sát 77 thực thi, từ tìm hiểu thuộc tính mục đích mã độc Thông thường mã độc thực thi mơi trường ảo Trong q trình phân tích phát tất hành vi mã độc, mở tệp tin, tạo mutexes, kiểu phân tích nhanh phân tích tĩnh nhiều Tuy nhiên, phân tích động biết hành vi mã độc hệ thống ảo dùng để kiểm tra, ví dụ kết thu thực thi hai mã độc giống môi trường Windows Windows 8.1 khác 1.2.2 Các phương pháp mã độc Các phương pháp gồm: Phương pháp phát dựa chữ ký Phương pháp phát dựa hành vi a) Phương pháp phát dựa chữ ký Phân tích dựa chữ ký phương pháp tĩnh dựa chữ ký xác định trước Kịch phát hiện, trường hợp này, sau: tệp đến hệ thống, phân tích tĩnh phần mềm chống vi-rút Nếu chữ ký khớp, cảnh báo kích hoạt, cho biết tệp đáng ngờ Đa phần phân tích kiểu đủ mẫu phần mềm độc hại tiếng thường phát dựa giá trị băm b) Phương pháp phát dựa hành vi Tuy nhiên, kẻ công bắt đầu phát triển phần mềm độc hại theo cách thay đổi chữ ký Tính phần mềm độc hại gọi đa hình (polymorphism) Rõ ràng, phần mềm độc hại phát cách sử dụng chữ ký Ưu điểm phát dựa heuristics khơng phát mã độc biết mà phát công zero-day loại virus đa hình Tuy nhiên, số loại mã độc có khả phát mơi trường ảo, khơng thực thi hành vi độc hại môi trường sandbox 1.3 Các nghiên cứu liên quan Mặc dù chưa ứng dụng rộng rãi, ý tưởng sử dụng học máy việc phát mã độc khơng cịn Một số nghiên cứu lĩnh vực thực nhằm 88 kiểm tra tính xác phương pháp khác Wang Stolfo [4] trình bày PAYL, cơng cụ tính tốn tải trọng dự kiến cho dịch vụ (cổng) hệ thống Boldt Carlson [3] đưa khái niệm phần mềm xâm phạm quyền riêng tư (PIS) Alazab [5] đề xuất phương pháp sử dụng API để biểu diễn đặc trưng mã độc Baldangombo cộng giới thiệu phương pháp trích chọn đặc trưng dựa tiêu đề PE, thư viện DLL hàm chức API [6] Dragos Gavrilut [7] đề xuất hệ thống phát mã độc dựa thuật toán perceptron cải tiến Singhal Raul thảo luận phương pháp phát dựa thuật toán Random Forest cải tiến kết hợp với Information Gain để biểu diễn đặc trưng tối ưu [8] Kết đưa nghiên cứu không giống nhau, chưa có phương pháp thống việc phát biểu diễn đặc trưng Độ xác trường hợp phụ thuộc vào loại mã độc dùng để lấy mẫu trình chạy thực tế 1.4 Kết luận chương Chương I trình bày khái niệm mã độc, lịch sử hình thành mã độc, phân loại giới thiệu số loại mã độc phổ biến Có thể thấy, mã độc ngày phát triển mạnh mẽ với nhiều biến thể khác khác Chính vậy, chương I đưa kỹ thuật phân tích mã độc làm sở cho phương pháp phát mã độc Trong chương II, luận văn tìm hiểu sâu vào học máy kỹ thuật phân tích, trích xuất mã lệnh (lệnh vận chuyển liệu) mã độc nhằm mục đích xây dựng phương pháp phát mã độc dựa phân tích mẫu 99 CHƯƠNG II: MƠ HÌNH PHÁT HIỆN MÃ ĐỘC Chương II giới thiệu tổng quan học máy thuật toán học máy phổ biến Tiếp đó, chương trình bày kỹ thuật phân tích mã độc để trích xuất mã lệnh xây dựng phương pháp phát mã độc dựa phân tích mẫu kết hợp với học máy 2.1 Tổng quan học máy 2.1.1 Khái niệm học máy Học máy (hay Machine Learning) công nghệ phát triển từ lĩnh vực trí tuệ nhân tạo Các thuật tốn học máy chương trình máy tính có khả học hỏi cách hồn thành nhiệm vụ cách cải thiện hiệu suất theo thời gian Học máy đòi hỏi đánh giá người việc tìm hiểu liệu sở lựa chọn kĩ thuật phù hợp để phân tích liệu Đồng thời, trước sử dụng, liệu phải sạch, khơng có sai lệch khơng có liệu giả 2.1.2 Các phương học máy phổ biến Dự theo phương thức học, thuật toán Machine Learning thường chia làm nhóm: Học có giám sát, Học phi giám sát, Học bán giám sát học tăng cường Ngồi có số cách phân nhóm khơng có Học bán giám sát Học tăng cường ● Supervised learning (hay học có giám sát): phương pháp sử dụng liệu gán nhãn từ trước để suy luận quan hệ đầu vào đầu Các liệu gọi liệu huấn luyện chúng cặp đầu vào-đầu Học có giám sát xem xét tập huấn luyện để từ đưa dự đoán đầu cho đầu vào chưa gặp ● Unsupervised learning (hay học phi giám sát): Khác với học có giám sát, học phi giám sát sử dụng liệu chưa gán nhãn từ trước để suy luận Phương pháp thường sử dụng để tìm cấu trúc tập liệu Tuy nhiên lại khơng có phương 1010 nhiều số lượng mẫu Nó hiệu với tập liệu có nhiều nhiễu chồng chéo Tuy nhiên, thời gian huấn luyện lâu 2.2.3 Decision Tree Decision Tree (Cây định) phân cấp có cấu trúc dùng để phân lớp đối tượng dựa vào dãy luật Khi cho liệu đối tượng gồm thuộc tính với lớp (classes) nó, định sinh luật để dự đoán lớp đối tượng chưa biết Các quy tắc trích dựa đặc trưng liệu huấn luyện Trong định, đại diện cho lớp (nhãn), nút nhánh biểu diễn kết hợp đặc trưng để dẫn dắt tới việc phân lớp Như vậy, việc phân loại đối tượng bắt đầu với việc kiểm tra giá trị nút gốc, sau tiếp tục xuống theo nhánh tương ứng với giá trị Q trình lặp lặp lại nút, tiếp chạm đến nút Mục đích thuật tốn đạt kết xác với số lần lựa chọn Cây định thuật tốn phổ biến đơn giản xử lý tốt tập liệu lớn có nhiều liệu nhiễu Một ưu điểm khác định người ta theo dõi trình lựa chọn cách tường minh Điều khiến cho thuật toán trở nên phổ biến cho toán chẩn đoán y tế, lọc thư rác, sàng lọc an ninh 2.2.4 Random Forest Random Forest thành viên chuỗi thuật toán định Ý tưởng Random Forest tạo vài định Các định chạy cho kết độc lập Câu trả lời dự đoán nhiều định Random Forest lựa chọn Để đảm bảo định không giống nhau, Random Forest ngẫu nhiên chọn tập đặc trưng nút (thay cho toàn bộ) Các tham số lại sử dụng Random Forest giống định Random Forest thừa kế nhiều ưu điểm thuật toán định Random Forest dùng cho hai tốn phân loại hồi quy, đơn giản dễ thích 1313 nghi, kết đưa xác Tuy nhiên, không định, cấu trúc Random Forest phức tạp nên hiểu chế hoạt động bên thuật tốn Ngồi ra, Random Forest ổn định so với định Đối với định, cần liệu bị sửa đổi chút bị thay đổi, làm giảm độ xác Cịn với thuật tốn Random Forest, kết hợp từ nhiều định nên ổn định 2.3 Một số phương pháp trích chọn đặc trưng phổ biến với toán phát mã độc 2.3.1 Trích chọn đặc trưng dựa PE Header PE Header cấu trúc IMAGE_NT_HEADERS bao gồm thông tin cần thiết cho trình loader load file lên nhớ Cấu trúc gồm phần định nghĩa windows.inc: ● Signature ● FileHeader ● OptionalHeader Như việc trích xuất thơng tin phần PE Header cho ta nhìn tổng quan định dạng, nhiệm vụ, logic thực thi file Đây đặc trưng thường trích xuất để phân loại file bình thường hay file chứa mã độc Tuy nhiên, đặc trưng có nhược điểm kể cơng thay đổi thơng tin file mã độc cho giống với file bình thường 2.3.2 Trích chọn đặc trưng dựa ảnh nhị phân Các file dù định dạng biểu diễn dạng nhị phân Vì vậy, chuyển đổi liệu nhị phân file thành ảnh nhị phân Cụ thể biến đổi theo cách khác sau: ● Dữ liệu nhị phân ban đầu chuyển dạng ma trận nhị phân có kích thước phù hợp với tốn Sau ma trận đưa ảnh nhị phân ● Dữ liệu nhị phân đọc dạng byte (tương ứng với bit – có giá trị từ đến 255) Tiếp liệu dạng byte đưa dạng ma trận phù hợp với toán 1414 Cuối chuyển đổi thành ảnh nhị phân xám, pixel tương ứng với byte (giá trị pixel tương ứng từ đến 255 đại diện cho độ xám pixel) Sau thu ảnh nhị phân từ liệu nhị phân, sử dụng phương pháp trích chọn đặc trưng cho ảnh để trích xuất đặc trưng cho toán phát mã độc 2.3.3 Trích chọn đặc trưng dựa mã nguồn Có thể sử dụng công cụ dịch ngược để lấy nội dung mã nguồn mã độc Mã nguồn chương trình thực chất file văn bản, nội dung văn thể logic chương trình, muốn thực logic đó, hàm, câu lệnh phải viết theo trình tự định Vì lý này, sử dụng phương pháp trình chọn đặc trưng cho văn n-gram, tf-idf để trích xuất đặc trưng từ mã nguồn chương trình 2.4 Phương pháp phát mã độc dựa phân tích mẫu 2.4.1 Cấu trúc đoạn mã Assembly Các chương trình mã độc thường xây dựng từ đoạn mã Assembly có cấu trúc trường riêng biệt cách dấu tab dấu cách ví dụ đây: Hình II-4: Ví dụ cấu trúc đoạn mã Assembly ● Label ● Opcode ● Operand ● Comment 2.4.2 Cơng cụ trích xuất phân tích mã lệnh mã độc Có nhiều cơng cụ giúp đọc đoạn mã assembly chương trình nasm, gdb, objdump, strace Cơng cụ sử dụng nhiều objdump Objdump công cụ giúp bạn xem thông tin quan trọng file object hay file executable Để thực đọc đoạn mã assembly chương trình, với cơng cụ objdump, 1515 người dùng sử dụng lệnh: objdump –M -D > Sau thu đoạn mã assembly chương trình, hồn tốn thực q trình trích xuất thơng tin liệu mã lệnh chương trình để thực phân tích phát xem chương trình có phải chương trình mã độc khơng 2.4.3 Phương pháp phát mã độc dựa phân tích mẫu Mơ hình tổng quan phương pháp phát mã độc dựa học máy thể hình sau: Sơ đồ phương pháp phát mã độc dựa phân tích mẫu Bước toán ứng dụng học máy thực trình thu thập liệu cho toán Dữ liệu cần đảm bảo đủ lớn có tính đa dạng liệu Ngồi ra, để mơ hình đạt kết tốt, phân bố lớp phải xấp xỉ Với toán phát mã độc, bước đầu cần phải thu thập chương trình mã độc với 1616 chương trình bình thường Số lượng chương trình mã độc chương trình bình thường cần phải tương đương Các mơ hình học máy phổ biến sau sử dụng để huấn luyện tìm ngưỡng tham số mơ hình Chính ngưỡng tham số kết hợp với mơ hình phân loại phát liệu thuộc nhóm chương trình mã độc hay chương trình bình thường Cuối cùng, để đánh giá tính hiệu phương pháp này, liệu thử nghiệm sử dụng để đánh giá mơ hình học máy 2.5 Kết luận chương Chương II trình bày khái niệm học máy thuật toán bật học máy Ngồi ra, chương giới thiệu kỹ thuật phân tích, trích xuất mã lệnh chương trình mã độc Áp dụng kết hợp học máy, chương trình bày bước phương pháp phát mã độc sử dụng phân tích mẫu Trong chương tiếp theo, luận văn trình bày trình thực nghiệm để đánh giá hiệu phương pháp 1717 CHƯƠNG III: THỬ NGHIỆM VÀ ĐÁNH GIÁ Chương III trình bày q trình thực nghiệm thơng qua bước thu thập liệu, tiền xử lý trích chọn đặc trưng liệu, phân chia liệu cài đặt mơi trường để tiến hành thực nghiệm Tiếp đến, trình bày kết thực nghiệm đánh giá hiệu mơ hình phát mã độc trình bày chương 3.1 Thu thập liệu tiền xử lý liệu 3.1.1 Thu thập liệu Để thực nghiệm phương pháp phát mã độc dựa phân tích mẫu, luận văn thu thập 2736 file liệu mẫu từ hai nguồn online virustotal virusshare Trong 2736 file liệu mẫu có 1738 file mã độc 998 file bình thường Các file bình thường chủ yếu thuộc định dạng exe, ngồi có nhiều định dạng khác như: doc, xls, pdf, png, … nhằm làm tăng tính đa dạng cho liệu định dạng file thường sử dụng để phát tán mã độc Các file mã độc thu thập thuộc dạng như: trojan, worm, virus, adware, spyware, … Các file mã độc sau gán nhãn “mã độc”, cịn file bình thường gán nhãn “bình thường” 3.1.2 Tiền xử lý liệu Sau thu thập liệu mẫu, luận văn sử dụng công cụ objdump để đọc tập liệu mẫu Sau tiến hành đếm hàm có file txt sinh từ objdump để làm đầu vào cho trình huấn luyện Quá trình tiền xử lý diễn nhanh nhiều so với cách phân tích mã độc khác việc dịch ngược để tìm mã assembly chương trình mà khơng phải xây dựng mơi trường ảo đợi file chương trình chạy hết tồn cách phân tích động 3.1.3 Trích chọn đặc trưng liệu Để mơ hình đạt độ xác cao, q trình trích chọn đặc trưng vô quan trọng Dữ liệu mã assembly tương ứng chương trình xử lý để trích xuất thơng tin danh sách mã lệnh sử dụng dòng lệnh Sau có 1818 danh sách tồn mã lệnh chương trình, luận văn tìm danh sách loại mã lệnh xuất chương trình số lần xuất loại mã lệnh Có thể dễ thấy, doanh sách loại mã lệnh số lần xuất loại mã lệnh chương trình khác nhau, trừ chương trình giống hồn tốn Điều dẫn đến việc cần có mã lệnh chuẩn để thống tất chương trình Bộ mã lệnh chuẩn đặc trưng liệu cho tồn liệu thu thập Giá trị đặc trưng số lần xuất mã lệnh chương trình Như trình bày trên, đa số chương trình mã độc hay bình thường có 14 loại mã lệnh phổ biến chiếm 90% tổng số mã lệnh chương trình Để tăng độ xác của mơ hình phát hiện, đồ án sử dụng thêm 15 loại mã lệnh khác có tần suất xuất nhiều khác 14 loại mã lệnh để làm danh sách đặc trưng chuẩn cho toàn liệu Như vậy, luận văn thu tổng cổng 29 đặc trưng cho chương trình Danh sách 29 đặc trưng là: mov, push, call, pop, cmp, jz, lea, test, jmp, add, jnz, retn, xor, and, bt, fdivp, fild, fstcw, imul, int, nop, pushf, rdtsc, sbb, setb, setle, shld, std bad Tương ứng với chương trình, luận văn có nhãn chương trình “mã độc” hay “bình thường” Kết hợp với danh sách đặc trưng tương ứng chương trình, luận văn thu file liệu với dòng tương ứng với chương trình, 29 giá trị dòng 29 đặc trưng chương trình, giá trị cuối nhãn chương trình 3.2 Cài đặt thử nghiệm 3.2.1 Cài đặt môi trường thực nghiệm a) Môi trường thực nghiệm Để thực trình thực nghiệm, luận văn sử dụng máy tính có cấu hình tiêu chuẩn sau để thực trình huấn luyện giải thuật: ● Vi xử lý: Intel i5 ● Dung lượng Ram: 4GB 1919 ● Hệ điều hành: Ubuntu Desktop 18.04 phiên x64 (64 bits) Ngồi ra, luận văn sử dụng ngơn ngữ lập trình Python thư viện Numpy, Pandas scikit-learn để cài đặt huấn luyện môi b) Cài đặt thực nghiệm Với toàn liệu thu thập trích xuất đặc trưng trên, luận văn chia liệu thành tập là: tập liệu huấn luyện tập liệu thử nghiệm cho mục đích huấn luyện đánh giá mơ hình theo tỉ lệ tương ứng 80% 20% Cụ thể liệu hai tập phân bố bảng sau: Dữ liệu Mã độc Bình thường Tổng Huấn luyện 1382 806 2188 Thử nghiệm 356 192 548 Bảng III-1: Phân bố tập liệu huấn luyện thử nghiệm Để tăng tốc độ huấn luyện độ xác mơ hình, luận văn sử dụng phương pháp Chính quy hóa (standardisation) trình bày chương để chuẩn hoá liệu Luận văn sử dụng nhiều thuật toán khác cho toán phát mã độc như: Navie-Baye, SVM, Decision Tree, Random Forest Với thuật toán, cho kết khác Do đó, mơ hình chạy thực nghiệm với tồn thuật tốn, đánh giá lựa chọn thuật tốn có độ xác cao phù hợp với toán phát mã độc 3.2.2 Phương pháp đánh giá Để đánh giá độ xác thuật toán học máy, luận văn sử dụng phương pháp sau: a) Accuracy Accuracy cách đánh giá đơn giản hay sử dụng Phương pháp đánh giá dựa công thức đơn giản tỉ lệ số mẫu dự đoán so với tổng số mẫu có tập liệu thử nghiệm Công thức cụ thể sau: Phương pháp khơng quan tâm đến độ xác nhãn mà quan tâm số mẫu dự đoán nhãn Các phương pháp đánh giá chi tiết 2020 dựa kết dự đoán nhãn b) Precision Recall Một cách tốn học, Precision Recall hai phân số có tử số mẫu số khác nhau: Trong đó: ● TP: số lượng ghi gán nhãn “bình thường” phân loại ● TN: số lượng ghi gán nhãn “mã độc” phân loại ● FP: số lượng ghi gán nhãn “mã độc” bị phân loại sai thành “bình thường” ● FN: số lượng ghi gán nhãn “bình thường” bị phân loại sai thành “mã độc” Precision cao đồng nghĩa với việc độ xác điểm tìm cao Recall cao đồng nghĩa với việc True Positive Rate cao, tức tỉ lệ bỏ sót điểm thực positive thấp c) F1 score F1 Score trung bình điều hịa precision recall Do đại diện việc đánh giá độ xác đồng thời precision recall Cơng thức tính: Hay: F1 – score có giá trị nằm nửa khoảng (0; 1] F1 cao, phân lớp tốt d) Ma trận nhầm lẫn Ma trận nhầm lẫn ma trận thể có điểm liệu thực thuộc vào lớp, dự đoán rơi vào lớp Ma trận có kích thước chiều số lượng lớp liệu Một ma trận nhầm lẫn gồm số sau lớp phân loại: 2121 Để phù hợp, ta sử dụng lại toán phát mã độc để giải thích số Trong tốn ta có lớp: lớp mã độc đốn Positive lớp bình thường đốn Negative: • TP (True Positive): dự đốn file bình thường • TN (True Negative): dựa đốn file mã độc • FP (False Positive): Dự đốn mã độc thực tế bình thường • FN (False Negative): Dự đốn bình thường thực tế mã độc 3.3 Kết đánh giá 3.3.1 Naive Bayes Thuật toán Naive Bayes cho kết phân loại mã độc mức thấp, đạt 58,76% Kết chi tiết sau: Precision 98,96% Recall F1 score 45,89% 62,71% Kết thực nghiệm thuật tốn Naive Bayes Accuracy 58,76% Nhìn vào thơng tin ma trận nhầm lẫn, thấy với nhãn liệu bình thường, thuật tốn cho kết nhận diện tốt nhận đến 190 chương trình chương trình bình thường Tuy nhiên, với nhãn mã độc, thuật toán lại nhận nhầm tới 60% chương trình mã độc thành chương trình bình thường có 132 chương trình nhận Điều lý giải thuật toán Naive Bayes, kết dự đoán từ xác suất xuất độc lập đặc trưng, điều nhiều trường hợp khơng có nhiều đặc trưng, phân bố liệu bình thường liệu mã độc gần giống 3.3.2 Support Vector Machine Đối với thuật toán SVM, kết thu không cao tương đối tốt với độ xác 94,89% Precision 97,92% Recall 88,68% F1 score 93,07% Accuracy 94,89% 2222 Kết thực nghiệm thuật toán SVM 3.3.3 Decision Tree Kết thu sử dụng thuật toán Decision Tree đạt kết xấp xỉ 98% Kết cụ thể bảng đây: Precision 98,44% Recall F1 score 95,94% 97,17% Kết thực nghiệm thuật toán Decision Tree Accuracy 97,99% Cụ thể hơn, thuật tốn nhận xác 189 chương trình bình thường 348 chương trình mã độc Số chương trình bị nhận nhầm chiếm khoảng 1-2% nhãn 3.3.4 Random Forest Thuật toán Random Forest cho kết thực nghiệm cao với độ xác lên đến 99,64% cao thuật tốn Decision Tree Precision 98,96% Recall F1 score Accuracy 100% 99,48% 99,64% Kết thực nghiệm thuật toán Random Forest Có thể thấy, thuật tốn khơng nhận nhầm chương trình mã độc thành chương trình bình thường Ngược lại, có chương trình bình thường bị nhận nhầm thành chương trình mã độc Điều hồn tồn dễ hiểu Random Forest coi thuật toán nâng cấp thuật toán Decision Tree, thuật toán Decision Tree cho kết cao 3.4 Nhận xét Phương pháp Naive Bayes SVM F1 score Accuracy 62,71% 58,76% 93,07% 94,89% Decision Tree 97,17% 97,99% Random Forest 99,48% 99,64% Hình III-12: Tổng kết kết thuật toán Qua tất thực nghiệm đưa số nhận xét sau: 2323 ● Thuật toán Naive Bayes cho kết tệ nhất, có q nửa chương trình độc hại bị nhận nhầm thành chương trình bình thường Điều hồn tồn khơng thể chấp nhận phương pháp phát mã độc Vì khơng thể áp dụng phương pháp vào tồn phát mã độc ● Thuật toán SVM cho kết tốt với độ xác xấp xỉ 95% Tuy nhiên so với phương pháp khác, độ xác chưa đạt kỳ vọng phát mã độc cịn nhiều chương trình độc hại bị nhận nhầm thành chương trình bình thường Thêm vào thuật tốn SVM có thời gian chạy lâu phương pháp khác ● Thuật tốn Decision Tree cho độ xác vào khoảng 98%, số lượng chương trình mã độc bị nhận nhầm thành chương trình bình thường khoảng 1-2% ● Được coi thuật toán nâng cấp Decision Tree, Random Forest thể ưu điểm cho kết tốt với 99% Với thuật toán này, thực nghiệm khơng có chương trình độc hại bị nhận nhầm thành chương trình bình thường Chỉ có khống 1% chương trình bình thường bị nhận nhầm thành chương trình mã độc, điều chấp nhận Đây thuật tốn luận văn khuyến nghị xử dụng toán phát mã độc 3.5 Kết luận chương Như vậy, chương III 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 sử dụng phát mã độc Luận văn dừng lại việc thực với file thực thi Trong thuật toán đề cập trên, luận văn kiến nghị sử dụng Random Forest vào toán phát mã độc thực tế, với độ xác 99.64% 2424 KẾT LUẬN Kết đạt được: Luận văn nghiên cứu phương pháp phát mã độc dựa phân tích mẫu đạt số kết sau: Trình bày kiến thức khái quát mã độc khái niệm, dạng mã độc, lịch sử phát triển mã độc Ngoài ra, đồ án giới thiệu số kỹ thuật phát mã độc dưa chữ kí dựa hành vi Đưa khái niệm học máy, phương pháp học máy số kỹ thuật học máy phổ biến Navie Bayes, Support Vector Machine, Decision Tree Random Forest Cũng với giới thiệu số phương pháp trích chọn đặc trưng cho tốn phát mã độc Trình bày kỹ thuật trích xuất phân tích mã lệnh mã độc Từ xây dựng mơ hình phát mã độc dựa phân tích mẫu · Thu thập liệu xây dựng môi trường thực nghiệm, đánh giá kết phương pháp phát mã đọc dựa phân tích mẫu Hướng phát triển tương lai: Trên sở kiến thức tìm hiểu kinh nghiệm kết trình thử nghiệm, luận văn cải thiện nâng cao theo hướng: · Dữ liệu thu cho trình thực nghiệm cịn nhỏ Luận văn thu thập thêm liệu với kích thước lớn hơn, đa dạng loại mã độc định dạng file chạy nhiều môi trường khác · Chuyển từ mô hình phân loại lớp cho tốn phát mã độc sang mơ hình nhận nhiện nhiều nhãn mã độc khác Thử nghiệm số mơ hình học sâu để đạt kết cao · Nghiên cứu phương pháp trích chọn đặc trưng dựa mã lệnh mã độc 2525 2626 2727 ... 1.2 1.2.1 Các phương pháp phát mã độc Các kỹ thuật phân tích mã độc Có hai phương pháp để thực phân tích mã độc gồm: Phân tích tĩnh Phân tích động a) Phân tích tĩnh Phân tích tĩnh kỹ thuật sử dụng... độc hại Từ nhu cầu phát triển phân tích mã độc trên, luận văn tập trung nghiên cứu phương pháp phát mã độc dựa phân tích mẫu với nội dung trình bày sau: Chương 1: Mã độc số phương pháp phân tích. .. khơng 2.4.3 Phương pháp phát mã độc dựa phân tích mẫu Mơ hình tổng quan phương pháp phát mã độc dựa học máy thể hình sau: Sơ đồ phương pháp phát mã độc dựa phân tích mẫu Bước tốn ứng dụng học máy