Bằng cách kết hợp công nghệ chuỗi khối và Machine LearningML, Federated Learning FL, sẽ giải quyết được những vấn đề còn tổn tại trong mỗi công nghệ: * Bao vệ quyên riêng tư dữ liệu: Sử
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHO HO CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MẠNG MAY TÍNH VÀ TRUYEN THONG
DƯƠNG ĐỨC ANH - 20520131
KHOÁ LUẬN TỐT NGHIỆP
ENHANCE SECURITY FOR SOFTWARE DEFINED NETWORK
ARCHITECTURE BY FEDERATED LEARNING AND BLOCKCHAIN
CU NHÂN NGANH MẠNG MAY TÍNH VA TRUYEN THONG DU LIEU
GIANG VIEN HUGNG DAN
ThS Nguyén Khanh Thuat
TP HO CHÍ MINH, 2024
Trang 2LỜI CẢM ƠN
Đầu tiên, tôi xin gửi lời cảm ơn đến Trường Đại học Công Nghệ Thông Tin,ĐHQG-HCM và Khoa Mạng Máy tính và Truyền thông đã tạo điều kiện thuận lợi
để tôi có thể hoàn thành đề tài này Đồng thời, tôi xin cảm ơn các các Thầy Cô trong
Trường nói chung và các Thầy Cô trong Khoa nói riêng, những người đã luôn truyền đạt kiến thức, kinh nghiệm bổ ích trong suốt những năm tôi theo học tại Trường.
Đặc biệt, tôi muốn bay tỏ lòng biết ơn sâu sắc đến ThS Nguyễn Khánh Thuật,
người đã có những đóng góp đặc biệt quan trọng trong quá trình nghiên cứu và thực
hiện khoá luận tốt nghiệp này Nhờ có lời chỉ dẫn, góp ý tận tình cùng những tri
thức, kinh nghiệm và tâm huyết của Thay đã giúp tôi có thêm được vốn kiến thức quý báu, góp phần giúp cho dé tài ngày một tốt hơn và hoàn thiện hơn.
Tôi cũng xin gửi lời cảm ơn sâu sắc đến gia đình, bạn bè - những người đã luônsát cánh, là động lực to lớn để tôi hoàn thành khoá luận tốt nghiệp một cách trọn vẹnnhất
Cuối cùng tôi xin kính chúc quý Thầy Cô thật dồi dào sức khỏe, niềm tin để tiếptục thực hiện sứ mệnh cao đẹp của mình là truyền đạt kiến thức cho thế hệ mai sau
li
Trang 3TÓM TẮT
Trong bối cảnh công nghệ mạng không ngừng phát triển, kiến trúc mang khả lậptrình (Software Defined Networking - SDN) đã trở thành giải pháp tối ưu để quản
lý và điều khiển hệ thống mạng với tính linh hoạt và hiệu quả cao SDN được thiết
kế dựa trên một kiến trúc linh hoạt, dé quản lý, hiệu suất cao và thích ứng tốt, lý tưởng cho các ứng dụng yêu cầu băng thông cao và sự linh hoạt Tuy nhiên, bên
cạnh những lợi ích mà SDN mang lại, các vấn đề về bảo mật ngày càng trở nên phức
hiện xâm nhập (Intrusion Detection - IDS) Học liên kết cho phép mô hình học từ
dữ liệu phân tán mà không cần tập trung hóa, giảm nguy cơ rò rỉ dữ liệu Chuỗi khối
cung cấp một lớp bảo mật bổ sung bằng cách sử dụng cơ chế mã hóa và ghi chép
không thể thay đổi, từ đó tăng cường an ninh trong quá trình huấn luyện mô hình
Trong khoá luận này, tôi đã tiến hành sử dụng tập dữ liệu NSL-KDD từ nhóm
nghiên cứu của Dai học New Brunswick (UNB) Tôi cũng thực hiện các bước tiền
xử lý dit liệu, xây dựng mô hình, đánh giá hệ thống và đưa ra các kết luận cùng với
dé xuất cho tương lai Những tính năng của hệ thống được dé xuất sẽ giải quyết phầnlớn các hạn chế đã được xác định trước đó, góp phần nâng cao độ bảo mật và độ tincậy trong hệ thống mạng SDN
1H
Trang 4MỤC LỤC
Thông tin hội đồng bảo vệ khóa luận i
Lời cảm ơn ii
Tóm tat iii
Muc luc iv
Danh mục các hình vẽ và đồ thị viii Danh mục các hình vẽ va đồ thị viii Danh mục từ viết tat x
Chương1 Mở dau 1
11 Lýdochọnđểtài 1
1.2 Các nghiên cứu lên quan - 2
1.3 Mục tiêu, đối tượng và phạm vi nghiên cứu 3
1.3.1 Mục tiêunghiên cỨu 3
1.3.2 Đối tượng nghiêncứu - 4
143.3 Phạmvinghincứu 5
1.4 Phương pháp nghiên cỨu - 6
1.5 Các đóng góp chính của đề tài - 6
1.6 Cấu trúc Khoá luận tốtnghiệp - 8
Chương 2 Co sở lý thuyết 10 2.1 Software-Defined Networking - Software-Defined Networking (SDN) 10 2.1.1 Software-Defined Networking 10
2.1.2 Kiến trúc mang Software-Defined Networking (SDN) 10
2.1.3 Các loại hình Software-Defined Networking (SDN) 13
2.1.4 Ưu điểm của Software-Defined Networking (SDN) [5] 15
2.1.5 Nhược điểm của Software-Defined Networking (SDN) [5] 15
2.1.6 Software-Defined Networking (SDN) trong điện toán đám mây 15
1V
Trang 5MỤC LỤC
2.2 Software-Defined Networking (SDN) - Openstack Neutron 17
2.2.1 Kiến trúc của OpenStack Neutron 18
2.2.2 Chức nang va tính năng của OpenStack Neutron 20
2.2.3 Lợi ích của OpenStack Neutron đối với doanh nghiép 20
2.2.4 Ứng dung của OpenStack Neutron trong hệ thong 21
2.3 Chuỗi khối -Blockchain - 21
2.3.1 Dinhnghia 2 000002 eee eee 21 2.3.2 Tổng quan ẶẶẶ ee eee 22 24 HyperLedger Fabric Ặ eee 23 2.4.1 Tongquan ee 23 2.4.2 Hợp đồng thông minh Ledger - Ledger Smart Contract 25
2.5 Học máy - Machine Learning (ML) 27
2.5.1 Các phương pháp hoc máy truyền thống 28
2.5.1.1 Học có giám sát - Supervised learning [9] 28
2.5.1.2 Học không giám sát - Unsupervised learnng[9] 28
2.5.1.3 Học tăng cường - Reinforcement Learnng 29
2.5.2 Ứng dụng của học máy truyền thống 29
2.6 Học máy liên kết - Federated Learning [12] - 30
2.6.1 Cách thức hoạt động của học máy liên kết 30
2.6.2 Lợi ích của học liên kết so với học máy thông thường 31
2.6.3 Ứng dụng của học liên kết 32
2.7 Sử dụng cây quyết định và rừng liên kết trong bài toán phát hiện xâm nhập - - Q Q Q Q Q Q HQ HH gà v1 vv 33 2.7.1 Tổng quan về rừng ngẫu nhiên - Random Forest 33
2.7.2 Cây quyết định - Decision Tree - 33
2.7.3 Phương pháp học tập tập hợp - Ensemble learning 33
2.7.4 Thuật toán rừng ngẫu nhiên 34
Chương 3 Phương pháp thực hiện 37 3.1 Xây dựng hệ thống phát hiện xâm nhập 37
3.2 Chuỗi khối HyperLedger Fabric - 38
Trang 6MỤC LỤC
3.2.1 Chuỗi khối HyperLedger Fabric 38
3.2.2 Cấu trúc của Hệ thống NIDS dựa trên chuỗi khối 39
3.2.3 Ungdung ee 39 3.3 Tích hợp HyperLedger Fabric vào hệthống 40
3.3.1 Thiết lập môi trường thử nghiệm: 40
3.3.2 Môi trường cai đặt Hyperledger Fabric 40
3.3.3 Cài dat Hyperledger Fabric va Fabric Samples 40
3.3.4 Khởi động Ledger và tạo kênh chochain 42
3.3.5 Cấu hình cơ chế đồng thuận 45
3.4 Nền tang học máy, học lên kết - 45
3.4.1 Kiếntrúchệthống 45
3.4.2 Mô hình hoc máy, học liên kết 45
Chương 4 Thực nghiệm, đánh giá va thảo luận 47 4.1 Kịch bản thựcnghiệm 47
4.2 Tậpdữ liệu Ặ Ặ Q QQ Q ee 47 4.3 Kếtquảdựkiến 50
4.4 Quy trình thực nghiệm 51
4.4.1 Xây dựng mô hình học liên kết dự đoán cho kiến trúc Software-Defined Networking (SDN) sử dụng Scikit-Learn 51
44.1.1 Tiền xử lý đữ liệu 33
4.4.1.2 Chuẩnhóa dữliệu - 59
44.13 Lựa chọn đặctrưng 60
4.4.1.4 Xây, huấn luyệnmôhình 66
4.4.2 Xây dựng hệ thống NIDS kết hợp HyperLedger Fabric và mô hìnhhọcmáy ẶẶ 68 442.1 Dự đoán & đánhglá 69
Chương 5 Kết luận và hướng phát triển 74
5.1 Kếtluận ẶẶ ee ee 74
VI
Trang 7MỤC LỤC
Tài liệu tham khảo
vil
81
Trang 82.5 SDN thông qua Overlay dựa trên Hypervisor 14
2.6 Kiến trúc Openstack Neutron - 19
27 Kiến trúc chuỗi khối - 23
2.8 HyperLedger Fabric Ặ eee ee S 24
2.9 Hoc máy truyénthéng 27
2.10 Hoc máy liên kết z: : - 30 2.11 Kiến trúc rừng ngẫu nhiên - 34
3.8 Cấu hình Jupyter Notebook dùng cho học máy 46
4.1 Nhập dữ liệu cho đầu vào - 54
Trang 9DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ
47 One-hot-encoding Ặ Q ee eee 56
4.8 Thêm những phần thiếu vào tập test - 57
4.9 Nối khung dữ liệu phân loại được mã hóa với khung dữ liệu chưa phân loại Ặ.Ặ.Ặ.Ặ ee 57 4.10 Cắt tệp dữ liệu, tạo tệp dữ liệu mới - 58
4.11 Chia tập dữ liệu Ặ.Ặ 58 4.12 Tach X/Y (Đặc trưng/Nhãn) 59
4.13 Lưu dactrung 2 ee 59 4.14 Chuẩn hóa khung dữ liệu 60
4.15 ANOVA-F Qua 60 4.16 Đặc trưng được chọn ởDoS_ 61
4.17 Đặc trưng được chọn ở Probe 61
4.18 Đặc trưng được chọnởR2L - 62
4.19 Đặc trưng được chọnở U2R - 62
4.20 Chọn 13 đặc trưng tốtnhất 64
4.21 Kiểm tra các đặc trưng được chọn 65
4.22 Dựng mô hình Cây quyết định - 66
4.23 Dựng mô hình Random Forest - 67
4.24 Định nghĩa hàm trong class fedlearn 69
4.25 Thông số mô hình cây quyết định được tạo ra theo kịch bản ban đầu 69 4.26 Đánh giá K lần gấp 70
4.27 Kết quả chạy trên toàn bộ tập test - 71
4.28 ĐolẦn2 ee 71 4.29 Cây quyết định,RFE - 72
4.30 Kết quả dự đoán mô hình Random Forest - 72
4.31 Kết quả chạy mô hình NIDS bằng cách tích hợp mô hình cây quyết định và rừng ngẫu nhiên - 73
1X
Trang 10DANH MỤC TU VIET TAT
ANN Artificial Neural Network
BFT _ Byzantine Fault Tolerant
CART Classification and Regression Tree
CFT Crash Fault-Tolerant
DC Data Centre
DL Deep Learning
DLT Distributed Ledger Technology
DNN _ Deep Neural Network
DSL Domain-Specific Languages
FL Federated Learning
IDS Intrusion Detection System
ML Machine Learning
MSE Mean Square Error
RNN - Recurrent Neural Network
SDN Software-Defined Networking
SVM _— Support Vector Machines
TOC _ Technical Oversight Committee
Trang 11Chương 1 MỞ ĐẦU
Trong những năm gần đây, những bài khảo sát về những doanh nghiệp thực hiện
chuyển đổi số đang cần phải ưu tiên giải quyết bằng cách áp dụng nhiều phương pháp
khác nhau Đi cùng với nó là những nhu cầu về những loại cấu hình và cách thức
vận hành mới cho kiến trúc mạng hiện tại Kiến trúc Software-Defined Networking (SDN) ngày càng chứng minh khả năng đáp ứng cho nhiều doanh nghiệp này, làm
tăng khả năng vận hành, cung cấp cho người dùng nhiều lợi ích cho giải pháp tự
động hóa mô hình mạng bằng cách mang cấu hình cho nhiều thiết bị tập trung hóa
tại một địa điểm tập trung Đồng thời, trong một thập kỷ trở lại đây, nhiều doanh
nghiệp cũng bắt đầu chuyển dịch sang điện toán đám mây (cloud computing) nhằm
đáp ứng nhu cầu mở rộng, khả năng giám sát và những vấn dé khác của an ninh
mang [1] [2] Những khả nang mà SDN va cloud computing mang lại cho ngườidùng chủ yếu là phương pháp ảo hóa mạnh mẽ, là động lực chính dé SDN trở thànhmột thành phần chính trong công cuộc xây dựng kiến trúc Software-Defined Data
Centre (DC) !.
1.1 Ly do chọn dé tài
Khi công nghệ SDN đang dần trở thành xu hướng trong thời đại chuyển đổi số, như hầu hết công nghệ khác, nó cũng đã phát sinh ra nhiều mối nguy tìm ẩn Chính vì
vậy, khóa luận này sẽ tập trung vào mục tiêu giải pháp hay cho công cuộc phát triển
cho hệ thông SDN Bằng cách kết hợp công nghệ chuỗi khối và Machine Learning(ML), Federated Learning (FL), sẽ giải quyết được những vấn đề còn tổn tại trong
mỗi công nghệ:
* Bao vệ quyên riêng tư dữ liệu: Sử dụng học liên kết cho phép thiết bị tham gia
đào tạo mô hình trên dữ liệu cục bộ mà không cần chia sẻ dif liệu tập trung
* Bảo đảm an ninh dữ liệu: Việc sử dụng chuỗi khối sẽ ghi nhận và bảo toàn các
phiên trao đổi dữ liệu một cách bat biến, từ đó tăng cường an ninh trong quá
trình huấn luyện mô hình.
lubuntu.com/blog/data-cent re-networking-what-is-sdn/
Trang 12CHƯƠNG I MỞ ĐẦU
fe fe fe
CONTROL LAYER SDN
Control Software
-le Data Plane Interface(E.g : OpenFlow)
INFRASTRUCTER LAYER == na
5 vice Network Device \ Device
Network Device Network Device
Hình 1.1 Kiến trúc SDN phân theo lớp [1]
1.2 Các nghiên cứu liên quan
Bài khảo sát của trường Đại học UIU (United International University) [3] đã tiến
hành một nghiên cứu toàn diện về những tác động an ninh liên quan đến lớp điều
khiển (control plane) của kiến trúc SDN, đây là lớp rất quan trọng có trách nhiệm
điều phối hoạt động mạng Nghiên cứu đã dé cập đến một số van dé an ninh cấp
bách trong việc triển khai SDN bằng cách khảo sát những điểm yêu và các cuộc tan
công tiềm tàng đối với lớp điều khiển Sau đó, nghiên cứu đã phân tích kỹ càng vềcác loại tan công lớp điều khiển thông qua việc khám phá từng yếu tố của từng loại
tan công nhằm làm sáng tỏ cơ chế, tác động tiềm tàng và biện pháp ứng phó Bên
cạnh đó, tác giả cũng nhắn mạnh mối liên hệ giữa các lớp điều khiển, ứng dụng và
dữ liệu, cho thấy việc xâm nhập vào lớp điều khiển có thể lan tỏa và ảnh hưởng đến
toàn bộ cấu trúc mạng Góp phần gia tăng hiểu biết về những điểm yếu cụ thể trong
SDN với lớp điều khiển là mục tiêu chính
Bài khảo sát [1] đã bàn về các mối đe dọa bảo mật trên các kiến trúc mạng SDNtương tự như các mạng truyền thống Tuy nhiên, đặc trưng của các mối đe dọa nàythay đổi khi sử dụng SDN Ví dụ, một cuộc tấn công từ chối dịch vụ vào bộ điều
khiển tập trung quản ly một mạng lưới lớn gồm nhiều thiết bị mạng (router, switch,
v.v.) có tính phá hoại cao hơn so với một cuộc tân công có mục tiêu vào một router.
Trang 13CHUONG 1 MỞ ĐẦU
Một bộ điều khiển SDN giả mạo có thể cho phép hacker kiểm soát toàn bộ mạng,
trong khi một router giả mạo chỉ có thể làm hại đến hoạt động của lưu lượng được định tuyến qua router đó SDN đang đối mặt với những thách thức bảo mật mới này, đặc biệt là trong việc bảo vệ chính kiến trúc SDN Bảo mật SDN được đảm bảo ở tất
cả các cấp độ này dựa trên kiến trúc ba tầng và các giao diện lập trình, điều này đặt
ra nhiều thách thức Các thách thức về bảo mật của SDN được dự báo sẽ gia tăng
cùng với việc xuất hiện dần Bài khảo sát này nhắm đến mục tiêu cung cấp một đánh
giá toàn diện về tình hình bảo mật của công nghệ SDN hiện tại, kèm theo việc phân loại tài liệu nghiên cứu thành một hệ thống phân loại nêu bật các đặc điểm chính và
đóng góp của từng dé xuất vào các lớp khác nhau của SDN
Công trình của T.S Tang Anh Tuan, Des McLernon, Lotfi Mhamdi, Syed Ali
Raza Zaidi và Giáo Su Mounir Ghogho [4] khai thác công nghệ Deep Learning
(DL), ML để phát hiện bat thường dựa trên dữ liệu lưu lượng trong môi trường SDN Bài luận nhấn mạnh khả năng và tầm quan trọng của mô hình DL, Deep Neural
Network (DNN), Recurrent Neural Network (RNN), sử dụng kỹ thuật DeepIDS để
thu thập dữ liệu lưu lượng từ các thiết bi mạng OpenFlow Bài luận cũng có dé cậpvan đề khi những mô hình được huấn luyện sử dụng những bộ dữ liệu mất cân bằng
sẽ dẫn đến tình trạng dự đoán của mô hình bị giảm xuống đáng kể
1.3 Mục tiêu, đối tượng và phạm vi nghiên cứu
1.3.1 Mục tiêu nghiên cứu
» Nghiên cứu về Mạng định nghĩa bằng phần mềm (Software-defined
Net-working - SDN): Tìm hiểu về Mạng định nghĩa bằng phần mềm (SDN) Bài
khóa luận sẽ phân tích các nguyên lý hoạt động, kiến trúc, và các lợi ích mà
SDN mang lại Đồng thời nghiên cứu thêm các mô hình SDN hiện có như
Open SDN, SDN qua API, SDN qua mang overlay dựa trên hypervisor, va
Hy-brid SDN Giúp xác định cách thức ma SDN có thể được triển khai và quan lý
một cách hiệu quả trong các môi trường mạng khác nhau.
* Xây dựng mạng lưới Chuỗi khối riêng tư (Private Blockchain) sử dụng
HyperLedger Fabric: Xây dựng một mạng lưới chuỗi khối riêng tư sử dụng
Trang 14CHUONG 1 MỞ ĐẦU
nền tảng HyperLedger Fabric để tăng cường bảo mật cho mô hình mạng SDN.Việc tích hợp HyperLedger Fabric vào mạng SDN sẽ giúp bảo mật các giao dịch và dữ liệu trong mạng, đảm bảo tính toàn vẹn và an toàn của thông tin.
Bài khóa luận sẽ trình bay chi tiết các bước thiết lập và cấu hình mạng lưới
Blockchain này, cũng như cách thức nó tương tác với các thành phần của SDN
* Xây dung mô hình học liên kết dự đoán cho kiến trúc SDN sử dụng
Learn: Xây dựng một mô hình học liên kết (ML) sử dụng thư viện Learn để tiến hành dự đoán cho kiến trúc SDN dựa trên tập dữ liệu NSL-KDD
Scikit-Mô hình nay sẽ giúp phân tích va dự đoán các hành vi trong mang SDN, từ đó
nâng cao kha nang phát hiện và phòng chống các cuộc tấn công mạng
Bài khóa luận sẽ so sánh tỉ lệ dự đoán của mô hình này với các mô hình đượctrình bày trong bài báo NSL-KDD và các mô hình Hệ thống phát hiện xâm
nhập mạng (NIDS) Sự đối chiếu này sẽ giúp xác định hiệu quả của mô hình
để xuất so với các phương pháp hiện có Cuối cùng, mô hình sẽ được áp dụng
để dự đoán trên tập dữ liệu của hệ thống SDN, kiểm tra khả năng ứng dụng
thực tiễn của nó trong việc bảo vệ và quản lý mạng.
1.3.2 Đối tượng nghiên cứu
* Kiến trúc SDN và OpenVSwitch Mạng định nghĩa bằng phần mềm (SDN
-Software Defined Network) là một trong những đối tượng nghiên cứu chính
của bài khóa luận SDN là một công nghệ mạng hiện đại, cho phép việc kiểm
soát và quản lý mạng thông qua các ứng dụng phần mềm
* Học Máy và Mô Hình Học Liên Kết Học máy (ML) là một lĩnh vực quan
trọng trong trí tuệ nhân tạo, cho phép máy tính học hỏi từ dữ liệu và đưa ra dựđoán hoặc quyết định mà không cần lập trình rõ ràng Trong bài khóa luận,
chúng ta sẽ tập trung vào việc xây dựng và so sánh các mô hình học máy để
dự đoán và phát hiện các hành vi bất thường trong mạng SDN Mô hình học
có giám sát (Supervised Learning Models) sẽ được sử dụng làm cơ sở cho việc
dự đoán Các mô hình này bao gồm nhiều phương pháp khác nhau như:
- Hồi quy Logistic (Logistic Regression)
4
Trang 15CHƯƠNG 1 MỞ ĐẦU
- Cây quyết định (Decision Trees)
- Máy học đa lớp (Random Forest)
- Máy vector hỗ trợ (Support Vector Machines (SVM))
Ngoài ra, chúng ta sẽ so sánh kết quả của các mô hình này với các mô hình khác
như Mạng nơ-ron nhân tao (Artificial Neural Network (ANN)) va Gradient
Boosting để đánh giá hiệu qua của từng phương pháp.
¢ Tập dữ liệu: NSL-KDD Tập dữ liệu NSL-KDD sẽ được sử dụng để đào tao
và đánh giá các mô hình học máy NSL-KDD là một phiên bản cải tiễn của tập
dữ liệu KDD’99, được thiết kế để khắc phục các vấn dé của KDD’99 như dư
thừa dữ liệu và không cân bằng giữa các lép Tập dữ liệu này chứa các thông
tin về các kết nối mạng, bao gồm các thuộc tính mô tả các đặc điểm của mỗi
kết nối và các nhãn chỉ ra liệu kết nối đó có phải là một cuộc tấn công hay
không.
* Chuỗi khối và HyperLedger Fabric Chuỗi khối là một công nghệ lưu trữ dữ
liệu phân tán và không thể thay đổi, được biết đến với tính bảo mật cao Trong
bài khóa luận này, chúng ta sẽ nghiên cứu và triển khai một mạng lưới Chuỗi
khối riêng tư sử dụng HyperLedger Fabric để tăng cường bảo mật cho mô hình
mạng SDN.
HyperLedger Fabric là một nền tảng chuỗi khối cho phép tạo ra các mạng lưới chuỗi khối riêng tư, nơi các thành viên đã được xác thực trước có thể tham gia.
Nó cung cấp các tính năng như quản lý danh tính, kiểm soát truy cập và quản
lý hợp đồng thông minh, giúp bảo mật và quản lý dữ liệu trong mạng SDN mộtcách hiệu quả hơn.
1.3.3 Pham vi nghiên cứu
Phạm vi nghiên cứu của bài khoá luận này sẽ được giới hạn trên hệ thống phát hiện sâm nhập mạng cho hệ thống SDN được sử dụng cho đám mây Openstack.
Trang 16CHƯƠNG I MỞ ĐẦU
1.4 Phương pháp nghiên cứu
Hệ thống phát hiện xâm nhập - Intrusion Detection System (IDS)
Phát triển hệ thống giải quyết những van dé xâm nhập mang sé tập trung chủ yếu
vào khả năng giám sát, phân tích lưu lượng mạng đi qua thông qua một SDN Switch,
từ đó đưa ra cảnh báo cho người dùng.
Sử dụng mô hình học liên kết trong dự đoán xâm nhập
Mục tiêu chính của bài khóa luận là xây dựng và triển khai một hệ thống pháthiện xâm nhập sử dụng mô hình học liên kết để dự đoán và phát hiện các cuộc tấncông mạng trong môi trường SDN Trong bối cảnh của bài khóa luận này, những mô
hình học máy và mô hình học liên kết sẽ được so sánh và đối chiếu kết quả với nhau
để tìm ra được điểm mạnh cũng như điểm yếu của những loại hình, kiến trúc học
máy khác nhau.
Các mô hình học máy, học liên kết sẽ được xây dựng dựa vào 2 phương pháp cây
quyết định (Decision Tree), rừng ngẫu nhiên (Random Forest), và máy vector hỗ trợ
(SVM) Mỗi mô hình sé được đào tao và đánh giá bằng tap dif liệu NSL-KDD, một
phiên bản cải tiến của tập dữ liệu KDD’99, để đảm bảo độ chính xác và hiệu quảcủa hệ thống phát hiện xâm nhập
Tích hợp mô hình IDS Vào môi trường mạng SDN
Bài khoá luận này tập trung xây dựng một kiến trúc SDN tích hợp với IDS để
phát hiện và phản ứng kịp thời với các cuộc tan công mạng bang cách tích hợp công
nghệ học máy, học máy liên kết vào hệ thống phát hiện xâm nhập và sử dụng hệthống đó để thực hiện dự đoán trên nền tảng mạng SDN
1.5 Các đóng góp chính của đề tài
Tích hợp hệ thống phát hiện xâm nhập vào môi trường SDN
Một trong những đóng góp quan trọng của bài khóa luận là việc tích hợp hệ thốngphát hiện xâm nhập (IDS) vào môi trường Mạng định nghĩa bằng phần mềm (SDN).Việc này không chỉ nâng cao khả năng bảo mật của SDN mà còn giúp quản trị viênmạng có thể quản lý và điều khiển các biện pháp an ninh một cách linh hoạt và tập
trung Hệ thống IDS tích hợp sẽ giúp phát hiện và phản ứng kịp thời với các cuộc
Trang 17CHUONG 1 MỞ ĐẦU
tấn công mạng, đảm bảo tính toàn vẹn và an toàn của hệ thống
Xây dựng và đánh giá các mô hình học máy
Bài khóa luận sẽ xây dựng và đánh giá các mô hình học máy sử dụng dữ liệu từ
tập dữ liệu NSL-KDD để phát hiện các hành vi bất thường trong mạng Các mô hình
học máy như hồi quy logistic, cây quyết định, máy học đa lớp (Random Forest), và
máy vector hỗ trợ (SVM) sẽ được triển khai và so sánh để xác định mô hình hiệu quả
nhất cho việc phát hiện xâm nhập Việc so sánh này sẽ cung cấp cái nhìn toàn diện
về hiệu suất của từng mô hình, từ đó đề xuất mô hình tối ưu cho việc bảo vệ mạng
Ứng dụng Chuỗi khối để Tăng cường Bảo Mật
Bài khóa luận sẽ nghiên cứu và triển khai mạng lưới Chuỗi khối riêng tư sử dụng
HyperLedger Fabric để tăng cường bảo mật cho mô hình mạng SDN Việc sử dụng
công nghệ chuỗi khối sẽ giúp đảm bảo tính toàn vẹn và an toàn của dữ liệu mạngthông qua cơ chế lưu trữ dữ liệu phân tán và không thể thay đổi Điều này không chỉ
tăng cường khả năng bảo mật mà còn giúp quản trị viên có thể theo dõi và kiểm soát
các giao dịch trong mạng một cách minh bạch và tin cậy.
Phát triển quy trình dự báo và cảnh báo
Bài khóa luận sẽ phát triển một quy trình dự báo và cảnh báo cho hệ thống phát
hiện xâm nhập Quy trình này bao gồm các bước thu thập, xử lý dữ liệu, dự đoán
xâm nhập, và cảnh báo quản trị viên Việc phát triển quy trình này sẽ giúp đảm bảo
rằng hệ thống có thể hoạt động hiệu quả trong việc phát hiện và phản ứng kịp thờivới các mối đe dọa mạng Đồng thời, việc cảnh báo sẽ giúp quản trị viên có thể đưa
ra các biện pháp phòng ngừa và xử lý thích hợp.
Đánh giá và so sánh với các phương pháp hiện có
Bài khóa luận sẽ đánh giá hiệu quả của hệ thống phát hiện xâm nhập bằng cách
so sánh với các phương pháp hiện có Việc so sánh này sẽ giúp xác định điểm mạnh
và điểm yếu của hệ thống được đề xuất, từ đó cung cấp cơ sở để cải thiện và tối ưuhóa các biện pháp bảo mật mạng Kết quả đánh giá sẽ cung cấp thông tin quan trọngcho các nghiên cứu và triển khai trong tương lai, đồng thời đóng góp vào việc pháttriển các giải pháp bảo mật mạng tiên tiến và hiệu quả
Đóng góp cho cộng đồng nghiên cứu
Các kết quả và phương pháp được trình bày trong bài khóa luận sẽ đóng góp cho
Trang 18CHUONG 1 MỞ ĐẦU
cộng đồng nghiên cứu bằng cách cung cấp các giải pháp và kinh nghiệm thực tiễn
trong việc phát hiện xâm nhập và bảo mật mạng Các nghiên cứu và phát hiện từ bài
khóa luận cũng có thể được sử dụng làm tài liệu tham khảo cho các nghiên cứu sau
này, và đồng thời cung cấp nén tang cho việc phát triển các hệ thống bảo mật mang
hiện đại và hiệu quả hơn Ứng dụng công nghệ học máy vào kiến trúc chuỗi khối
thông qua nền tảng HyperLedger Fabric
Ứng dụng thực tiễn
Bài khóa luận không chỉ mang tính lý thuyết mà còn có khả năng ứng dụng thực
tiễn cao Các kết quả và giải pháp từ bài khóa luận có thể được triển khai trong các
môi trường mạng thực tế, giúp bảo vệ các hệ thống mạng khỏi các mối nguy hại từ
xâm nhập và tấn công mạng Việc ứng dụng thực tiễn của các giải pháp này sẽ gópphần nâng cao hiệu quả bảo mật và quản lý mạng, đáp ứng các yêu cầu ngày càng
cao của môi trường mạng hiện đại.
1.6 Cấu trúc Khoá luận tốt nghiệp
Khóa luận với đề tài TANG CƯỜNG BAO MAT CHO KIÊN TRÚC MẠNG KHẢ LẬP TRÌNH BẰNG CÔNG NGHỆ HỌC LIÊN KẾT VÀ CÔNG NGHỆ CHUOI KHOI được trình bay bao gồm 5 chương Nội dung tóm tat từng chương
được trình bày như sau:
* Chương 1: Mở đầu Tổng quan về dé tài, trình bày lý do chọn dé tài và các
nghiên cứu liên quan đến dé tài Giới thiệu mục tiêu, đối tượng và phạm vi
nghiên cứu Đồng thời trình bày các phương pháp nghiên cứu và các đóng gópchính của đề tài
* Chương 2: Cơ sở lý thuyết Trình bày tổng quan về Học máy, Học máy liên
kết Đồng thời trình bày tổng quan về mang SDN, công nghệ chuỗi khối vaứng dụng của chúng trong thị trường công nghệ hiện nay.
¢ Chương 3: Phương pháp thực hiện Trình bày các phương pháp thực hiện
với các nội dung, mục tiêu đã đề ra.
« Chương 4: Thực nghiệm đánh giá Trình bày các kịch bản triển khai, mô tả
Trang 19CHƯƠNG 1 MỞ ĐẦU
tập dữ liệu, môi trường và cấu hình triển khai Đưa ra các tiêu chí đánh giá và
trình bày kết quả đã triển khai.
* Chương 5: Kết luận và phát triển Đánh giá kết quả đạt được, đánh giá ưu
điểm, nhược điểm và đưa hướng phát triển trong tương lai.
Trang 20Chương 2 CƠ SỞ LÝ THUYET
2.1 Software-Defined Networking - SDN
2.1.1 Software-Defined Networking
Mang định nghĩa bằng phần mềm là một cách tiếp cận mới trong kiến trúc mạng,
cho phép kiểm soát và quản lý mạng bằng các ứng dụng phần mềm Thông qua
SDN, hành vi mạng của toàn bộ hệ thống mạng và các thiết bị có thể được lập trình
một cách tập trung và kiểm soát thông qua các ứng dụng phần mềm sử dụng APImở.
Software Defined Networking (SDN)
Applications
SDN Controller SDN Datapath
Control Plane
Data Plane
Pool of Application Servers
Hinh 2.1 Software-Defined Networking !
2.1.2 Kiến trúc mang SDN
Trong một mang truyền thống, mỗi công tắc có lớp dữ liệu và lớp điều khiển riêng
lớp điều khiển của các công tắc trao đổi thông tin về cấu trúc liên kết và từ đó tạobảng chuyển tiếp để quyết định nơi một gói dữ liệu sẽ được chuyển tiếp qua lớp dữliệu Trong SDN, lớp điều khiển được tách ra khỏi công tắc và được giao cho mộtđơn vị tập trung gọi là bộ điều khiển SDN Do đó, quản trị mạng có thể định hình
www geeks forgeeks.org/software-defined-networking/
10
Trang 21CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
lưu lượng qua một giao diện điều khiển tập trung mà không cần phải can thiệp vào
từng công tắc riêng lẻ Lớp dữ liệu vẫn nằm trong công tắc và khi một gói tin vào
công tắc, hoạt động chuyển tiếp của nó được quyết định dựa trên các mục trong bảng
luồng, được bộ điều khiển chỉ định trước.
(routing, load balancing, etc)
« Lớp dữ Liệu - Data Plane: Lớp dữ liệu bao gồm tất cả các hoạt động liên
quan đến các gói dữ liệu do người dùng cuối gửi Chúng bao gồm:
- Chuyển tiếp các gói tin.
- Phân đoạn và tái lắp ráp dữ liệu
- Sao chép các gói tin để phát đa hướng - Multicasting.
« Lớp điều khiển - Control Plane: Lớp điều khiển bao gồm tất cả các hoạt
động cần thiết để thực hiện các hoạt động của lớp dữ liệu nhưng không liênquan trực tiếp đến các gói dữ liệu của người dùng cuối Nói cách khác, đây là
bộ não của mạng Các hoạt động của lớp điều khiển bao gồm:
?www zenarmor
com/docs/network-basics/what-is-software-defined-networking-11
Trang 22CHƯƠNG 2 CƠ SỞ LÝ THUYET
- Tạo bảng định tuyến
- Thiết lập các chính sách xử lý gói tin.
¢ Lớp ứng dung - Application Plane: Lớp ứng dung bao gồm các chương trình
và ứng dụng mạng, truyền đạt các hành vi và yêu cầu mạng mong muốn đến
lớp điều khiển SDN bên dưới Nhưng trong SDN, người dùng có thể sử dụng
lớp ứng dụng để điều khiển và quản lý lớp dữ liệu (data plane).
SDN là một cách tiếp cận mà trong đó người dùng tách lớp điều khiển ra khỏi
các công tắc và chuyển nó đến một đơn vị trung tâm gọi là bộ điều khiển SDN (SDNcontroller) Do đó, quản trị mạng có thể định hình lưu lượng qua một giao diện điều
khiển tập trung mà không cần phải can thiệp vào từng công tắc riêng lẻ
12
Trang 23CHƯƠNG 2 CƠ SỞ LÝ THUYET
2.1.3 Các loại hình SDN
Các loại hình SDN được sử dung rộng rãi *:
* Open SDN: Open SDN được tận dung bang cách sử dụng công tắc OpenFlow
Đây là một cách triển khai SDN đơn giản, trong đó bộ điều khiển sẽ giao tiếp
với các Switch bằng south-bound API với sự trợ giúp của giao thức OpenFlow
¢ SDN qua API: Trong SDN qua API, các chức nang trong các thiết bị từ xa
như công tắc được gọi bang các phương pháp thông thường như SNMP hoặc
CLI hoặc thông qua các phương pháp mới hơn như Rest API Ở đây, các thiết
bị được cung cấp các điểm điều khiển cho phép bộ điều khiển thao tác các thiết
Trang 24CHƯƠNG 2 CƠ SỞ LÝ THUYET
Open SDN
SDN applications
a
Controller
Open Open
flow | flow
Network Network Network
devices devices devices
Hình 2.4 SDN qua API >
¢ SDN qua mang Overlay dựa trên Hypervisor: Trong SDN qua hypervisor,
cau hình của các thiết bi vat ly không thay đổi Thay vào đó, các mang overlaydựa trên hypervisor được tạo ra trên mạng vật lý Chỉ các thiết bị ở cạnh mạng
vật lý được kết nối với các mạng ảo hóa, do đó che giấu thông tin của các thiết
edge devices edge devices
Network Devices Network Devices
Network Devices Network Devices Network Devices
Network Devices Network Devices
Hình 2.5 SDN qua mang Overlay dựa trên Hypervisor 5
* Hybrid SDN: Hybrid SDN là sự kết hợp giữa Mang Truyền thống với SDN
trong một mạng để hỗ trợ các loại chức năng khác nhau trên mạng.
5
6
www qeeks£orgeeks org/tybes-~o£-software-de£1ned-networks- 1mp]ementation/ www qeeks£orgeeks org/tybpes-o£-so£tware- de£1ned-networks- 1mp]ementation/
14
Trang 25CHƯƠNG 2 CƠ SỞ LÝ THUYET
2.1.4 Ưu điểm của SDN [5]
¢ Khả lập trình: Mạng có thể được lập trình và dé dang thay đổi thông qua bộ
điều khiển thay vì từng công tắc riêng lẻ
* Giảm chỉ phi: Phần cứng công tắc trở nên rẻ hơn vì mỗi công tắc chỉ cần lớp
dữ liệu.
° Trừu Tượng Hóa Phần Cứng: Phần cứng được trừu tượng hóa, do đó các
ứng dụng có thể được viết trên bộ điều khiển mà không phụ thuộc vào nhà
cung câp công tặc.
* Bao Mật Tốt Hơn: Bộ điều khiển có thể giám sát lưu lượng và triển khai các
chính sách bảo mật Ví dụ, nếu bộ điều khiển phát hiện hoạt động đáng ngờ
trong lưu lượng mạng, nó có thể chuyển hướng hoặc chặn các gói tin.
2.1.5 Nhược điểm của SDN [5]
* Phụ thuộc vào bộ điều khiển trung tâm: Phụ thuộc vào bộ điều khiển trung
tâm, nghĩa là một điểm lỗi duy nhất Nếu bộ điều khiển bị lỗi, toàn bộ mạng
sẽ bị ảnh hưởng.
* Quy Mô Lồn: Việc sử dung SDN trên quy mô lớn vẫn chưa được định nghĩa
và khám phá rõ ràng.
SDN mở ra nhiều kha năng mới trong việc quản lý và kiểm soát mạng, tạo ra một
hướng tiếp cận hiện đại và hiệu quả cho các hệ thống mạng phức tạp ngày nay
2.1.6 SDN trong điện toán dam mây
Trong bối cảnh chuyển đổi số ngày càng trở nên cấp thiết, các doanh nghiệp cần áp
dụng những phương pháp tiếp cận mới mẻ và ưu tiên hóa quá trình chuyển đổi này.
Những yêu cầu mới phát sinh từ hoạt động kinh doanh đã đòi hỏi khả năng vận hành
và cau hình từ xa trên cơ sở hạ tầng mang của họ Điều này nhanh chóng chứng
minh giá trị của các giải pháp tự động hóa trong việc thực hiện những thay đối từ một số ít địa điểm trung tâm, qua đó giảm bớt gánh nặng công việc cho các quản trị
15
Trang 26CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
viên hệ thống và mạng Nhờ sự hỗ trợ của SDN, việc cấu hình mạng và quản lý hoạtđộng trở nên đơn giản và hiệu quả hơn, đáp ứng nhanh chóng nhu cầu kinh doanh
thay đổi liên tục.
Trong thập kỷ qua, xu hướng di chuyển lên đám mây đã trở nên phổ biến trong
các doanh nghiệp Họ tìm kiếm cơ sở hạ tầng có khả năng mở rộng nhanh chóng,tận dụng những dịch vụ mà các nhà cung cấp dịch vụ đám mây đã xây dựng và quản
lý Những năng lực này, khi kết hợp với phương pháp ảo hóa mạnh mẽ, trở thành yếu
tố then chốt trong việc định hình lại cơ sở hạ tầng công nghệ thông tin của doanh
nghiệp.
SDN, với khả năng tối ưu hóa và quản lý mạng lưới một cách linh hoạt và tựđộng, được xem như một thành phần cơ bản và không thể thiếu trong việc xây dựngmột cơ sở hạ tầng trung tâm dữ liệu hoàn toàn dựa trên phần mềm Nó không chỉ
giúp doanh nghiệp tiết kiệm chi phí và tài nguyên mà còn nâng cao độ tin cậy và khả
năng mở rộng của hệ thông Qua đó, SDN đóng vai trò quan trọng trong việc hỗ trợdoanh nghiệp tiền hành chuyển đổi số một cách toàn diện và hiệu quả, đảm bảo holuôn sẵn sàng đáp ứng những thách thức và cơ hội mới trong kỷ nguyên sé
SDN là một kiến trúc mạng tiên tiến, trong đó lớp điều khiển (control plane)được tách ra khỏi lớp dữ liệu (data plane) Điều này cho phép quản trị viên mạng cóthể điều khiển toàn bộ hệ thống mạng thông qua các chương trình phần mềm trung
tâm SDN mang lại nhiều lợi ích, bao gồm:
* Tính linh hoạt Quản ly và cấu hình mạng linh hoạt hơn nhờ khả năng trừu
tượng hóa và tự động hóa các chức năng mạng.
° Khả nang mở rộng: Dễ dàng mở rộng và thay đổi cấu hình mạng ma không
cần can thiệp vào phần cứng.
¢ Hiệu quả hoạt động: Tối ưu hóa hiệu suất và giảm thiểu thời gian ngừng hoạt
động thông qua việc quản lý mạng tập trung và tự động.
- Công nghệ SDN được tận dụng trong điện toán đám mây dựa vào các lợi thế:
* Quan lý tài nguyên linh hoạt: SDN cho phép các nhà cung cấp dịch vụ đám
mây dễ dàng quản lý và phân bổ tài nguyên mạng theo nhu cầu của người dùng
16
Trang 27CHƯƠNG 2 CƠ SỞ LÝ THUYET
Điều này giúp tối ưu hóa việc sử dụng tài nguyên và giảm thiểu lãng phí
¢ Tự động hóa quản lý mạng: Với SDN, các tác vụ quản lý mạng có thể được
tự động hóa, giúp giảm thiểu công việc thủ công và tăng cường hiệu quả quản
lý Các quy tắc và cấu hình mạng có thể được thay đổi tự động dựa trên các
yêu cầu của ứng dụng.
¢ Kha năng giám sát: SDN cung cấp kha năng giám sát và kiểm soát mạng
toàn diện, cho phép phát hiện và phản ứng nhanh chóng với các mối đe dọa bảo mật Các chính sách bảo mật có thể được áp dụng và cập nhật một cách
linh hoạt.
* Cân bằng tải: SDN có thé được sử dung để triển khai các giải pháp cân bằng
tải, giúp tối ưu hóa việc phân phối lưu lượng mạng và đảm bảo hiệu suất cao
cho các ứng dụng đám mây.
° Quan lý Hybrid Cloud: Trong môi trường đám mây lai (hybrid cloud), SDN
giúp kết nối và quản lý một cách liền mạch giữa đám mây công cộng và đám mây riêng, đảm bảo sự tương tác và hiệu quả của toàn bộ hệ thống.
2.2 SDN - Openstack Neutron
OpenStack là một nền tang điện toán đám mây mã nguồn mở, được thiết kế décung cấp các dịch vụ hạ tầng như máy tính, lưu trữ và mạng Trong hệ sinh tháiOpenStack, Neutron là một thành phần quan trọng của nền tảng OpenStack, chịutrách nhiệm cung cấp dịch vụ mạng (networking-as-a-service) trong môi trường điệntoán đám mây Neutron cho phép người dùng tạo ra các mạng và quản lý kết nối
mang cho các máy ảo và các thiết bị khác trong đám mây OpenStack Neutron cung
cấp khả năng mạng linh hoạt, cho phép các quản trị viên và người dùng cuối có thểtạo và quản lý các mạng ảo, cấu hình các giao thức mạng, và tùy chỉnh các dịch
vụ mạng theo nhu cầu cụ thể Với Neutron, các tổ chức hoặc doanh nghiệp có thểthiết kế các kiến trúc mạng phức tạp, bao gồm cả các tính năng như mạng riêng ảo
(VPN), cân bằng tải (Load Balancing), và tường lửa (Firewall) Các tính năng chính
của Neutron bao gồm:
17
Trang 28CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
° Tao và Quản Lý Mạng: Người dùng có thể tạo và quản lý các mạng ảo,
subnet, va router để kết nỗi các máy ảo và các dich vụ khác.
* Câu Hình Cân Bằng Tải (LBaaS): Neutron cung cấp dịch vụ cân bằng tải,
giúp phân phối lưu lượng mạng giữa các máy ảo và dịch vụ để tối ưu hóa hiệusuất
¢ Bao Mật Mang: Neutron hỗ trợ các tính năng bảo mật như tường lửa (FWaaS),
VPN (VPNaaS), và nhóm bảo mật (security groups) để bảo vệ lưu lượng mạng.
* Hỗ Trợ SDN: Neutron tích hợp với các giải pháp SDN như OpenFlow, OVS
(Open vSwitch), và các bộ điều khiển SDN để cung cấp khả năng quản lý vàđiều khiển mạng linh hoạt
2.2.1 Kiến trúc của OpenStack Neutron
Kiến trúc của Neutron bao gồm ba thành phần chính: Neutron Server, Neutron gin, va Neutron Agent Mỗi thành phần đóng một vai trò quan trọng trong việc quản
Plu-lý và điều khiển mạng trong môi trường OpenStack
18
Trang 29CHƯƠNG 2 CƠ SỞ LÝ THUYET
Software-Defined Networking Service
“Sees REST API
and others
Hình 2.6 Kiến trúc của Openstack Neutron 7
* Neutron Server: Đây là thành phan trung tâm của Neutron, chịu trách nhiệm
xử lý các yêu cầu từ người dùng và quản trị viên thông qua API Neutron Servertương tác với các thành phần khác của OpenStack, như Keystone (dịch vụ nhậnthực) và Nova (dịch vụ máy tính), để cung cấp các dịch vụ mạng
* Neutron Plugin: Plugin là các thành phần mở rộng cho phép Neutron tương
tác với các công nghệ mạng khác nhau Mỗi plugin cung cấp một tập hợp cácchức năng và API cụ thể để quản lý các thiết bị mạng và hạ tầng Các pluginphổ biến bao gồm Open vSwitch, Linux Bridge, và các giải pháp thương mại
như Cisco, VMware NSX.
* Neutron Agent: Các agent là các thành phần triển khai trên các nút tính toán
va nút mạng, chịu trách nhiệm cấu hình và quản lý các tài nguyên mạng cụ thể trên từng nút Neutron Agent phối hợp với Neutron Plugin để đảm bảo các yêu
cầu mạng được thực hiện chính xác trên hạ tầng vật lý và ảo
Tdocs.openstack.org/security-guide/networking/architecture.html
19
Trang 30CHƯƠNG 2 CƠ SỞ LÝ THUYET
¢ L3 agent:Cung cấp khả năng giao tiếp L3/NAT cho kết nỗi mạng bên ngoài
của VM cho những thành phần khác Và yêu cầu truy cập hàng đợi tin nhắn
để thực hiện chức năng (Thành phần này có thể có hoặc không tùy thuộc vào Plugin mà hệ thống đang sử dụng)
* Nhà cung cấp dịch vụ mạng (SDN server/dịch vụ):Cung cấp các dịch vụ
mạng ngoài cho các mạng của người thuê Các dịch vụ SDN này có thể tương
tác với neutron-server, neutron-plugin và các plugin-agent thông qua các kênh
giao tiếp như REST API
2.2.2 Chức nang và tính nang của OpenStack Neutron
Neutron cung cấp một loạt các chức nang va tính năng mạnh mẽ để hỗ trợ việc quản
lý mạng trong môi trường đám mây:
¢ Mang ảo (Virtual Networks): Neutron cho phép tạo và quản ly các mạng ảo,
cung cấp các kết nối mạng linh hoạt giữa các máy ảo và các dịch vụ đám mây
khác.
* Địa chỉ IP động (DHCP): Neutron tích hợp dịch vụ DHCP để tự động cấp
phát địa chỉ IP cho các máy ảo trong mạng.
* Mạng riêng ảo (VPN): Neutron hỗ trợ thiết lập các mạng riêng ảo để kết nối
các mạng vật lý và ảo qua Internet một cách an toàn.
* Cân bằng tải (Load Balancing): Neutron cung cấp các dịch vụ cân bằng tải
để phân phối lưu lượng mạng đồng đều giữa các máy chủ, đảm bảo hiệu suất
và độ tin cậy.
« Tường lửa (Firewall): Neutron cho phép cấu hình và quản lý các quy tắc
tường lửa để bảo vệ mạng khỏi các cuộc tấn công và truy cập trái phép.
2.2.3 Lợi ích của OpenStack Neutron đối với doanh nghiệp
Việc sử dụng OpenStack Neutron mang lại nhiều lợi ích cho các tổ chức và doanh
nghiệp:
20
Trang 31CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
* Linh hoạt và dé dàng tùy chỉnh: Neutron cho phép tùy chỉnh các dịch vụ
mạng theo nhu cầu cụ thể của từng ứng dụng và môi trường
¢ Khả nang mở rộng: Neutron hỗ trợ mở rộng ha tang mang một cách dé dàng,
phù hợp với các yêu cầu phát triển và mở rộng của doanh nghiệp
« Tích hợp đa dang: Neutron hỗ trợ tích hợp với nhiều công nghệ mạng và thiết
bị khác nhau, giúp doanh nghiệp tận dụng các hạ tầng sẵn có và đầu tư mới
* Bao mật và quản lý: Neutron cung cấp các công cụ và tính năng quản lý bảo
mật mạnh mẽ, giúp bảo vệ hệ thống mạng khỏi các mối đe dọa va đảm bảo
tính toàn vẹn của dữ liệu.
2.2.4 Ứng dụng của OpenStack Neutron trong hệ thông
Trong bối cảnh nghiên cứu hệ thống phòng chống xâm nhập (NIDS), OpenStack Neutron đóng vai trò quan trọng trong việc cung cấp một môi trường mạng ảo linh
hoạt và mạnh mẽ Sử dụng Neutron, tôi có thể dễ dàng thiết lập các cấu hình mạngphức tạp, triển khai các dịch vụ mạng và quản lý luồng dữ liệu một cách hiệu quả.Kết hợp với các công nghệ học máy và Blockchain HyperLedger Fabric, Neutron
giúp xây dựng một hệ thống NIDS toàn diện, có khả năng phát hiện và ngăn chặn các cuộc tân công mạng, đồng thời đảm bảo tính bảo mật và minh bach của dữ liệu.
2.3 Chuỗi khối - Blockchain
2.3.1 Định nghĩa
Chuỗi khối, hay Blockchain, là một công nghệ cơ sở dữ liệu phân cấp được thiết kế
để lưu trữ thông tin theo cách an toàn, minh bạch và không thể thay đổi Nó hoạt
động dựa trên việc ghi lại dữ liệu trong các khối thông tin (blocks), mỗi khối chứamột tập hợp các giao dịch hoặc sự kiện đã được xác thực Các khối này được liên kết
với nhau theo thứ tự thời gian thành một chuỗi liên tục thông qua giá trị băm (hash
value) của khối trước đó, tạo thành một chuỗi khối [6].
21
Trang 32CHƯƠNG 2 CƠ SỞ LÝ THUYET
2.3.2 Tổng quan
Cấu trúc và Hoạt động của Chuỗi khối
Khối - Block
Mỗi khối trong chuỗi chứa ba thành phần chính [7]:
« Dữ liệu giao dich: Chita thông tin về các giao dịch đã diễn ra trong khoảng
thời gian nhất định, như chi tiết về người gửi, người nhận, và số lượng tài sản được trao đối.
» Gia trị băm (Hash): Một mã định danh duy nhất được tạo ra từ dữ liệu trong
khối thông qua một thuật toán mã hóa Giá trị này đảm bảo tính duy nhất và
bảo mật cho dữ liệu trong khối.
« Giá trị băm của khối trước (Previous Block Hash): Giá trị băm của khối
liền trước trong chuỗi Thành phần này giúp liên kết các khối với nhau và đảm bảo tính toàn vẹn của chuỗi khối.
Liên kết các khối
Các khối được liên kết với nhau một cách chặt chẽ thông qua giá trị băm của khốitrước Mỗi khối mới được thêm vào chuỗi đều chứa giá trị băm của khối trước đó,tạo ra một chuỗi liên tục và không thể bị thay đổi Nếu có bat kỳ thay đổi nào xảy ra
trong một khối, giá trị băm của khối đó sẽ thay đổi, dẫn đến sự không khớp với giá
trị băm được lưu trữ trong khối tiếp theo Điều này giúp phát hiện và ngăn chặn mọi
cô gắng sửa đổi dữ liệu [8]
Thời gian khởi tạo và Dấu thời gian - Timestamp
Mỗi khối chứa một dấu thời gian ghi lại thời điểm khối đó được tạo ra Dấu thời
gian này giúp theo dõi thứ tự của các giao dịch và sự kiện, đồng thời đảm bảo tínhminh bạch và rõ ràng về thời gian trong chuỗi khối
8www qgeeksforgeeks org/blockchain-structure/?ref=lbp
22
Trang 33CHƯƠNG 2 CƠ SỞ LÝ THUYET
Header Header Header
Previous Block Previous Block Previous Block
„+77? Address „+77? Address wt” Address
Timestamp Timestamp Timestamp
Nonce Nonce Nonce Merkel Root Merkel Root Merkel Root
Hình 2.7 Kiến trúc chuỗi khối 8
2.4 HyperLedger Fabric
2.4.1 Tổng quan
Hyperledger Fabric là một nền tảng công nghệ sổ cái phân tán - Distributed Ledger
Technology (DLT) cấp doanh nghiệp mã nguồn mở, được thiết kế để sử dụng trong
các bối cảnh doanh nghiệp va mang lại một số khả năng phân biệt quan trọng so với các nên tảng sổ cái phân tán hoặc chuỗi khối phổ biến khác Được thiết lập dưới sự
bảo trợ của Linux Foundation, Hyperledger Fabric không chỉ hưởng lợi từ một lịch
sử lâu đài và thành công của việc nuôi dưỡng các dự án mã nguồn mở dưới sự quản
lý mở mà còn phát triển các cộng đồng mạnh mẽ và hệ sinh thái phát triển mạnh
mẽ Dự án Hyperledger được quản lý bởi một ủy ban giám sát kỹ thuật đa dạng Technical Oversight Committee (TOC), trong khi dự án Hyperledger Fabric được xử
-lý bởi một nhóm các nhà duy trì đa dang từ nhiễu tổ chức Hang trăm nhà phát triển
thuộc nhiều tổ chức đã đóng góp cho Hyperledger Fabric, làm tăng thêm giá trị và
sự phát triển của dự án.
Kiến trúc của Fabric có tính mô đun cao và có thể cấu hình, cho phép đổi mới,
tính linh hoạt, và tối ưu hóa cho một loạt các trường hợp sử dụng trong ngành công nghiệp bao gồm ngân hàng, tài chính, bảo hiểm, chăm sóc sức khỏe, nhân sự, chuỗi cung ứng và thậm chí là phân phối nhạc số Một trong những điểm nổi bật của
23
Trang 34CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
Fabric là khả năng hỗ trợ hợp đồng thông minh (Smart contracts) được viết bằng các
ngôn ngữ lập trình thông dụng như Java, Go và Node.js, thay vì các ngôn ngữ đặc
thù theo lĩnh vực - Domain-Specific Languages (DSL) Điều này có nghĩa là hầu hết
các doanh nghiệp đã có sẵn các kỹ năng cần thiết để phát triển hợp đồng thông minh
và không cần thêm đào tạo để học một ngôn ngữ mới hay DSL
Nền tang Fabric là một nền tảng permissioned, có nghĩa là, không giống như
mang public permissionless, các thành viên tham gia đều biết rõ về nhau thay vì ẩn
danh và do đó, không hoàn toàn không tin tưởng lẫn nhau Điều này có nghĩa là mặc
dù các thành viên có thể không hoàn toàn tin tưởng lẫn nhau (họ có thể, ví dụ, là đối
thủ cạnh tranh trong cùng một ngành), một mạng lưới có thể được vận hành dưới
một mô hình quản trị được xây dựng dựa trên những gi tin tưởng có sẵn giữa các
thành viên, chẳng hạn như một thỏa thuận pháp lý hoặc khung để xử lý tranh chấp
Một trong những yếu tố phân biệt quan trọng nhất của nền tảng này là hỗ trợ
các giao thức đồng thuận có thể cắm được, cho phép nền tảng được tùy chỉnh hiệu
quả hơn để phù hợp với các trường hợp sử dụng cụ thể và mô hình tin cậy Ví dụ,
khi được triển khai trong một doanh nghiệp duy nhất, hoặc được vận hành bởi một
cơ quan có thẩm quyền đáng tin cậy, giao thức đồng thuận Byzantine Fault Tolerant
(BFT) hoàn toàn có thể được coi là không cần thiết và gây tốn kém hiệu suất Trong
những tình huống như vậy, một giao thức đồng thuận Crash Fault-Tolerant (CFT) có
9
24
WWW a©@YOwWOng com/the-complete-guide-to-hyperledger-fabric-in-2023/|
Trang 35CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
thể là đủ Tuy nhiên, trong một trường hợp sử dụng phi tập trung đa bên, một giao
thức đồng thuận BFT truyền thống có thể được yêu cau.
HyperLedger Fabric có thể tận dụng các giao thức đồng thuận mà không yêu cầu một loại tiền điện tử nội tại để khuyến khích việc khai thác tốn kém hoặc để cung
cấp nhiên liệu cho việc thực thi hợp đồng thông minh Việc tránh sử dụng tiền điện
tử làm giảm một số rủi ro và vector tấn công đáng kể, và việc không có các hoạtđộng khai thác mật mã có nghĩa là nền tảng có thể được triển khai với chi phí vận
hành tương tự như bat kỳ hệ thống phân tán nào khác.
Sự kết hợp của những tính năng thiết kế phân biệt này làm cho Fabric trở thànhmột trong những nén tảng có hiệu suất tốt nhất hiện nay cả về xử lý giao dịch và độ
trễ xác nhận giao địch, và nó cho phép bảo mật và bảo mật của các giao dịch và hợp
đồng thông minh (ma Fabric gọi là “chaincode”) thực hiện chúng
Với những khả năng vượt trội này, Hyperledger Fabric đã và đang đ ược sử dụng
rộng rãi trong nhiều lĩnh vực công nghiệp, tạo nền tảng cho các ứng dụng chuỗi khối doanh nghiệp Nền tảng này không chỉ cung cấp một môi trường an toàn và bảo mật
cho các giao dịch mà còn cho phép sự linh hoạt và khả năng mở rộng cao, đáp ứng
nhu cầu ngày càng cao của các doanh nghiệp hiện đại.
Hyperledger Fabric thực sự là một bước tiến quan trọng trong công nghệ chuỗikhối, không chỉ giúp doanh nghiệp cải thiện hiệu quả và bảo mật mà còn mở ra nhiều
cơ hội mới trong việc triển khai các giải pháp sáng tạo trong tương lai.
2.4.2 Hợp đồng thông minh Ledger - Ledger Smart Contract
Hợp đồng thông minh, hay còn được gọi là "chaincode" trong Hyperledger Fabric,
là các ứng dụng phân tán được tin tưởng và bảo mật nhờ vào công nghệ blockchain
và sự đồng thuận cơ bản giữa các peer (nút mạng) Đây là logic nghiệp vụ của mộtứng dụng blockchain, đóng vai trò quan trọng trong việc thực thi các quy tắc và quy
định tự động trong hệ thống.
Các Đặc Điểm Chính của Hợp Đồng Thông Minh Khi áp dụng hợp đồng thông minh vào một nên tảng như Hyperledger Fabric, có ba điểm chính cần lưu ý:
» Chay Đồng Thời Nhiều hợp đồng thông minh: có thể chạy đồng thời trong
mạng lưới Điều này cho phép các giao dịch và tác vụ được xử lý một cách
25
Trang 36CHƯƠNG 2 CƠ SỞ LÝ THUYET
song song, nâng cao hiệu quả và tốc độ xử lý của hệ thống
* Triển Khai Hop đồng thông minh động: có thé được triển khai một cách
linh hoạt và động, thường là bởi bất kỳ thành viên nào trong mạng lưới Điềunày giúp mạng lưới dễ dàng mở rộng và thích ứng với các yêu cầu kinh doanh
mới mà không cần phải thực hiện các quy trình phức tạp.
* Mã Ứng Dung Không Dang Tin Cay: Mã ứng dụng nên được xem là không
đáng tin cậy, thậm chí có thể là độc hại Do đó, hệ thống cần có các biện pháp
bảo mật mạnh mẽ để bảo vệ mạng lưới khỏi các mã độc hại và đảm bảo tính toàn vẹn của hệ thống.
Kiến trúc Order-Execute và những hạn chế Hau hết các nền tảng chuỗi khối
hiện tại có khả năng thực thi hợp đồng thông minh đều tuân theo kiến trúc execute" Quy trình đồng thuận trong kiến trúc này hoạt động như sau:
"order-Xác thực và sắp xếp giao dịch:
Giao thức đồng thuận xác thực và sắp xếp các giao dịch, sau đó truyền chúng đến
tất cả các nút mạng Thực Thi Giao Dịch Tuần Tự:
Mỗi nút mạng sau đó sẽ thực thi các giao dịch một cách tuần tự Điều này đảm
bảo rằng tất cả các nút mạng đều có cùng một trạng thái cuối cùng sau khi tất cả
các giao dịch đã được thực thi Kiến trúc "order-execute" có thể được tìm thấy trong
hầu hết các hệ thống chuỗi khối hiện có, từ các nền tảng công khai/phi tập trung nhưEthereum (với cơ chế đồng thuận dựa trên Proof of Stake - PoS) cho đến các nềntảng có sự cho phép như Tendermint, Chain, và Quorum.
Tính xác định và vẫn đề không xác định Hợp đồng thông minh thực thi trên
một blockchain hoạt động theo kiến trúc "order-execute" phải mang tính xác định.
Nếu không, sự đồng thuận có thể không bao giờ đạt được, gây ra sự không nhất quántrong hệ thống Để giải quyết van dé không xác định này, nhiều nền tảng yêu cầu
các hợp đồng thông minh phải được viết bằng ngôn ngữ không chuẩn hoặc ngôn ngữ
đặc thù (chẳng hạn như Solidity) Điều này nhằm loại bỏ các hoạt động không xác
định, nhưng đồng thời cũng gây ra những khó khăn trong việc tiếp cận rộng rãi vì
các nhà phát triển phải học một ngôn ngữ mới, dẫn đến khả năng xảy ra lỗi lập trình
26
Trang 37CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
Hiệu suất và quy mô Vì tat cả các giao dịch đều được thực thi tuần tự bởi tất cả
các nút, hiệu suất và khả năng mở rộng của hệ thống bị hạn chế Việc mã hợp đồng
thông minh được thực thi trên mỗi nút trong hệ thống yêu cầu các biện pháp phức
tạp để bảo vệ hệ thống khỏi các hợp đồng tiềm tàng độc hại nhằm đảm bảo tính kiêncường của toàn bộ hệ thống
2.5 Học máy - ML
Hoc máy (ML) là một nhánh của trí tuệ nhân tạo (AI) tập trung vào việc phát triển
các thuật toán và mô hình cho phép máy tính học từ dữ liệu và cải thiện hiệu suấttheo thời gian mà không cần phải lập trình một cách tường minh cho từng nhiệm vụ
cụ thể Học máy truyền thống đã và đang đóng vai trò quan trọng trong nhiều lĩnhvực, từ xử lý ngôn ngữ tự nhiên, nhận diện hình ảnh, đến phân tích dif liệu và dự
đoán [9].
Meaningful Compression Structure Image Customer Retention
Discovery Classification
Big data Dimensionality Feature Idenity Fraud Visualistaion Reduction Elicitation Detection Classification Diagnostics
Advertising Popularity Prediction
Learning Learni ng Weather
Hình 2.9 Học máy truyền thống
27
Trang 38CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
2.5.1 Các phương pháp học máy truyền thong
2.5.1.1 Học có giám sát - Supervised learning [9]
Học có giám sát là một phương pháp trong đó mô hình học từ một tập dữ liệu đã
được gán nhãn Điều này có nghĩa là mỗi mẫu trong tập dữ liệu đều có một đầu ra
mong muốn (nhãn) Các thuật toán học có giám sát cố gắng tìm ra một hàm ánh xạ
từ đầu vào tới đầu ra dựa trên các mẫu đã biết Một số thuật toán phổ biến trong học
có giám sát bao gom:
1 Hồi quy tuyến tính - Linear Regression: Sử dụng để dự đoán một giá trị liên
tục dựa trên các biên đầu vào.
2 Hồi quy Logistic - Logistic Regression: Sử dụng để phân loại các mẫu vào
một trong hai lớp.
3 Cây quyết định - Decision Trees: Sử dụng để phân loại hoặc hồi quy bằng
cách chia nhỏ dữ liệu dựa trên các thuộc tính.
4 Máy Vector hỗ trợ - Support Vector Machines: Sử dụng để tìm một mặt
siêu phẳng tốt nhất phân chia các lớp trong không gian đa chiều
5 Mạng Nơ-Ron - Neural Networks: Sử dụng để xử lý các nhiệm vụ phức tạp
hơn bằng cách mô phỏng cấu trúc và chức năng của não người
2.5.1.2 Học không giám sát - Unsupervised learning [9]
Học không giám sát là phương pháp học máy trong đó mô hình cố gắng tìm ra cấutrúc ẩn hoặc mô hình trong dữ liệu mà không có nhãn Một số thuật toán học khônggiám sát phổ biến bao gồm:
1 Phân cụm - Clustering: Chia dữ liệu thành các nhóm sao cho các mẫu trong
cùng một nhóm có độ tương đồng cao hơn so với các mẫu ở nhóm khác Cácthuật toán phân cụm phổ biến bao gồm K-Means, Hierarchical Clustering và
DBSCAN.
2 Giảm kích thước - Dimensionality Reduction): Giảm số lượng biến trong
dữ liệu bằng cách tìm ra các thành phần chính hoặc các biến ẩn quan trọng
28
Trang 39CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
Các kỹ thuật phổ biến bao gồm Phân Tích Thành Phần Chính (PCA) và Tự Mã
Hóa (Autoencoders).
3 Phân tích thành phần độc lập - Independent component analysis: Sử dụng
để tách các tín hiệu ẩn độc lập trong dữ liệu hỗn hợp.
2.5.1.3 Học tăng cường - Reinforcement Learning
Học tăng cường là phương pháp học máy trong đó một tác nhân (agent) học cách
hành động trong một môi trường bằng cách nhận phản hồi từ môi trường dưới dạng
phần thưởng hoặc phạt Mục tiêu của tác nhân là tối đa hóa tổng phần thưởng trong
đài hạn [9] Học tăng cường thường được sử dụng trong các ứng dụng như chơigame, điều khiển robot và tối ưu hóa chuỗi cung ứng Các thuật toán phổ biến bao
gồm:
1 Q-Learning: Một thuật toán học tăng cường giá trị trạng thái-hành động
(state-action value) để xác định hành động tối ưu.
2 Deep Q-Networks - DỌN: Một biến thể của Q-Learning sử dụng mạng nơ-ron
sâu để ước lượng giá trị trạng thái-hành động.
3 Policy Gradient Methods: Các phương pháp tối ưu trực tiếp chính sách của
tác nhân dựa trên gradient của hàm mục tiêu.
2.5.2 Ứng dụng của học máy truyền thong
Hoc máy truyền thống đã được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau,
từ công nghiệp, y tế, tài chính đến công nghệ thông tin và viễn thông [10] Một số ứng dụng điển hình bao gồm:
¢ Nhận diện hình ảnh va video: Sử dụng các thuật toán hoc máy để nhận diện
khuôn mặt, đối tượng và hành động trong hình ảnh và video
* Xử lý ngôn ngữ tự nhiên - NLP: Ung dung trong việc phân tích văn bản, dich
tự động, nhận diện giọng nói và chatbots.
¢ Dự đoán và phân tích tài chính: Sử dụng mô hình học máy để dự đoán giá cổ
phiếu, phát hiện gian lận và phân tích rủi ro tài chính.
29
Trang 40CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
* Chẩn đoán Y tế: Học máy được sử dụng dé phân tích dữ liệu y tế, chẩn đoán
bệnh, và dự đoán kết quả điều trị [11]
« Tối ưu hóa chuỗi cung ứng: Sử dung học máy để dự đoán nhu cầu, quản lý tồn
kho và tối ưu hóa logistics.
» Hệ thống đề xuất: Sử dụng các mô hình học máy để dé xuất sản phẩm, dịch vụ
hoặc nội dung dựa trên sở thích và hành vi của người dùng.
2.6 Học máy liên kết - Federated Learning [12]
Học máy liên kết (FL) là một kiến trúc học máy tiên tiến cho phép nhiều client,
chẳng hạn như các thiết bị đi động hoặc các tổ chức, cùng nhau huấn luyện một mô
hình thông qua sự điều phối của một server tập trung mà không cần phải chia sẻ dữliệu thô Điều này giúp giữ được tính phi tập trung của dữ liệu và đảm bảo quyền
riêng tư cho người dùng [13].
2.6.1 Cách thức hoạt động của học máy liên kết
Trong hệ thống học liên kết, các client huấn luyện mô hình cục bộ bằng cách sử dụng
dữ liệu của riêng họ Sau đó, các tham số của mô hình cục bộ (chang hạn như trọng
số của mạng nơ-ron) được gửi đến một server trung tâm Server này có trách nhiệm
tổng hợp các tham số từ nhiều client để cập nhật mô hình toàn cục Quá trình này
được lặp đi lặp lại nhiều lần cho đến khi mô hình đạt được hiệu suất mong muốn.Các bước cơ bản của học liên kết bao gồm [13]: