Kỹ thuật phân lớp dữ liệu và ứng dụng trong phát hiện mã độc

69 453 2
Kỹ thuật phân lớp dữ liệu và ứng dụng trong phát hiện mã độc

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG HÀ MẠNH KIÊN KỸ THUẬT PHÂN LỚP DỮ LIỆU VÀ ỨNG DỤNG TRONG PHÁT HIỆN MÃ ĐỘC Chuyên ngành: Khoa học máy tính Mã số:60.48.01.01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC: TS.Lƣơng Thế Dũng THÁI NGUYÊN - 2015 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ LỜI CAM ĐOAN Tơi cam đoan cơng trình riêng Các số liệu, kết nêu luận văn trung thực chƣa đƣợc công bố cơng trình khác Qua tơi xin chân thành cảm ơn tồn thể thầy cô khoa đào tạo sau đại học Trƣờng Đại học Công nghệ Thông tin Truyền thông – Đại học Thái Nguyên, ngƣời trực tiếp giảng dạy, truyền đạt cho kiến thức chuyên môn phƣơng pháp làm việc khoa học Đặc biệt, xin chân thành cảm ơn TS Lƣơng Thế Dũng ,đã tận tình hƣớng dẫn để tơi hồn thành luận văn Tôi xin gửi lời cảm ơn tới gia đình, bạn bè, đồng nghiệp giúp đỡ, động viên tạo điều kiện cho tơi q trình làm luận văn Tác giả luận văn Hà Mạnh Kiên Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ MỤC LỤC ĐẶT VẤN ĐỀ CHƢƠNG 1: TỔNG QUAN VỀ MÃ ĐỘC HẠI 1.1 Các loại mã độc 1.1.1 Virus 1.1.2 Worm 1.1.3 Trojan Horse 1.1.4 Malicious Mobile Code 1.1.5 Tracking Cookie 1.1.6 Phần mềm gián điệp (Spyware) 1.1.7 Attacker Tool 1.1.8 Phishing 1.2 Phƣơng pháp phát mã độc hại 1.2.1 Phần mềm phát mã độc 1.2.2 Kỹ thuật phát phần mềm mã độc 10 1.2.3 Kỹ thuật phát dựa mẫu nhận dạng 10 1.2.4 Phát dựa đặc điểm 12 1.2.5 Phát dựa hành vi 12 1.2.6 Kỹ thuật gây nhiễu 13 1.2.7 Phân tích tƣơng tự 14 1.2.8 Chuẩn hóa mã độc 15 CHƢƠNG 2: MỘT SỐ KỸ THUẬT PHÂN LỚP 16 2.1 Tổng quan khai phá liệu 16 2.1.1 Khái niệm khai phá liệu 16 2.1.2 Ứng dụng khai phá liệu 16 2.1.3 Các toán khai phá liệu 17 2.1.4 Tiến trình khai phá liệu 20 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 2.2 Một số kỹ thuật phân lớp liệu 22 2.2.1 Khái niệm phân lớp 22 2.2.2 Mục đích phân lớp 24 2.2.3 Các tiêu chí để đánh giá thuật tốn phân lớp 24 2.2.4 Các phƣơng pháp đánh giá độ xác mơ hình phân lớp phƣơng pháp holdout 25 2.3 Phân lớp dựa phƣơng pháp học Naïve bayes 26 2.3.1 Giới thiệu 26 2.3.2 Bộ phân lớp Naïve Bayes 28 2.4 Phân lớp dựa câu định (Decision Tree) 29 2.4.1 Khái niệm định: 29 2.4.2 Các vấn đề cần xem xét phân lớp dựa định 42 2.5 Kỹ thuật phân loại máy vector hỗ trợ 44 2.5.1 Giới thiệu 44 2.5.2 SVM với tuyến tính 46 CHƢƠNG 3: ỨNG DỤNG KỸ THUẬT PHÂN LỚP TRONG PHÁT HIỆN MÃ ĐỘC 52 3.1 Mơ hình tốn 52 3.1.1 Thu thập liệu 52 3.1.2 Tiền xử lý liệu 53 3.1.3 Lựa chọn thuộc tính 54 3.1.4 Xây dựng phân lớp 58 3.2 Tiến hành thực nghiệm 59 3.2.1 Phân lớp định 59 3.2.2 Phân lớp SVM 60 3.3 Phân tích bình luận 61 KẾT LUẬN 63 TÀI LIỆU THAM KHẢO 64 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ DANH MỤC BẢNG Bảng 3.1 Bảng kết độ xác định phân lớp đa lớp 60 Bảng 3.2 Bảng kết độ xác định phân lớp nhị phân 60 Bảng 3.3 Bảng kết xây dựng phân lớp SVM: 61 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ DẠNH MỤC HÌNH Hình 1.1 Mô tả Phishing Hình 1.2 Kiểu phần mềm mã độc 10 Hình 1.3 Mã độc đa hình 11 Hình 1.4 Phần mềm độc hại siêu đa hình 11 Hình 1.5 Bộ phát mã độc dựa hành vi 13 Hình 1.6 Kỹ thuật gây nhiễu 14 Hình 2.1 Quy trình phát tri thức 20 Hình 2.2 Ƣớc lƣợng độ xác mơ hình phân lớp với phƣơng pháp holdout 25 Hình 3.1 Các bƣớc xây dựng mơ hình phát mã độc 52 Hình 3.2 Q trình trích rút hàm API 56 Hình 3.3 Chi tiết q trình xây dựng mơ hình phát mã độc 58 Hình3.4 Biểu đồ so sánh độ xác (%) hai thuật tốn 62 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ ĐẶT VẤN ĐỀ Khi nhu cầu việc sử dụng internet ngƣời ngày tăng lúc mối đe dọa xuất ngày nhiều, bật đe dọa mã độc hại Mã độc loại phần mềm hệ thống tin tặc hay kẻ nghịch ngợm tạo nhằm gây hại cho máy tính Tùy theo cách thức mà tin tặc dung, nguy hại loại phần mềm khác từ chỗ hiển thị cửa sổ thông báo việc công chiếm máy lây lan sang máy khác nhƣ virut Xuất đâu môi trƣờng thiết bị điện tử nhƣ dĩa mềm, usb, đến môi trƣờng Internet webside, tin nhắn, hòm thƣ điện tử ngƣời dùng, phần mềm tiện ích……Khi mã độc hại nhiễm vào máy tính lây lan sang máy tính khác nhanh khó lƣờng trƣớc đƣợc Cơng nghệ thông tin liên tục phát triển thay đổi, nhiều phần mềm đời mang đến cho ngƣời nhiều tiện ích Do để chống lại loại mã độc hại ngƣời ta thƣờng sử dụng chƣơng trình phát loại bỏ mã độc hại Tuy nhiên việc phát mã độc hại chƣơng trình thƣờng dựa thuật toán đối sánh mẫu quan trọng sở liệu đầy đủ cập nhật thƣờng xuyên mẫu Để có sở liệu nhƣ nêu cần chƣơng trình quản lý cách hiệu tốt nhiều công sức để tạo mẫu mã độc hại Một phƣơng pháp dựa mơ hình tốn học để phát mã độc hại mà không sử dụng sở liệu mẫu, khai phá liệu phƣơng pháp quan trọng đƣợc nhiều ngƣời quan tâm Chính luận văn tiến hành nghiên cứu, tìm hiểu kỹ thuật phân lớp liệu ứng dụng phát mã độc Nhằm xấy dựng mơ hình, thuật tốn để phát đánh giá mơ hình CHƢƠNG TỔNG QUAN VỀ MÃ ĐỘC HẠI 1.1 Các loại mã độc 1.1.1 Virus Virus loại mã độc hại (Maliciuos code) có khả tự nhân lây nhiễm vào file, chƣơng trình máy tính Nhƣ virus máy tính phải ln ln bám vào vật chủ (đó file liệu file ứng dụng) để lây lan Các chƣơng trình diệt virus dựa vào đặc tính để thực thi việc phịng chống diệt virus, để quét file thiết bị lƣu, quét file trƣớc lƣu xuống ổ cứng… Điều giải thích đơi phần mềm diệt virus PC đƣa thông báo “phát virus nhƣng không diệt đƣợc” thấy có dấu hiệu hoạt động virus PC, “vật mang virus” lại nằm máy khác nên khơng thể thực thi việc xố đoạn mã độc hại Compiled Virus virus mà mã thực thi đƣợc dịch hồn chỉnh trình biên dịch để thực thi trực tiếp từ hệ điều hành Các loại boot virus nhƣ (Michelangelo Stoned), file virus (nhƣ Jerusalem) phổ biến năm 80 virus thuộc nhóm này, compiled virus pha trộn boot virus file virus phiên Interpreted Virus tổ hợp mã nguồn mã thực thi đƣợc dƣới hỗ trợ ứng dụng cụ thể dịch vụ cụ thể hệ thống Một cách đơn giản, virus kiểu tập lệnh, ứng dụng gọi đƣợc thực thi Macro virus, scripting virus virus nằm dạng Macro virus phổ biến ứng dụng Microsoft Office tận dụng khả kiểm soát việc tạo mở file để thực thi lây nhiễm Sự khác macro virus scripting virus là: Macro virus tập lệnh thực thi ứng dụng cụ thể, scripting virus tập lệnh chạy service hệ điều hành Melisa ví dụ xuất sắc Macro virus, Love Stages ví dụ cho scripting virus 1.1.2 Worm Worm chƣơng trình có khả tự nhân tự lây nhiễm hệ thống nhiên có khả “tự đóng gói”, điều có nghĩa Worm khơng cần phải có “file chủ” để mang nhiễm vào hệ thống Nhƣ vậy, thấy dùng chƣơng trình qt file khơng diệt đƣợc Worm hệ thống Worm khơng “bám” vào file vùng đĩa cứng Mục tiêu Worm bao gồm làm lãng phí nguồn lực băng thơng mạng phá hoại hệ thống nhƣ xoá file, tạo backdoor, thả keylogger,… Tấn cơng Worm có đặc trƣng lan rộng nhanh chóng khơng cần tác động ngƣời (nhƣ khởi động máy, copy file hay đóng/mở file) Worm chia làm loại: Network Service Worm lan truyền cách lợi dụng lỗ hổng bảo mật mạng, hệ điều hành ứng dụng Sasser ví dụ cho loại sâu Mass Mailing Worm dạng cơng qua dịch vụ mail, nhiên tự đóng gói để cơng lây nhiễm khơng bám vào vật chủ email Khi sâu lây nhiễm vào hệ thống, thƣờng cố gắng tìm kiếm sổ địa tự gửi thân đến địa thu nhặt đƣợc Việc gửi đồng thời cho toàn địa thƣờng gây tải cho mạng cho máy chủ mail Netsky, Mydoom ví dụ cho thể loại 1.1.3 Trojan Horse Trojan Horse loại mã độc hại đƣợc đặt theo tích “Ngựa thành Troy” Trojan horse khơng có khả tự nhân nhiên lây vào hệ thống với biểu bình thƣờng nhƣng thực chất bên có ẩn chứa đoạn mã với mục đích gây hại Trojan gây hại theo ba cách sau: Tiếp tục thực thi chức chƣơng trình mà bám vào, bên cạnh thực thi hoạt động gây hại cách riêng biệt (ví dụ nhƣ gửi trị chơi dụ cho ngƣời dùng sử dụng, bên cạnh chƣơng trình đánh cắp password) Tiếp tục thực thi chức chƣơng trình mà bám vào, nhƣng sửa đổi số chức để gây tổn hại (ví dụ nhƣ trojan giả lập cửa sổ login để lấy password) che dấu hành động phá hoại khác (ví dụ nhƣ trojan che dấu cho tiến trình độc hại khác cách tắt hiển thị hệ thống) Thực thi ln chƣơng trình gây hại cách núp dƣới danh chƣơng trình khơng có hại (ví dụ nhƣ trojan đƣợc giới thiệu nhƣ chò chơi tool mạng, ngƣời dùng cần kích hoạt file liệu PC bị xố hết) Có loại trojan chính: Trojan truy cập từ xa: Đƣợc thiết kế kẻ cơng có khả từ xa chiếm quyền điều khiển máy bị hại Các trojan thƣờng dấu vào trò chơi chƣơng trình nhỏ làm cho ngƣời dùng cảnh giác Trojan gửi liệu: Nó thực việc lấy gửi liệu nhạy cảm nhƣ mật khẩu, thông tin thẻ tín dụng, tệp nhật ký, địa email… cho kẻ cơng Trojan tìm kiếm cụ thể thông tin cài phần mềm đọc trộm bàn phím gửi tồn phím bấm cho kẻ công Trojan hủy hoại: Thực việc xóa tệp tin Loại trojan giống với virus thƣờng bị phát chƣơng trình diệt virus Trojan kiểu proxy: Sử dụng máy tính bị hại làm proxy, qua sử dụng máy bị hại để thực hành vi lừa gạt hay đánh phá máy tính khác Trojan FTP: Đƣợc thiết kế để mở cổng 21 cho phép tin tặc kết nối vào máy bị hại sử dụng FTP i , điều kiện sau ứng với việc cực tiểu hóa theo b n i yi = i Ở hàm hạt nhân đƣợc định nghĩa k(xi,xj) = xi xj Sau giải xong, tính w từ giá trị w= i yi xi i 51 tìm đƣợc nhƣ sau: CHƢƠNG ỨNG DỤNG KỸ THUẬT PHÂN LỚP TRONG PHÁT HIỆN MÃ ĐỘC Chƣơng xây dựng thực nghiệm để đánh giá so sánh hiệu hai thuật toán phân lớp: Decision Tree SVM việc phát mã độc hại 3.1 Mô hình tốn Khai phá liệu ngày đƣợc ứng dụng nhiều việc phát mã độc Trong đó, thuật tốn phân lớp thƣờng đƣợc sử dụng nhằm xây dựng mơ hình phát mã độc, để dự đoán phát mã độc Mơ hình tốn phân lớp phát mã độc dựa bƣớc bản: bƣớc thu thập tập liệu mã độc, tập thông thƣờng (trong luận văn quan tâm đến chƣơng trình độc hại dạng PE) Tiếp theo các gọi hàm API phổ biễn đƣợc trích rút từ tập chƣơng trình cuối sử dụng thuật toán phân lớp để xây dựng phân lớp Thu thập liệu mạng Tiền xử lý liệu Chọn lựa thuộc tính Xây dựng phân lớp Hình 3.1 Các bƣớc xây dựng mơ hình phát mã độc 3.1.1 Thu thập liệu Để xây dựng mơ hình phát mã độc, luận văn sử dụng tập liệu 210 mã độc http://vx.netlux.org 300 chƣơng trình bình thƣờng (khơng phải mã độc) thƣ mục system 32 hệ điều hành windows XP 52 3.1.2 Tiền xử lý liệu Mục đích bƣớc dƣới để trích rút hàm API đƣợc sử dụng tập chƣơng trình Bƣớc 1: Giải nén phần mềm độc hại Việc đóng gói trở thành cơng việc ƣa thích kẻ viết phần mềm độc hại nhằm tạo thay đổi mã phần mềm độc hại, để tạo nhiều biến thể phần mềm độc Điều tạo phần mềm độc hại hồn tồn có logic sử dụng kỹ thuật che dấu khác để tránh bị phát Việc xác định khâu đóng gói việc quan trọng để thực giải nén toàn phần mềm nhằm xác định xác thơng tin tệp thực thi Luận văn sử dụng chƣơng trình viết JAVA phép tự động hóa chƣơng trình đóng gói đƣợc sử dụng phần mềm độc hại sau giải nén cho cơng việc phân tích Bƣớc 2: Trích rút gọi hàm API Bƣớc sử dụng công cụ dịch ngƣợc phần mềm phổ biến Disassembler Pro (IDA Pro) [9] dịch ngƣợc tất loại file không thực thi file thực thi (chẳng hạn nhƣ ELF, EXE, PE, ) Nó tự động nhận dạng gọi API cho trình biên dịch khác IDA Pro tải tập tin đƣợc chọn vào nhớ để phân tích phần có liên quan chƣơng trình IDA Pro tạo file IDA sở liệu đƣa vào tập tin IDB (.idb) sau thực trích xuất thơng tin từ dạng nhị phân IDA Pro cung cấp quyền truy cập vào nguồn tài ngun nội thơng qua API mà cho phép ngƣời dùng viết bổ sung plugin đƣợc thực IDA Luận văn sử dụng idapython [10] plugin để tự động tháo gỡ để tạo sở liệu IDB hợp Các plugin ida2sql thƣờng cho phép đƣa ra sở liệu MySQL để phân tích nhị phân tốt Plugin ida2sql tạo 16 bảng (Address _comments, Address _reference, 53 Basic _blocks, expression_tree, callgraph, control_flow_graph, data, expression_substitution, functions, instructions, metainformation, modules, operand_expressions, operand_strings, operand_tuple, sections) [11] cho tệp thực thi nhị phân Mỗi phần bao gồm thông tin khác nội dung nhị phân, ví dụ bảng functions chứa tất API nhận biết đƣợc thực gọi hệ thống tên hàm không đƣợc nhận biết đƣợc chiều dài (từ vị trí bắt đầu đến vị trí kết thúc cuối hàn) Bảng Intrusions gồm mã lệnh (OP) địa chúng, địa khối Danh sách API đƣợc trích từ bảng functions Tài liệu tham khảo từ Microsoft - (MSDN) [12] đƣợc sử dụng xác định hàm API windows Chƣơng trình dựa Java thực để so sánh kết hợp API từ MSDN gọi API đƣợc tạo sở liệu cho phần mềm độc hại mẫu Để liệt kê tất gọi API có liên quan đến mã độc hại, việc thu thập đƣợc thực cách sử dụng máy opcodes nhƣ lệnh Jump lệnh call nhƣ kiểu hàm 3.1.3 Lựa chọn thuộc tính Trích chọn thuộc tính (Feature Selection, Feature Extraction) nhiệm vụ quan trọng giai đoạn tiền xử lý liệu triển khai mơ hình khai phá liệu Một vấn đề gặp phải tập liệu dùng để xây dựng mô hình khai phá liệu thƣờng chứa nhiều thơng tin khơng cần thiết (thậm chí gây nhiễu) cho việc xây dựng mơ hình Chẳn hạn, tập liệu gồm hàng trăm thuộc tính thuộc tính tƣơng ứng với hàm API đƣợc trích rút, nhiên xây dựng mơ hình khái phá liệu số hàm có tác động đến q trình phân lớp Nếu ta sử dụng tất thuộc tính (hàng trăm, hàng ngàn) để xây dựng mơ hình ta cần xử lý CPU phải đủ lớn, nhiều nhớ q trình học mơ hình, chí thuộc tính khơng cần thiết làm giảm độ xác mơ hình gây khó khăn việc phát tri thức Luận văn sử dụng phƣơng pháp trích chọn thuộc tính hàm API Pujari [8] 54 Luận văn sử dụng tần xuất xuất để lựa chọn gọi API có liên quan Mục đích để xác định gọi API phổ biến phần mềm độc hại tƣơng tự nhƣ gọi API khác phổ biến phần mềm độc hại Gọi D tập huấn luyện có chứa tập hợp phần mềm không độc hại B tập phần mềm độc hại V: D = B ∪ V Pujari et al [13] đề xuất phƣơng pháp trích rút hàm API dựa tần xuất suất n-gram (Ng), Ng tổ hợp hàm API đƣợc trích rút lúc Cho n-gram Ng, (Ng, P) Ng có mặt P ngƣợc lại Ngoài ra, tần xuất Ng P tƣơng ứng với lớp C là: Nói cách khác, tần xuất số chƣơng trình thực thi C có chứa Ng Hình 3.2 biểu đồ mô tả việc lựa chọn gọi API có liên quan sử dụng DCFS 55 Các API tệp Virus, Worms Troyja Horse Các hàm Windows API tập bình thƣờng Tính tần suất xuất n-gram API Tính tần suất xuất API n-gram Sắp xếp hàm theo thứ tự giảm dần tần suất Sắp xếp hàm theo thứ tự giảm dần tần suất Chọn k hàm có tần suất cao Chọn k hàm có tần suất cao Chọn đƣợc n-gram API phù hợp Chọn đƣợc n-gram API phù hợp Kết hợp hai phần để đƣợc tập liệu, n-gram trùng bị loại bỏ Hình 3.2 Quá trình trích rút hàm API Sau q trình trích rút tập liệu đƣợc trình bày dƣới định dạng để sử dụng cho phân mềm Weka: @attribute 8:9:3:9: real @attribute 2:13:2:11: real @attribute 4:2:2:1: real @attribute 4:2:3:2: real @attribute 45:3:3:2: real @attribute 4:3:5:3: real @attribute 3:0:11:3: real 56 @attribute 1:4:1:15: real @attribute 3:0:11:2: real @attribute 3:2:15:2: real @attribute 3:1:3:3: real @attribute 3:3:3:11: real @attribute 3:0:3:13: real @attribute 25:3:3:28: real @attribute class {trojan,benign} @data 1,1,1,1,1,0,0,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,1,1,0, 1,0,0,1,0,0,0,0,1,1,0,1,0,0,0,1,0,0,1,1,0,0,0,1,0,1,1,1,0,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1, 0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,0,0,0,1,0, 0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,1,1,1,1,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,1,0, 0,1,1,1,0,0,1,0,1,0,1,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1,1,0, 1,0,1,0,0,1,1,1,1,1,1,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1, 1,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,0,0,0,1,0,0,1,0,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,1,1,1,0,0,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1, 0,0,0,0,1,1,0,0,1,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,0,0,1, 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0, 1,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,0, 0,0,1,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,benign 1,1,1,1,1,0,0,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0, 1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,1,0,1,1,0,0,0,1, 0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0, 1,0,1,1,1,0,0,0,1,1,0,1,0,0,1,0,0,0,0,0,0,1,1,1,1,0,1,1,0,1,1,0,0,0,0,0,1,1,1,0,1,1,0,0, 0,1,0,1,0,1,0,0,1,1,1,1,0,1,1,0,0,0,0,1,1,0,1,0,1,0,1,0,0,0,1,1,0,1,0,0,0,1,1,0,0,0,0,0, 1,0,1,0,1,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,1,0,1,1, 0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,1,1,0, 0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0,1,1,1,0,0,0,0,0,1,0,0,1,1,1,0,0,1,1,1,0, 57 0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,0,0,1,0,1,0,1,0,0,0,1,1,1,1,1,0,0, 0,1,0,1,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,0,1,0, 0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,1,1,0,0,0,1,1,1,1,0,0,0,0,1,1,0,0,1,0,0,0,1,0,0,0,0,1,1, 1,1,0,1,0,0,0,1,0,0,1,0,0,1,1,0,1,0,1,benign 3.1.4 Xây dựng phân lớp Quá trình chi tiết để xây dựng phân lớp phát mã độc mơ tả nhƣ sau: Tạo tệp idb Các tệp PE System 32 Xác định trình đóng gói giải nén Các tệp mã độc ChạyIda2sql Dịch ngƣợc IDA Pro Dữ liệu huấn luyện Danh sách gọi hàm API Chọn Virus API dcác Worms API Cơ sở liệu MySQL n-gram API So sánh hàm phân tích Trojan Horse API Quá trình huấn luyênh Phân lớp SVM Tệp PE Kiểm thử Thƣ viện Windows MSDN Chọn n-gram API sử dụng DCFS Mã độc Khơng có mã độc Hình 3.3 Chi tiết q trình xây dựng mơ hình phát mã độc 58 Luận văn thực thực nghiệm để xây dựng mơ hình phát mã độc dựa thuật toán phân lớp Decision Tree, Support vector Machine Đánh giá hiệu thuật toán lên hai khía cạnh thời gian độ xác thuật toán việc phân lớp Mỗi thực nghiệm có hai bƣớc huấn luyện đánh giá Bƣớc huấn luyện giúp để xây mơ hình phân lớp có độ xác tốt từ tập liệu học Bƣớc đánh giá sử dụng tập liệu kiểm thử để đánh giá độ xác mơ hình đƣợc xây dựng Mục đích mơ hình để phân lớp tập liệu vào trong kiểu mã độc Trojan, Virus, Worm kiểu Begin (không phải mã độc) Tập liệu thực nghiệm bao gồm 500 ghi, thuộc tính lớp khác mô tả Luận văn sử dụng phần mềm WEKA(Waikato Enviroment for krowledge Analysis) đƣợc cài đặt máy tính với cấu hình hệ điều hành window 32 bit, sử lý core I3 2.4 Ghz, Bộ nhớ ram 2.0 Gb Các thực nghiệm đƣợc xây dựng với thuật toán phân lớp Decision Tree (C4.5), Support vector Machine (SVM).Trong thực nghiệm sử dụng phƣơng pháp đánh giá 10-folds cross valiation để dánh giá thuật toán Kết thực nghiệm đƣợc trình bày phần sau 3.2 Tiến hành thực nghiệm 3.2.1 Phân lớp định - Sử dụng định phân lớp đa lớp: Kết thực nghiệm sử dụng phƣơng pháp đánh giá chéo 10 lần phân thành lớp có kết độ xác nhƣ sau: 59 Bảng 3.1 Bảng kết độ xác định phân lớp đa lớp Benign Virus Worm Trojan Mức độ đúng(%) 89,6 78,2 68,7 81,2 - Sử dụng định phân lớp nhị phân: Mặc dù định thực nhƣ phân lớp đa lớp Tuy nhiên để tìm mơ hình phân lớp tốt hơn, nhƣ so sánh với thuật toán phân lớp nhị phân SVM, phần xây dựng phân lớp nhị phân dựa thuật toán C4.5.Kết thực nghiệm sử dụng phƣơng pháp đánh giá chéo 10 lần phân thành lớp có kết độ xác nhƣ sau: Bảng 3.2 Bảng kết độ xác định phân lớp nhị phân Thời gian học Mức độ đúng(%) Benign 0,12 90,3 Virus 0,16 96,4 Worm 0,14 97,8 Trojan 0,13 94,9 3.2.2 Phân lớp SVM Thuật toán SVM thuật toán phân lớp nhị phân, luận văn tiến hành xây dựng thực nghiệm tập liệu Trojan, Virus Worm riêng, thực nghiệm xây dựng phân lớp để dự đoán loại mã độc cụ thể cụ thể Kết tiến hành thực nghiệm đƣợc trình bày bảng dƣới đây: 60 Bảng 3.3.Bảng kết xây dựng phân lớp SVM: Benign Virus Worm Trojan Thời gian học 0,20 0,18 0,26 0,24 Mức độ đúng(%) 91,3 99,4 97,8 96,6 3.3 Phân tích bình luận So sánh mức độ xác phân lớp đa lớp phân lớp nhị phân sử dụng định C4.5 nhận thấy phân lớp nhị phân cho kết tơt Vì đoạn so sánh phân lớp nhị phân với hai tiêu chí độ xác nhƣ thời gian kiểm thử Kết so sánh độ xác đƣợc thể thơng qua biểu đồ 1, kết so sánh thời gian đƣợc thể thông qua biểu đồ Quan sát biểu đồ thấy thuật tốn SVM cho độ xác tốt cho lớp virus, troijan có lớp worm Quan sát biểu đồ ta thấy thời gian huấn luyện định tốt nhiều so với SVM,vì việc sử dụng phân lớp định cho hệ thống phát mã độc làm tăng hiệu hệ thống lên đáng kể 100 98 96 94 92 DC 90 SVM 88 86 84 Benign Virus Worm 61 Trojan Benign Virus Worm Trojan DC 90,3 96,4 97,8 94,9 SVM 91,3 99,4 97,8 96,6 Hình3.4 Biểu đồ so sánh độ xác (%) hai thuật toán Benign Virus Worm Trojan 0,12 0,16 0,14 0,13 SVM 0,20 0,18 0,26 0,24 DC Biểu đồ 3.1 Biểu đồ so sánh thời gian huấn luyện (s) hai thuật tốn 62 KẾT LUẬN Qua q trình nghiên cứu luận văn thu đƣợc số kết sau: Về mặt lý : - Trình bày đƣợc tổng quan loại mã độc hại kỹ thuật để phát - Trình bày đƣợc khái niệm, kỹ thuật khai phá liệu bản, hiểu trình bày đƣợc chi tiết kỹ thuật phân loại dựa máy hỗ trợ vector SVM Về mặt thực nghiệm: - Luận văn định nghĩa đƣợc toán phát mã độc dựa kỹ thuật phân lớp sử dụng tập liệu thực nghiệm trình bày đƣợc mơ hình tốn - Luận văn trình bày đƣợc thực nghiệm để đánh giá độ xác thời gian thuật toán phân lớp dựa tập liệu thực nghiệm Trong tƣơng lai, thân tiếp tục phát triển luận văn theo hƣớng triển khai xây dựng sản phẩm phát mã độc 63 TÀI LIỆU THAM KHẢO M Chandrasekaran, S Vidyaraman and S Upadhyaya, SpyCon: Emulating User Activities to Detect Evasive Spyware, Performance, Computing, and Communications Conference, 2007 McAfee, Potentially Unwanted Programs: Spyware and Adware, 2005 http://www.mcafee.com/us/local_content/white_papers/ M Boldt, B Carlsson, Privacy-Invasive Software and Preventive Mechanisms, Systems and Networks Communications, 2006 ICSNC '06 International Conference, pp 21, Oct 2006 Richard H Stern, FTC cracks down on Spyware and PC hijacking, but not true lies, IEEE Computer Society, 2005 Spyware www.us- cert.gov/reading_room/ Q Hu, T Dinev, Is Spyware an Internet Nuisance or Public Menace, Communications of the ACM New York, Vol 48, No 8, pp 61-66, August 2005 Veeramani R Nitin Rai, Windows API based Malware Detection and Framework Analysis International Journal of Scientific & Engineering Research Volume 3, Issue 3, 2012 Alazab, M., Venkatraman, S & Watters, P., “Malware Detection Based on Structural and Behavioural Features of API Calls”, 1st International Cyber Resilience Conference, Edith Cowan University, Perth Western Australia, 23rd August 2010 D Krishna Sandeep Reddy, Arun K Pujari, “ N-gram analysis for computer virus detection”, Journal in Computer Virology, 231-239, Volume 2, Number 1, August 2006 Hex-Rays SA, IDA Pro, http://www.hex-rays.com/idapro/, 2008 64 10 Idapython, http:// code.google.com/p/idapython/, 2009 11 Zynamics BinNavi, http://www.zynamics.com/binnavi 12 Windows API Functions, MSDN, 13 http://msdn.microsoft.com/enus/library/aa383749%28VS.85%29.aspx., January 2010 14 D Krishna Sandeep Reddy, Arun K Pujari, “ N-gram analysis for computer virus detection”, Journal in Computer Virology, 231-239, Volume 2, Number 1, August 2006 65 ... Một số kỹ thuật phân lớp liệu 2.2.1 Khái niệm phân lớp Phân lớp liệu kỹ thuật dựa tập huấn luyện giá trị nhãn lớp thuộc tính phân lớp sử dụng việc phân lớp liệu Phân lớp tiên đoán loại lớp nhãn... tìm hiểu kỹ thuật phân lớp liệu ứng dụng phát mã độc Nhằm xấy dựng mơ hình, thuật tốn để phát đánh giá mơ hình CHƢƠNG TỔNG QUAN VỀ MÃ ĐỘC HẠI 1.1 Các loại mã độc 1.1.1 Virus Virus loại mã độc hại... phát mã độc hại 1.2.1 Phần mềm phát mã độc 1.2.2 Kỹ thuật phát phần mềm mã độc 10 1.2.3 Kỹ thuật phát dựa mẫu nhận dạng 10 1.2.4 Phát dựa đặc điểm 12 1.2.5 Phát

Ngày đăng: 29/12/2015, 15:01

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan