Mục đích nghiên cứu của Luận văn này nhằm xây dựng và thử nghiệm mô hình phát hiện botnet trên các thiết bị IoT bằng thuật toán One-class SVM. Để hiểu rõ hơn mời các bạn cùng tham khảo thông tin chi tiết Luận văn này.
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - Trần Đình Tân ỨNG DỤNG THUẬT TOÁN ONE-CLASS SVM TRONG PHÁT HIỆN BOTNET TRÊN CÁC THIẾT BỊ IOT 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 Ngô Quốc Dũng (Ghi rõ học hàm, học vị) Phản biện 1: PGS TS Nguyễn Hà Nam Phản biện 2: PGS.TS Nguyễn Mạnh Hùng 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 11 tháng 01 năm 2020 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 MỞ ĐẦU Lý chọn đề tài Trong cách mạng công nghiệp 4.0, Internet vạn vật (Internet of Things - IoT) xu hướng công nghệ phát triển mạnh mẽ làm thay đổi cách sống cách làm việc người Tuy nhiên, nhiều thiết bị kết nối với để chia sẻ thơng tin đồng nghĩa với việc xuất thêm nhiều lỗ hổng bảo mật đe dọa an tồn thiết bị IoT Bên cạnh đó, nhiều chuyên gia an ninh mạng đánh giá công mạng vào thiết bị IoT để lại hậu nghiêm trọng so với công vào hệ thống máy tính thơng thường Theo số liệu tính đến đầu năm 2018 Kaspersky Lab cho biết tổng số mẫu phần mềm độc hại nhắm đến thiết bị IoT họ phát lên tới 7.000, nửa xuất năm 2017 Hầu hết công nhắm vào máy ghi hình kỹ thuật số máy quay IP (chiếm 63%), 20% vào thiết bị mạng, gồm router, modem Khoảng 1% mục tiêu thiết bị quen thuộc người dùng máy in thiết bị gia đình thơng minh khác Các mã độc nói chung mã độc thiết bị IoT nói riêng có nhiều biến thể việc phát khó khăn Việc thu thập mã độc thực thông qua hệ thống HoneyPot cho thiết bị IoT IoTPot, Detux Tuy nhiên, việc thu thập tệp tin lành tính để từ áp dụng thuật toán học máy nhằm phân biệt, phát tệp tin mã độc lại chưa có nhiều Để thực việc phân biệt tệp tin mã độc lành tính điều kiện số lượng tệp tin hai lớp mã độc/lành tính chênh lệch lớn việc sử dụng thuật tốn học máy lớp trở nên cần thiết Thuật toán One-class SVM ứng dụng nhiều vào toán phân lớp mã độc chứng minh có hiệu việc phát mã độc thông thường Từ lý thực tiễn đảm bảo an ninh mạng cho thiết bị IoT em đề xuất đề tài luận văn: “Ứng dụng thuật toán One-class SVM phát botnet thiết bị IoT” Tổng quan vấn đề nghiên cứu Hiện nay, giới có nhiều cơng trình nghiên cứu botnet thiết bị IoT, điển hình cơng trình nghiên cứu nhóm tác giả Vitor Hugo Bezerra thành viên công bố vào năm 2018, với tiêu đề: One-class Classification to Detect Botnets in Iot a devices Trong cơng trình nghiên cứu nhóm tác giả xây dựng mơ hình phát botnet chạy thử nghiệm thiết thị Rasperrypi, bước tiến hành sau: cài đặt công cụ thu thập liệu thiết bị IoT; thu thập liệu; chuẩn hóa liệu thu thập; trích xuất đặc trưng; training model; vận hành thử nghiệm Các kết đạt khả quan, nhiên tập dataset nhóm tác giả có mẫu mã độc, khơng có mẫu nên tập dataset bị lệch dẫn đến kết nhận diện khơng cao Bên cạnh tác giả thử nghiệm mơ hình thiết bị Raspberry pi Tại Hội thảo quốc gia lần thứ XX: Một số vấn đề chọn lọc Công nghệ thông tin truyền thông năm 2017 diễn Quy Nhơn, nhóm tác giả Lê Hải Việt thành viên công bố báo: Xây dựng mô hình phát mã độc thiết bị định tuyến tác tử Trong báo này, nhóm tác giả đề xuất giải pháp phát botnet thiết bị router mà chưa đề cập đến thiết bị IoT khác Mục đích nghiên cứu Xây dựng thử nghiệm mơ hình phát botnet thiết bị IoT thuật toán One-class SVM Đối tượng phạm vi nghiên cứu Đối tượng nghiên cứu: - Thuật toán one-class, SVM, one-class SVM; - Các thiết bị IoT; - Botnet thiết bị IoT Phạm vi nghiên cứu: - Hiện nay, có nhiều chủng loại thiết bị IoT, nhiên, phạm vi nghiên cứu đề tài tập trung vào thiết bị IoT dân dụng Các thuật toán học máy sử dụng đặc trưng System-call Graph với liệu từ IoTPot gồm 4000 mẫu IoT botnet thu thập thêm từ nguồn khác như: Virusshare,… Phương pháp nghiên cứu - Phương pháp nghiên cứu lý thuyết: Đọc phân tích tài liệu thuật toán học máy; - Phương pháp thực nghiệm: Xây dựng thử nghiệm mơ hình áp dụng thuật toán one-class SVM phát botnet thiết bị IoT Nội dung Cấu trúc luận văn bao gồm chương, cụ thể sau: CHƯƠNG 1: TỔNG QUAN VỀ MÃ ĐỘC IOT BOTNET VÀ CÁC BIỆN PHÁP PHÁT HIỆN Chương trình bày kiến thức tổng quan thuật toán học máy: one-class; SVM; one-class SVM trình bày phát botnet thiết bị IoT CHƯƠNG 2: XÂY DỰNG MÔ HÌNH PHÁT HIỆN IOT BOTNET Chương trình bày việc áp dụng thuật toán học máy oneclass SVM vào việc xây dựng mơ hình phát botnet thiết bị IoT CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ Chương trình bày bước cài đặt mơ hình, thử nghiệm, từ kết thu đưa nhận xét, đánh giá CHƯƠNG 1: TỔNG QUAN MÃ ĐỘC IOT BOTNET VÀ CÁC BIỆN PHÁP PHÁT HIỆN 1.1 Tổng quan mã độc IoT Botnet 1.1.1 Tổng quan thiết bị IoT dân dụng Các thiết bị IoT dân dụng phần lớn bao gồm thiết bị định tuyến, IP Camera thiết bị Smartbox-TV Tác giả lựa chọn trình bày chi tiết kiến trúc thiết bị định tuyến Thiết bị định tuyến thiết bị mạng lớp mơ hình OSI (Network Layer) với cấu tạo phần cụ thể bao gồm: CPU, ROM, RAM, FLASH, NVRAM Cấu trúc firmware đa dạng, phụ thuộc vào chức thiết kế nhà sản xuất Các firmware chia thành kiểu sau: - Integrated (apps + OS-as-a-lib); - Partial updates (apps or libs or resources or support) 1.1.2 Tổng quan mã độc Botnet thiết bị IoT dân dụng Hiện nay, mã độc botnet thiết bị IoT dân dụng có loại sau đây: - Linux.Hydra: Là mã độc lây nhiễm thiết bị IoT (gọi tắt mã độc IoT) Linux.Hydra xuất vào năm 2008 - Psyb0t: Tương tự mã độc Linux.Hydra, mã độc Psyb0t phát lây nhiễm thiết bị định tuyến, modem DSL có vi xử lý MIPS litteendian chạy firmware Mipsel Linux vào năm 2009 - Chuck Norris: Ngay mã độc botnet Psyb0t tạo ra, mẫu mã độc phát triển trở thành đối thủ cạnh tranh năm 2010, gọi mã độc Chuck Norris - Tsunami/Kaiten: Tsunami cịn thực cơng số kỹ thuật phức tạp HTTP Layer Flood, TCP XMASS - Aidra/LightAidra/Zendran: Xuất khoảng 2012, loại mã độc có nhiều phần mã nguồn tương tự - Spike/Dofloo/MrBlack/Wrkatk/Sotdas/AES.DdoS: năm 2014 dòng mã độc xuất với nhiều loại mã độc Spike, Dofloo, khó phân biệt mã độc - Bashlite/Lizkebab/Torlus/Gafgyt: Xuất vào năm 2014, có nhiều đặc điểm tương tự dịng mã độc Spike - Elknot/BillGates Botnet: phát vào năm 2015, mã độc sử dụng phổ biến Trung quốc để thực công từ chối dịch vụ phân tán (DRDOS) - XOR.DdoS: Trong năm 2015, sóng mã độc khai thác lỗ hổng Shellshock có tên XOR.DdoS âm thầm lây nhiễm nhiều thiết bị IoT - Remaiten/KTN-RM: Xuất năm 2015 biết đến rộng rãi mã độc Mirai Remaiten kết hợp đặc điểm hai loại mã độc Tsunami BASHLITE - NewAidra/IRCTelnet: biết đến với tên gọi Linux.IRCTelnet, mã độc kết hợp dựa mã nguồn gốc Aidra, giao thức Kaiten IRC based, mã dò quét/mã lây nhiễm BASHLITE từ điển công Mirai - Darlloz: Hãng Symantec phát sâu mã độc có tên gọi Darlloz, năm 2013, mã độc khai thác lỗ hổng PHP có mã CVE-20121823 - Mirai: Là mã độc bật năm qua, sử dụng để thực vụ công từ chối dịch vụ phân tán có tính quy mơ lớn 1.2 Tổng quan phương pháp phát mã độc 1.2.1 Phân tích tĩnh Phương pháp phân tích tĩnh mã độc dựa đặc trưng tập tin mà không cần thực thi chúng để phát mã độc Ưu điểm: Các phương pháp tĩnh có ưu điểm lớn phân tích cách chi tiết tập tin đưa nhìn tổng quát tất khả kích hoạt chúng Hạn chế: Hạn chế lớn phân tích tĩnh mã độc sử dụng kỹ thuật gây rối phức tạp (obfuscations) xếp lại câu lệnh, chèn mã lệnh vơ nghĩa, khó thu thập thơng tin ngữ nghĩa xác cho việc phân tích 1.2.2 Phân tích động Kỹ thuật phân tích động thơng qua việc thực thi mã chương trình quan sát hành vi để phát có hay khơng mã độc Ưu điểm: Phương pháp phân tích động có hiệu độ xác, cho phép xác định nhanh chóng tổng qt mã độc phân tích thơng qua hành vị bộc lộ chúng Hạn chế: Mặc dù có ưu điểm nêu, phân tích động giám sát đơn luồng thực thi Ngồi phân tích động gây nguy an toàn cho mạng hệ thống 1.2.3 Phân tích lai Cả phân tích tĩnh phân tích động có hạn chế định Vì phân tích tĩnh phân tích động bổ trợ lẫn Vì vậy, nghiên cứu phương pháp lai tiếp cận theo hướng phân tích tĩnh trước sau tiến hành dị qt động để bổ sung thông tin nhằm xác định mã độc sử dụng phân tích động để thực bóc tách mã độc sử dụng phân tích tĩnh 1.3 Tổng quan học máy 1.3.1 Các khái niệm 1.3.1.1 Khái niệm học máy 10 Trong tốn học máy có hai bước (phase) lớn bước huấn luyện bước kiểm thử Dữ liệu chia thành liệu huấn luyện liệu kiểm thử Bước huấn luyện sử dụng liệu huấn luyện, bước kiểm thử sử dụng kiểm thử 1.3.2 Support vector machines Support vector machines (SVM) thuật toán phân lớp phổ biến hiệu SVM hoạt động dựa nguyên tắc: - SVM tìm cách phân lớp siêu phẳng cho khoảng cách từ siêu phẳng tới lớp lớn Nguyên tắc gọi nguyên tắc lề cực đại (max margin); - Trong trường hợp, phân lớp siêu phẳng SVM ánh xạ khơng gian ban đầu sang khơng gian khác (thường có số chiều nhiều hơn), sau tìm lề cực đại khơng gian 1.4 Kết luận chương Trong nội dung chương tác giả tập trung vào việc trình bày: kiến thức tổng quan IoT; mã độc IoT botnet; tổng quan phương pháp phát mã độc; tổng quan học máy thuật toán học SVM Các kiến thức kiến thức tảng để tác giả vận dụng đề xuất nên mơ hình phát mã độc IoT botnet trình bày chương 11 CHƯƠNG 2: XÂY DỰNG MÔ HÌNH PHÁT HIỆN MÃ ĐỘC IOT BOTNET 2.1 Mơ hình tổng quan Mơ hình tổng quan tốn áp dụng học máy phát mã độc IoT botnet có hai pha: pha huấn luyện (trainning) pha kiểm thử (testing) Hình 2.1 Pha huấn luyện hơ hình phát botnet thiết bị IOT 12 Hình 2.1 Pha kiểm thử mơ hình phát mã độc IoT botnet Hai pha huấn luyện kiểm thử có bước tiền xử lý liệu giống là: Thu thập liệu Emulator (QEMU); Xây dựng đồ thị SCG (SCG generation); Xây dựng đồ thị nhúng (graph embedding) 13 Sau có vector đặc trưng từ bước xây dựng đồ thị nhúng, pha huấn luyện sử dụng thêm liệu nhãn đánh dấu mã độc/lành tính tập liệu huấn luyện để đưa vào kỹ thuật học máy để sinh model Trong pha huấn luyện sử dụng model xây dựng pha huấn luyện, với liệu kiểm thử để đưa kết phát Trong phần tiếp theo, tác giả mô tả chi tiết chức cấu trúc thành phần cụ thể 2.2 Thu thập liệu Trong giai đoạn này, mơ hình sử dụng QEMU để giả lập kiến trúc chíp ARM, MIPS kiến trúc sử dụng phổ biến thiết bị IOT dân dụng, sau chạy ảnh QEMU Debian VM dành riêng cho kiến trúc chíp ARM, MIPS Công việc sử dụng strace tool để trích xuất lời gọi hệ thống tệp tin mã độc Đầu vào giai đoạn tệp tin mã độc kết đầu tập tệp tin log lưu trữ chi tiết lời gọi hệ thống tệp tin mã độc Nhiều giải pháp Sandbox tương đối hồn chỉnh cho phân tích mã độc xây dựng Cuckoo sandbox Tuy nhiên, kiến trúc chíp ARM, MIPS Cuckoo sandbox cho kết nhật ký lời gọi hệ thống không đầy đủ chi tiết Vì vậy, luận văn tác giả sử dụng giả lập QEMU để mô kiến trúc chíp ARM, MIPS sử dụng mã nguồn mở Strace tool để thu thập log điều quan trọng sử dụng ảnh QEMU Debian VM dành cho kiến trúc ARM, MIPS Aurel đăng tải lên 14 QEMU phần mềm mã nguồn mở viết Fabrice Bellard dùng để giả lập ảo hóa phần cứng QEMU mơ vi xử lý máy thông qua dịch nhị phân động cung cấp mơ hình phân cứng thiết bị khác điều cho phép QEMU chạy với nhiều hệ điều hành khác Khi sử dụng trình ảo hóa, QEMU đạt hiệu gần máy thật cách thực thi mã khách trực tiếp CPU máy chủ Bên cạnh đó, QEMU lưu trữ khôi phục lại trạng thái làm việc hệ điều hành với tất chương trình chạy Strace tiện ích sử dụng để chẩn đoán, gỡ lỗi hệ điều hành linux Strace viết Paul Kranenburg vào năm 1991 dành cho SunOS Nó sử dụng để giám sát giả mạo tương tác quy trình nhân Linux, bao gồm lời gọi hệ thống, phân phối tín hiệu thay đổi trạng thái quy trình 2.3 Xây dựng đồ thị SCG Thuật tốn xây dựng đồ thị lời gọi hệ thống biểu diễn sau: 1: function scg_generation(S[], id) Input: - S[]: a list of system-calls log for each process - id: PID of the process Output: system call graph(SCG) 2: s_log = S[id] 3: V=[], E=[] 4: SCG = (V,E) 5: V = V ∪ {s_log[0]} 15 6: for(i=1;i