1. Trang chủ
  2. » Công Nghệ Thông Tin

XÂY DỰNG HỆ THỐNG PHÁT HIỆN VÀ DỰ ĐOÁN TẤN CÔNG SỬ DỤNG PHƯƠNG PHÁP HỌC MÁY

59 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

Thông tin cơ bản

Định dạng
Số trang 59
Dung lượng 3,71 MB

Nội dung

ĐỀ TÀI: XÂY DỰNG HỆ THỐNG PHÁT HIỆN VÀ DỰ ĐOÁN TẤN CÔNG SỬ DỤNGPHƯƠNG PHÁP HỌC MÁY BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TPHCM KHOA CÔNG NGHỆ THÔNG TIN KHÓA LUẬN TỐT NGHIỆP ĐỀ TÀI XÂY DỰNG.

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TPHCM KHOA CƠNG NGHỆ THƠNG TIN KHĨA LUẬN TỐT NGHIỆP ĐỀ TÀI: XÂY DỰNG HỆ THỐNG PHÁT HIỆN VÀ DỰ ĐỐN TẤN CƠNG SỬ DỤNG PHƯƠNG PHÁP HỌC MÁY Giảng viên hướng dẫn: Ts Vũ Đức Thịnh Sinh viên thực hiện: 2001181325 – Trần Thị Ngọc Thảo 2033181011 – Trần Thị Hoàng Dung 2033181017 – Đỗ Thị Duyên TP Hồ Chí Minh, tháng 12 năm 2021 BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TPHCM KHOA CƠNG NGHỆ THƠNG TIN KHĨA LUẬN TỐT NGHIỆP ĐỀ TÀI: XÂY DỰNG HỆ THỐNG PHÁT HIỆN VÀ DỰ ĐOÁN TẤN CÔNG SỬ DỤNG PHƯƠNG PHÁP HỌC MÁY Giảng viên hướng dẫn: Ts Vũ Đức Thịnh Sinh viên thực hiện: 2001181325 – Trần Thị Ngọc Thảo 2033181011 – Trần Thị Hoàng Dung 2033181017 – Đỗ Thị Duyên TP Hồ Chí Minh, tháng 12 năm 2021 LỜI CAM ĐOAN Chúng em xin cam đoan tồn q trình nghiên cứu khóa luận riêng chúng em Các số liệu, kết luận văn chúng em tự tìm hiểu có khơng chép từ nguồn đảm bảo trung thực Chúng em xin cam đoan trợ giúp q trình hồn thành luận văn chúng em gửi lời cảm ơn thơng tin trích dẫn Luận văn ghi gõ nguồn gốc Sinh viên Sinh viên Sinh viên Trần Thị Ngọc Thảo Trần Thị Hoàng Dung Đỗ Thị Duyên LỜI CẢM ƠN Trong q trình thực hồn thành khóa luận, chúng em nhận nhiều giúp đỡ, đóng góp ý kiến bảo nhiệt tình thầy cơ, gia đình bạn bè Chúng em xin gửi lời cảm ơn chân thành đến giảng viên hướng dẫn thầy Vũ Đức Thịnh, giảng viên Bộ môn Mạng máy tính người hướng dẫn tận tình bảo em suốt q trình làm khóa luận Chúng em xin chân thành gửi lời cảm ơn thầy cô Khoa Công nghệ thông tin dạy cho chúng em kiến thức môn chuyên ngành, giúp đỡ chúng em có sở lý thuyết vững vàng tạo điều kiện giúp đỡ chúng em suốt trình học tập Mặc dù chúng em cố gắng hoàn thành đề tài phạm vi khả thân Nhưng q trình thực đề tài không tránh khỏi thiếu sót Chúng em mong nhận cảm thơng từ quý thầy cô Cuối cùng, chúng em xin chân thành gửi lời cảm ơn đến gia đình bạn bè tạo điều kiện, quan tâm, giúp đỡ, động viên em trình học tập hồn thành khóa luận LỜI MỞ ĐẦU Phát bất thường bước khai thác liệu nhằm xác định điểm liệu, kiện quan sát khác với hành vi bình thường tập liệu Dữ liệu bất thường cố nghiêm trọng, chẳng hạn trục trặc kỹ thuật, thay đổi hành vi trình sử dụng người tiêu dùng Máy học dần sử dụng để tự động hoá việc phát bất thường Phát bất thường (Anomaly Dection) chứng minh phương pháp có giá trị nhiều lĩnh vực khác kinh tế, y tế, xâm nhập mạng… Trong luận văn này, xây dựng giải pháp phát hiện, dự đốn cơng phần mềm ứng dụng dùng chung Trung tâm Tích hợp liệu theo phương pháp học khơng giám sát (sử dụng đường sở hành vi bình thường – Baselines Normal Behavior), phát bất thường (Detection Abnormal) Dựa công cụ Elastic Stack (Beat, Logstash, Elastic Search, Kibana) để thu thập xử lý liệu từ log ứng dụng, tạo véc tơ đặc trưng sau áp dụng thuật tốn PCA để phát điểm bất thường liệu log MỤC LỤC DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT Tiếng anh Từ viết tắt DR Dimensionality Reduction PCA Principal component analysis PC IP I/O JSON Principal component Internet Protocol Input/Output JavaScript Object Notation SMTP Simple Mail Transfer Protocol MTA Mail Transport Agent qmgr Postfix queue manager ELK Elasticsearch, Logstash, Kibana ETL extract, transform and load AI URL Artificial intelligence Uniform Resource Locator MPP Massive Parallel Processing Tiếng Việt Giảm kích thước Phân tích thành phần Thành phần giao thức Internet Đầu vào/đầu JSON Giao thức chuyển thư đơn giản Đại lý vận chuyển thư Trình quản lý hàng đợi Postfix and Elasticsearch, Logstash Kibana giải nén, biến đổi tải Trí tuệ nhân tạo URL Xử lý song song hàng loạt DANH MỤC CÁC HÌNH VẼ CHƯƠNG GIỚI THIỆU TỔNG QUAN ĐỀ TÀI VÀ CÔNG NGHỆ LỰA CHỌN 1.1 Một số khái niệm Sau số khái niệm liên quan đến hệ thống phần mềm: a Sự kiện (Event) Có thể hiểu thay đổi trình hệ thống hoạt động Sự kiện hoạt động thông thường ngày bất bình thường trình vận hành hệ thống b Data log event Event log file “clear text” ghi lại việc xảy hệ điều hành, dịch vụ triển khai hệ thống chứa thơng tin thói quen sử dụng, … Data log lưu lại hoạt động ta kể khứ hệ thống phần mềm, giúp nắm rõ trạng thái hoạt động, lỗi xảy vấn đề bảo mật an ninh sử dụng hệ thống c Sự cố (Incident) Đây kiện bất ngờ xảy trình hoạt động hệ thống phần mềm, gây gián đoán hoạt động services gọi cố 1.2 Mục tiêu, yêu cầu mô tả nội dung đề tài 1.2.1 Mục tiêu, yêu cầu đề tài Tìm hiểu tổng quan hệ thống phát hiện, dự đoán công xâm nhập bất hợp pháp vào hệ thống Tìm hiểu kỹ thuật phát bất thường thông qua số phương pháp thu thập kỹ thuật phân tích log, phương pháp học máy (học có giám sát, khơng giám sát nửa giám sát) Tìm hiểu cơng cụ ELK Stack, tìm cách thu thập log từ services xử lý log sau dùng thuật tốn PCA để phát điểm bất thường data log 1.2.2 Mơ tả nội dung nghiên cứu Trong q trình thực đề tài này, triển khai cơng cụ ELK Stack để thu thập phân tích data log services Tìm hiểu học máy; phát dấu hiệu bất thường cách sử dụng kỹ thuật DR; theo dõi, dự đoán, phát cảnh báo hành vi, điểm, dấu hiệu bất thường file log, traffic vào hệ thống, hành động xâm nhập trái phép hay hành động truy cập bình trình hoạt động hệ thống thuật toán PCA 1.2.3 Phạm vi đề tài Đối với phạm vi đề tài, luận văn tập trung vào giai đoạn phân tích phát bất thường hệ thống mail postfix, không sâu vào nội dung như: xác định nguyên nhân, nguồn gốc bất thường, nhận dạng công biện pháp ngăn chặn Cụ thể, trọng tâm luận văn nghiên cứu phương pháp phân tích phát bất thường hệ thống mail postfix, nghĩa sở file nhật ký thu thập cần có phương pháp xác định nhanh xem thơng số file nhật ký có phải bất thường hay không để đưa cảnh báo Đối với quản trị viên hệ thống, nhiệm vụ quan trọng để sớm nhận biết có tượng bất thường hệ thống hay không, để đưa giải pháp cảnh báo nhằm hạn chế rủi ro xuống mức thấp Ví dụ, quản trị viên hệ thống cần sớm biết có tượng lưu lượng tải (dấu hiệu tắc nghẽn, công từ chối dịch vụ, công spam …) để kịp thời kiểm soát tuyến kết nối bị tải lưu lượng Việc trước hết phát kịp thời có hay khơng bước quan trọng nhằm giảm thiểu thiệt hại xảy ra, mang lại ý nghĩa tích cực cơng tác điều tra, khắc phục cố, thực biện pháp ngăn chặn cách hệ thống Luận văn khơng sâu vào phân tích mức độ quan trọng thuộc tính liệu mà áp dụng thuộc tính chung cho luồng tin đề xuất nghiên cứu trước Qua phân tích tính ưu việt PCA, luận án tập trung vào nghiên cứu, phân tích ưu nhược điểm phương pháp sử dụng PCA điển hình đề xuất tới so sánh kết toán với học máy Elastic (Elastic Machine Learning) cung cấp ELK 1.3 Công nghệ sử dụng ELK Stack Hiện việc quản lý liệu log tập trung cảnh báo lỗi tự động sử dụng phổ biến nên có nhiều giải pháp cơng nghệ quản lý log có tính phí khơng tính phí, số công nghệ ta phải kể đến giải pháp: Splunk, Graylog ELK Các giải pháp quản lý log tập trung nêu biết đến với mặt nỗi trội query, monitoring, truy vết, phân tích liệu, cảnh báo ngưỡng, … 10 Mỗi giải pháp cơng nghệ điều có tính nỗi bật riêng thân Sau bảng so sánh số ưu nhược điểm ba giải pháp: Splunk, Graylog ELK Tính Bản quyền Ngơn ngữ Định dạng data ELK Stack Splunk Graylog - Mã nguồn mở - Tính phí đắt đỏ - Tính có tính phí số như: Watcher, Java, Jruby, NodeJS C++, Python - Mã nguồn mở - Tính có số tính phí JSON GLEF JSON, CSV, Text Java Chỉ cần cài đặt - Graylog thành phần Splunk - ElasticSearch Server, dễ cài đặt - MongoDB cấu hình Nền tảng hỗ Unix, Window, Linux, Linux,Window, Window, Linux, trợ Ubuntu, Solaris Unix, Solaris Ubuntu Định dạng tệp Các loại tệp liệu Hầu định dạng Các loại tệp liệu log hỗ trợ log ngnix, http, tệp text, log nginx, http, database, … CSV, tệp log, … database, tomcat, … Công cụ vận - Apache Kafka Kiến trúc pipeline - Apache Kafka chuyển - RabbitMQ splunk - RabbitMQ liệu - Redis Tổng hợp Real-time Real-time Real-time liệu Tìm kiếm, phân tích Sử dụng ngơn ngữ Khả tìm kiếm Khả tìm mạnh mẽ tích tìm kiếm tích kiếm ElasticSearch Splunk áp dụng Map-Reduce Khả Kibana giúp cho ELK Các tính Đơn giản report, có khả report, tích hợp sẵn monitoring, monitoring mạnh mẽ, Splunk … trực quan Qua trình so sánh giải pháp quản lý log tập trung, thấy Splunk Các thành phần chủ yếu cài đặt - ElasticSearch - Logstash - Kibana bao quát thấy đủ tính giải pháp cịn lại phần mềm có phí cao nên chúng em không sử dụng giải pháp Để lựa chọn cơng nghệ mã phù hợp giải pháp cịn lại ELK Stack Graylog, chúng em triển khai so sánh tính năng, ưu nhược điểm giải pháp mã nguồn mở lần Trong - đó: Graylog cơng nghệ mã nguồn mở phát triển dựa nhu cầu lưu trữ, quản lý, cảnh báo tìm kiếm liệu log đơn Q trình trích dẫn tổng hợp liệu log 45 } } grok { match => {"mainpart" => "%{SPACE}%{WORD:message_id}:%{SPACE}to=,%{SPACE}relay=%{DATA:relay},%{SPACE}delay=% {NUMBER:delay},%{SPACE}delays=%{DATA:delays},%{SPACE}dsn=% {DATA:dsn},%{SPACE}statu> } } else if ([program] =~ /qmgr/) { mutate { add_field => { "logtype" => "qmgr" } } grok { match => {"mainpart" => ["%{SPACE}%{WORD:message_id}:%{SPACE}from=\,%{SPACE}size=%{NUMBER:size},%{SPACE}nrcpt=% {NUMBER:nrcpt:int}%{GREEDYDATA}","%{SPACE}%{WORD:message_id}:% {SPACE}remove> } } else if ([program] =~ /cleanup/) { mutate { add_field => { "logtype" => "cleanup" } } grok { match => {"mainpart" => "%{SPACE}%{WORD:message_id}:"}} 46 } else if ([program] =~ /saslauthd/) { mutate { add_field => { "logtype" => "saslauthd" } } } } output { elasticsearch { hosts => ["localhost:9200"] index => "maillog-%{+YYYY.MM.dd}" } } Từ cấu hình trên, Logstash tự động phân tích tát thơng tin có log mail đường dẫn /var/log/maillog lưu trữ liệu Elastichsearch Kết quả, có 777.509 hits phân tích Elasticsearch Hình 2: 777.509 dịng log phân tích Elasticsearch 47 4.3 Thực tạo vector đặc trưng với watcher Tiếp theo tạo vector đặc trưng (vector tỷ lệ trạng thái) từ liệu phân tích lưu trữ Elasticsearch với Index : maillog-2022.01.01, khóa luận sử dụng watcher Wacher thực thông qua bước trigger, input, condition, transform action Trong đề tài lần này, khóa luận thực tạo vector mà không cần transform thực chọn khung thời gian 10 giây bà thực đếm số lần xuất chương trình 10 giây Sau có kết cuối vector tỷ lệ trạng thái lưu trữ Index muốn tạo Trong khóa luận lần Index có tên : mail-program-watch-4 Dưới đoạn cấu hình phù hợp để tạo vector đặc trưng Watcher: PUT _watcher/watch/mail-program-watch-4 { "trigger":{ "schedule":{ "interval":"100h" } }, "input":{ "search":{ "request":{ "search_type":"query_then_fetch", "indices":[ "maillog-2022.01.01" ], "rest_total_hits_as_int":true, "body":{ "size":0, "aggs":{ "ten_sec":{ "date_histogram":{ "field":"@timestamp", "fixed_interval":"10s", 48 "min_doc_count":1 }, "aggs":{ "vector":{ "terms":{ "field":"program.keyword", "size":100 } } } } } } } } }, "condition":{ "always":{ } }, "actions":{ "index_payload":{ "transform":{ "script":"return ['_doc' : ctx.payload.aggregations.ten_sec.buckets]" }, "index":{ "index":"mail-program-vector-4" } } } } 49 Kết sau thực Watcher, từ 777.509 hít tạo 4097 vector đặc trưng lưu trữ Elasticsearch Hình 3: Hình ảnh Watcher tạo 4097 vector đặc trưng Index mail-program-vector-4 4.4 Chương trình Python thuật tốn PCA Bước này, khóa luận áp dụng thuật tốn phân tích thành phần (PCA) tập hợp véc tơ đặc trưng chương trình python Ý tưởng ban đầu tạo tập hợp mục liệu để tìm mục bất thường cách sử dụng reconstruction error Sau tiền xử lý chuẩn hoá liệu dạng số, luận văn tiến hành chia nhỏ ma trận liệu nguồn thành thành phần thơng qua thư viện scikitlearning cung cấp lớp PCA phù hợp với tập liệu Thuật tốn PCA trích chọn véc tơ đặc trưng tiêu biểu số trường liệu ban đầu Tiếp theo sau tái tạo lại liệu ban đầu vài thành phần Dữ liệu tái tạo tương tự, khơng hồn tồn giống với liệu gốc Các mục liệu tái tạo khác biệt với mục gốc tương ứng mục bất thường 50 Hình 4: Dữ liệu ban đầu sau tiền xử lý Hình 5: Hình ảnh trực quan hóa liệu thuật tốn PCA Từ hình ảnh trực quan hóa thấy điểm xa tập thành phần chính, từ thấy bất thường Ngược lại, điểm gần thể bình thường 4.5 Hình ảnh hóa liệu bất thường – Kibana Để hình ảnh hóa liệu bất thường, chúng thực tạo ánh xạ với Kibana để trực quan quá trình bất thường 51 Hình 6: iểu đồ trực quan hóa phát ngưỡng bất thường 4.6 Kết thực nghiệm Các vector bất thường xảy vào lúc 16:10:40 ngày tháng năm 2022, so sánh kết với tình trạng hệ thống mail vào thời điểm máy chủ mail Postfix nhận lượng mail lớn Đồng thời, hệ thống gửi cảnh báo Telegram thời điểm với phát vector bất thường 52 Hình 7: Hình ảnh hệ thống gửi cảnh báo Telegram Qua dự đốn nguyên nhân hệ thống mail hoạt động chậm số lượng thư tăng đột biến ảnh hưởng đến hệ thống Kết trên, giải pháp phát hiện, dự đốn cơng phần mềm hệ thống mà khóa luận muốn trình bày 4.7 So sánh kết toán với học máy Elastic (Elastic Machine Learning) Ở phần này, khóa luận thực so sánh kết toán phát bất thường trình bày với học máy Elasticsearch cung cấp ELK Stack Ở sử dụng Single-metric job Elasticsearch Machine Learning để phát bất thường Kết giải pháp phát bất thường, dự báo cơng khóa luận có kết giống với kết phát bất thường máy học Elastic ELK Stack Hình 8: Phát bất thường máy học Elastic 53 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 Kết luận Trong q trình nghiên cứu khóa luận, có thu số kết hạn chế làm đề tài: Kết đạt được: Về mặt lý thuyết, khóa luận trình bày vấn đề như: Tổng quan hệ thống phát công sử dụng nhiều kỹ thuật khác để phát hành động xâm nhập hệ thống trái phép Những kỹ thuật để phát như: Dựa dấu hiệu, kiện bất thường dựa mô hình Tổng quan Log kỹ thuật phân tích log kỹ thuật phát bất thường với số phương pháp học máy (học có giám sát học không giám sát, học nửa giám sát) Tổng quan phương pháp giảm chiều liệu (Dimensionality Reduction DR) Thuật toán PCA Tổng quan lý thuyết công cụ ELK để thu thập xử lý liệu log Về thực nghiệm: Sử dụng công cụ Elastic Stack, chương trình python, kỹ thuật giảm chiều thuật toán PCA để phát bất thường Khóa luận trình bày giải pháp áp dụng mơ hình thực nghiệm để phát bất thường hệ thống mail dựa tập liệu log mail Qua phân tích kết thực nghiệm khẳng định giải pháp luận văn trình bày với thực tế hệ thống Hạn chế đề tài: Thuật toán PCA chuyển liệu miền với PC khác nhau, tạo điều kiện giảm chiều liệu Tuy nhiên, vấn đề tồn sử dụng PC nào, số lượng PC để đạt hiệu đồng thời giảm độ phức tạp tính toán Khi PCA sử dụng tập liệu mẫu, ngoại lệ làm sai lệch kết phát xuất tập hợp Vẫn chưa có nghiên cứu đề cập cụ thể cách loại bỏ ngoại lệ tập liệu mẫu 54 Dữ liệu data thu thập chưa nhiều chưa đầy đủ trường liệu dẫn tới nhiều sai sót q trình huấn luyện thuật tốn nhằm xây dựng hệ thống phát bất thường Ngoài ra, quản trị viên hệ thống cần am hiểu thông tin, kiện tập tin log (các yếu tố giao thức, hệ thống bảo mật, thông tin gửi nhận ) để phân tích trường có liên quan để lựa chọn, trích xuất thuộc tính quan trọng xây dựng véc tơ đặc trưng 5.2 Hướng phát triển Phân tích phát bất thường đề tài bao gồm nhiều lĩnh vực, nhiều mơ hình, phương pháp kỹ thuật áp dụng khác Đối với phương pháp dựa PCA, độ phức tạp thuật tốn PCA, phép biến đổi tuyến tính, tự tương quan khoảng thời gian, … vấn đề cần lưu ý xem xét phương pháp PCA Phạm vi khoá luận chủ yếu kiểm tra đề xuất phương pháp phát Các vấn đề khác phát dị thường, xử lý phát dị thường phát công vấn đề mở cho phát triển tương lai 55 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Nguyễn Hà Dương, Hồng Đăng Hải, Khoa Cơng nghệ thơng tin, Trường Đại học Xây Dựng Hà Nội Học viện Công nghệ Bưu Viễn thơng, Số năm 2016 Tạp chí KHOA HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG [2] Võ Đỗ Thắng, Huỳnh Chánh Thông, Ngành Truyền thông mạng máy tính, Trung tâm đào tạo quản trị mạng & Anh ninh mạng quốc tế [3] Luận văn thạc sĩ, 30 ECTS | Datateknik, Năm 2021 | LIU-IDA / LITH-EX-A 2021/033 – SE [4] Nguyễn Nhật Quang, Trường Đại học Bách Khoa Hà Nội Viện Công nghệ Thông tin Truyền thông Năm học 2011-2012 Website [5] https://visualstudiomagazine.com/articles/2021/10/20/anomaly-detection-pca.aspx [6] https://www.elastic.co/guide/en/kibana/current/watcher-ui.html [7] https://machinelearningmastery.com/principal-components-analysis-fordimensionality-reduction-in-python/ [8] https://www.projectpro.io/data-science-in-python-tutorial/principal-componentanalysis-tutorial [9] https://rpubs.com/vudt1993/257891 [10] https://ichi.pro/vi/ghi-nhat-ky-tot-phat-hien-du-lieu-outlier-voi-may-hoc-va[11] python-177694335953463 https://ichi.pro/vi/huong-dan-day-du-ve-phan-tich-thanh-phan-chinh-pca-trong- hoc-may-112490377395802 [12] https://insights.magestore.com/posts/phat-hien-ngoai-le-voi-anomaly-detection ...BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TPHCM KHOA CƠNG NGHỆ THƠNG TIN KHĨA LUẬN TỐT NGHIỆP ĐỀ TÀI: XÂY DỰNG HỆ THỐNG PHÁT HIỆN VÀ DỰ ĐỐN TẤN CƠNG SỬ DỤNG PHƯƠNG PHÁP HỌC MÁY Giảng... động bình thường hệ thống 2.1.2.3 Phương pháp phát dựa mơ hình Phương pháp phát dựa mơ hình áp dụng kĩ thuật, phương pháp học máy; trí tuệ nhận tạo; mơ hình sử dụng thuật tốn để phát thời điểm... quan hệ thống phát hiện, dự đốn cơng xâm nhập bất hợp pháp vào hệ thống Tìm hiểu kỹ thuật phát bất thường thông qua số phương pháp thu thập kỹ thuật phân tích log, phương pháp học máy (học có

Ngày đăng: 28/10/2022, 10:50

w