Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
0,93 MB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - NGUYỄN THỊ NGỌC ANH NGHIÊN CỨU PHƯƠNG PHÁP PHÁT HIỆN MÃ ĐỘC DỰA TRÊN CÁC KỸ THUẬT HỌC MÁY Chuyên ngành: HỆ THỐNG THƠNG TIN Mã số: 8.48.01.04 TĨM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI - 2019 Luận văn hoàn thành tại: HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG Người hướng dẫn khoa học: TS Hoàng Xuân Dậu Phản biện 1: PGS.TS Phạm Văn Cường Phản biện 2: PGS.TS Trần Nguyên Ngọc Luận văn bảo vệ trước Hội đồng chấm luận văn thạc sĩ Học viện Cơng nghệ Bưu Viễn thơng Vào lúc: 00 ngày 19 tháng năm 2019 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 i MỤC LỤC MỤC LỤC i MỞ ĐẦU CHƯƠNG - TỔNG QUAN VỀ MÃ ĐỘC VÀ PHÁT HIỆN MÃ ĐỘC 1.1 Tổng quan mã độc 1.1.1 Khái niệm mã độc 1.1.2 Các dạng mã độc 1.2 Các phương pháp phát mã độc 1.2.1 Phương pháp phát dựa chữ ký 1.2.2 Phương pháp phát dựa hành vi .7 1.3 Sự cần thiết học máy phát mã độc 1.4 Các nghiên cứu liên quan 1.5 Kết luận chương CHƯƠNG - PHÁT HIỆN MÃ ĐỘC DỰA TRÊN HỌC MÁY 2.1 Khái quát kỹ thuật học máy .9 2.1.1 Tổng quan học máy 2.1.2 Một số kỹ thuật học máy 10 2.2 Mô hình phát mã độc dựa học máy 12 2.3 Kết luận chương 13 CHƯƠNG - CÀI ĐẶT VÀ THỬ NGHIỆM .14 3.1 Thu thập tiền xử lý liệu 14 3.1.1 Dữ liệu mẫu 14 3.1.2 Cuckoo Sandbox 14 3.1.3 Trích xuất đặc trưng 14 3.1.4 Lựa chọn đặc trưng 15 ii 3.2 Huấn luyện kiểm thử mơ hình .15 3.3 Kết đánh giá 15 3.3.1 K-Nearest Neighbor 15 3.3.2 Support Vector Machines 16 3.3.3 J48 Decision Tree 16 3.3.4 Naïve Bayes .17 3.3.5 Random Forest 17 3.4 Nhận xét 18 3.5 Kết luận chương 19 KẾT LUẬN VÀ KIẾN NGHỊ 20 TÀI LIỆU THAM KHẢO 21 MỞ ĐẦU Lý chọn đề tài Hiện nay, phát triển nhanh chóng cơng nghệ thơng tin khơng gian mạng đem lại nhiều lợi ích đời sống xã hội Tuy nhiên, bên cạnh lợi ích mà khơng gian mạng mang lại, cịn nhiều nguy gây ảnh hưởng đến hệ thống thông tin người dùng – điển hình xuất gia tăng nhanh chóng loại mã độc nhằm đánh cắp thông tin, tống tiền, thám, cá nhân tổ chức không gian mạng Các loại mã độc ngày đa dạng tinh vi hơn, có khả lẩn tránh phần mềm anti-virus thông qua kỹ thuật nén, xáo trộn mã, tự thay đổi mã nguồn, dẫn đến việc sử dụng phương pháp rà quét phát dựa chữ ký không thực hiệu Hơn nữa, để tạo chữ ký mẫu mã độc, chuyên gia phải tiêu tốn nhiều thời gian công sức, khiến cho việc cập nhật phần mềm anti-virus chậm hơn, khó có khả phát mã độc kịp thời Để cải thiện khả nhận dạng phát mẫu mã độc mới, phương pháp phát mã độc dựa hành vi nghiên cứu triển khai Để nâng cao hiệu trình xây dựng hồ sơ phát mã độc, phương pháp học máy sử dụng để huấn luyện đặc trưng hành vi mã độc cho việc xây dựng phát Ưu điểm việc ứng dụng học máy phát mã độc tự động hóa q trình xây dựng hồ sơ phát cải thiện khả phát dạng mã độc Theo hướng nghiên cứu này, đề tài luận văn “Nghiên cứu phương pháp phát mã độc dựa kỹ thuật học máy” tiến hành nghiên cứu ứng dụng kỹ thuật học máy để tìm phương pháp phát mã độc cho hiệu cao Luận văn bao gồm chương: Chương 1: Tổng quan mã độc phát mã độc Chương giới thiệu tổng quan mã độc, bao gồm khái niệm, dạng mã độc, lịch sử phát triển tác hại mã độc Bên cạnh đó, chương giới thiệu phương pháp phát mã độc, cần thiết học máy việc phát mã độc số nghiên cứu liên quan Chương Phát mã độc dựa học máy Giới thiệu tổng quát học máy, trình bày số kỹ thuật học máy cụ thể đưa mơ hình phát mã độc dựa học máy Chương Cài đặt thử nghiệm Tiến hành thử nghiệm mô hình phát mã độc chương Bao gồm: thu thập tiền xử lý liệu, huấn luyện kiểm thử, cuối đưa kết đánh giá Mục đích nghiên cứu - Nghiên cứu phương pháp trích chọn đặc trưng dùng việc trích xuất đặc trưng hành vi mã độc để làm đầu vào cho thuật toán học máy - Thử nghiệm đánh giá số thuật toán học máy dùng để phân loại, phát mã độc Đối tượng phạm vi nghiên cứu - Đối tượng: Các kỹ thuật học máy: K-Nearest Neighbors (KNN), Cây định, Naïve Bayes, Support Vector Machine (SVM) Random Forest Công cụ sử dụng: Cuckoo Sandbox Tập liệu mẫu bao gồm mẫu mã độc thu thập từ Internet - Phạm vi: Giới hạn việc phân loại mẫu mã độc tập liệu mẫu Tập trung nghiên cứu kỹ thuật học máy K-Nearest Neighbors (KNN), Cây định, Naïve Bayes, Support Vector Machine (SVM) Random Forest Phương pháp nghiên cứu Phương pháp nghiên cứu nghiên cứu lý thuyết kết hợp với thực nghiệm phân tích, đánh giá kết CHƯƠNG - TỔNG QUAN VỀ MÃ ĐỘC VÀ PHÁT HIỆN MÃ ĐỘC 1.1 Tổng quan mã độc 1.1.1 Khái niệm mã độc Mã độc phần mềm thiết kế cách có chủ đích, dùng để gây thiệt hại tới máy tính cá nhân, máy chủ hệ thống mạng máy tính Mục đích mã độc thực thi hành vi bất hợp pháp như: truy cập trái phép, đánh cắp thông tin người dùng, lây lan thư rác, chí thực hành vi tống tiền, công gây tổn thương cho hệ thống máy tính… nhằm chuộc lợi cá nhân, lợi ích kinh tế, trị hay đơn giản chúng có tạo trị đùa ác ý Năm 2017 năm bùng nổ loại mã độc tống tiền (ransomware) loại mã độc đào tiền ảo Theo thống kê từ Symatec [26], số lượng mã độc đào tiền ảo phát năm 2017 tăng 8,500% so với năm trước Liên quan tới đào tiền ảo, thiết bị IoT mục tiêu nhắm đến Cũng theo Symatec, số lượng công nhằm vào thiết bị IoT tăng 600%, tức tội phạm mạng lợi dụng mối liên kết thiết bị để đào tiền ảo diện rộng Q trình phát triển mã độc chia làm giai đoạn [23]: - Những năm đầu (1971 – 1999): thời kỳ mã độc sơ khai, chủ yếu lây lan qua đĩa mềm truyền từ máy tính sang máy tính khác cách thủ công Khi mạng internet phát triển, người viết mã độc nhanh chóng thích nghi tận dụng phương tiện truyền thông - Tỉ lệ lây nhiễm bắt đầu gia tăng (2000 – 2010): khoảng thời gian này, mã độc gia tăng đáng kể, số lượng tốc độ lây lan Toolkits bắt đầu xuất hiện, công cụ nhắm vào websites trở nên phổ biến, khiến cho số lượng websites bị công ngày nhiều - Được phủ tài trợ, tinh vi hướng đến lợi nhuận (2010 – nay): nhóm tội phạm có tổ chức tài trợ phủ tiếp tục phát triển loại mã độc tiên tiến, có khả vượt qua hệ thống diệt virus thông thường Mã độc sử dụng để công doanh nghiệp, hệ thống quân sự, việc kiếm tiền từ phần mềm độc hại gia tăng nhanh chóng, thơng qua ransomware phần mềm bất hợp khác 1.1.2 Các dạng mã độc a) Virus máy tính Đặc điểm virus máy tính có khả tự nhân Nó thường cơng lây nhiễm vào tệp tin hệ thống nạn nhân Sau lây nhiễm vào tệp tin, virus tự động tải chạy mà không cần quyền từ người dùng Khi thực thi cố gắng chép vào bên mã thực thi khác Các mã lây nhiễm chạy tiếp tục lây nhiễm sang mã Ngoài khả đánh cắp làm hỏng liệu, virus tiêu tốn tài nguyên hệ thống – khiến cho hệ thống máy chủ trở nên chậm chạp chí bị vơ hiệu hóa Một đặc điểm thường gặp virus chúng che giấu kĩ, khiến cho chúng khó bị phát b) Worm Cũng virus, worm có khả tự nhân Tuy nhiên, worm không cần phải lây nhiễm vào tệp tin cụ thể Worm phát tán thơng qua hệ thống mạng, dựa vào lỗi bảo mật để truy cập vào máy tính nạn nhân, sau đánh cắp xóa liệu Nhiều worm thiết kế để tự phát tán mà khơng gây tổn hại đến hệ thống mà qua c) Trojan Mã độc Trojan Horse tên xuất phát từ điển tích “Con ngựa thành Troy” thần thoại Hy Lạp Tội phạm mạng cải trang trojan thành phần mềm hữu ích thuyết phục người dùng cài đặt Do vậy, cách phát tán trojan sử dụng social engineering d) Adware Adware chương trình thiết kế để hiển thị quảng cáo máy tính người dùng, sau chuyển hướng yêu cầu tìm kiếm người dùng tới website quảng cáo thu thập liệu tiếp thị người dùng Ví dụ, adware thu thập thông tin website mà người dùng truy cập, sau hiển thị quảng cáo phù hợp với nhu cầu người dùng Adware thường coi nhánh spyware không gây nhiều thiệt hại nghiêm trọng e) Spyware Spyware phần mềm dùng để theo dõi người dùng Spyware thiết kế để giám sát chặn bắt lịch sử duyệt web hoạt động khác người dùng, sau bán thông tin cho nhà quảng cáo bên thứ ba Spyware có nhiều chức so với adware, ví dụ, thu thập liệu nhạy cảm tài khoản ngân hàng, mật khẩu, thơng tin thẻ tín dụng f) Rootkit Rootkit công cụ phần mềm độc hại cho phép người dùng trái phép có quyền truy cập vào máy tính Khi rootkit cài đặt, kẻ cơng điều khiển từ xa để thực thi tệp tin thay đổi cấu hình hệ thống máy nạn nhân Rootkit khơng có khả tự nhân Chúng phải cài đặt thực thi lớp thấp hệ điều hành, kernel, hệ thống vào thiết bị (BIOS) với quyền truy cập đặc quyền, đó, chúng khó để phát gỡ bỏ Khi phát rootkit, chuyên gia khuyến cáo nên xóa ổ cứng cài lại hệ điều hành từ đầu g) Backdoor Backdoor dạng malware cung cấp cho kẻ cơng “cổng vào” bí mật tới hệ thống Backdoor không sử dụng cách riêng lẻ Nó thường hỗ trợ cho dạng cơng khác Đơi lập trình viên tạo backdoor chương trình nhằm bỏ qua bước xác thực debug máy chủ h) Keylogger Keylogger ghi lại tất phím bấm máy tính mà người dùng khơng biết Keylogger công nhận công cụ giám sát chuyên nghiệp hợp pháp Tuy nhiên, keylogger thường sử dụng với mục đích xấu, thu thập thơng tin nhạy cảm, bao gồm tài khoản, mật khẩu, câu trả lời câu hỏi bảo mật thông tin tài i) Ransomware Ransomware dạng mã độc khóa tất liệu máy tính nạn nhân, thường cách mã hóa Nạn nhân phải trả tiền để kẻ công giải mã liệu trả lại quyền truy cập Động công ransomware tiền Một bị công, máy tính bị “đóng băng”, người dùng khơng thể truy cập tệp tin nào, không dạng công khác, người dùng thông báo hướng dẫn cách tốn để khơi phục lại liệu bình thường Phương thức toán thường loại tiền ảo, Bitcoin, nhằm giữ kín danh tính kẻ cơng 1.2 Các phương pháp phát mã độc 1.2.1 Phương pháp phát dựa chữ ký Cơ sở phương pháp phân tích tĩnh, phân tích mã nguồn mà khơng cần thực thi tệp tin Phân tích tĩnh tức đọc mã nguồn mã độc cố gắng suy luận tính chất từ mã nguồn Một số kỹ thuật dùng phân tích tĩnh bao gồm [21]: Kiểm tra định dạng tệp: metadata tệp tin cung cấp thơng tin hữu ích Trích xuất chuỗi: liên quan đến việc kiểm tra đầu phần mềm (thông điệp trạng thái thông điệp báo lỗi) suy luận hoạt động mã độc Lưu vết: trước thực phân tích cần tính tốn giá trị băm tệp tin, nhằm xác minh xem tệp tin bị chỉnh sửa chưa Quét phần mềm diệt virus: tệp tin phân tích mã độc biết, hầu hết phần mềm diệt virus phát Cách thường dùng để kiểm tra lại kết phân tích Disassembly: liên quan đến việc đảo ngược mã máy thành hợp ngữ (assembly language) từ biết logic mục đích phần mềm Ư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 [21] Phát dựa chữ ký phương pháp tĩnh dựa chữ ký định nghĩa sẵn Chữ ký chuỗi băm tệp tin mã độc (MD5 SHA1), chuỗi cố định metadata tệp tin Khi nhà cung cấp giải pháp anti-malware xác định đối tượng độc hại, chữ ký thêm vào sở liệu Phương pháp phát phù hợp với dạng mã độc phổ biến, có chữ ký cố định lưu sở liệu Ngoài ra, loại mã độc cịn có khả thay đổi chữ ký nhằm tránh bị phát hiện; chữ ký tạo việc kiểm tra thành phần bên trong, mã độc cần thay đổi phần mà không làm ảnh hưởng đến chức hành vi khơng phải lúc xác Một số hành vi nguy hiểm hành vi khác, ví dụ, “thay đổi quyền” thường dẫn đến nhiều tác động nghiêm trọng đến hệ thống “thay đổi registry key” Vì số hành vi kết hợp với đáng ngờ thực thi Các kỹ thuật học máy áp dụng để tính tốn số liệu đưa kết xác Ngồi ra, học máy giúp tự động hóa q trình phát mã độc Dựa việc “học” đặc trưng mẫu, kỹ thuật học máy tự động thêm đặc trưng tối ưu hóa tập đặc trưng, loại bỏ đặc trưng dư thừa Tuy nhiên, với lượng liệu khổng lồ, để có kết tốt nhất, học máy cần kết hợp với công nghệ khác Big Data Điện toán đám mây 1.4 Các nghiên cứu liên quan Dragos Gavrilut [10] đề xuất hệ thống phát mã độc dựa thuật toán perceptron cải tiến Thuật tốn có độ xác cao có nhiều kết dương tính sai Thuật tốn cân đối có tỉ lệ dương tính sai thấp có độ xác 93.01% 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 [22] Tỉ lệ phát 97% tỉ lệ dương tính sai 0.03 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 [2] Thuật tốn có kết tốt J48, với tỉ lệ xác lên tới 99% Alazab [1] đề xuất phương pháp sử dụng API để biểu diễn đặc trưng mã độc Thuật toán Support Vector Machine cho kết tốt với tỉ lệ 97.6%, tỉ lệ dương tính sai 0.025 1.5 Kết luận chương Với phát triển nhanh chóng mã độc, phương pháp phát dựa chữ ký dựa heuristics dần khơng cịn thực hiệu Vì việc phát triển phương pháp phát yêu cầu cấp thiết Một phương pháp đề xuất kết hợp phân tích động kỹ thuật học máy để tăng độ xác q trình trích chọn đặc trưng phát Phương pháp có độ xác cao có khả phát mã độc đa hình mã độc zero-day Chương luận văn giới thiệu kỹ thuật học máy sử dụng phổ biến mơ hình phát mã độc dựa học máy CHƯƠNG - PHÁT HIỆN MÃ ĐỘC DỰA TRÊN HỌC MÁY 2.1 Khái quát kỹ thuật học máy 2.1.1 Tổng quan học máy 2.1.1.1 Khái niệm Theo wikipedia, Học máy lĩnh vực Trí tuệ nhân tạo liên quan đến việc nghiên cứu xây dựng kĩ thuật cho phép hệ thống "học" tự động từ liệu để giải vấn đề cụ thể [31] Quy trình chung tiến trình học máy thường bao gồm bước sau: Nhập liệu Đầu tiên, tập liệu tải lên từ tệp tin lưu vào nhớ Xử lý liệu Tại bước này, liệu tải lên từ bước chuyển đổi, làm chuẩn hóa để phù hợp với thuật tốn Q trình trích xuất lựa chọn đặc trưng diễn bước Sau đó, liệu chia thành hai tập – ‘tập huấn luyện’ ‘tập thử nghiệm’ Dữ liệu từ tập huấn luyện dùng để xây dựng mơ hình, sau đánh giá thông qua tập thử nghiệm Huấn luyện mơ hình Xây dựng mơ hình dựa thuật tốn lựa chọn Thử nghiệm mơ hình Mơ hình xây dựng huấn luyện bước thử nghiệm thông qua tập liệu thử nghiệm, kết sinh dùng để xây dựng nên mơ hình mới, q trình diễn lặp lặp lại gọi “học” từ mơ hình trước Triển khai mơ hình Ở bước này, mơ hình tốt lựa chọn để triển khai (sau số bước lặp định đạt kết cần thiết) 2.1.1.2 Trích chọn đặc trưng Q trình trích xuất liệu từ tệp tin gọi trích xuất đặc trưng Mục đích q trình thu tập liệu chi tiết không dư thừa Các đặc trưng phải biểu diễn thông tin quan trọng liên quan tới tập liệu không kết dự đốn khơng xác Với lĩnh vực, đặc trưng liệu khác nhau, nên khơng có phương pháp chung cho việc trích xuất đặc trưng Một yêu cầu quan trọng khác tập đặc trưng hợp lệ không dư thừa Có đặc trưng dư thừa đặc trưng nói thơng tin, thuộc tính dư thừa, gây ảnh hưởng đến thuật tốn, từ dẫn đến kết khơng xác 10 Ngoài ra, liệu đầu vào lớn (quá nhiều đặc trưng), chuyển đổi thành vector đặc trưng nhỏ (giảm bớt số đặc trưng) Quá trình gọi chọn lọc đặc trưng Kết trình lựa chọn đặc trưng bao quát từ tập liệu mà khơng làm giảm độ xác 2.1.1.3 Học có giám sát học khơng giám sát Đối với học có giám sát, việc học dựa liệu dán nhãn Trong trường hợp này, dự đoán đầu (outcome) liệu (new input) dựa cặp (input, outcome) biết từ trước Học có giám sát chia nhỏ thành hai loại chính: Phân lớp (Classification) Dựa vào tập liệu dán nhãn, với nhãn định nghĩa lớp, dự đoán xem liệu chưa biết thuộc vào lớp Hồi quy (Regression) Nhãn khơng chia thành nhóm mà giá trị thực cụ thể Ngược lại với học có giám sát, học khơng giám sát, liệu không dán nhãn Ở đây, mục tiêu tìm số mẫu tập liệu chưa phân loại, thay dự đốn số giá trị Một tốn quen thuộc học khơng giám sát phân cụm (clustering) Phân cụm việc tìm kiếm điểm chung liệu tập liệu chia chúng thành cụm tương ứng dựa vào điểm chung 2.1.2 Một số kỹ thuật học máy 2.1.2.1 K-Nearest Neighbors K-Nearest Neighbors (KNN) thuật toán đơn giản (mà hiệu vài trường hợp) số thuật toán học máy KNN thuật toán phi tham số, tức khơng đưa dự đốn cấu trúc liệu Khi huấn luyện, thuật tốn khơng học điều từ liệu huấn luyện (đây lý thuật toán xếp vào loại lazy learning) Hạn chế thuật toán KNN hiệu suất liệu phân phối không đồng Nếu lớp có nhiều điểm liệu lớp khác, điểm liệu có nhiều điểm lân cận thuộc lớp từ dẫn đến kết dự đốn khơng xác [14] 2.1.2.2 Support Vector Machines Support Vector Machines (SVM) thuật toán phổ biến thường dùng toán phân lớp Ý tưởng tìm kiếm siêu mặt phẳng phân chia lớp 11 cách tối ưu Cụm từ ‘support vector’ điểm nằm gần siêu mặt phẳng nhất, ảnh hưởng đến vị trí siêu mặt phẳng bị xóa bỏ Khoảng cách support vector siêu mặt phẳng gọi biên (margin) Mục đích SVM tìm siêu mặt phẳng cho biên lớn Thuật toán SVM thường cho kết xác, đặc biệt tập liệu “sạch” Hơn nữa, cịn phù hợp với tập liệu nhiều chiều, kể số chiều 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 [24] 2.1.2.3 Nạve Bayes Nạve Bayes thuật toán phân lớp dựa định lý Bayes lý thuyết xác suất Nó dùng cho toán nhị phân phân lớp nhiều lớp Ý tưởng thuật tốn xử lý đặc trưng cách độc lập Nạve Bayes tính tốn xác suất đặc trưng, sau đưa dự đoán dựa định lý Bayes Ưu điểm thuật toán đơn giản dễ hiểu Hơn nữa, phù hợp với tập liệu có nhiều đặc trưng khác nhau, dự đoán phụ thuộc vào xác suất đặc trưng Ngoài ra, thuật tốn tiêu tốn tài ngun, có hiệu cao, khơng cần tính tốn hệ số phụ thuật toán khác Tuy nhiên, đề cập, đặc trưng xử lý độc lập nên kết khơng xác số trường hợp [5] 2.1.2.4 J48 Decision Tree J48 Decision Tree (Cây định J48) 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 Mục đích thuật tốn đạt kết xác với số lần lựa chọn Thuật toán thường dùng định ID3 (Iterative Dichotomiser 3) Thuật toán dựa khái niệm Entropy Information Gain (Độ lợi thông tin) J48 thư viện cài đặt thuật tốn ID3 có gói ngôn ngữ R, sử dụng chương 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 q trình lựa chọn cách tường minh 12 2.1.2.5 Random Forest Random Forest thuật tốn thơng dụng học máy Ý tưởng thuật toán xây dựng định dựa tập độc lập thuộc tập liệu cho trước Tại nút, số giá trị đặc trưng lựa chọn ngẫu nhiên tìm thấy cách phân chia tốt 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 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 [16] 2.2 Mơ hình phát mã độc dựa học máy Mơ hình tổng quan phương pháp phát mã độc dựa học máy bao gồm thành phần sau: Dữ liệu: Tập liệu mẫu chia thành hai tập con: tập liệu huấn luyện (chiếm 2/3) tập liệu thử nghiệm (chiếm 1/3) Việc phân chia tiến hành ngẫu nhiên Tập liệu mẫu bao gồm tệp tin mã độc tệp tin thơng thường có định dạng: exe, pdf, docx,… Cuckoo Sandbox: Thành phần Cuckoo bao gồm máy chủ (phần mềm quản lý) số máy khách (máy ảo máy thật dùng để phân tích) Sau thống kê hành vi tệp tin, Cuckoo Sandbox đưa mức độ độc hại tệp tin dựa số chữ ký định nghĩa sẵn Trích xuất đặc trưng: Một số đặc trưng trích xuất từ sandbox là: - Hành vi tệp tin: thông tin hành vi mở tệp, ghi tệp, tạo tệp ghi lại - Các khóa registry: hệ thống Windows, registry lưu trữ cài đặt hệ thống mức thấp hệ điều hành ứng dụng Bất kỳ mẫu gây nhiều thay đổi registry – bao gồm mở, đọc, ghi, xóa khóa registry – đáng ngờ - Các tiến trình tạo ra: thơng thường mẫu mã độc sinh tiến trình riêng, nhiên số mã độc tự chạy tiến trình hệ thống 13 - Địa IP truy vấn DNS: Cuckoo bắt luồng lưu lượng mạng dạng PCAP, từ trích xuất thơng tin địa IP truy vấn DNS - Các lời gọi API: lời gọi API liên quan tới tất hoạt động diễn hệ điều hành, bao gồm hành động tệp tin, registry, mutexes, tiến trình đặc trưng đề cập Các lời gọi API biểu diễn dạng số học, thuộc tính định nghĩa giá trị API trả mã Biểu diễn đặc trưng: Với số lượng đặc trưng lớn, cần phải biểu diễn chúng cách rõ ràng, nhỏ gọn không dư thừa Luận văn sử dụng phương pháp biểu diễn dạng ma trận tần suất Ma trận tần suất thể tần suất lời gọi API Lựa chọn đặc trưng: Mục tiêu việc lựa chọn đặc trưng loại bỏ đặc trưng dư thừa, không quan trọng khỏi tập đặc trưng trở nên lớn Tập đặc trưng lớn gây tiêu tốn lượng lớn tài nguyên việc loại bỏ đặc trưng dư thừa cần thiết Ba phương pháp thường dùng trình lựa chọn đặc trưng phương pháp lọc (filter), phương pháp đóng gói (wrapper) phương pháp nhúng (embedded) [13] - Phương pháp lọc: thống kê điểm đặc trưng Đặc trưng có điểm cao giữ lại, đặc trưng có điểm thấp bị loại bỏ - Phương pháp đóng gói: đặc trưng kết hợp thành khác thử nghiệm mơ hình dự đốn Bộ đặc trưng cho kết xác lựa chọn - Phương pháp nhúng: đánh giá thuộc tính sử dụng xây dựng mơ hình 2.3 Kết luận chương Chương đưa nhìn tổng quan khái niệm học máy giới thiệu số thuật toán sử dụng luận văn, bao gồm KNN, SVM, Naïve Bayes, định, Random Forest Mơ hình phương pháp phát mã độc dựa học máy giới thiệu cuối chương, bao gồm bước: thu thập liệu, trích xuất đặc trưng, biểu diễn đặc trưng, lựa chọn đặc trưng đưa vào mơ hình học máy 14 CHƯƠNG - CÀI ĐẶT VÀ THỬ NGHIỆM 3.1 Thu thập tiền xử lý liệu 3.1.1 Dữ liệu mẫu Luận văn thu thập 1503 files liệu mẫu, có 1077 files mã độc 426 files bình thường Các files bình thường bao gồm định dạng: doc, jar, xls, pdf, exe,… chạy Windows; files mã độc thu thập từ trang “Contagio” [17] “VX Heaven” [28], bao gồm dạng mã độc: worm, trojan, virus, dạng khác (backdoor, adware, spyware, ransomware…) 3.1.2 Cuckoo Sandbox Cuckoo Sandbox cấu sau: Máy chủ: - Hệ điều hành Ubuntu 16.04 x64 - Ram 4Gb - Kết nối Internet - Sử dụng Virtualbox để cài đặt máy khách Máy khách: - Hệ điều hành Windows Professional x86 - Ram 1Gb - Adobe PDF reader - Adobe Flashplayer - Microsoft Office 2007 - Java JRE - NET framework 4.0 3.1.3 Trích xuất đặc trưng Các thuộc tính biểu diễn dạng ma trận tần suất, bao gồm tần suất lời gọi API thành công, lời gọi API thất bại mã trả chúng Dữ liệu trích xuất từ báo cáo phân tích sandbox Các báo cáo thu sau phân tích files sandbox (có định dạng JSON) xử lý đoạn script để xuất file tổng hợp (có định dạng csv) chứa đặc trưng biểu diễn dạng ma trận Số lượng API tối thiểu định nghĩa chương trình, ví dụ files có lời gọi API bỏ qua 15 3.1.4 Lựa chọn đặc trưng Việc lựa chọn đặc trưng nhằm đảm bảo loại trừ dư thừa đặc trưng không liên quan để tăng độ xác cho q trình dự đoán, đặc biệt tập đặc trưng lớn trường hợp Một thuật toán đơn giản hiệu dùng để lựa chọn đặc trưng gói thư viện Boruta nằm gói ngơn ngữ R Tuy nhiên, số lượng đặc trưng lớn, khơng đủ tài ngun để thuật tốn Boruta chạy ổn định Vì thế, cần chia nhỏ tập liệu thành tập để xử lý Sau đó, đặc trưng quan trọng thu thập từ tập hợp lại, loại bỏ đặc trưng dư thừa Cuối thực lựa chọn lần tập đặc trưng Từ tập 14789 đặc trưng, sau chạy thuật tốn rút gọn cịn 99 đặc trưng 3.2 Huấn luyện kiểm thử mơ hình Sau trích xuất lựa chọn đặc trưng, tập liệu dùng để đưa vào huấn luyện kỹ thuật học máy, bao gồm: KNN, SVM, J48 Decision Tree, Naïve Bayes, Random Forest 3.3 Kết đánh giá 3.3.1 K-Nearest Neighbor Thuật toán KNN cho kết tốt với tỉ lệ xác lên tới 99.6% Tỉ lệ FN 0, tức khơng có file mã độc bị nhận nhầm thành file bình thường Hình 3.1 Kết dự đốn thuật toán KNN 16 3.3.2 Support Vector Machines Kết thực nghiệm thuật tốn thể hình 3.5, với độ xác 98.2% Trong đó, số lượng files bình thường phát (TN) 57, số lượng files mã độc phát (TP) 211 Hình 3.2 Kết dự đốn thuật toán SVM 3.3.3 J48 Decision Tree Ưu điểm phương pháp Decision Tree thực dạng “white box” nhìn thấy q trình dự đoán cách trực quan Kết dự đoán thuật tốn thể hình 3.6 Hình 3.3 Kết dự đoán thuật toán J48 17 Độ xác thuật tốn 98.5%, với số lượng files bình thường nhận dạng 57, số lượng files mã độc nhận dạng 212 3.3.4 Nạve Bayes Thuật tốn cho kết với độ xác thấp – 54.2% Số lượng mã độc phát (TP) 91, số lượng file bình thường phát (TN) 57 Thơng tin chi tiết thể hình 3.7 Hình 3.4 Kết dự đoán thuật toán Naive Bayes Độ xác thuật tốn thấp so với thuật toán Hơn nữa, tỉ lệ file mã độc bị nhận nhầm thành file bình thường (FN) cao – 57.5%, dẫn đến thiệt hại lớn thực tế Lý dẫn đến kết thuật tốn Nạve Bayes, đặc trưng xử lý cách độc lập, điều không hầu hết trường hợp Các lời gọi APIs phụ thuộc lẫn Vì thế, thuật tốn Nạve Bayes cho kết thiếu xác 3.3.5 Random Forest Kết thực nghiệm thuật toán Random Forest thể hình 3.8 18 Hình 3.5 Kết dự đốn thuật tốn Random Forest Thuật tốn có độ xác 99.3%, gần với thuật toán J48 Số lượng file bình thường phát (TN) 58, số lượng mã độc phát (TP) 213 3.4 Nhận xét Trên luận văn trình bày trình thử nghiệm kết thử nghiệm thuật tốn Độ xác thuật toán thể bảng 3.6: Bảng 3.1 Kết thực nghiệm Thuật tốn Nạve SVM Độ xác 99.6% 98.1% 54.2% 98.5% 99.3% TP 214 211 91 212 213 FP 2 TN 58 57 57 57 58 FN 123 Kết Bayes J48 Random KNN Forest Mặc dù thuật toán KNN có độ xác cao nhất, luận văn kiến nghị sử dụng thuật toán Random Forest Bởi kết thuật tốn KNN cịn phụ thuộc vào việc lựa chọn k KNN phù hợp với tập liệu nhỏ lớp phân bố – không phù hợp mở rộng liệu mẫu Đối với thuật toán Random Forest, tỉ lệ FN, tức khả phát sai file mã độc thành file bình thường thấp thuật tốn lại 19 3.5 Kết luận chương Chương trình bày trình thử nghiệm, bao gồm bước thực hiện, kết thực nghiệm, đánh giá nhận xét kỹ thuật học máy Trong năm kỹ thuật đề cập trên, luận văn kiến nghị ứng dụng Random Forest vào toán phát mã độc thực tế, với độ xác 99.3%, có tỉ lệ FN thấp – 0.05% phù hợp với tốn có tập liệu lớn 20 KẾT LUẬN VÀ KIẾN NGHỊ Những đóng góp luận văn Luận văn nghiên cứu phương pháp phát mã độc dựa kỹ thuật học máy đạt số kết sau: Giới thiệu tổng quan mã độc: khái niệm, phân loại phương pháp phát mã độc truyền thống Trình bày sở lý thuyết đưa mơ hình phát mã độc dựa kỹ thuật học máy KNN, SVM, Decision Tree, Naïve Bayes, Random Forest Tiến hành thực nghiệm, đánh giá so sánh kết Tóm lại, q trình thực nghiệm tóm tắt sau: sử dụng cuckoo sandbox để trích xuất đặc trưng biểu diễn đặc trưng dạng ma trận tần suất lời gọi API với mã trả chúng Phương pháp thể thơng tin thay đổi hệ thống, bao gồm thay đổi registry, mutexes, tệp tin,… Sau sử dụng thư viện Boruta để lựa chọn đặc trưng quan trọng loại bỏ đặc trưng dư thừa Cuối xử lý liệu mẫu đưa vào thuật toán học máy để thực phân lớp Thuật toán kiến nghị sử dụng Random Forest có độ xác cao, phù hợp với tập lớn có nhiều nhiễu Ngồi ra, thuật toán cho tỉ lệ FN thấp – tức khơng có file mã độc bị nhận sai thành file bình thường Hướng phát triển Hiện tại, luận văn sử dụng cuckoo sandbox để trích xuất đặc trưng Q trình tốn nhiều thời gian tài nguyên hệ thống Hướng phát triển kết hợp q trình trích xuất lựa chọn đặc trưng để tăng hiệu cho q trình trích chọn đặc trưng Ngồi luận văn mở rộng tập liệu mẫu, tập liệu chứa số lượng nhỏ dạng mã độc khác Để tăng độ xác cho kết phát hiện, cần sử dụng tập liệu lớn đa dạng 21 TÀI LIỆU THAM KHẢO Tiếng Anh: [1] Alazab, Mamoun, Sitalakshmi Venkatraman, Paul Watters, and Moutaz Alazab (2011) Zero-day Malware Detection based on Supervised Learning Algorithms of API call Signatures Proceedings of the 9-th Australasian Data Mining Conference, 171-181 [2] Baldangombo Usukhbayar, Nyamjav Jambaljav, Shi-Jinn Horng (2013) A Static Malware Detection System Using Data Mining Methods Cornell University [3] Baskaran, Balaji, Anca Ralescu (2016) A Study of Android Malware Detection Techniques and Machine Learning Proceedings of the 27th Modern Artificial Intelligence and Cognitive Science Conference [4] Biau, G (2013) Analysis of a Random Forests Model Journal of Machine Learning Research, 1063-1095 [5] Bishop, C (2006) Pattern Recognition and Machine Learning New York: Springer [6] Cloonan, J (2017, 04 11) Advanced Malware Detection - Signatures vs Behavior Analysis [7] Cuckoo Sandbox (Cuckoo Foundation) Retrieved from https://cuckoo.readthedocs.io/en/latest/introduction/what/#architecture [8] Egele, Manuel, Theodoor Sholte, Engin Kirda, Christofer Kruegel (2012) A Survey on Automated Dynamic Malware Analysis Techniques and Tools ACM Computing Surveys [9] First computer virus of Bob Thomas Retrieved 10 03, 2018, from http://historycomputer.com/Internet/Maturing/Thomas.html [10] Gavrilut, Dragos, Mihai Cimpoesu, Dan Anton, Liviu Ciortuz (2009) Malware Detection Using Machine Learning The International Multiconference on Computer Science and Information Technology [11] Harley, David, Andrew Lee (2009) Heuristic Analysis — Detecting Unknown Viruses [12] Hung, P V (2011) An approach to fast malware classification with machine learning technique [13] Isabelle Guyon, Andre Elisseef (2006) An Introduction to Feature An Introduction to Feature New York [14] Jorma Laaksonen, Erkki Oja (1996) Classification with learning k-Nearest Neighbors 22 [15] Krishna Sandeep Reddy, Arun Pujari (2006) N-gram analysis for computer virus detection [16] Louppe, G (2014) Understanding Random Forests [17] Contagio Malware dump Retrieved from http://contagiodump.blogspot.com/ [18] Miron B Kursa, Witold R Rudnicki (2010) Feature selection with the Boruta package Journal of Statistical Software, 36 [19] Mitchell, T (1997) Machine Learning [20] Pirscoveanu, R.-S (2015) Clustering Analysis of Malware Behavior Aalborg University [21] Prasad, B Jaya, Haritha Annangi, Krishna Sastry Pendyala (2016) Basic static malware analysis using open source tools [22] Priyank Singhal, Nataasha Raul (2015) Malware Detection Module using Machine Learning Algorithms to Assist in Centralized Security in Enterprise Networks [23] Rankin, B (2018, 04 05) A Brief History of Malware — Its Evolution and Impact Retrieved 10 03, 2018, from https://www.lastline.com/blog/history-of-malware-itsevolution-and-impact/ [24] Ranzhe Jing, Yong Zhang (2010) A View of Support Vector Machines Algorithm on Classification Problems International Conference on Multimedia Communications [25] Swain, Philip H., Hans Hauska (1977) The Decision Tree classifier: design and potential IEEE Transactions on Geoscience Electronics [26] Symatec (2018) 2018 Internet Security [27] Thirumuruganathan, S (2010) A Detailed Introduction to K-Nearest Neighbor (KNN) Algorithm [28] VX Heaven windows virus collection Retrieved from https://archive.org/details/vxheaven-windows-virus-collection [29] W N Venables, and D M Smith (2016) An Introduction to R [30] When did the term 'computer virus' arise? Retrieved 10 03, 2018, from https://www.scientificamerican.com/article/when-did-the-term-compute/ Tiếng Việt: [31] https://vi.wikipedia.org/wiki/H%E1%BB%8Dc_m%C3%A1y#%C4%90%E1%BB%8 Bnh_ngh%C4%A9a Đã truy cập 10 08, 2018 ... độc Theo hướng nghiên cứu này, đề tài luận văn ? ?Nghiên cứu phương pháp phát mã độc dựa kỹ thuật học máy? ?? tiến hành nghiên cứu ứng dụng kỹ thuật học máy để tìm phương pháp phát mã độc cho hiệu cao... thiết học máy việc phát mã độc số nghiên cứu liên quan Chương Phát mã độc dựa học máy Giới thiệu tổng quát học máy, trình bày số kỹ thuật học máy cụ thể đưa mơ hình phát mã độc dựa học máy Chương... - PHÁT HIỆN MÃ ĐỘC DỰA TRÊN HỌC MÁY 2.1 Khái quát kỹ thuật học máy .9 2.1.1 Tổng quan học máy 2.1.2 Một số kỹ thuật học máy 10 2.2 Mơ hình phát mã độc dựa học