Cụ thể, chúng tôi đã xử dụng thuật toán máy học trên công nghệ xử lý dữ liệu lớn để xây dựng mô hình phát hiện và phân loại các loại tắn công.. Toàn bộ hệ thống đã được triển khai thực n
Chỉ số đánh giá mô hình phát hiện và phân loại các cuộc tan công
Bài toán phát hiện xâm nhập hệ thống mạng tương đương với bài toán phân loại nhị phân, trong đó các luồng dữ liệu được phân loại thành hai nhãn: bất thường
(abnormal) hoặc bình thường (normal) Tương tự như các bài toán phân loại, dé đánh giá hiệu suất của hệ thống phát hiện xâm nhập mang, chúng ta sử dung các chi số đánh giá phù hợp Kết quả xác định của hệ thống phát hiện xâm nhập (IDS) có thé thuộc một trong bốn trạng thái sau: e True Positive (TP): Day là trạng thái khi IDS xác định một luồng dir liệu là tan công và thực tế đó là một luồng dữ liệu tan công. e True Negative (TN): Đây là trạng thái khi IDS xác định một luồng di liệu là không tan công và thực tế đó là một luồng dữ liệu không tan công. e False Positive (FP): Trạng thái khi IDS xác định một luồng dữ liệu là tấn công, nhưng thực tế đó không phải là tấn công Đây là một kết quả sai lầm, khiến hệ thống IDS đánh giá sai một luồng dit liệu không tan công là tan công.
44 e False Negative (FN): Trang thái khi IDS xác định một luéng dữ liệu là không tan công, nhưng thực tế đó là một luồng dữ liệu tan công Day là một kết quả sai lầm, khiến hệ thống IDS bỏ qua việc phát hiện một luồng dữ liệu tan công. Confusion matrix sẽ biểu diễn 4 trạng thái ở trên thành một biểu đồ được sử dụng dé mô tả hiệu suất của một hệ thống phát hiện xâm nhập mạng.
Bang 3: Bang mô tả confustion matrix cho bài toán phân loại nhị phân
Tuy nhiên, đối với bài toán phân loại đa lớp (tức có nhiều hơn 2 nhãn), chúng có thêm các phương pháp tính toán trạng thái TP, TN, FP và FN Trong đó, tổng giá trị các 6 trên cùng một hàng thê hiện tổng số mẫu thực tế của nhãn tương ứng: tổng giá trị các ô trên cùng một cột thé hiện tổng số mẫu mà chúng ta dự đoán được trên nhãn tương ứng; giao diém của các hàng và cột có cùng nhãn sẽ là số lượng mẫu mà chúng ta dự đoán chính xác cho nhãn này.
Trong nghiên cứu này, chúng tôi tập trung tính toán các chỉ số hiệu suất phổ biến dé đánh giá hệ thống phát hiện xâm nhập mạng bao gồm tỷ lệ dự đoán chính xác
(accuracy), độ nhạy (recall), độ chính xác (precision) và Fl-score Những chỉ số này giúp đánh giá khả năng của hệ thống IDS trong việc xác định chính xác các luồng dữ liệu tan công và không tan công.
Accuracy: là tỷ lệ của kết quả dự đoán đúng trên tất cả các kết quả được dự đoán.
A = (IS ~ TP 4 FP +TN + FN
Recall: là tỷ lệ các luồng dữ liệu tan công được phát hiện trên tổng số các hoạt động thực sự là tan công.
Precision: là tỉ lệ các luông đữ liệu giữa số lượng mẫu được phân loại đúng thuộc lớp cần xác định trên tổng sô mẫu được phân loại thuộc lớp cần xác định.
F1-score: cung cap một cái nhìn tông thê vê hiệu suat của hệ thong phát hiện xâm nhập mạng, đông thời cân nhắc cả độ chính xác và độ nhạy.
1S =2 X————— ca ƒ15 0 Precision + Recall true negative true positive false negative false positive annotated ground truth
Hình 18: Mô ta confusion matrix cho bài toán phân loại đa lớp Š
8 https://www.researchgate.net/figure/Confusion-matrix-for-multi-class-classification-The-confusion-matrix- of-a_fig7_314116591
Ngoài ra, để có những chính xác về khả năng đánh giá các loại thuật toán, chúng tôi cũng ghi nhận lại thời gian thực thi (TimeExec) trên một tập dữ liệu cụ thé dé tính toán tốc độ xử lý (ExecRate).
3.5.2 Mô hình phát hiện xâm nhập theo thời gian thực
Sau khi hoàn thành giai đoạn Huan luyện mô hình, chúng tôi tiễn hành giai đoạn
Ung dụng mô hình, một quy trình quan trọng dé đánh giá và phân loại các luồng mạng trong môi trường thực tẾ Trong giai đoạn này, mô hình phát hiện xâm nhập, đã được huấn luyện trước đó, được áp dụng cho dữ liệu Netflow được tạo ra từ mạng mô phỏng SDN và không được sử dụng trong quá trình huấn luyện.
Quá trình ứng dụng mô hình bắt đầu bằng việc truyền luồng dit liệu Netflow đến mô hình Với tính chất thời gian thực, chúng tôi dam bảo rang dữ liệu được chuyển đến mô hình ngay khi nó xuất hiện, giúp chúng tôi phát hiện và xử lý các hoạt động xâm nhập mạng một cách nhanh chóng.
Quá trình Ứng dụng mô hình bắt đầu bằng việc truyền dữ liệu mới qua mô hình.
Với ưu điểm của quá trình xử lý đữ liệu bằng Pipeline và khả năng tái sử dụng mô hình huấn luyện được đề cập tại mục 3.5.1, các luồng mạng từ dữ liệu Netflow được chuyên thành các đặc trưng tương ứng và đưa vào mô hình phân loại một cách tối ưu nhất Điều này giúp dữ liệu được chuẩn hóa và chuyên đổi thành dạng phù hợp cũng như tiết kiệm được thời gian xử lý trong mô hình thực tế, đảm bảo được khả năng phát hiện theo thời gian thực Với mô hình ở giai đoạn huấn luyện, hệ thong sé dự đoán xem liệu các luồng mang đó có chứa xâm nhập hay không Kết quả của quá trình phân loại được gọi là Detection Result.
Sau khi thu được Detection Result, nó có thé được sử dụng dé xác định xem các luồng mạng có chứa xâm nhập hay không Các luồng mạng được phân loại là bất thường (Abnormal) hoặc bình thường (Normal) dựa trên các ngưỡng hoặc quy tắc xác định trước Kết qua này được gửi đến bộ Analytics & Monitoring dé lưu trữ,
47 phân tích và thông báo đến người quản lý hoặc hệ thống giám sát dé phản ứng và đối phó với các tình huống xâm nhập mạng Hình 19 mô tả chỉ tiết quá trình dữ liệu được phân tích và xử lý trong kiến trúc mô hình thực tế.
Hình 19: Tổng quan quá trình xử lý dữ liệu Netflow trong mô hình thực tế Giai đoạn Ứng dụng mô hình đóng vai trò quan trọng trong việc áp dụng các kết quả và kiến thức từ mô hình phát hiện xâm nhập vào thực tế N6 cung cap một phương pháp tự động và liên tục dé xác định, đánh giá và phân loại các hoạt động mạng, đảm bảo an ninh và sự toàn vẹn của hệ thông mạng trong môi trường thực tê.
Phương pháp thực nghiỆm - - c2 +32 * + E*2EEEE+EEeeerrrrrerererrrerree 48 1 Giả lập lưu lượng dữ liệu mạng kiểm định hệ thống
Giám sát và ngăn chặn lưu lượng mạng của kẻ tấn công
ĐỀ giám sát lưu lượng mạng trong hệ thống, mô hình chúng tôi sử dụng công cụ thu thập và phân tích log tập trung Elastic Stack với 2 chức năng chính: giám sát log lưu lượng mạng trong hệ thống và giám sát log của website đang hoạt động Nền tang này hỗ trợ chúng tôi trong quá trình giám sát, điều tra và nhận diện các mối de dọa trong hệ thống Kết hợp với hệ thong Notification sẽ hỗ trợ quản trị viên có thé có được tình trạng của hệ thống bắt cứ lúc nào.
Và dé ngăn chặn lưu lượng mang từ các kẻ tan công khi có thông báo từ hệ thống
Notification, quản trị viên sẽ sử dụng ưu điểm của SDN SDN giúp cho quản trị viên quan sát quản lý cũng như điều khiển bằng phần mềm toàn bộ mạng thông qua bộ điều khiển Do đó, chúng tôi đề xuất một giải pháp ngăn chặn các cuộc tan công khi phát hiện luồng dữ liệu bất thường Đề phòng tránh các trường hợp cảnh báo giả, chúng tôi đặt ra một ngưỡng (threshold) Khi số luồng được đánh giá bat thường chung một nguồn IP vượt quá ngưỡng nay, IP đó sẽ bi chặn tự động bởi bộ điều khiển thông qua REST API (đối với bộ điều khiển ONOS) nếu IP đó không thuộc trong danh sách hợp lệ (Whitelist): e Truy vấn ONOS qua REST API dé xác định OVS mà thiết bi tan công được kết nối. e Gửi lệnh gọi REST API trực tiếp tới ONOS với địa chỉ IP của thiết bị tan công và ID của thiết bi OVS nhận được đề tiễn hành chặn tất cả lưu lượng mạng của thiết bị tấn công.
Trường hop IP đó thuộc Whitelist nhưng vẫn đã bị kẻ tan công chiếm và tan công các mục tiêu khác thì hệ thống Notification sẽ thông báo cho quan trị viên và quản trị viên sẽ thực hiện chặn IP đó bằng tay và tiến hành xử lý máy bi IP chiếm Do đó, chúng tôi thiết kế một quy trình xử lý như sau: Khi hệ thống phát hiện sự bat thường trong lưu lượng mạng, kết quả của việc dự đoán số lượng luồng bat thường
50 từ cùng địa chỉ IP nguồn sẽ được gửi đi Quá trình xử lý tiếp theo sẽ phụ thuộc vào việc vượt quá ngưỡng cho phép hay không Trong trường hợp số lượng luồng bat thường từ một IP không thuộc Whitelist, hệ thống sẽ tự động chặn IP đó bằng
ONOS dé ngăn chặn các hành vi đáng ngờ hoặc xâm nhập vào hệ thống Trong trường hợp IP thuộc Whitelist, quản trị viên sẽ tiếp tục điều tra trên hệ thống Elastic Stack để điều tra tác nhân nguồn và tính xác thực của hành vi đáng ngờ Nếu cuộc tấn công được xác nhận là thật, quản trị viên thực hiện các biện pháp dé ngăn chặn nguôn IP đó truy cập đến hệ thống mạng Trái lại, nêu đó không phải là cuộc tan công mà chỉ là các hoạt động như kiểm thử hệ thống, IP này sẽ được bỏ qua và không bị chặn Qua quá trình trên, hệ thống giúp ngăn chặn các IP có hành vi đáng ngờ và giúp quản trị viên phân biệt các cuộc tấn công thực sự và các hoạt động bình thường trên mạng.
Hình 20 dưới đây mô phỏng lại quá trình hoạt động của quá trình giám sát và ngăn chặn cuộc tan công của kẻ tan công.
Auto using API send to Onos to block abnormal traffic ) Block Abnormal traffic manual
Send detection result to telegram +€):
Send detection about abnormal traffic to Gmail —_ _ yy G il if the amount of abnormal traffic exceeds the threshold mal
Hình 20: Quy trình giám sát và ngăn chặn tan công
Chương 4 TRÌNH BAY, ĐÁNH GIA BAN LUẬN VE KET QUÁ
Dé môi trường thực nghiệm đúng nghĩa về ngữ cảnh dữ liệu lớn thì đòi hỏi rất nhiều tài nguyên tương ứng Nhưng vì tài nguyên của chúng tôi còn hạn chế, mô hình của chúng tôi được sẽ được triển khai trên một máy ảo và sử dụng docker dé sử dụng triển khai tat cả các thành phan trong mô hình với 3 phần chính: bộ điều khiển
ONOS, mô phỏng kiến trúc SDN và cơ sở hạ tầng dữ liệu lớn.
Môi trường phát triển: e Trình soạn thao: Sublime Text 3, Visual Studio Code. e Ngôn ngữ lập trình: Python 3, Python 2, Java 11. e Thu vién su dung: Numpy, Pandas, Pyspark. e SDN Controller: ONOS e Trinh gia lập hệ thống mang SDN: Mininet.
Tài nguyên phan cứng: Đề đáp ứng yêu cầu về tiết kiệm tài nguyên, linh hoạt và triển khai nhanh chóng, với ưu điểm cũng như sự tiện lợi của minh, Docker được chúng tôi lựa chọn dé triển khai toàn bộ hệ thống.
Tài nguyên máy ảo dùng dé chạy toàn bộ mô hình được triển khai bang Docker: e CPU: 8 CPUs Intel(R) Xeon(R) Silver 4210R CPU @ 2.40GHz e RAM: 16 GB e OS: Ubuntu 20.04
Các thành phan được triển khai trên docker:
Mô hình SDN: e1 node ONOS Controller: đóng vai trò là bộ điều khiển SDN giúp quản lý kiến trúc SDN được mô phỏng bởi node Mininet
52 e© 1 node Mininet (ContainerNet) dé quản lý và tạo các kết nối cho mạng mô phỏng SDN e 13 node làm Host mô phỏng mang SDN sử dụng hệ điều hành Ubuntu.
Cơ sở hạ tầng dữ liệu lớn: e 1 node Nprobe e 1 node Kafka e 3 node Spark: 1 node master 2G va 2 node worker (1G) e 3 node Elastic stack: Elasticsearch, Kibana và Logstash
4.2.1 Đánh giá mô hình Máy học
Phan này cho thấy kết quả của mô hình chúng tôi đề xuất được sử dụng dé phát hiện xâm nhập Hệ thống IDS này được trién khai trong lập trình pyspark bằng thư viện học máy MLIib trong Apache Spark Các kết qua từ các thí nghiệm của chúng tôi chứng minh rằng mô hình của chúng tôi có hiệu quả trong việc xác định các lưu lượng mang bat thường trong hệ thống Chúng tôi đã tiễn hành chạy, đánh giá chỉ số và so sánh giữa 7 thuật toán đã được đề cập ở mục 3.5.1.2 Chúng tôi tiễn hành đánh giá kết quả trên cả phân loại nhị phân và phân loại đa lớp.
Bảng 4 mô tả kết quả so sánh các chỉ số đánh giá giữa thuật toán chúng tôi đề xuất với 6 thuật toán còn lại.
Bảng 4: So sánh kết quả các chỉ số đánh giá phân loại nhị phân giữa các thuật toán máy học
Linear | Decision Random | Naive Our
SVC Tree Forest Bayes Model
Precision | 0.9883 | 0.9967 0.9968 0.9970 | 0.8598 0.9972 0.8598 Fl-score | 0.9883 | 0.9967 | 0.9968 | 0.9970 | 0.8619 0.9972 0.8619 Đối với mô hình phân loại các cuộc tấn công, chúng tôi đã đánh giá bộ tập dữ liệu và thấy rằng số lượng mẫu “Benign” quá nhiều so với các loại tắn công còn lại, ngược lại có một sỐ loại tấn công có quá Ít sỐ lượng mẫu dé có thé huấn luyện một cách chính xác Do đó chúng tôi đã điều chỉnh số lượng mẫu cũng như số lượng lớp dé xây dựng mô hình phân loại đa lớp Bang 5 mô tả tập dit liệu sau khi đã điều chỉnh và kết quả các chỉ số đánh giá trong phân loại đa lớp giữa mô hình chúng tôi dé xuất với các thuật toán máy học khác được biểu diễn ở Bảng 6
Bang 5: Bảng mô tả số lượng mẫu của từng loại tan công
Benign | Exploits | Fuzzers | Generic | Reconnaissance Type
Bang 6: Bang so sánh kết quả các chỉ số đánh giá trong phân loại đa lớp giữa các thuật toán máy học
Linear | Decision Random | Naive Our
SVC Tree Forest Bayes Model
Hình 21: So sánh confusion matrix của mô hình chúng tôi đề xuất với 2 thuật toán có kêt quả tôt
Hình 21 và Hình 22 mô tả kết quả chỉ tiết và so sánh mô hình chúng tôi đề xuất với
2 thuật toán có kết quả tốt nhất so với các thuật toán học máy còn lại Từ confusion matrix, chúng ta có thé thay sự chênh lệch không đáng kê giữa các loại thuật toán. Như trong Hình 21, giá tri TPR va TNR của mô hình chúng tôi được báo cáo lần lượt là 99,691% và 99,747% Điều này có nghĩa là mô hình có thé xác định chính xác lưu lượng mạng độc hại do tính ưu việt của mô hình phát hiện tấn công được đề xuất Bên cạnh đó, ở Hình 22, khả năng phân loại các cuộc tấn công của mô hình chúng tôi đề xuất có kết quả vượt trội hơn so với 2 thuật toán còn lại Có thể thấy răng, trên 2 thuật toán được so sánh, tỉ lệ dự đoán sai thành loại tân công “Fuzzer”
55 khá cao, đặc biệt là đối với dạng “Exploit” Trong khi đó, mô hình chúng tôi đề xuất có sự khác biệt so với 2 thuật toán còn lại với khả năng phân loại có sự đông đêu giữa các lớp, cũng như tỉ lệ cảnh báo sai ở mức châp nhận được Ngoài ra, Bảng 7 biéu diễn chỉ tiết va so sánh thời gian xử lý dữ liệu giữa các thuật toán máy học cũng là nguyên nhân dé có thé đảm bảo mô hình chúng tôi đề xuất có khả năng hoạt động tốt đối với hệ thống thực tế.
Bảng 7: Bảng so sánh thời gian xử lý dữ liệu giữa mô hình chúng tôi đề xuất với các thuật toán máy học khác
Our Random | Naive Linear | Decision
Model Forest Bayes SVC Tree
Benign Exploits Fuzzers Generic Reconnaissance
Benign Exploits Fuzzers Generic Reconnaissance Benign Exploits Fuzzers Generic Reconnaissance °
Hình 22: So sánh confusion matrix của mô hình chúng tôi đề xuất với 2 thuật toán có kêt quả tôt
4.2.2 Đánh giá hiệu quả mô hình phân tan
Vấn đề quan trọng trong đữ liệu lớn là khả năng xử lý lượng dữ liệu liên tục với kích thước lớn và theo thời gian thực, điều này đòi hỏi hệ thống xử lý phải có khả năng xử lý dữ liệu nhanh và hiệu quả Hệ thống phân tán đóng vai trò quan trọng trong việc xử lý dữ liệu lớn trong kiến trúc được đề xuất Khối lượng công việc hệ thống phân tán được đánh giá bằng cách tiễn hành các kịch bản hệ thống phân tán khác nhau, trong đó số node được thay đồi Thí nghiệm này được tiễn hành bang cách sử dụng các kịch bản cho hệ thống phân tán được xây dựng trên nền tảng
Apache Spark và được mô tả như sau: e Cấu hình cơ bản (1 node master) e 1 node Master và 1 node Worker
20 e 1 node Master và 2 node Worker e 1 node Master và 3 node Worker
Trường hop đầu tiên, chúng tôi chi sử dụng một máy chi Master dé thực hiện các tác vụ tính toán và xử lý dữ liệu trên chính nó Việc sử dụng thêm các node Worker kết nói đến Master cho phép chúng chia sẻ công việc tính toán và xử lý dữ liệu.
Máy Worker sẽ thực hiện các tác vụ song song dựa trên quy trình xử lý phân tán của
Spark, tận dụng sức mạnh tính toán node Worker Với sự tăng lên số lượng máy
Worker sẽ cung cấp sức mạnh tính toán lớn hơn và khả năng xử lý dữ liệu nhanh hơn Kết quả của quá trình thực nghiệm được mô tả ở Bảng 8 Dễ dàng nhận thấy sự khác biệt giữa mô hình với 3 node Worker và mô hình không sử dụng node Worker nào (hon gap đôi số luồng dữ liệu xử lý trong 1 giây) Bên cạnh đó, kết quả ở Bang