0

Ứng dụng thuật toán ONE CLASS SVM trong phát hiện BOTNET trên các thiết bị IOT

62 28 0
  • Ứng dụng thuật toán ONE CLASS SVM trong phát hiện BOTNET trên các thiết bị IOT

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

Tài liệu liên quan

Thông tin tài liệu

Ngày đăng: 29/10/2020, 19:23

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - Trần Đình Tân LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) HÀ NỘI - 2020 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Ố: LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) NGƯỜI HƯỚNG DẪN KHOA HỌC : TS NGÔ QUỐC DŨNG HÀ NỘI - 2020 i LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu riêng Các số liệu, kết nêu luận văn trung thực chưa công bố cơng trình khác Hà Nội, ngày tháng 11 năm 2019 TÁC GIẢ LUẬN VĂN TRẦN ĐÌNH TÂN ii LỜI CẢM ƠN Tơi xin trân trọng cảm ơn thầy cô Khoa công nghệ thông tin tạo điều kiện cho môi trường học tập tốt, đồng thời truyền đạt cho vốn kiến thức quý báu, tư khoa học để phục vụ cho q trình học tập cơng tác Tôi xin gửi lời cảm ơn đến bạn lớp Cao học Hệ thống thông tin M18CQIS01-B giúp đỡ suốt thời gian học tập vừa qua Đặc biệt, xin bày tỏ lịng biết ơn sâu sắc đến thầy TS NGƠ QUỐC DŨNG tận tình bảo cho tơi suốt q trình học tập nghiên cứu, giúp tơi có nhận thức đắn kiến thức khoa học, tác phong học tập làm việc, tạo điều kiện thuận lợi để tơi hồn thành luận văn Cuối cùng, tơi xin gửi lời cảm ơn tới gia đình, đồng nghiệp, người thân động viên, giúp đỡ q trình hồn thành luận văn Hà nội, tháng 11 năm 2019 Tác giả luận văn iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC .iii DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT v DANH MỤC CÁC BẢNG vi DANH MỤC CÁC HÌNH vii MỞ ĐẦU 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 1.1.2 Tổng quan mã độc Botnet thiết bị IoT dân dụng 1.2 Tổng quan phương pháp phát mã độc 12 1.2.1 Phân tích tĩnh 12 1.2.2 Phân tích động 14 1.2.3 Phân tích lai 16 1.3 Tổng quan học máy 18 1.3.1 Các khái niệm 18 1.3.2 Support vector machines 22 1.4 Kết luận chương 27 CHƯƠNG 2: XÂY DỰNG MƠ HÌNH PHÁT HIỆN MÃ ĐỘC IOT BOTNET 28 2.1 Mơ hình tổng quan 28 iv 2.2 Thu thập liệu 30 2.3 Xây dựng đồ thị SCG 33 2.4 Đồ thị nhúng 36 2.5 Thiết lập mơ hình học máy 38 2.6 Kết luận chương 40 CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ 41 3.1 Thu thập tiền xử lý liệu 41 3.1.1 Dữ liệu mẫu 41 3.1.2 QEMU 42 3.1.3 Thu thập liệu 3.1.4 Xây dựng đồ thị SCG đồ thị nhúng 43 44 3.2 Thử nghiệm 45 3.3 Nhận xét đánh giá 46 3.3.1 Các tiêu chí đánh giá 46 3.3.2 Đánh giá kết 48 3.4 Kết luận chương 49 KẾT LUẬN 50 DANH MỤC CÁC TÀI LIỆU THAM KHẢO 51 DANH MỤC CÁC KÝ HIỆU, CÁ STT Viết tắt ARM IoT IRC MIPS OSVM PPC SCG SVM vi DANH MỤC CÁC BẢNG Bảng 2.1 Bảng mã hóa hàm hệ thống 34 Bảng 3.1 Kết Confusion matrix 48 vii DANH MỤC CÁC HÌNH Hình 1.1 Cấu trúc thiết bị định tuyến Hình 1.2 Nền tảng hệ điều hành phổ biến thiết bị định tuyến Hình 1.3 Sự tương quan số mã độc IoT Ddos .11 Hình 1.4 Mơ hình thường gặp thuật toán học máy 21 Hình 1.5 Phân loại tuyến tính 23 Hình 1.6 Biên lớp 24 Hình 1.7 Hai trường hợp SVM hoạt động không hiệu 25 Hình 2.1 Pha huấn luyện hơ hình phát botnet thiết bị IOT 28 Hình 2.2 Pha kiểm thử mơ hình phát mã độc IoT botnet .29 Hình 2.3 Kết trả lệnh strace 33 Hình 2.4 Biểu đồ tần suất gọi hàm hệ thống 35 Hình 2.5 Ví dụ đồ thị lời gọi hệ thống 36 Hình 2.6 Mơ hình vertex embeddings 37 Hình 2.7 Siêu cầu bao lấy tất điểm liệu 38 Hình 3.1 Các tệp tin mẫu chứa mã độc botnet thiết bị IOT .41 Hình 3.2 Mơ hình cài đặt máy chủ - máy khách 42 Hình 3.3 Kết thu thập thực thi mã độc máy khách 43 Hình 3.4 Các tệp tin nhật ký thu thập môi trường sandbox 44 Hình 3.5 Cấu trúc lưu trữ liệu đồ thị lời gọi hàm hệ thống .44 Hình 3.6 Cấu trúc đồ thị nhúng 45 Hình 3.7 Đường ROC mơ hình đề xuất kiểm thử 49 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[18] 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 39 Ý tưởng phân loại lớp dựa SVM (OSVM) việc xác định siêu cầu nhỏ (có tâm c bán kính r) bao lấy tất điểm liệu OSVM xác định sau: , ℎ ||Φ( ) − || ≤ ∀ = 1,2, … , Tuy nhiên công thức hạn chế nhạy cảm với nhiễu Do cơng thức linh hoạt xây dưng để giảm nhiễu chấp nhận sau: Sao cho Từ điều kiện tối ưu Karush-Kuhn-Tucker (KKT), có ′ giải pháp cho vấn đề tối ưu hóa: Sao cho Một số phương pháp đề xuất để giải vấn đề phân loại lớp Các cách tiếp cận phân loại thành ba loại chính: ước tính mật độ, phương pháp biên phương pháp tái thiết 40 2.6 Kết luận chương Nội dung chương vào nghiên cứu lý thuyết chương đưa mơ hình đề xuất cho phương pháp phát mã độc IoT botnet Mơ hình phát bao gồm hai pha: Huấn luyện kiểm thử Các biến tiền xử lý hai pha giống bao gồm bước:  Thu thập liệu Emulator (QEMU);  Xây dựng đồ thị SCG (SCG generation);  Xây dựng đồ thị nhúng (graph embedding) 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 chương 3, tác giả mô tả bước cài đặt môi trường, công cụ sử dụng để xây dựng kiểm thử mơ hình học máy 41 CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ Nội dung chương tiến hành áp dụng mơ hình phát botnet thiết bị IOT đề xuất chương vào tập liệu mẫu Sau kết đưa nhật xét đánh giá chất lượng mơ hình 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 1,326 tệp tin liệu mẫu từ nguồn VirusShare, IoTPOT nguồn khác, có 1,248 tệp tin có chứa mã độc 78 tệp tin lành tính khơng chưa mã độc Tất liệu mẫu ứng dụng chạy hệ điều hành linux Hình 3.1 Các tệp tin mẫu chứa mã độc botnet thiết bị IOT Tập liệu mẫu chia thành hai tập con: tập liệu huấn luyện chiếm 75% tập liệu kiểm thử chiếm 25% số tệp có mã độc, tệp tin mẫu có chứa mã độc chia ngẫu nhiên Tuy nhiên, mơ hình học máy luận văn áp dụng thuật toán One-class SVM nên tập huấn luyện chứa tệp tin mẫu có 42 mã độc mà khơng chứa tệp tin lành tính Các tệp tin lành tính với 25% tệp tin mã độc sử dụng để kiểm thử chất lượng mơ hình 3.1.2 QEMU Để đảm bảo hành vi mã độc ghi lại đầy đủ, xác nhanh chóng, máy chủ máy khách cấu sau:  Máy chủ: oCPU Intel Xeon CPU E3 – 1230 v6 3.50 GHz oHệ điều hành Ubuntu 16.04 x64 oRam Gb oKết nối Internet oQEMU  Máy khách: oRam GB oHệ điều hành: Aurel’s Debian Image oKết nối brige sang máy chủ Hình 3.2 Mơ hình cài đặt máy chủ - máy khách 43 Máy chủ Ubuntu có chức năng:  Cài đặt máy khách QEMU để thu thập lời gọi hệ thống tập liệu mẫu;  Cài đặt chạy thuật toán để chuyển đổi log lời gọi hệ thống sang đồ thị lời gọi hệ thống;  Chạy chức Graph2vec để chuyển đổi đồ thị lời họi hệ thống sang vector;  Cài đặt huấn luyện thuật tốn One-class SVM từ liệu trích chọn từ bước Máy khách QEMU có chức năng:  Cài đặt công cụ Strace tool để thu thập lời gọi hệ thống tập liệu mẫu;  Thực thi tệp tin mã độc ghi log lời gọi hệ thống tập tin 3.1.3 Thu thập liệu Để thu thâp liệu cách tự động, tác giả chép tệp tin mẫu mã độc vào máy khách sau chạy đoạn mã GetLog.sh để lấy log lời gọi hàm hệ thống Với log tệp tin mẫu mã độc lưu trữ tệp tin text Hình 3.3 Kết thu thập thực thi mã độc máy khách 44 Hình 3.4 Các tệp tin nhật ký thu thập môi trường sandbox 3.1.4 Xây dựng đồ thị SCG đồ thị nhúng Với kết thu thập từ bước trên, tất tệp tin log lời gọi hệ thống chép máy chủ, sau tiến hành chạy thuật tốn để tiến hành xây dựng đồ thị lời gọi hệ thống chuyển đồ thị thành vector Với thuật tốn xây dựng đồ thị lời gọi hệ thống mô tả chương 2, tác giả cụ thể ngôn ngữ python để chạy máy chủ ubuntu Kết trả với tệp tin mẫu tệp tin có định dạng xml lưu trữ thông tin đỉnh, cạnh đồ thị lời gọi hàm hệ thống Hình 3.5 Cấu trúc lưu trữ liệu đồ thị lời gọi hàm hệ thống Bước tác giả sử dụng mã nguồn mở graph2vec để chuyển đổi đồ thị lời gọi hàm hệ thống thành đồ thị nhúng Đầu vào bước tệp 45 tin đồ thị *.gexf đầu ma trận chiều với hàng vector đồ thị Ma trận vector lưu trữ tệp tin *.txt có cấu trúc hình Hình 3.6 Cấu trúc đồ thị nhúng Kết cuối bước vector đặc trưng đưa vào thuật toán học máy bước 3.2 Thử nghiệm Trong bước tác giả cài đặt thuật toán học máy one-class SVM thư viện scikit-learn Sklearn thư viện mã nguồn mở dành cho học máy thiết kế ngôn ngữ pyhton NumPy SciPy Sklearn chứa hầu hết thuật toán học máy đại Đối với mơ hình tác giả sử dụng lớp sklearn.svm để chạy thuật toán one-class SVM Các bước thử nghiệm mơ sau: Chia liệu thành phần liệu huấn luyện liệu kiểm thử:  Dữ liệu huấn luyện: 936 mẫu (chiếm 75% số lượng mã độc); 46  Dữ liệu kiểm thử: 312 mẫu (chiếm 25% số lượng mã độc) 78 mẫu lành tính Đưa liệu vào huấn luyện kiểm thử với đối số nu=0.01 gamma= ‘auto’ 3.3 Nhận xét đánh giá 3.3.1 Các tiêu chí đánh giá Để đánh giá hiệu hệ thống học máy nói chung thuật tốn One-class SVM mà luận văn sử dụng, cần phải có tiêu chí đánh giá từ nhận xét thuật toán tốt hay xấu Trong luận văn tác giả sử dụng tiêu chí đánh giá sau: Accuracy, Precision, Recall, F-measure Để tính tốn tiêu chí trên, có Confusion matrix (ma trận nhầm lẫn) sau: Lớp C Nhãn lớp th (đúng) Trong đó:  TP (true positive): Số lượng liệu thuộc lớp C phân loại xác vào lớp C;  FP (false positive): Số lượng liệu bên bị phân loại nhầm vào lớp C; 47  TN (true negative): Số lượng liệu khơng thuộc lớp C phân loại (chính xác);  FN (false negative): Số lượng liệu thuộc lớp C bị phân loại nhầm (vào cáclớp khác C) Accuracy (Tính xác) mức độ phân lớp xác hệ thống huấn luyện tập liệu dùng để kiểm thử = ố ℎá đ ℎí ℎ ổ ố ℎá đ Hoặc + = + + + Precision lớp C tổng số ví dụ thuộc lớp C phân loại xác chia cho tổng số ví dụ phân loại vào lớp C ()= + Recall lớp C tổng số ví dụ thuộc lớp C phân loại xác chia tổng số ví dụ thuộc lớp C ()= + F-measure − = + F-measure trung bình điều hịa (harmonic mean) tiêu chí Precision Recall F-measure có xu hướng lấy giá trị nhỏ giá trị Precision Recall F-measure có giá trị lớn giá trị Precision Recall lớn 48 3.3.2 Đánh giá kết Kết chạy với liệu mẫu thu sau: Confusion matrix: Bảng 3.1 Kết Confusion matrix Dựa vào Confusion matrix ta thấy:  Với 312 mẫu mã độc để kiểm thử mơ hình phân lớp 300 mẫu vào lớp mã độc 12 mẫu bị phân lớp sai vào lớp lành tính;  Với 78 mẫu lành tính mơ hình phân lớp 70 mẫu vào lớp lành tình mẫu bị phân lớp sai vào lớp mã độc Lành tính Mã độc Accuracy: 0.949 ROC AUC: 0.929 Falase Positive rate: 0.103 49 Hình 3.7 Đường ROC mơ hình đề xuất kiểm thử Dựa vào kết kiểm thử mơ hình đề xuất, đưa số nhận xét:  Accuracy mô hình đề xuất là: 94.9%, tốn phân loại lớp acc=94.9% kết tốt;  Đường ROC với giá trị AUC=0.929 thấy hiệu thuật tốn với độ xác cao mà giá trị AUC tiến gần với giá trị lý tưởng 1; 3.4 Kết luận chương Chương trình bày trình thử nghiệm mơ hình phát mã độc IoT botnet, bao gồm bước thực hiện, kết thực nghiệm, đánh giá nhận xét mơ hình Với 1,326 mẫu liệu chia thành 75% dành cho liệu huấn luyện 25% dành cho liệu kiểm thử đưa vào mơ hình huấn luyện kiểm thử Kết đạt tốt acc = 94.9% 50 KẾT LUẬN 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 bonet thiết bị IoT dân dụng vào thuật toán học máy one-lass SVM đạt số kết sau:  Giới thiệu tổng quan thiết bị IoT dân dụng;  Giới thiệu tổng quan mã độc IoT botnet phương pháp phát mã độc;  Trình bày sở lý thuyết đưa mơ hình phát mã độc IoT botnet kỹ thuật học máy one-class SVM;  Tiến hành thực nghiệm, đánh giá kết thu Tổng kết lại, q trình thử nghiệm mơ hình thực sau: Sử dụng QEMU để giả lập kiến trúc chíp MIPS, ARM sử dụng công cụ Strace tool để thu thập nhật ký lời gọi hàm hệ thống tệp liệu mẫu, sau xây dựng đồ thị lời gọi hàm hệ thống, bước tiếp sử dụng thư viện graph2vec để trích chọn đặc trưng từ đồ thị lời gọi hàm hệ thống cuối đẩy vector đặc trưng vào để huấn luyện thuật toán học máy one-class SVM dựa vào thư viện mã nguồn mở Sklearn Hướng phát triển Hiện tại, luận văn sử dụng thuật toán học máy one-class SVM để áp dụng học máy thiết bị IoT dân dụng Hướng nghiên cứu thuật tốn học sâu để áp dụng vào toán phát mã độc botnet thiết bị IoT Bên cạnh mở rộng phạm vi nghiên cứu thêm loại thiết bị IoT khác từ xây dựng hệ thống sandbox đa tảng cho thiết bị IoT Ngoài luận văn thu thập thêm tập liệu mẫu để tăng độ xác cho kết phát hiện, tập liệu có số lượng nhỏ tệp tin mã độc botnet 51 DANH MỤC CÁC TÀI LIỆU THAM KHẢO [1] Sử Ngọc Anh, Lê Hải Việt, Nguyễn Huy Trung, Ngơ Quốc Dũng, Xây dựng mơ hình thu thập phát công mạng sử dụng thiết bị IoT, Hội thảo lần thứ II: Một số vấn đề chọn lọc an tồn an ninh thơng tin – TP Hồ Chí Minh, 2017 [2] Từ Minh Phương, Giáo trình nhập mơn trí tuệ nhân tạo, Học viện Cơng nghệ bưu viễn thơng, 2014 [185-192] [3] Lê Hải Việt, Ngơ Quốc Dũng, Trần Nghi Phú, Nguyễn Ngọc Tồn, Xây dựng mơ hình phát mã độc thiết bị định tuyến tác tử, 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 – Quy Nhơn, 2017 [4] Hernandez, Grant, Orlando Arias, Daniel Buentello, and Yier Jin, Smart nest thermostat: A smart spy in your home, Black Hat USA, 2014 [5] Karim A, Salleh RB, Shiraz M, Shah SAA, Awan I, Anuar NB, Botnet detection techniques: review, future trends, and issues, J Zhejiang Univ Sci C 15(11):943–983, 2014 [6] Kishore Angrishi, Turning of Things(IoT) into Internet of Internet Vulnerabilities (IoV) : IoT arXiv preprint arXiv:1702.03681, Botnets, 2017 [7] Antonakakis M, Perdisci R, Dagon D, Lee W, Feamster N, Building a dynamic reputation system for DNS, USENIX security symposium, pp 273–290, 2010 [8] Kheir N, Tran F, Caron P, Deschamps N, Mentor: positive DNS reputation to skim-off benign domains in botnet C&C blacklists, CuppensBoulahia N, Cuppens F, Jajodia S, El Kalam AA, Sans T (eds) ICT systems security and privacy protection Springer, Berlin, Heidelberg, pp 1–14, 2014 52 [9] Shin S, Xu Z, Gu G, EFFORT: efficient and effective bot malware detection, Proceedings IEEE INFOCOM IEEE, pp 2846–2850, 2012 [10] Vitor Hugo Bezerra , Victor G Turrisi da Costa , Sylvio Barbon Junior , Rodrigo Sanches Miani , Bruno Bogaz Zarpelao, One-class Classification to Detect Botnets in IoT devices, 2018 [11] Kishore Angrishi, Turning Internet of Things(IoT) into Internet of Vulnerabilities (IoV) : IoT Botnets, 2017 [12] Andrei Costin, Large Scale Security Analysis of Embedded Devices’ Firmware, 2016 [13]Muhammad Junaid Bohio, “Analysis of a MIPS Malware”, 2015 [14] https://en.wikipedia.org/wiki/QEMU truy cập ngày 15/09/2019 [15] https://en.wikipedia.org/wiki/Strace truy cập ngày 15/09/2019 [16] https://towardsdatascience.com/graph-embeddings-the- summary-cc6075aba007 truy cập ngày 15/10/2019 [17] https://en.wikipedia.org/wiki/System_call truy cập 02/11/2019 [18] Kaspersky Lab: https://www.kaspersky.com ... 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. .. quan thuật tốn học máy: oneclass; 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 tốn học máy one- class SVM. .. 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Ố: LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) NGƯỜI
- Xem thêm -

Xem thêm: Ứng dụng thuật toán ONE CLASS SVM trong phát hiện BOTNET trên các thiết bị IOT ,

Từ khóa liên quan