Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 34 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
34
Dung lượng
1,33 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ VÕ VĂN TRƯỜNG NGHIÊN CỨU VÀ ỨNG DỤNG KỸ THUẬT HỌC MÁY VÀO BÀI TOÁN PHÁT HIỆN MÃ ĐỘC Ngành: Công nghệ Thông tin Chuyên ngành: Kỹ thuật phần mềm Mã số: 60480103 TÓM TẮT LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN Hà Nội - 2016 MỤC LỤC MỤC LỤC i MỞ ĐẦU CHƯƠNG TỔNG QUAN VỀ MÃ ĐỘC 1.1 Giới thiệu mã độc máy tính 1.2 Phân loại mã độc 1.2.1 Virus máy tính 1.2.1.1 Phân loại virus dựa vào hình thức lây nhiễm: 1.2.1.2 Phân loại virus dựa chiến lược ẩn náu: 1.2.2 Logic Bomb 1.2.3 Trojan Horse: 1.2.4 Back Door 1.2.5 Sâu máy tính (Worm): 1.3 Các kỹ thuật phát mã độc 1.3.1 Các kỹ thuật phát dựa phân tích tĩnh 1.3.1.1 Kỹ thuật dò quét (scanner): 1.3.1.2 Kỹ thuật Static Heuristics 1.3.1.3 Kỹ thuật kiểm tra toàn vẹn (Integrity Checkers) 1.3.2 Các kỹ thuật phát dựa phân tích động 1.3.2.1 Kỹ thuật Behavior Monitors/Blockers 1.3.2.2 Kỹ thuật Emulation CHƯƠNG MỘT SỐ THUẬT TOÁN PHÂN LỚP DỮ LIỆU ĐIỂN HÌNH TRONG KỸ THUẬT HỌC MÁY GIÁM SÁT 2.1 Thuật toán định 2.1.1 Giới thiệu thuật toán 2.1.2 Xây dựng định dựa thuật toán ID3 2.1.3 Ví dụ minh họa: 11 2.1.4 Nhận xét: 11 2.2 Thuật toán SVM 12 2.2.1 Giới thiệu thuật toán 12 2.2.2 Bài tốn tìm siêu phẳng tối ưu cho liệu tuyến tính khơng có nhiễu: 13 2.2.3 Bài tốn tìm siêu phẳng tối ưu cho liệu tuyến tính có xảy nhiễu: 13 2.2.4 Bài tốn tìm siêu phẳng tối ưu cho liệu khơng tuyến tính: 14 2.2.5 Hàm nhân (Kernel) 14 CHƯƠNG GIẢI PHÁP ỨNG DỤNG KỸ THUẬT HỌC MÁY VÀO i PHÁT HIỆN MÃ ĐỘC 16 3.1 Tổng quan phương pháp thực 16 3.2 Tiền xử lý liệu 17 3.2.1 Sử dụng kỹ thuật phân tích mã độc 17 3.2.2 Phương pháp n-gram 17 3.2.3 Tính tần số xuất ( Term Frequency ) 18 3.3 Đề xuất giải pháp chọn đặc trưng cho thuật toán phân lớp 18 3.3.1 Mô tả giải pháp 19 3.3.2 Ví dụ: 20 3.4 Xây dựng mô hình dự đốn dựa thuật tốn phân lớp 23 CHƯƠNG THỰC NGHIỆM VÀ ĐÁNH GIÁ 24 4.1 Dữ liệu thực nghiệm 24 4.2 Chương trình thực nghiệm 24 4.3 Đánh giá dựa phương pháp ma trận nhầm lẫn 25 4.4 Kết thực nghiệm 25 KẾT LUẬN 28 DANH MỤC CƠNG TRÌNH KHOA HỌC CỦA TÁC GIẢ LIÊN QUAN ĐẾN LUẬN VĂN 29 TÀI LIỆU THAM KHẢO 30 ii MỞ ĐẦU Ngày song song với bùng nổ mạnh mẽ công nghệ thông tin phát triển Internet toàn cầu nguy an tồn thơng tin trở nên trầm trọng nguy hiểm hơn, mã độc hại hiểm họa hàng đầu khả lây lan phát tán hệ thống máy tính thực hành vi cơng bất hợp pháp Mã độc ngày tiến hóa với biết thể đa dạng, với cách thức che dấu ngày tinh vi Có thể nói phát ngăn chặn mã độc thách thức đặt lĩnh vực An tồn thơng tin Các phương pháp phát mã độc thông thường chủ yếu sử dụng kỹ thuật so sánh mẫu dựa sở liệu mã độc xây dựng định nghĩa từ trước, nhiên phương pháp bộc lộ nhiều nhược điểm 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 Hiện hướng nghiên cứu dựa vào mô hình học máy để phân loại phát mã độc tỏ phương pháp tiềm hiệu cải thiện nhược điểm nêu so với phương pháp truyền thống Tuy nhiên, vấn đề quan tâm để xây dựng mơ hình học máy tốt đạt hiệu xác hiệu suất cao Trong yếu tố quan trọng xem định giải pháp trích chọn đặc trưng Trong phần nghiên cứu luận văn tơi trình bày phương pháp ứng dụng học máy vào xây dựng mơ hình phát mã độc thực nghiệm dựa phương pháp phân tích tĩnh mã độc, tiền xử lý liệu kỹ thuật dịch ngược đưa file liệu mẫu dạng mã hex thực khai phá liệu text sử dụng mã n-gram byte đặc trưng ban đầu Sau liệu đặc trưng trích chọn liệu đặc trưng tốt để xây dựng mơ hình sở giải pháp trích chọn đặc trưng mà luận văn tập trung nghiên cứu đề xuất Các kết luận văn thực nghiệm khoảng 4698 file mẫu thực thi Windows 2373 file mã thơng thường 2325 file mẫu mã độc với nhiều thể loại đa dạng Backdoor, Virus, Trojan, Worm Nội dung luận văn chia làm phần sau: Chương 1: Chương nghiên cứu tổng quan mã độc trình bày kiến thức chung liên quan đến mã độc, phân loại mã độc kỹ thuật phân tích phát mã độc Chương 2: Nghiên cứu số thuật tốn phân lớp liệu điển hình kỹ thuật học máy giám sát thuật tốn phân lớp liệu tiêu biểu trình bày định (DT) máy véc tơ hỗ trợ (SVM) Chương 3: Chương trình bày giải pháp ứng dụng kỹ thuật học máy vào phát mã độc bao gồm trình tiền xử lý liệu, xây dựng mơ hình học máy để phát mã độc Trong trọng tâm trình bày đề xuất giải pháp chọn đặc trưng cải thiện nâng cao hiệu cho thuật toán phân lớp tốn phát mã độc Chương 4: Trình bày trình thực nghiệm đánh giá, kết thực nghiệm so sánh tập đặc trưng chọn dựa giải pháp đề xuất, kết so sánh thuật tốn phân lớp trình bày định máy véc tơ hỗ trợ CHƯƠNG TỔNG QUAN VỀ MÃ ĐỘC 1.1 Giới thiệu mã độc máy tính Mã độc hay phần mềm độc hại chương trình máy tính có chứa bên nội dung mã độc hại tạo với mục đích thực hành vi bất hợp pháp Bất kỳ phần mềm lý làm tổn thương, phá vỡ đến tính bí mật, tính tồn vẹn tính sẵn sàng liệu người dùng, máy tính mơi trường mạng xem mã độc 1.2 Phân loại mã độc Ban đầu phần mềm độc hại tạo cách sống kí sinh lây nhiễm vật chủ chương trình có chứa nội dung thực thi Các dạng chương trình độc hại kiểu khác chương trình mã độc mà tự chúng có khả thực thi độc lập phần mềm hệ thống mà không cần kí sinh vật chủ chương trình ứng dụng hay tệp tin Một cách khác để phân biệt loại mã độc khác dựa mục đích hành vi chúng Có đặc điểm thường liên quan với loại phần mềm độc hại là: - Mã độc tự nhân nỗ lực lây nhiễm việc tạo chép thể - Sự tăng trưởng số lượng phần mềm độc hại mơ tả thay đổi tổng thể có số lượng lớn trường hợp tự nhân - Phần mềm độc hại ký sinh yêu cầu số chương trình mã thực thi khác để tồn 1.2.1 Virus máy tính Virus loại mã độc có đặc điểm tự nhân bản, chúng ký sinh vật chủ, virus chương trình độc hại mà thực thi cố gắng chép vào bên mã thực thi khác Một virus máy tính gồm thành phần sau: Cơ chế lây nhiễm: Làm để virus lây lan cách sửa đổi mã khác để chứa chép virus, cách xác thơng qua loại virus lây lan gọi vector lây nhiễm Kích hoạt: Các cách định xem có hay không để mở payload Payload: mã lệnh hay mà virus thực bên cạnh việc lây nhiễm Virus phân loại nhiều cách, dựa vào mục tiêu cố gắng lây nhiễm virus, dựa vào phương thức mà virus sử dụng để che giấu thân với hệ thống phát phần mềm chống virus 1.2.1.1 Phân loại virus dựa vào hình thức lây nhiễm: 1.2.1.1.1 Virus lây nhiễm Boot-Sector Virus lây nhiễm Boot-Sector virus lây nhiễm việc chép đến khối khởi động cách sau hệ điều hành máy tính tiến hành khởi động thực thi đoạn mã virus bị chèn vào đoạn mã khởi động thông thường 1.2.1.1.2 Virus lây nhiễm tập tin: Để tiến hành lây nhiễm virus thực ác công việc sau: Tìm kiếm đối tượng tệp thực thi để lây nhiễm Nạp mã độc lây nhiễm vào tập tin tìm Lưu trú đảm bảo tồn tập tin bị lây nhiễm Tiếp tục tìm kiếm tệp tin khác để tiến hành lẫy nhiễm mã độc Mỗi loại virus có cách thức để thực lây nhiễm khác song chúng trải qua nguyên lý bao gồm giai đoạn là: Lây nhiễm chiếm quyền điều khiển, Chạy chức đoạn mã độc gắn vào tệp tin lây nhiễm Trao trả quyền điều khiển cho tệp đảm bảo tính tồn vẹn ban đầu liệu 1.2.1.1.3 Virus Macro: Một số ứng dụng cho phép chứa tập tin liệu, trình xử lý văn cho phép nhúng hàm macro bên chúng, Macro đoạn mã nhỏ viết ngôn ngữ chuẩn biên dịch ứng dụng, ngôn ngữ cung cấp đầy đủ hàm để viết virus Do virus Macro chiếm nhiều lợi virus lây nhiễm tập tin 1.2.1.2 Phân loại virus dựa chiến lược ẩn náu: Một cách khác để phân loại virus dựa vào cách làm để chúng ẩn náu qua mặt người dùng phầm mềm diệt virus 1.2.1.2.1 Virus mã hóa Đối với virus mã hóa ý tưởng phần thân virus bao gồm phần lây nhiễm, kích hoạt payload mã hóa thơng qua vài cách thức, mục đích gây khó khăn để phát chúng, phần thân virus dạng mã hóa khơng thực thi giải mã, sau vòng giải mã giải mã phần thân virus chuyển điều khiển trỏ đến nó, cách virus giải mã cung cấp thông tin chúng với phần mềm phát mã độc 1.2.1.2.2 Virus tàng hình Virus tàng hình virus nỗ lực tiến hành bước để che dấu lây nhiễm nó, khơng có phần thân virus, virus tàng hình ln cố gắng ẩn thứ không với phần mềm chống virus Virus lưu có khả tái sinh tất thông tin tập tin trước lây nhiễm bao gồm nhãn thời gian nó, kích thước tập tin, nội dung tập tin, sau gọi vào/ra hệ thống bị ngăn chặn, virus phát lại thông tin ban đầu đề đáp ứng hoạt động vào/ra tập tin bị lây nhiễm, làm cho xuất khơng bị lây nhiễm 1.2.1.2.3 Virus Oligomorphism: Một virus oligomorphic virus bán đa hình virus mã hóa có hữu hạn nhỏ số lượng vòng lặp giải mã khác theo ý Vì virus sinh hữu hạn biến thể khác 1.2.1.2.4 Virus đa hình: Một virus đa hình bề ngồi giống virus Oligomorphism, hai mã hóa virus, hai thay đổi vòng lặp giải mã chúng cho lần lây nhiễm, nhiên virus đa hình có số lượng vơ hạn biến thể vịng lặp giải mã Tremor ví dụ có tới gần sáu tỷ khả lặp giải mã tức sinh tỷ biến thể khác Có thể nói virus đa hình rõ ràng bị phát liệt kê tất kết hợp chúng 1.2.1.2.5 Virus siêu đa hình: Virus siêu đa hình virus mà đa hình phần thân mã bên Chúng khơng thực mã hóa khơng cần vòng giải mã nhiên để tránh bị phát thay đổi, phiên hay biến thể phần thân virus thực cho lần lây nhiễm 1.2.2 Logic Bomb Logic bomb loại mã độc không tự nhân chúng ký sinh vật chủ, mã độc logic bomb bao gồm phần : Một payload mã nạp thứ có ý đồ xấu mục đích mã độc phá hoại hay phá hủy chức an toàn hệ thống Một trigger (kích hoạt) điều kiện sai đánh giá điều khiển payload thực thi 1.2.3 Trojan Horse: Trojan loại mã độc khơng có khả tự nhân nhiên thường lây nhiễm vào hệ thống với thể bình thường hình thức đóng chương trình phần mềm hữu ích thực nhiệm vụ thơng thường hợp pháp, thực chất bên lại bí mật thực số nhiệm vụ nguy hiểm, ác tính mà kẻ có ý đồ xấu cài đặt vào 1.2.4 Back Door Back door mã độc khơng tự tái tạo chúng thường kí sinh vật chủ back door chế mà cho phép vượt qua kiểm tra an ninh thông thường Back door tỏ nguy hiểm khả lẩn trốn chúng hẹn trước thời gian để kết nối ngồi thời gian lưu trú chúng không để lộ hành vi hay thông tin cho phép phần mềm diệt mã độc phát 1.2.5 Sâu máy tính (Worm): Sâu máy tính loại mã độc có khả tự nhân nhiên chúng thường xuất chương trình độc lập mà khơng cần tập tin chủ để mang Sâu máy tính hồn tồn có khả chép nhân mà khơng cần thao tác người sử dụng đặc điểm giúp chúng lan rộng với tốc độ chóng mặt Sâu dịch vụ mạng (Network Service Worm): chúng phát tán lây lan thông qua việc khai thác lỗ hổng bảo mật dịch vụ mạng, ứng dụng hay hệ điều hành Sâu gửi điện thư hàng loạt (Mass Mailing Worm): Chúng sâu công vào dịch vụ thư điện tử cách thức hoạt động chúng lây lan hệ thống thư điện tử 1.3 Các kỹ thuật phát mã độc Các kỹ thuật phát mã độc trình tìm kiếm thẩm định xem chương trình phần mềm bị lây nhiễm mã độc hay bên có chứa đoạn mã xem mã độc hay không, thêm vào hành vi chúng phân tích xem xét nhóm hành vi thơng thường hay hành vi thuộc mã độc, dựa vào kết để chứng minh phát tồn mã độc hệ thống 1.3.1 Các kỹ thuật phát dựa phân tích tĩnh Kỹ thuật phát mã độc dựa phương pháp phân tích tĩnh có đặc điểm phát mã độc mà không cần phải chạy hay thực thi đoạn mã gồm có phương pháp kỹ thuật dị quét, chẩn đoán dựa kinh nghiệm kiểm tra tính tồn vẹn 1.3.1.1 Kỹ thuật dị qt (scanner): Thơng thường mã độc biểu diễn hay nhiều mẫu, dấu hiệu (signatures), chuỗi byte coi đặc trưng mã độc Các dấu hiệu đơi cịn gọi chuỗi (scan strings) chúng không cần ràng buộc chuỗi Quá trình phát mã độc cách tìm kiếm thơng qua tập tin với dấu hiệu gọi scanning mã tìm thấy gọi scanner 1.3.1.2 Kỹ thuật Static Heuristics Kỹ thuật áp dụng để nhân lên khả chuyên gia phần mềm chống virus, chẩn đoán dựa kinh nghiệm phương pháp phân tích tĩnh tìm thấy mã độc biết chưa biết cách tìm kiếm mẩu mã mà có đặc điểm chung giống mã độc thay scanning dấu hiệu đặc biệt mã độc xuất (Term Frequency) mã n-gram tập liệu Sau áp dụng thuật tốn tơi đề xuất ( trình bày phần sau) để chọn đặc trưng tốt Bước 5: Từ đặc trưng có ta đưa chúng vào xây dựng mơ hình học máy sử dụng hai giải thuật để thực nghiệm so sánh định svm Bước 6: Sau xây dựng xong mơ hình đưa liệu test vào để đánh giá kết 3.2 Tiền xử lý liệu 3.2.1 Sử dụng kỹ thuật phân tích mã độc Trong nội dung nghiên cứu thử nghiệm sử dụng phương pháp phân tích tĩnh, giai đoạn tiền xử lý file thông thường file mã độc file dạng PE dịch ngược mã hex có nhiều cơng cụ cho phép thực điều kể như: IDA, OLLYDBG… Tuy nhiên để đồng phát triển hệ thống tự động sau này, xây dựng chương trình dựa cấu trúc file PE cho phép dịch ngược file mã hex Chương trình viết ngơn ngữ Python sử dụng thư viện Pefile Các file liệu mẫu sau dịch ngược xử lý để lấy mã hex quan trọng chủ yếu chúng nằm phần PE header Section nơi chứa mã chương trình (Executable Code Section), liệu (Data Section), tài nguyên (Resources Section), thư viện (Import Data ,Export Data) … Các file thông thường mã độc sau dịch ngược lấy nội dung mã hex file lưu lại thành file text tương đương phục vụ cho trình trích chọn đặc trưng xây dựng mơ hình dự đốn 3.2.2 Phương pháp n-gram Trong nghiên cứu tơi sử dụng chuỗi byte đặc trưng đầu vào giai đoạn tiền xử lý file liệu mẫu trích xuất dựa vào việc tính tần số xuất n-gram byte N-gram dãy byte liên tiếp có độ dài N mô tả sau: Với dãy mã hex sau dịch ngược giả sử “AB C0 EF 12” dãy n-gram byte thu là: 17 Bảng 3.1 Mô tả dãy n-gram byte 1-gram 2-gram 3-gram 4-gram AB AB C0 AB C0 EF AB C0 EF 12 C0 C0 EF C0 EF 12 EF 12 EF 12 Có thể nhận thấy với độ dài n cao kích thước đặc trưng lớn Đối với mã hex có 16 giá trị khác không gian đặc trưng 1-gram 162=256 với 2-gram 164=65536 Trong nội dung luận văn chủ yếu tập trung vào phương pháp chọn đặc trưng kết thử nghiệm dãy 2-gram Như giai đoạn tiền xử lý file liệu mẫu dịch ngược sang mã hex sau tiếp tục trích rút đặc trưng dựa vào phương pháp n-gram 3.2.3 Tính tần số xuất ( Term Frequency ) Ở bước tơi thực tính tốn tần số xuất n-gram byte khác file liệu mẫu Các kết lưu véc tơ đặc trưng trước đưa vào mơ hình học xử lý để trích đặc trưng tốt Cơng thức để tính giá trị TF cho sau: Tần số xuất mã n-gram byte tập mẫu (file liệu mẫu đưa dạng text ) tính thương số lần xuất n-gram byte tập mẫu số lần xuất nhiều n-gram byte tập mẫu (giá trị thuộc khoảng [0, 1]) f(t,d) - số lần xuất n-gram byte t tập mẫu d max{f(w,d):w∈d} - số lần xuất nhiều n-gram byte tập mẫu 3.3 Đề xuất giải pháp chọn đặc trưng cho thuật toán phân lớp Trong phương pháp học máy thấy số lượng đặc trưng lớn làm giảm hiệu suất chất lượng mô hình học Lượng 18 đặc trưng nhiều khiến cho trình huấn luyện phân lớp liệu tốn mặt tài nguyên thời gian xử lý chí nhiều đặc trưng phổ biến đẫn đến dư thừa gây nhiễu ảnh hướng đến chất lượng xây dựng mơ hình, toán đặt cần thiết loại bỏ đặc trưng gây nhiễu chọn tập đặc trưng đại diện tốt mà đảm bảo độ xác hiệu mơ hình dự đốn Trong phương pháp n-gram nêu ta thấy có đặc trưng mà tần số xuất chúng tương tự lớp đưa vào mơ hình học máy khơng đạt kết cao Phương pháp trích chọn đặc trưng mà tơi đề xuất mục đích tìm tập đặc trưng mà giá trị tần số xuất trung bình chúng lớp cần phân chia có độ lệch lớn Cụ thể mã n-gram byte mà có tần số xuất tập lớp khác với tập lớp cịn lại 3.3.1 Mơ tả giải pháp Gọi D tập đặc trưng có độ dài “d” phần tử mã n-gram byte lớp cần phân chia lớp thứ có độ dài “n” tập mẫu Lớp thứ có độ dài “m” tập mẫu Gọi TF1[i] tập chứa giá trị tần số xuất đặc trưng D[i] ∈ D; i ϵ [0,d] mẫu liệu thuộc lớp thứ Mỗi TF1[i] với i ϵ [0,d] mảng chứa ‘n’ phần tử Gọi TF2[i] tập chứa giá trị tần số xuất đặc trưng D[i] ∈ D; i ϵ [0,d] mẫu liệu thuộc lớp thứ Mỗi TF2[i] với i ϵ [0,d] mảng chứa ‘m’ phần tử Bước 1: Với giá trị i ϵ [0,d] xếp phần tử TF1[i] TF2[i] theo chiều giảm tăng dần Bước 2: Sau thực xếp bước 1: Với i ∈ [0,d] ta thực chia phần tử TF1[i] tương ứng thành “k” đoạn liên tiếp phần tử đầu tiên, đoạn chứa C1 phần tử (số phần tử đoạn khơng nhau) Tương tự với i ∈ [0,d] ta thực chia phần tử TF2[i] tương ứng thành “k” đoạn liên tiếp phần tử đầu tiên, đoạn chứa C2 phần tử (số phần tử đoạn khơng nhau) Bước 3: Tính trung bình cộng tần số xuất khoảng chia 19 TF1[i]; i ∈ [0,d] với TF1[i] ta thu “k” giá trị TB1[i][j] với i ϵ [0,d]; j∈[0,k] giá trị tần số xuất trung bình D[i] đoạn j TF1[i] Tương tự thực tính trung bình cộng tần số xuất khoảng chia TF2[i]; i ∈ [0,d] với TF2[i] ta thu “k” giá trị TB2[i][j] với i ϵ [0,d]; j∈[0,k] giá trị tần số xuất trung bình D[i] đoạn j TF2[i] Bước 4: Tính độ lệch tần số xuất trung bình “k” đoạn chia TF1[i] TF2[i] Gọi TB[i][j] độ lệch trung bình đặc trưng D[i] đoạn j tập TF1[i] TF2[i] TB[i][j] tính trị tuyệt đối phép trừ TB1[i][j] TB2[i][j] ta có: TB[i][j] =| TB1[i][j] - TB2[i][j] | ( i ϵ [0,d]; j ϵ [0,k] ) Với i trện đoạn [0,d] thực tính TB[i][j] với j ∈ [0,k] tập TF1[i] TF2[i] tương ứng Bước 5: Với i ϵ [0,d] ta thực tính độ lệch trung bình giá trị tần số đặc trưng D[i] tương ứng tồn tập cách tính sau: k TB[i][j ] DL[i]= j 0 k Trong DL[i] với i ∈[0,d] độ lệch trung bình đặc trưng D[i] lớp cần phân chia Bước 6: Kết thúc bước ta thu kết độ lệch trung bình tần số xuất “d” đặc trưng ban đầu từ “d” đặc trưng thực chọn đặc trưng có giá trị độ lệch cao để đưa vào xây dựng mơ hình 3.3.2 Ví dụ: Bài tốn: Giả sử cho lớp với đặc trưng mã hex 2-gram có số tập mẫu khác tần số xuất sau: 20 Bảng 3.2 Ví dụ tập tần số xuất ban đầu đặc trưng thuộc lớp Đặc trưng AA AA BB BB CC CC DD DD Lớp Tập 0.5 0.7 1.0 0.2 Tập 0.5 0.9 0.1 Tập 0.6 0.5 1.0 0.2 Tập 0.6 0.6 0.1 Bảng 3.3 Ví dụ tập tần số xuất ban đầu đặc trưng thuộc lớp Đặc trưng AA AA BB BB CC CC DD DD Lớp Tập 0.6 0.2 0.5 0.1 Tập 0.5 0.3 0.5 0.2 Tập 0.6 0.3 0.5 0.7 Tập 0.5 0.2 0.5 0.8 Tập 0.6 0.3 0.5 0.3 Tập 0.5 0.2 0.5 0.2 Bước 1: sau tính tần số xuất đặc trưng tập mẫu thuộc lớp thực xếp giá trị theo chiều giảm dần đặc trưng lớp sau: Bảng 3.4 Kết tập liệu lớp sau thực xếp Đặc trưng AA AA BB BB CC CC DD DD Lớp 0.6 0.9 1.0 0.2 0.6 0.7 1.0 0.2 0.5 0.6 0.1 0.5 0.5 0.1 Bảng 3.5 Kết tập liệu lớp sau thực xếp Đặc trưng AA AA BB BB CC CC DD DD Lớp 0.6 0.3 0.5 0.8 0.6 0.3 0.5 0.7 0.6 0.3 0.5 0.3 0.5 0.2 0.5 0.2 0.5 0.2 0.5 0.2 0.5 0.2 0.5 0.1 Bước 2: Tiến hành chia lớp lớp lớp thành k đoạn Giả sử ta chọn k=2 với lớp đoạn có giá trị tần số liên tiếp cạnh nhau, với lớp đoạn có giá trị tần số liên tiếp cạnh 21 Bảng 3.6 Kết tập liệu lớp sau thực phân đoạn Đặc trưng AA AA BB BB CC CC DD DD Lớp Đoạn 0.6 0.9 1.0 0.2 0.6 0.7 1.0 0.2 Đoạn 0.5 0.6 0.1 0.5 0.5 0.1 Bảng 3.7 Kết tập liệu lớp sau thực phân đoạn Đặc trưng AA AA BB BB CC CC DD DD Lớp Đoạn 0.6 0.3 0.5 0.8 0.6 0.3 0.5 0.7 0.6 0.3 0.5 0.3 Đoạn 0.5 0.2 0.5 0.2 0.5 0.2 0.5 0.2 0.5 0.2 0.5 0.1 Bước 3: Trên đoạn thực tính giá trị trung bình cộng tần số xuất đặc trưng : Bảng 3.10 giá trị trung bình cộng tần số xuất đặc trưng đoạn thuộc lớp Đặc trưng AA AA BB BB CC CC DD DD Lớp TF trung bình đoạn Đoạn 0.6 0.8 1.0 0.2 Đoạn 0.5 0.55 0.1 Bảng 3.11 giá trị trung bình cộng tần số xuất đặc trưng đoạn thuộc lớp Đặc trưng AA AA BB BB CC CC DD DD Lớp TF trung Đoạn 0.6 0.3 0.5 0.6 bình Đoạn 0.5 0.2 0.5 0.16 đoạn Bước 4: Thực tính độ lệch tần số xuất đoạn đặc trưng lớp, cách trừ lấy trị tuyệt đối tần số đoạn đặc trưng lớp liệu 22 Bảng 3.12 Kết độ lệch tần số xuất đoạn Đặc AA AA BB BB CC CC DD DD trưng Độ lệch TF 0.5 0.5 0.4 Đoạn đoạn Đoạn 0.35 0.5 0.06 Bước 5: Từ kết độ lệch tần số xuất có đoạn bước tiến hành tính trung bình độ lệch tần số xuất đặc trưng tồn tập, cách tính trung bình cộng độ lệch tần số xuất đoạn đặc trưng để kết cuối Bảng 3.13 Kết độ lệch tần số xuất toàn tập liệu Đặc trưng AA AA BB BB CC CC DD DD Độ lệch TF toàn Đoạn 0.425 0.5 0.23 liệu Như dễ thấy đặc trưng có độ lệch cao “CC CC” “BB BB” sau “DD DD” ta xác định đặc trưng có sai khác lớn tần số xuất lớp theo thứ tự Bước 6: Từ kết có thực chọn T đặc trưng có độ lệch giá trị tần số xuất lớn 3.4 Xây dựng mơ hình dự đoán dựa thuật toán phân lớp Sau chọn tập đặc trưng dựa vào phương pháp trình bày phía trên, bước giai đoạn tiến hành đưa giá trị tần số xuất đặc trưng n-gram byte chọn tập mẫu ban đầu vào thuật tốn học máy để xây dựng mơ hình dự đoán., liệu mẫu gán nhãn thành lớp mã độc file bình thường Giai đoạn sử dụng véc tơ đặc trưng liệu huấn luyện đầu vào cho thuật toán phân lớp liệu [13,19] áp dụng như: k láng giềng (KNN), Naive Bayes (NB), định (DT), Rừng ngẫu nhiên (RF), máy véc tơ hỗ trợ (SVM) Trong nghiên cứu tơi lựa chọn thuật tốn tiêu biểu định máy véc tơ hỗ trợ để xây dựng mơ hình đự đốn phát mã độc đồng thời kết phương pháp so sánh đánh giá thông qua trình thực nghiệm 23 CHƯƠNG THỰC NGHIỆM VÀ ĐÁNH GIÁ 4.1 Dữ liệu thực nghiệm Các kết luận văn thực nghiệm với đầu vào 4698 file liệu mẫu 2373 file mã thông thường 2325 file mã độc, file mã độc thu thập từ trang chủ “Vxheaven” [21] file mã thông thường file hệ thống thuộc kiểu file “PE” chủ yếu file “.exe” chạy trên hệ điều hành Windows số lượng mẫu mã độc mô tả sau: Bảng 4.1 Tỷ lệ số lượng mẫu mã độc tham gia thực nghiệm Kiểu mã độc Số lượng mẫu Backdoor.win32 339 Worm.win32 Virus.win32 Trojan.win32 Khác 704 441 173 668 Trong tỷ lệ mẫu mã độc biểu diễn trực quan biểu đồ sau: Tỷ lệ mẫu mã độc tham gia thực nghiệm 7% 15% 19% 29% 30% Backdoor.win32 Worm.win32 Virus.win32 Trojan.win32 Khác Hình 4.1 Biểu đồ mơ tả tỷ lệ mẫu mã độc tham gia thực nghiệm 4.2 Chương trình thực nghiệm Bảng 4.2 Thơng tin chương trình thực nghiệm - Processor: Intel(R) Core i5 – 2450M CPU @ 2.50GHz Môi trường thực - Memory (Ram): 8.00 GB nghiệm - System type: 64-bit Operating System, x64-based processor - Windows 10 Pro -2016 24 Ngôn ngữ sử dụng Python Cơng cụ lập trình PyCharm – JetBrains 5.0 Pro (IDE) Thư viện gói Scikit-learn, scipy, numpy,matplotlib,ipython, Pefile cài đặt 4.3 Đánh giá dựa phương pháp ma trận nhầm lẫn Một mơ hình đánh giá tốt tỉ lệ: TP ( True Positive) TN (True Negative) lớn đồng thời tỉ lệ FP (False Positive) FN (False Negative) nhỏ đó: TP: Số lượng mẫu thuộc lớp dương phân loại xác vào lớp dương FP: Số lượng mẫu không thuộc lớp dương bị phân loại nhầm vào lớp dương TN: Số lượng mẫu không thuộc lớp dương phân loại FN: Số lượng mẫu thuộc lớp dương bị phân loại nhầm vào lớp khơng phải lớp dương Độ xác mơ hình tính cơng thức sau: Acc=(TP+TN)/(TP+TN+FP+FN) TPR (True positive rate) tính cơng thức sau: 𝑇𝑃 TPR = 𝑇𝑃+𝐹𝑁 FPR (False positive rate) tính cơng thức sau: 𝐹𝑃 FPR = 𝐹𝑃+𝑇𝑁 4.4 Kết thực nghiệm Tiến hành trích rút đặc trưng 2-gram byte tồn khơng gian đặc trưng 164=65536 đặc trưng, sau áp dụng thuật tốn đề xuất tơi thực thu gọn trích chọn 800 đặc trưng tốt Trong tổng số 4698 25 file thực chọn 400 file test (trong 200 file mã độc 200 file thông thường) file lại độc lập với liệu test dùng làm liệu huấn luyện Tiến hành kiểm tra chéo tập liệu cách chọn ngẫu nhiên 400 file test khác với file huấn luyện độc lập lại thực kiếm tra nhiều lần, kết đáng giá dựa phương pháp ma trận nhầm lẫn coi lớp dương (Positive) mã độc , lớp âm (Negative) file thông thường, kết thu mô tả bảng sau: Bảng 4.3 Kết thực nghiệm mơ hình sử dụng tập đặc trưng tốt n-gram Số đặc Mơ hình Độ TPR FPR trưng xác 2 800 800 DT SVM 90.75% 94.50% 0.90 0.945 0.085 0.055 Trong kết chi tiết thực nghiệm tập liệu test khác sau: Các kết thực nghiệm dựa tập đặc trưng tốt 100 80 % 60 Cây định (DT) 40 Máy véc tơ hỗ trợ (SVM) 20 10 Tập liệu test Hình 4.9 Kết độ xác thực nghiệm tập liệu test khác sử dụng đặc trưng đánh giá tốt Để so sánh hiệu giải pháp chọn đặc trưng đề xuất Tôi tiến hành kiểm tra tập liệu sử dụng 800 đặc trưng khác bị đánh giá (có độ lệch tần số xuất thấp nhất) để xây dựng mơ hình học, kết kiểm tra thu sau: 26 Bảng 4.4 Kết thực nghiệm mơ hình sử dụng tập đặc trưng n-gram Số đặc Mơ hình Độ TPR FPR trưng xác 2 800 800 DT SVM 87.3% 88.5% 0.855 0.93 0.11 0.16 Trong kết chi tiết thực nghiệm tập liệu test khác sau: Các kết thực nghiệm dựa tập đặc trưng 100 80 % 60 Cây định (DT) 40 Máy véc tơ hỗ trợ (SVM) 20 10 Tập liệu test Hình 4.10 Kết độ xác thực nghiệm tập liệu test khác sử dụng đặc trưng bị đánh giá Nhận xét: Như dựa vào kết thực nghiệm thấy tập đặc trưng đánh giá cao mà thuật toán tìm cho kết tốt nhiều so với tập đặc trưng bị đánh giá thấp 27 KẾT LUẬN Luận văn trình bày hướng tiếp cận có hiệu ứng dụng kỹ thuật học máy vào việc nhận diện phát mã độc Đồng thời đề xuất giải pháp chọn đặc trưng để gia tăng hiệu suất mà đảm bảo độ xác hiệu mơ hình dự đốn, kết tiến hành thực nghiệm đánh giá tệp liệu chạy Windows cho thấy với kỹ thuật chọn đặc trưng tơi đề xuất đặc trưng tìm cho kết mơ hình dự đốn tốt hơn, đồng thời thực nghiệm thuật toán học máy véc tơ hỗ trợ (SVM) tỏ hiệu so với thuật toán học định (DT) Với kết độ xác 94.5% sử dụng thuật toán học SVM kết khả quan yêu cầu cần giải toán phát mã độc Các kết đạt luận văn: - Tìm hiểu mã độc phương pháp phân tích, phân loại phát mã độc - Trình bày sở lý thuyết thực nghiệm thuật toán phân lớp kỹ thuật học máy giám sát bao gồm thuật toán định SVM - Nghiên cứu thực việc ứng dụng kỹ thuật học máy vào giải toán phát mã độc - Đề xuất giải pháp lựa chọn đặc trưng tốt đảm bảo hiệu quả, hiệu suất mơ hình học máy tốn phát mã độc - Tiến hành thực nghiệm đánh giá, so sánh kết Hướng phát triển nghiên cứu: Mở rộng phương pháp với nhiều hướng tiếp cận phân tích mã độc phân tích động, phân tích dựa kinh nghiệm từ phối hợp với thuật tốn học máy vào q trình xây dựng hệ thống có khả tự động nhận diện với đa dạng mã độc cách xác, đồng thời tiếp tục nghiên cứu, phối hợp phát triển áp dụng nhiều kỹ thuật trích chọn đặc trưng nhằm nâng cao hiệu hiệu suất mơ hình dự đốn 28 DANH MỤC CƠNG TRÌNH KHOA HỌC CỦA TÁC GIẢ LIÊN QUAN ĐẾN LUẬN VĂN Văn Trường Võ, Văn Vinh Nguyễn, Minh Đức Trịnh and Khánh Dương Lê “Đề xuất giải pháp trích chọn đặc trưng cho thuật toán phân lớp liệu kỹ thuật học máy giám sát ứng dụng hiệu vào toán phát mã độc” Hội thảo lần thứ I, Một số vấn đề chọn lọc an tồn an ninh thơng tin (1st Symposium on Information Security - SoIS 2016) Đã chấp nhận đăng kỷ yếu trình bày hội thảo, pp 35 -42 29 TÀI LIỆU THAM KHẢO [1] Asaf Shabtai, Robert Moskovitch, Clint Feher, Shlomi Dolev and Yuval Elovici “Detecting unknown malicious code by applying classification techniques on OpCode patterns,” Security Informatics 2012 1:1 doi:10.1186/2190-8532-1-1 [2] A Shabtai, R Moskovitch, Y Elovici, C.Glezer,: “Detection of malicious code by applying machine learning classifiers on static features: A state-of-the-art survey,” Information Security Technical Report 2009 [3] Cai DM, Gokhale M, Theiler J “Comparison of feature selection and classification algorithms in identifying malicious executables,” Computational Statistics and Data Analysis 2007 [4] Chih-Wei Hsu, Chih-Chung Chang, and Chih-Jen Lin “A Practical Guide to Support Vector Classification”, Department of Computer Science National Taiwan University- Taipei 106- Taiwan, Last updated: May 19, 2016 [5] Digit Oktavianto, Iqbal Muhardianto,“Cuckoo Malware Analysis”, Packt Publishing, 2013 [6] D Krishna Sandeep Reddy - Arun K Pujari “N-gram analysis for computer virus detection,” Springer-Verlag France 2006, doi 10.1007/s11416-006-0027-8 [7] Eldad Eilam, “Reversing-Secrets of Reverse Engineering”, Wiley; edition (April15, 2005) [8] Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani “An Introduction to Statistical Learning with Applications in R ( Springer Texts in Statistics ) ”, by Springer Publishing, 2013 [9] Igor Santos, Yoseba K Penya, Jaime Devesa and Pablo G Bringas “n-grams-based file signatures for malware detection,” Deusto Technological Foundation, Bilbao, Basque Country [10] John Aycock, “Computer viruses and Malware (Advances in Information Security)”, by Springer Publishing, 2006 30 [11] Madhu K Shankarapani - Subbu Ramamoorthy - Ram S Movva Srinivas Mukkamala “Malware detection using assembly and API call sequences,” Springer-Verlag France 2010, doi 10.1007/s11416-010-0141-5 [12] Michael Sikorski and Andrew Honig, “Practical Malware Analysis”, No Starch Press, edition (March 3, 2012) [13] Peter Harrington, “Machine Learning in Action,” in Part Classification, by Manning Publications, 2012 , pp 1–129 [14] Peter Szor, “The Art of Computer Virus Reseach and Defense”, Addison Wesley Professional, 2005 [15] Schultz M, Eskin E, Zadok E, Stolfo S “Data mining methods for detection of new malicious executables,” Proc of the IEEE Symposium on Security and Privacy, IEEE Computer Society 2001 [16] Smita Ranveer, Swapnaja Hiray, “Comparative Analysis of Feature Extraction Methods of Malware Detection,” International Journal of Computer Applications (0975 8887), Volume 120 - No 5, June 2015 [17] Steve R Gunn ,“Support Vector Machines for Classification and Regression”, Technical Report, Faculty of Engineering, Science and Mathematics School of Electronics and Computer Science, 1998 [18] Tom M Mitchell, “Machine Learning” , by McGraw-Hill Science, 1997 [19] Trent Hauck, “scikit-learn Cookbook”, in Chapter Classifying Data with scikit-learn, by Packt Publishing, 2014, pp 119-157 [20] V Vapnik The Nature of Statistical Springer-Verlag, New York, NY, 1995 [21] VXheavens Website:url:http://vx.netlux.org 31 Learning Theory ... PHÁP ỨNG DỤNG KỸ THUẬT HỌC MÁY VÀO PHÁT HIỆN MÃ ĐỘC 3.1 Tổng quan phương pháp thực Trong luận văn tơi trình bày hướng nghiên cứu ứng dụng kỹ thuật học máy vào việc phân lớp phát mã độc Luận văn. .. sở lý thuyết thực nghiệm thuật toán phân lớp kỹ thuật học máy giám sát bao gồm thuật toán định SVM - Nghiên cứu thực việc ứng dụng kỹ thuật học máy vào giải toán phát mã độc - Đề xuất giải pháp... trưng Trong phần nghiên cứu luận văn tơi trình bày phương pháp ứng dụng học máy vào xây dựng mơ hình phát mã độc thực nghiệm dựa phương pháp phân tích tĩnh mã độc, tiền xử lý liệu kỹ thuật dịch ngược