1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Nghiên cứu xây dựng giải pháp phân tán động trong hệ thống phân tích mã độc iot botnet dựa trên kafka và KSQL TT

25 4 0

Đ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

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - NGUYỄN QUỐC HỮU NGHIÊN CỨU XÂY DỰNG GIẢI PHÁP PHÂN TÁN ĐỘNG TRONG HỆ THỐNG PHÂN TÍCH MÃ ĐỘC IOT BOTNET DỰA TRÊN KAFKA VÀ KSQL 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 - NĂM 2022 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: TS Vũ Văn Thỏa Phản biện 2: PGS.TS Nguyễn Linh Giang 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: 16 15 ngày 05 tháng năm 2022 MỞ ĐẦU Lý chọn đề tài Cách mạng công nghiệp 4.0 mang đến nhiều thay đổi nhanh chóng cơng nghiệp tồn giới, đặc biệt mở công nghệ tương lai Một số công nghệ phát triển mạnh cách mạng công nghiệp 4.0 Internet vạn vật (Internet of thing – IoT) Các thiết bị IoT có đặc điểm hạn chế tài nguyên, lực xử lý thấp nhớ nhỏ Sự thiếu hụt chế tiêu chuẩn bảo mật dẫn đến nhiều lỗ hổng thiết bị IoT khai thác Một số kịch công phổ biến kẻ công sử dụng thiết bị IoT kiểm soát trở thành phần IoT botnet Do đó, việc đảm bảo an tồn thơng tin cho thiết bị IoT chủ đề nghiên cứu nhiều giới Hệ thống phát cảnh báo mã độc IoT Botnet phát triển nhà nghiên cứu hãng sản xuất phần mềm/phần cứng giới Trong TS Ngơ Quốc Dũng đưa giải pháp hệ thống gồm tiền xử lý, xử lý, phát cảnh báo ngăn chặn công mạng nhằm vào thiết bi IoT cỡ nhỏ phù hợp với thiết bị IoT phổ biến Việt Nam Mơ hình tổng quan hệ thống tự động phát hiện, cảnh báo ngăn chặn công mạng nhằm vào thiết bị IoT cỡ nhỏ sử dụng mạng lưới tác tử thơng minh Bài tốn đặt triển khai hệ thống mạng nội bộ, IoT-Analyzer bị tải mạng nội chịu trách nhiệm có nguy an tồn bảo mật Do cần có chế xử lý IoT-Analyzer tải đưa hướng giải dựa vào IoTAnalyzer khác không bị tải Bằng hướng nghiên cứu này, học viên chọn đề tài “Nghiên cứu xây dựng giải pháp phân tán động hệ thống phân tích mã động IoT Botnet dựa KAFKA KSQL” nhằm cải thiện nhược điểm hệ thống Tổng quan đề tài nghiên cứu 4 Hiện nay, có nhiều nghiên cứu khảo sát hệ thống xử lý phân tán nhằm tang hiệu việc xử lý liệu HARUNA ISAH cộng [1] trình bày nghiên cứu so sánh khung phân tích xử lý luồng liệu phân tán đánh giá quan trọng khung xử lý luồng liệu phân tán mã nguồn mở đại diện (Storm, Spark Streaming, Flink, Kafka Streams) mã nguồn thương mại (IBM Streams) Supun Kamburugamuve Geoffrey Fox [2] đưa đánh giá hệ thống xử lý luồng trực tuyến hai khía cạnh độc lập Khía cạnh thứ nhất, có API lập trình để phát triển ứng dụng xử lý luồng trực tuyến khía cạnh cịn lại có cơng cụ thực thi thực thi ứng dụng xử lý luồng trực tuyến Các chương trình mã nguồn mở phổ biến để xử lý luồng liệu giới Apache Spark, Apache Flink, Apache Kafka Apache Kafka tảng xử lý luồng trực tuyến phân tán Kafka hỗ trợ cho nhiều kiểu xử lý luồng, giúp giải vấn đề khó khăn mà ứng dụng gặp phải: xử lý liệu không theo thứ tự, xử lý lại đầu vào thay đổi mã, thực tính tốn trạng thái, v.v KSQL công cụ xử lý luồng cho phép xử lý liệu thời gian thực dựa Apache Kafka Mục đích nghiên cứu Nghiên cứu xây dựng giải pháp phân tán động dựa tảng công nghệ mới, cụ thể Kafka KSQL nhằm tối ưu hố khả phân tích phát mã độc IoT Botnet Đối tượng phạm vi nghiên cứu - Đối tượng nghiên cứu: Hệ thống xử lý phân tán động tảng công nghệ Kafka, KSQL… - Phạm vi nghiên cứu: Hệ thống phân tích mã độc IoT Botnet Phương pháp nghiên cứu - Phương pháp nghiên cứu lý thuyết: Phân tích tổng hợp tài liệu liên quan đến đề tài Phân loại hệ thống hoá lý thuyết kết nghiên cứu báo, kết nghiên cứu khoa học phân tán động, phân tích phát mã độc IoT botnet - Phương pháp nghiên cứu thực tiễn: Sử dụng phương pháp thực nghiệm khoa học để xây dựng, đánh giá giải pháp phân tán động 5 CHƯƠNG CƠ SỞ LÝ THUYẾT Trong phát triển mạnh mẽ công nghiệp 4.0, internet vạn vật lĩnh vực nghiên cứu ứng dụng rộng rãi Trong năm gần đây, bùng nổ số lượng thiết bị IoT giúp người nhiều đời sống nhiều ngành công nghiệp Tuy nhiên bên cạnh ưu điểm vượt trội ứng dụng, thiết bị IoT có đặc điểm liên quan đến bảo mật mà hacker khai thác Với số lượng thiết bị IoT tăng trưởng ngày, việc nghiên cứu biện pháp bảo mật cho thiết bị IoT quan tâm Ngoài việc xây dựng hệ thống phân tích phát mã độc, tối ưu hiệu hệ thống để phát sớm mã độc công việc quan trọng Trong chương này, luận văn trình bày tổng quan mã độc IoT botnet mơ hình hệ thống phân tích, phát mã độc IoT botnet Hình 1.1: Ứng dụng IoT thực tế 1.1 Tổng quan mã độc IoT Botnet 1.1.1 Các khái niệm IoT Hiện khái niệm IoT có nhiều cách giải thích khác tổ chức đưa ra, tổ chức uy tín giới Liên minh Viễn thông giới (ITU – International Telecommunication Union) [2] đưa khái niệm tương đối hoàn chỉnh IoT Khái niệm IoT theo ITU phát biểu sau: “Internet of things sở hạ tầng mang tính tồn cầu cho xã hội thông tin, mang đến dịch vụ tiên tiến cách kết nối “đồ vật” (cả vật lý lẫn ảo) dựa tồn thông tin, dựa khả tương tác thơng tin dựa công nghệ truyền thông Thông qua việc khai thác khả nhận biết, thu thập xử lý liệu, công nghệ hệ thống IoT tận dụng thứ để cung cấp dịch vụ cho tất loại ứng dụng khác nhau, đồng thời bảo đảm tính bảo mật quyền riêng tư” Trong khn khổ luận văn phù hợp với nội dung nghiên cứu, học viên đưa khái niệm thiết bị IoT sau: Định nghĩa 1: Thiết bị IoT thực thể vật lý ảo hoá đa kiến trúc, có đặc điểm cụ thể tài nguyên hạn chế, nhỏ gọn để phục vụ mục đích khác nhau, có khả xử lý liệu, kết nối chia sẻ thông tin với thực thể khác 6 a) Kiến trúc IoT Kể từ nghiên cứu IoT thực hiện, kiến trúc ba lớp mơ hình tổng quan cho ứng dụng IoT Lớp nhận thức: Bản thân cảm biến nằm lớp Dữ liệu thu thập từ số lượng cảm biến thiết bị kết nối Lớp mạng: Lớp mạng mô tả lượng lớn liệu di chuyển ứng dụng Lớp kết nối thiết bị khác gửi liệu đến dịch vụ back-end thích hợp.Lớp ứng dụng: Lớp ứng dụng người dùng nhìn thấy Đây ứng dụng để điều khiển thiết bị hệ sinh thái nhà thông minh bảng điều khiển hiển thị trạng thái thiết bị phần hệ thống Hình 1.2: Các lớp kiến trúc IoT Hình 1.3: Kiến trúc hệ thống IoT theo bốn giai đoạn Kiến trúc Internet of Things thể hình 1.3 sử dụng cách tiếp cận bốn giai đoạn: (1) Thiết bị (Device/Thing): Các thiết bị cảm biến thiết bị truyền động lớp nhận thức (Perceptron) (2) Cổng Internet (Internet Gateway): Cổng Internet nhận liệu thô từ thiết bị xử lý trước gửi lên đám mây (3) Điện toán biên sương mù (Edge/Fog computing): Để xử lý liệu nhanh mà khơng cần đến thực thể điện toán đám mây (4) Đám mây trung tâm liệu (Cloud or datacenter): Các lớp ứng dụng nghiệp vụ nằm giai đoạn này, nơi phần mềm quản lý cung cấp thông qua liệu lưu trữ đám mây b) Đặc điểm thiết bị IoT Thiết bị IoT có ứng dụng khác nhau, nên chúng có nhiều đặc điểm khác Tuy nhiên thiết bị IoT có số đặc điểm chung trình bày phần Khác với thiết bị Internet thông thường, thiết bị IoT có đặc điểm sau: 1.1.2 Tính không đồng Tài nguyên hạn chế thiết bị nhỏ gọn Thay đổi động Quy mô mở rộng lớn Tính kết nối liên thơng Mã độc IoT Botnet a) Khái niệm mã độc Trước hết, thuật ngữ mã độc nói chung khoa học máy tính Cisco [5] định nghĩa sau: “Phần mềm độc hại (malware), viết tắt “malicious software”, đề cập đến phần mềm xâm nhập phát triển tội phạm mạng (thường gọi “tin tặc”) để đánh cắp liệu làm hỏng phá hủy máy tính hệ thống máy tính Ví dụ phần mềm độc hại phổ biến bao gồm vi rút, sâu, vi rút Trojan, phần mềm gián điệp, phần mềm quảng cáo ransomware” Botnet định nghĩa tập hợp thiết bị bị xâm nhập gọi bot chạy mã độc kiểm soát quản trị viên gọi botmaster Thông thường, mạng botnet bao gồm ba thành phần chính: kẻ công; sở hạ tầng độc hại; bot b) Mã độc IoT botnet Mã độc IoT botnet loại mã độc tin tặc phát triển tảng IoT TrendMicro [6] đưa khái niệm IoT botnet “Mạng botnet IoT mạng lưới thiết bị kết nối với Internet vạn vật (IoT), điển hình định tuyến, bị nhiễm phần mềm độc hại (cụ thể phần mềm độc hại IoT botnet) rơi vào tầm kiểm soát tác nhân độc hại Các mạng botnet IoT biết đến với việc sử dụng để phát động công từ chối dịch vụ (DDoS) phân tán vào thực thể mục tiêu để làm gián đoạn hoạt động dịch vụ họ” Có nhiều nghiên cứu IoT botnet [9]–[11] IoT botnet hoạt động qua ba giai đoạn sau: Giai đoạn 1: Giai đoạn quét: Giai đoạn 2: Giai đoạn lan truyền: Giai đoạn 3: Giai đoạn công: 1.2 Tổng quan hệ thống phân tích phát mã độc IoT Botnet 1.2.1 Các phương pháp phân tích phát mã độc IoT Botnet Hiện nay, phương pháp phát mã độc nghiên cứu áp dụng giới chia thành ba loại sau: (1) phương pháp phát dựa trí tuệ nhân tạo (AI-based), (2) phương pháp phát dựa hành vi (behavior-based) (3) phương pháp phát dựa dấu hiệu (signature-based) 8 Hình 1.3: Các phương pháp phát mã độc IoT botnet Quá trình mổ xẻ mã độc để hiểu cách thức hoạt động, xác định chức năng, nguồn gốc tác động tiềm ẩn gọi phân tích mã độc Có hai cách tiếp cận để phân tích mã độc IoT botnet: (1) phân tích tĩnh, (2) phân tích động (3) phân tích lai 1.2.2 Học máy phát mã độc IoT Botnet Trí tuệ nhân tạo nghiên cứu ứng dụng rộng rãi lĩnh vực, có bảo mật IoT Các phương pháp học máy áp dụng để phát công sớm dựa liệu đặc trưng hệ thống tập tin Các thuật toán học máy chia làm loại, gồm: - Học có giám sát (Supervised learning) - Học không giám sát (Unsupervised learning) - Học tăng cường (RL) 1.2.3 Mơ hình hệ thống phân tích phát mã độc IoT Botnet Ở khuôn khổ luận văn này, học viên trình bày mơ hình hệ thống phân tích phát mã độc học viên nhóm T.S Ngơ Quốc Dũng nghiên cứu bao gồm chi tiết giai đoạn tiền xử lý liệu, chế phân loại dựa vectơ tính mơ hình học tập củng cố để cải thiện phát cơng zero-day Mơ hình tổng quan hệ thống minh hoạ hình 1.7 Hình 1.4 Mơ hình hệ thống phân tích phát mã độc IoT botnet Mơ hình đề xuất bao gồm năm thành phần chính: Bộ thu thập lệnh gọi hệ thống (SCC – System Calls Collector), Bộ trích xuất vectơ tính (FVE – Feature Vectors Extractor), Bộ phát Botnet IoT (IBD – IoT Botnet Dectector), Bộ tạo mẫu đối nghịch (ASG – Adversarial Samples Generator), Tác nhân học tăng cường (RLA – Reinforcement learning) Hoạt động mơ hình chia thành hai giai đoạn: (1) Giai đoạn giai đoạn phân loại học máy mà IBD đào tạo cách sử dụng phân loại học máy khác (2) Giai đoạn thứ hai cải thiện phân loại, 1.3 Tổng quan giải pháp xử lý phân tán động 1.3.1 Các định nghĩa hệ thống phân tán Hệ thống phân tán định nghĩa theo nhiều cách, có số định nghĩa tương đối tổng quát tác giả George Coulouris cộng [17] định nghĩa: “hệ thống phân tán hệ thống thành phần phần cứng phần mềm kết nối mạng giao tiếp điều phối tác vụ qua cách truyền message.” Tác giả Andrew S Tanenbaum cộng [18] đưa định nghĩa hệ thống phân tán sau: “Một hệ thống phân tán tập hợp máy tính độc lập phía người dùng nhìn nhận hệ thống mạch lạc nhất.” Qua định nghĩa khác hệ thống phân tán, khuôn khổ luận văn, học viên định nghĩa hệ thống phân tán sau: Định nghĩa 3: Hệ thống phân tán hệ thống mà máy tính kết nối với nhau, tác vụ điều phối xử lý phân tán máy phía người dùng nhìn nhận hệ thống đồng 1.3.2 Các thành phần hệ thống phân tán Trong hệ thống phân tán, việc chia sẻ nhớ chế liên lạc thành phần hệ thống hai yếu tố quan trọng Căn theo số định nghĩa, khái niệm đặc điểm hệ thống phân tán chế liên lạc cấu phần (cả phần cứng phần mềm) hệ thống phân tán yếu tố quan trọng Nếu coi mức trừu tượng thấp hệ thống phần tán mức tiến trình (process) chế liên lạc cấu phần hệ thống phân tán IPC – Inter Process Communication Hình 1.10 minh hoạ mơ hình hệ thống phân tán Hình 1.5 Mô hình phân lớp hệ thống phân tán Hai mơ hình thuộc chế liên lạc IPC mơ hình chia sẻ nhớ (shared memory) – với nhiệm vụ định nghĩa, cấp phát khởi tạo khu vực nhớ lưu trữ chung – mơ hình truyền nhận thơng điệp (message passing) – với nhiệm vụ truyền tải thông điệp tiến trình 1.3.3 Tổng quan lý thuyết cân tải Load balancing (cân tải) phương pháp phân phối khối lượng tải nhiều máy tính cụm máy tính để sử dụng tối ưu nguồn lực, tối đa hóa 10 thơng lượng, giảm thời gian đáp ứng tránh tình trạng tải máy chủ Lợi ích cân tải sau: Tăng độ tin cậy khả dự phịng cho hệ thốn, Tăng tính bảo mật cho hệ thống, Khả mở rộng hệ thống a) Cân tải phần cứng cân tải phần mềm Bộ cân tải phần cứng thiết bị phần cứng có hệ điều hành chuyên biệt phân phối lưu lượng ứng dụng web cụm máy chủ ứng dụng Để đảm bảo hiệu suất tối ưu, cân tải phần cứng phân phối lưu lượng truy cập theo quy tắc tùy chỉnh để máy chủ ứng dụng không bị tải Hình 1.6 Bộ cân tải phần cứng phần mềm Cân tải phần mềm Cân tải phần mềm cung cấp chức tương tự cân tải phần cứng, khơng u cầu thiết bị cân tải chuyên dụng Phần mềm cân tải chạy máy chủ thơng thường chí máy chủ ảo b) Cân tải tĩnh: Thuật toán cân tải "tĩnh" khơng tính đến trạng thái hệ thống để phân phối tác vụ Qua đó, trạng thái hệ thống bao gồm thước đo mức tải (và tải) số xử lý định c) Cân tải động.: Các thuật toán cân tải động tính đến tải trọng đơn vị tính tốn (cịn gọi nút) hệ thống Thuật ngữ “phân tán động” sử dụng luận văn hiểu cách thức phân tán xử lý tác vụ hệ thống cách động nhằm tăng tốc độ xử lý tránh việc tắc nghẽn liệu, tải hệ thống Kết luận Chương Trong khuôn khổ luận văn, học viên tập trung nghiên cứu áp dụng hướng cân tải động để áp dụng cho xử lý phân tán IoT Analyzer nhằm nâng cao hiệu việc phân tích phát mã độc IoT botnet 11 CHƯƠNG ỨNG DỤNG GIẢI PHÁP PHÂN TÁN ĐỘNG TRONG HỆ THỐNG PHÂN TÍCH MÃ ĐỘC IOT BOTNET Trong chương 2, học viên trình bày tốn phân tán động hệ thống phân tích mã động IoT botnet nhằm tăng cường hiệu xử lý toàn hệ thống Từ kiến thức quan trọng cân xử lý, học viên đưa phân tích, thiết kế xây dựng mơ hình xử lý tốn sử dụng Apache Kafka KSQL 2.1 Phát biểu toán Tại môi trường thực tế, số lượng thiết bị IoT lớn việc phân tích khối lượng liệu cho tồn thiết bị IoT địi hỏi hệ thống tối ưu tốt có khả cân lực xử lý Bài toán học viên đặt làm để IoT Analyzer bị tải phân tán tác vụ cho thiết bị IoT Analyzer khác với mục đích làm cho hệ thống không bị tắc nghẽn gián đoạn Hình 2.4 Bài toán phân tán xử lý tác vụ kịch thiết bị IoT Analyzer tải 2.1.1 Phân tích tốn Trong phần phân tích toán, học viên đưa số nhiệm vụ cần phải giải tốn, từ đưa yêu cầu cụ thể để tìm kiếm giải pháp phù hợp Bảng 2.1 Các yêu cầu toán Các bước Xử lý đầu vào Xử lý liệu Yêu cầu - Giám sát, thu thập thông tin tải thiết bị IoT Analyzer - Định nghĩa ngưỡng tải thiết bị IoT Analyzer - Tự động kích hoạt bị tải - Phân tán tĩnh phân tán động 12 Đầu - Hỗ trợ gửi liệu thiết bị IoT Analyzer - Hỗ trợ kích hoạt dừng gửi liệu thiết bị IoT Analyzer - Hệ thống không bị gián đoạn - Tăng lực xử lý hệ thống 2.1.2 Khảo sát, đánh giá giải pháp Các thuật toán hỗ trợ cân lực xử lý động giới nghiên cứu ứng dụng cụ thể Qua khảo sát năm gần đây, số giải pháp cơng trình khoa học cơng bố trình bày phần a) Thuật toán Biased Random Sampling b) Thuật toán Active Clustering c) Thuật toán Honey Bee Foraging [23] d) Thuật toán Ant Colony Optimization (ACO) Các thuật tốn trình bày bên giải toán cân tải với cách thức hoạt động xử lý khác Tuy nhiên thuật toán áp dụng vào toán phân tán động áp dụng hệ thống phân tích phát mã độc IoT chưa giải triệt để việc phân tán động Trong phần tiếp theo, học viên đề xuất mơ hình đó, nút bị tải nút chủ chủ động chọn nút có tải thấp để chia sẻ tác vụ 2.2 Mô hình đề xuất Để đảm bảo yêu cầu tốn, học viên đưa mơ hình đề xuất minh hoạ hình 2.2 Mơ hình gồm thành phần gồm Center Server IoT Analyzer Các thành phần hoạt động hệ thống mô tả chi tiết phần sau Hình 2.2 Mô hình đề xuất 13 2.2.1 Các thành phần mô hình Từ u cầu chức mơ hình, liệt kê hoạt động mơ hình chủ thể đối tượng người dùng tương ứng Các đối tượng tham gia vào hệ thống gồm: Thiết bị phân tích cục (IoT Analyzer); Máy chủ giám sát trung tâm (Center Server): Dữ liệu hành vi luồng mạng thu thập từ thiết bị IoT cỡ nhỏ chuẩn hoá 2.2.2 Đặc tả yêu cầu chi tiết a) Yêu cầu chức 1) Chức “Cấu hình giới hạn tài nguyên hệ thống máy chủ trung tâm” 2) Chức “Thu thập liệu tài nguyên hệ thống máy chủ cục bộ” 3) Chức “Gửi yêu cầu hỗ trợ từ máy chủ bị tải máy chủ trung tâm” 4) Chức “Cập nhật danh sách tài nguyên hệ thống máy chủ trung tâm” 5) Chức “Xử lý yêu cầu hỗ trợ tải IoT Analyzer” 6) Chức “Gửi liệu chưa xử lý tới máy chủ hỗ trợ” 7) Chức “Xử lý liệu nhận từ máy chủ bị tải” b) Yêu cầu phi chức Yêu cầu đặt phải phát triển hệ thống thỏa mãn yêu cầu phi chức sau: - Hỗ trợ đọc tệp liệu lưu trữ theo bảng mã Unicode - Hỗ trợ đa tảng hệ điều hành phổ biến dành cho máy chủ phân tích bao gồm: Windows, Linux, Unix,… - Hỗ trợ khả lưu, khôi phục liệu lưu trữ gặp cố 2.3 Ứng dụng Kafka KSQL xây dựng giải pháp xử lý phân tán động 2.3.1 Khảo sát số công cụ message broker có sẵn Để thực cơng việc xử lý tin (message), học viên đưa số tiêu chí lựa chọn cơng cụ luận văn sau: Mã nguồn mở, khả lưu trữ xử lý liệu lớn tốt, có khả chịu lỗi tốt, có khả mở rộng, hiệu tốt Trong khuôn khổ luận văn, học viên đánh giá công cụ chọn công cụ phù hợp để ứng dụng vào giải pháp cân tải động Công cụ Khả mở rộng Bộ nhớ RabbitMQ Dựa cấu hình tài Hỗ trợ lưu tin nhắn lâu Phương thức giao tiếp Hỗ trợ one-to- 14 nguyên, khả xử lý khoảng 50 nghìn message/giây Có thể xử lý lên đến triệu message/giây dài (persistent message) one one-to-many thời (transient message) Redis Dữ liệu lưu Hỗ trợ one-tonhớ (in-memory one one-to-many database) Kafka Có thể xử lý lên đến Hỗ trợ lưu tin nhắn lâu Hỗ trợ one-to-many triệu message/giây dài (persistent message) thời (transient message) Dựa vào bảng so sánh bên cho thấy công cụ Kafka công cụ phù hợp so với công cụ cịn lại Kafka có khả xử lý liệu lớn tốt, khả lưu trữ tin nhắn lâu dài, ngồi Kafka có khả hỗ trợ tốt xử lý bất đồng với ngôn ngữ python Một điểm lợi Kafka hỗ trợ KSQL, công cụ hỗ trợ truy vấn thông tin luồng liệu (data stream) tương tự truy vấn sở liệu quan hệ Do học viên lựa chọn công cụ Kafka KSQL để ứng dụng giải pháp phân tán động luận văn Phần mô tả chi tiết công cụ Kafka KSQL 2.3.1 Lựa chọn công cụ Kafka công cụ KSQL Nền tảng trao đổi thông điệp Apache Kafka: Apache Kafka [28] tảng xử lý stream mã nguồn mở phát triển Apache Software Foundation viết ngơn ngữ lập trình Scala Java Kafka cho hệ thống truyền tải liệu phân tán Kafka lưu trữ thông điệp chủ đề (topic) phân vùng chép qua nhiều broker cụm (Cluster) Publisher (nguồn gửi thông tin) gửi thông điệp đến topic mà nguồn nhận thông tin (consumer) đăng ký để đọc thông điệp Hình 2.3 Kiến trúc truyền tải thông tin Apache Kafka KSQL cho phép xử lý phân tích liệu truyền trực tuyến theo thời gian thực có tảng Apache Kafka Nói cách khác, KSQL cung cấp khung tương tác để thực hoạt động Xử lý Luồng Tổng hợp liệu, Lọc, Kết hợp, Sessionization, Windowing 15 2.3.2 Hoạt động mô hình a) Máy chủ trung tâm Máy chủ trung tâm có hai nhiệm vụ (1) thực đào tạo mơ hình học máy để phát mã độc IoT Botnet (2) theo dõi, lưu trữ thông tin tải tất hệ thống Hình 2.4 Mơ hình huấn luyện học máy phân tích phát mã độc IoT botnet Mô đun theo dõi, lưu trữ thông tin tải hệ thống coi trái tim hệ thống Mô đun sử dụng platform Confluent [29] tích hợp sẵn công cụ Kafka KSQL b) Thiết bị phân tích IoT Analyzer Cấu trúc IoT Analyzer minh họa gồm thành phần chính: socket-server chịu trách nhiệm nhận/gửi liệu ML-model + predict: mơ hình học máy xử lý liệu nhận từ IoT Agent Information-strategy mô đun thu thập thông tin trạng thái hệ thống Location-strategy mô đun xử lý truy vấn lên máy chủ tập trung để yêu cầu chia sẻ tác vụ bị tải Transfer-strategy mô đun truyền nhận liệu chưa xử lý từ IoT Analyzer tải sang IoT Analyzer khác chọn từ location-stategy c) Thiết bị IoT Agent Thiết bị IoT Agent thiết bị IoT có khả thu thập thơng tin hoạt động gửi lên cho IoT Analyzer Các thơng tin sử dụng lệnh gọi hệ thống (system call) gửi lên cho IoT Analyzer TCP socket d) Cơ chế cân tải Thuật toán cân tải bao gồm số thành phần tương tác theo nhiều cách khác để phân phối lại công việc gửi người dùng nút hệ thống phân tán Các bước gồm: (1) Đo tải cục bộ: Tại nút, chế phải cung cấp để đưa ước tính tốt tải cục (2) Chính sách thơng tin: Thành phần chịu trách nhiệm trao đổi trì thơng tin cục nhóm nút khác mức tải, khối lượng cơng việc tải trung bình tồn hệ thống (3) Chính sách chuyển giao: Thành phần định thời điểm có lợi chuyển quy trình từ khối lượng cơng việc cục 16 chọn quy trình để chuyển tác vụ (4) Chính sách đàm phán: Khi nút tải định nút khác nút chuyển giao phù hợp Khi IoT Analyzer hoạt động trạng thái không bị tải (load < threshold), luồng cơng việc mơ tả hình 2.5 Cụ thể bước thực sau: - Bước 1: IoT Analyzer cập nhật trạng thái hệ thống thường xuyên cho máy chủ trung tâm qua Information Strategy - Bước 2: IoT Agent gửi liệu chưa xử lý lên cho IoT Analyzer Dữ liệu tệp thực thi lệnh gọi hệ thống xử lý thành đồ thị (system call graph) - Bước 3: IoT Analyzer nhận liệu socket-server thông báo hệ thống cần xử lý liệu - Bước 4: Information Strategy kiểm tra trạng thái hệ thống, kết trả hệ thống trạng thái không bị tải Điều kiện để hệ thống trạng thái khơng bị q tải: - Trong threshold = 90% Bước 5: Mô đun học máy thực phân tích đưa liệu nhận có phải mã độc hay khơng phản hồi lại Bước 6: IoT Analyzer gửi kết đến cho Dashboard - Hình 2.5 Lưu đồ hoạt động hệ thống trạng thái tải Hình 2.6 Lưu đồ hoạt động hệ thống node bị tải 17 Khi nút bị tải (load>threshold), luồng công việc thực sau: information-stategy chạy IoT Analyzer trì việc cập nhật tình trạng tài nguyên hệ thống máy chủ trung tâm - Bước 1: IoT Analyzer cập nhật trạng thái định kỳ cho máy chủ trung tâm qua Information Strategy - Bước 2: IoT Agent gửi liệu chưa xử lý nút IoT Analyzer Information Strategy kiểm tra trạng thái hệ thống có bị tải hay không Điều kiện để hệ thống không bị tải sau: - - Trong threshold = 90% Bước 3: socket-server gọi location-stategy để tìm kiếm nút đáp ứng u cầu tính tốn Bước 4: location-strategy thực tìm kiếm nút đủ điều kiện chuyển giao đáp ứng nhu cầu tính tốn (dựa RAM, CPU độ trễ mạng) Locationstrategy sử dụng KSQL API để truy vấn liệu topic information-stategy nằm máy chủ trung tâm nhận danh sách nút đáp ứng Bước 5: IoT Analyzer bị tải tiến hành lệnh ping tới nút danh sách trên, nút có kết ping thấp chọn để phân phối tác vụ Bước 6: transfer-stategy truyền thông tin từ nút tải sang nút từ xa sử dụng Kafka Bước 7: Nút từ xa xử lý liệu tính tốn, sau trả nút tải Kết luận chương Chương học viên trình bày tốn phân tán động cần xử lý hệ thống phân tích mã độc IoT botnet, từ đưa phân tích, u cầu hệ thống Học viên đề xuất mơ hình phân tán động nhằm giải tốn nêu Cụ thể chương trình bày: - Khảo sát, đánh giá thuật toán hỗ trợ phân tán động cân tải động - Phân tích, thiết kế chức phân tán động thiết bị IoT Analyzer - Lựa chọn sử dụng cơng nghệ để tích hợp giải pháp hỗ trợ cân tải động phân tán lực xử lý thiết bị IoT Analyzer CHƯƠNG THỬ NGHIỆM VÀ ĐÁNH GIÁ Trong chương 3, học viên trình bày cách thức xây dựng mơi trường thử nghiệm kết đánh giá mơ hình Các kịch thông số đánh giá định nghĩa để đưa ưu nhược điểm mơ hình đề xuất Cuối chương trình bày kết thử nghiệm kết luận 3.1 Môi trường thử nghiệm 3.1.1 Hệ thống thử nghiệm Hệ thống thử nghiệm bao gồm Máy chủ trung tâm, hai máy chủ đóng vai trị IoT Analyzer, máy trạm đóng vai trị IoT Agent máy trạm đóng vai trị máy chủ Dashboard Tất máy sử dụng chung hệ thống mạng kết nối với thông qua chuyển mạch Trên máy chủ trung tâm cài đặt Confluent platform 18 cho Kafka KSQL, máy IoT Analyzer cài đặt Kafka để truyền thông tin tải liệu Mơ hình thử nghiệm minh hoạ hình 3.1 Hình 3.5 Mô hình thử nghiệm Các thông số phần cứng hệ thống sau: Cấu hình máy chủ trung tâm gồm CPU Intel Xeon E5-2689V1 @2.6GHz + 32GB RAM + GPU RX570 4GB GDDR5 Ubuntu 20.04 LTS, cấu hình máy IoT Analyzer gồm CPU Intel Core I5 8300H @2.3GHz + 16GB RAM + GPU GTX1050Ti 4GB GDDR5 Ubuntu 20.04 LTS 3.1.2 Quá trình triển khai giải pháp đề xuất Tại máy chủ trung tâm: Cài đặt platform confluent tích hợp cơng cụ Kafka KSQL Bước 1: Cài đặt công cụ Docker Docker compose Bước 2: Tạo file docker-compose.yml mô tả container dịch vụ Kafka Bước 3: Truy cập vào giao diện GUI tạo Topic Tại IoT Analyzer: Thực chạy module cho giải pháp cân tải Khi IoT Agent gửi file đến IoT Analyzer, socket server nhận file bắt đầu thực xử lý Bước 1: Copy source code đến IoT Analyzer Đường dẫn source code: https://github.com/huunguyen95/distributed-model-thesis Bước 2: Chạy module Information Strategy để gửi thông tin tài nguyen cho máy chủ trung tâm câu lệnh: “nohup python3 InformationStrategy.py &” Bước 3: Chạy module socket server câu lệnh: “nohup python3 socker_server.py &” Bước 4: Chạy module TransferStategy câu lệnh: “TransferStategy faust -A data_process_app worker -l info” Tại IoT Agent: Khởi chạy module gửi file câu lệnh: “python3 socket_client.py” Dữ liệu gửi chứa client_data/test 3.2 Kịch thử nghiệm tiêu chí đánh giá 3.2.1 Kịch thử nghiệm Tại phần thử nghiệm, học viên sử dụng 250 tệp lệnh gọi hệ thống dạng đồ thị (system call graph) Các tệp gửi từ phía IoT Agent cho IoT Analyzer, có định dạng “.adjlist” nặng tối đa 9.9 MB a) Kịch với trường hợp thử nghiệm chưa áp dụng phân tán tác vụ Kịch 1: Khi IoT Analyzer làm việc trạng thái không tải 19 Bước 1: Thực đẩy liệu chưa xử lý từ IoT Agent Bước Thực phân tích IoT Analyzer Bước 3: Thu thập kết Kịch 2: Khi IoT Analyzer tải CPU RAM Bước 1: Tạo môi trường giả lập đầy CPU sử dụng thư viện stress apt install stress-ng stress-ng vm-bytes $(awk '/MemAvailable/{printf "%d\n", $2 * 0.9;}' < /proc/meminfo)k vm-keep -m Bước 2: Thực đẩy liệu chưa xử lý từ IoT Agent Bước IoT Analyzer bị tải phải xử lý tác vụ Bước 4: Thu thập kết b) Kịch với trường hợp thử nghiệm áp dụng mơ hình phân tán tác vụ Kịch 3: Khi IoT Analyzer tải CPU RAM Bước 1: Tạo môi trường giả lập đầy CPU sử dụng thư viện stress apt install stress-ng stress-ng vm-bytes $(awk '/MemAvailable/{printf "%d\n", $2 * 0.9;}' < /proc/meminfo)k vm-keep -m Bước 2: Thực đẩy liệu chưa xử lý từ IoT Agent Bước IoT Analyzer bị tải phân tán tác vụ cho IoT Analyzer khác rảnh rỗi thơng qua mơ hình Bước 4: Thu thập kết 3.2.2 Tiêu chí đánh giá Mục đích cân tải có tiêu chí là: - Đảm bảo tính sẵn sàng hệ thống - Đảm bảo việc xử lý lưu lượng traffic lớn ứng dụng mà không bị dịch vụ Với mục đích nêu trên, có nhiều tiêu chí để đánh giá hiệu cân tải đo đạc thông số tài nguyên sử dụng (resource ultilization), độ trễ (latency), chi phí (cost), … Tuy nhiên, khuôn khổ luận văn, để chứng minh hiệu giải pháp cân tải động giải tốn nêu mục 2.1 không, học viên đánh giá hiệu giải pháp theo số thông số sau: - Tổng thời gian xử lý lượng công việc giống (R): Giá trị tổng thời gian phản hồi thực tác vụ IoT Analyzer - Khả xử lý hệ thống (S): Được tính khối lượng liệu xử lý khoảng thời gian - Hai giá trị này ghi lại đánh giá qua kịch khác 20 3.3 Kết đánh giá 3.3.1 Kịch Tại kịch 1, kết cho thấy nút IoT Analyzer trạng thái làm việc bình thường xử lý 250 tệp tin 3721 giây (tương đương phút giây) Thời gian xử lý trung bình tệp tin vào khoảng 15 giây Hình 3.2 mơ tả thời gian xử lý IoT Analyzer với số lượng tệp tin đầu vào Hình 3.3 mơ tả thời gian xử lý tệp tin với kích thước khác Cuối hình 3.4 cho thấy khối lượng liệu hệ thống xử lý giây không bị tải Hình 3.6 Kịch 1: Thời gian xử lý số lượng tệp tin đầu vào Hình 3.7 Kịch 1: Thời gian xử lý ứng với kích cỡ liệu đầu vào Hình 3.8 Kịch 1: Khối lượng xử lý ứng với kích cỡ tệp liệu đầu vào 3.3.2 Kịch Tại kịch 2, hệ thống bị tải cho thấy kết xử lý chậm đáng kể Tải hệ thống xử lý: CPU 100%, RAM 92% Khi hệ thống xử lý chậm mối tiềm tàng bảo mật hệ thống IoT Analyzer trạng thái tải xử lý 69 tệp tin 7674 giây (tương đương phút 54 giây) gần gấp đôi so với kịch hiệu suất nhiều Thời gian xử lý trung bình tệp tin vào khoảng phút 56 giây Hình 3.5 mơ tả thời gian xử lý IoT Analyzer với số lượng tệp tin đầu vào Hình 3.6 mơ tả thời gian xử lý tệp tin với kích thước khác Cuối hình 3.7 cho thấy khối lượng liệu hệ thống xử lý giây bị tải Hình 3.9 Kịch 2: Thời gian xử lý số lượng tệp tin đầu vào Hình 3.10 Kịch 2: Thời gian xử lý ứng với kích cỡ liệu đầu vào Hình 3.11 Kịch 2: Khối lượng xử lý ứng với kích cỡ tệp liệu đầu vào 3.3.3 Kịch Tại kịch 3, hệ thống bị tải đẩy tác vụ cho nút IoT Analyzer khác Việc không làm gián đoạn q trình phân tích phát mã độc IoT botnet hệ thống, mặt khác tối ưu tài nguyên rảnh rỗi Tải hệ thống xử lý: CPU 100%, RAM 92%, nút IoT Analyzer đích khơng bị q tải có CPU, RAM < 90% IoT Analyzer trạng thái tải xử lý 250 tệp tin 4608 giây (tương đương 16 phút 46 giây) Thời gian xử lý trung bình tệp tin vào khoảng 18 giây Hình 3.8 mơ tả thời gian xử lý IoT Analyzer với số lượng tệp tin đầu vào Hình 3.9 mơ tả thời gian xử lý tệp tin với kích thước khác Hình 3.10 cho thấy khối lượng liệu hệ thống xử lý giây bị tải Cuối Hình 3.11 biểu đồ so sánh kịch bản, cho thấy hiệu việc phân tán tác vụ hệ thống 21 Hình 3.12 Kịch 3: Thời gian xử lý số lượng tệp tin đầu vào Hình 3.13 Kịch 3: Thời gian xử lý ứng với kích cỡ liệu đầu vào Hình 3.14 Kịch 3: Khối lượng xử lý ứng với kích cỡ tệp liệu đầu vào Hình 3.15 So sánh hiệu áp dụng giải pháp phân tán động (kịch 2) không áp dụng giải pháp phân tán động Bảng 3.2 So sánh kết áp dụng giải pháp phân tán động (kịch 2) không áp dụng giải pháp phân tán động Kịch Số lượng tệp tin xử lý 250 69 250 Tổng thời gian xử lý 1:02:01 2:07:54 1:16:48 Trung bình thời gian xử lý 0:15 1:56 0:19 Số byte xử lý trung bình giây 33573.13 10940.48 27383.72 Kết luận chương Trong chương này, học viên đưa môi trường thử nghiệm sát với thực tế mơ hình đề xuất Ngồi ra, học viên đưa số kịch thực nghiệm trường hợp khơng có chế cân tải có có chế cân tải Đồng thời đưa tham số để đánh giá khả phân tán tác vụ hệ thống Kết đạt thử nghiệm tương đối khả quan áp dụng chế phân tán tác vụ nhằm tăng cường khả phát mã độc cách nhanh chóng Điều cho thấy tiềm mơ hình tối ưu, sửa đổi phát triển tương lai 22 KẾT LUẬN Qua thời gian nghiên cứu, tìm hiểu, tiếp cận tri thức lĩnh vực bảo mật IoT, đặc biệt phát mã độc IoT Botnet, luận văn đưa mô hình phát mã độc IoT Botnet, cơng bố hội nghị Computer Science On-line Conference thứ 11 năm 2022 Đặc biệt, để nâng cao khả hệ thống thiết bị IoT Analyzer bị tải, luận văn đưa mơ hình phân tán động nhằm phân tán tác vụ thực phân tích mã độc cách nhanh chóng Luận văn “Nghiên cứu xây dựng giải pháp phân tán động hệ thống phân tích mã độc IoT botnet dựa kafka ksql” học viên hoàn thành đạt mục tiêu nghiên cứu Các vấn đề trình bày bao gồm: - Tổng quan sở lý thuyết mã độc IoT, mã độc IoT botnet, từ đưa mơ hình phân tích phát mã độc IoT Botnet - Tổng quan giải pháp phân tán nói chung, đặc biệt hệ thống phân tán động áp dụng nhiều việc tránh q tải ngày - Trình bày tốn cần xử lý mơ hình phân tích phát mã độc IoT botnet đưa mô hình giải pháp phân tán động tác vụ dựa công nghệ Kafka KSQL - Cuối cùng, luận văn trình bày mơi trường thử nghiệm hệ thống, xây dựng chi tiết kịch đánh tham số đánh giá Qua kết thử nghiệm cho thấy, hiệu hệ thống phân tích phát mã độc đảm bảo sử dụng chế phân tán tác vụ động Từ nâng cao độ tin cậy khả phân tích, phát mã độc IoT botnet thiết bị IoT Thử nghiệm cho kết tương đối khả quan cho thấy tiềm ứng dụng mơ hình tương lai Tuy nhiên, mơ hình luận văn cần cải thiện liệu IoT mở rộng lớn mơ hình học máy cần cập nhật Trong tương lai, học viên tiếp tục nghiên cứu tối ưu mơ hình cách áp dụng giải pháp xử lý liệu lớn mơ hình học máy đem lại hiệu tốt Trên số kết luận hướng nghiên cứu luận văn Học viên xin chân thành cảm ơn quý thầy, cô hướng dẫn khoa học phản biện để giúp học viên hoàn thiện thiếu sót luận văn định hướng cho việc phát triển đề tài tương lai ... hướng nghiên cứu này, học viên chọn đề tài ? ?Nghiên cứu xây dựng giải pháp phân tán động hệ thống phân tích mã động IoT Botnet dựa KAFKA KSQL? ?? nhằm cải thiện nhược điểm hệ thống Tổng quan đề tài nghiên. .. gốc tác động tiềm ẩn gọi phân tích mã độc Có hai cách tiếp cận để phân tích mã độc IoT botnet: (1) phân tích tĩnh, (2) phân tích động (3) phân tích lai 1.2.2 Học máy phát mã độc IoT Botnet Trí... khả hệ thống thiết bị IoT Analyzer bị tải, luận văn đưa mơ hình phân tán động nhằm phân tán tác vụ thực phân tích mã độc cách nhanh chóng Luận văn ? ?Nghiên cứu xây dựng giải pháp phân tán động hệ

Ngày đăng: 11/08/2022, 20:15

Xem thêm:

w