1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp An toàn thông tin: Mô hình IDS phân tích lưu lượng lớn trên mạng khả lập trình

86 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Mô hình IDS phân tích lưu lượng lớn trên mạng khả lập trình
Tác giả Le Ba Trúc
Người hướng dẫn Thạc sĩ Phan Thể Duy
Trường học Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành An toàn thông tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 86
Dung lượng 43,3 MB

Nội dung

Trong nghiên cứu này, chúng tôi đề xuất một mô hình IDS phân tích lưu lượng lớn trên mạng khả lập trìnhSDN - nghiên cứu về khả năng áp dụng các mô hình học sâu vào việc phát hiện sựbất t

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG ĐẠI HỌC CÔNG NGHỆ THONG TIN KHOA MẠNG MAY TÍNH VÀ TRUYEN THONG

LE BA TRUC

KHOA LUAN TOT NGHIEP

MÔ HINH IDS PHAN TÍCH LƯU LƯỢNG LON TREN MẠNG KHẢ LAP

TRINH

Intrusion detection with big data analysis in SDN-enabled networks

KY SU NGANH AN TOAN THONG TIN

TP HO CHÍ MINH, 2021

Trang 2

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG ĐẠI HỌC CÔNG NGHỆ THONG TIN KHOA MẠNG MAY TINH VÀ TRUYEN THONG

LE BA TRUC - 17520183

KHOA LUAN TOT NGHIEP

MÔ HÌNH IDS PHAN TÍCH LƯU LƯỢNG LON TREN MẠNG KHẢ LAP

TRÌNH

Intrusion detection with big data analysis in SDN-enabled networks

KY SU NGANH AN TOAN THONG TIN

GIANG VIÊN HƯỚNG DAN THAC Si PHAN THE DUY

TP HO CHi MINH, 2021

Trang 3

THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số

T8ầy của Hiệu trưởng Trường Đại học Công nghệ Thông tin.

Trang 4

Em xin gửi lời cảm ơn chân thành đến thay, cô và các anh chị trong phòng thí nghiệm

an toàn thông tỉnh đã giúp đỡ, hỗ trợ em trong suốt quá trình thực hiện khóa luận Cuối cùng, em xin chân thành cảm ơn gia đình và bạn bè đã luôn tạo điều kiện, quan tâm, giúp đỡ, động viên trong suốt quá trình học tập và hoàn thành khóa luận.

Với điều kiện, thời gian cũng như kinh nghiệm còn hạn chế không thể tránh được những thiếu sót Em rất mong nhận được sự chỉ bảo, đóng góp ý kiến của thay, cô dé

em có thể bổ sung, nâng cao kiến thức của mình, phục vụ tốt hơn cho công tác thực

tế sau này.

Vinh Long, ngày 12 tháng 07 năm 2021

Trang 5

MỤC LỤC

Chương 1 GIỚI THIỆU -2 22¿222EE+2+2EEEEE2+EEE2E12222131222211222221.ccer 2

1.1 Mục tiêu

1.2 Đối tượng nghiên cứu esseerieererreererrerrrrrrrerrrrrrrereerere.2

1.3 Phương pháp nghiên CU csssssssssssssssssssssssssssssssssssssssssssssesssssssssssssssssssssssssssssssssssssssssss 2 1.4 Phạm vi nghiên cứu -cccecccccrrrrrrrieerrrrrtrrrrrirrrrrrrrrrrrrrirriirrrrrrrrrroT)

2.2.2 — Học máy, eeciiiiiiiiiiiiiiiiirrrrrrrue LO

2.2.2.2 Học có giám sát -eeeeeeirriiiiirsrsruuue LO

Trang 6

2.2.2.3 Học không giấm sất ceekkHhHHHH Hà ờt 17

2.2.2.4 Học bán giấm sát e-csekkEHHH HH HYnH Hà iờg 18

2.2.3 Hệ thong phát hiện và phòng ngừa xâm nhập (IDS) 18

2.2.4 Công nghệ dữ liệu lớn ccccxcccserteerekteerekrrerrrrrkerrkrrrrree 19

2.2.4.1 Apache SpaTK c-cccehHHHH HH 11k 20

2.2.4.2 Hadoop Distributed File System (HDFES) c-.ce 24

2.2.5 Các công trình nghiên cứu liên quan đến IDS-Bigdata 26

Chương 3 Ý TƯỞNG THIẾT KE HE THÓNG -2¿ 2 5+22+z22+ze- 28

4“ 28

3.2 Trình phát hiện xâm nhập (Intrusion Detection Engine) 30

3.2.1 Hoạt động của máy chủ dự đoán (Decision SerVer) - 31

3.2.2 Mô hình học máy đề xuất -+ ccccerrrreeccvvrrrrrrcrrrrrrrrre 32

3.2.3 Cơ chế huấn luyện các mô hình học máy trong cụm 35

Chương 4 TRIÊN KHAI HỆ THÓNG ¿2-2 2© £+E£+E£+E££Eerkerxerszxez 37

4.1 Mô hình triển khai -e.-criiHHiHHHHHiiririiriiere 37

4.2 Cài đặt môi trường (xem chi tiết cài đặt tại phụ lục) 38

4.2.2 Cai Gat mdorloon Sa Ô 41

4.2.3 Cài đặt Spark Streamming -c-eerxesrrrerrrerrrrrrrrrerrrrrree 43 4.2.4 Cài đặt Hadoop C ]usfer -cseccrrererertrrrtrrrirrrrrrrrrierrrrrree 47

4.2.5 Cài đặt Spark CÏusf€r ccreerererrrrrtrrrrrrrrrrrrerrrrree 49

4.3 Tập dữ liệu được sử dụng -. cveecxeekriikkirtkrittriitiiiiriiirrririrrrieei 50

Chương 5 THIẾT KE THỰC NGHIỆM -2- 222£+£E+£E+£E++Es+rxerxezez 55

5.1 Các cấu hình Spark cluster +eceseeceerreverreretrrererrrrrrrrrrrte 55

Trang 7

5.2 Đánh giá mô hình học máyy -. -ss-c-secccxeterrvettrxetrrrxerrrkertrrrerrrrerrrrrerrre 56

5.2.1 ACCUTACY c.àce.hHHHHỊHHHHHHHHY HH HHÌn HH nHY HH Hàng Hy 56

5.2.2 e0 56

5.2.3 o0 56 5.2.4 IS 57

5.3 Kết quả thực nghiệm :+cccccctttte2SEEEEEEEEEEEEEEEEriAEEEEErrrrirerkrrrrrrrree 57

5.3.1 Các thuật toán hoc máy triển khai trên cụm SparK -.-«- 57

5.3.2 Hao phí về thời gian cho mỗi cau hình cụm Spark 59

Chương 6 KẾT LUẬN VA HƯỚNG PHÁT TRIỀN -¿ 5¿©55z-: 63

6.1 Kết luận 4, »Z⁄⁄⁄2.xwwww(TTÂ 63

vi oi phat 7n 63

TÀI LIEU THAM KHẢO - 2-2-5255 2SESE‡EE‡EEE2EE2EEEEEE21122122121 211211211 ce, 65

PHỤLỤC 67

Trang 8

DANH MỤC HÌNH

Hình 2.1: Kiến trúc điều khiển mạng truyền thống và mạng SDN 7Hình 2.2: Mô hình kiến trúc mạng SDN tập trung và phân tán 11Hình 2.3: Tiến trình xử lý của Openflow -ccs-eccerrecerrrerrrrrrrrrrrrerrre 12

Hình 2.4: Quy trình xử lý gói tin trên một OpenFlowSwifch -«-« -««- 13 Hình 2.5: 6Vs của Big data eeessssssscsssssesssesssesesssecssessessseeseeesesssesaeessesstecatesseessessteeseesneesesseesaes 20

Hình 2.6: Các thành phần của Spark ccs.+cestreeverrrrerrtererrrrrtrrrrerrre 21Hình 2.7: Kiến trúc master/slaves của Spark -cse-ccetreeeerrrreerrreerrre 24Hình 2.8: Kiến trúc HDES -tHHHHHHHHHHHH Hari 25

Hình 3.1: Tổng quan các thành phan có trong hệ thống -.- 29

Hình 3.2: Kiến trúc IDS được dé xuất ceeiirriiiiiiirrie 30

Hình 3.3: Flowchart của traffic bên trong Decision Serve 31 Hình 3.4: Trinh tự các bước trong mô hình học máy, -c-s«-cxe+crrserxrxs 32

Hình 3.5: Kiến trúc CNN-LSTM model ss++cecSttrrevettrrerevrtrrcrerrrree 34Hình 3.6: Kiến trúc GRU model -seseereererierieriereriiriirerrirrre 34Hình 3.7: Phân chia bộ dữ liệu huấn 0 0 35Hình 3.8: Quá trình huấn luyện mô hình học máy -:-.ccccerr:rrecceverrrre 35Hình 4.1: Mô hình triỀn khai .-,ckcetreriiiriiie 37

Hình 4.2: Mô hình mạng SIDN -ss* HH HH Hàng Hàng gHàgiờn 39

Hình 4.3: Hiện thực mô hình mang SDN bang Python -ss-ee 40Hình 4.4: Cài đặt port mirroring về host thu thập lưu lượng mạng tập trung 41

Hình 4.5: Thông tin các host được ảo hoá với docker cOnfa1ner - 41

Hình 4.6: Đoạn mã bash shell kết hợp hai công cụ TCPDUMP và CICFlowmeter 42Hình 4.7: Sử dụng Nohup dé chạy trong nền mã bash shell 43

Hình 4.8: Dữ liệu lưu lượng mang SDN đã được thu thập - 43

Hình 4.9: Spark Structured Streaming WOorkfÏOW c.cseiekkiiiiiiiiiiee 43

Hình 4.10: Đường dẫn đến folder chứa file cần phân tích -::- 44

Hình 4.11: Hàm readStream (Structured Stream1ng) -‹« c++esexssrssxxees 44

Trang 9

Hình 4.12: Schema được định nghĩa (Structured Streaming) -. s s« 45

Hình 4.13: Lọc dữ liệu (Structured Streaming) -‹ e-eceeerxerersrrrtrrerrree 45 Hình 4.14: Hàm writeStream (Structured Streaming), request API 46 Hình 4.15: Option Checkpoint (Structured Streaming) 46 Hình 4.16: Hàm awaitTermination eescseessessssesssesssecssesssescssesseessnsesseesseesseesseessseeesseesasesseeeses 46

Hình 4.17: Cấu hình file /etc/hosts trên máy hadoopl (master) s 47

Hình 4.18: Cài đặt đường dẫn cho Hadoop và java trong file bash 48

Hình 4.19: Cấu hình file masters -2++ccSsirrcevErtrreevtrrrrrrrrrrrrrrrrrrrrerrrree 48Hình 4.20: Cấu hình file workers -:++eccetrrceverrrreertrrrrrrrrrrrrrrrrrrrrrrrrree 49Hình 4.21: Cấu hình file spark-env.sh -s++cc2treevttrerertrerrrrrrrtrrrrrrrre 49Hình 4.22: Tạo và cấu hình file Workers -+iirccceeevvevErrrrrrrtreeeeeverrrrrrrrrrree 49Hình 4.23: Kiểm tra các dịch vụ đã MO sssssssssssssssssssesssssssssssssssssssssssssssssssesessesesessssesseee 50

Trang 10

DANH MUC BANG

Header của bang Entry được sử dụng trong OpenFÌow 14

Các bộ điều khiển hỗ trợ OpenFloww - -.eceerireecerrrreeerrrrrerrt 14Cấu trúc CNN-LSTM Model -ceerieriererrrrrrrrrrrree 33

Cấu trúc GRU Model -eersetreerirririiriiriirrriirereerrir 34

48 Features được trích xuất từ dữ liệu thô -iirereeerrisreee 50Phân phối các loại traffic trong file 14-02-2018 và 03-02-2018 53Tóm tắt các cầu hình Spark sssssssssesssssessssessssesasesssssesssssesassssassesasssesesses 55

Thời gian xử lý dữ liệu của cluster với mô hình học máy 58

Các kết quả của các mô hình học máy s-+ s2+-ce+rcztrce 59

Thời gian preprocess (giây) của các model với các cấu hình khác nhau.59

Thời gian huân luyện (giây) của các mô hình với các câu hình khác nhau

: Thời gian dự đoán (giây) của các mô hình với các cấu hình khác nhau 60

: Độ chính xác của các mô hình -sc-cc+x+xsees+ssrererssrersrssrsrrseree 61

Trang 11

DANH MỤC TU VIET TAT

SDN Software-Defined Network

IDS Intrusion Detection System

GRU Gated Recurrent Unit

MLP MultiLayer Perceptron

GPT Generative Pre-training

CNN Convolution Neuron Network

LSTM Long Short-Tern Memory

DL Deep Learning

IDPS Intrusion Detection Prevention System

API Application Programming Interface

NIDS Network Intrusion Detection System

HDFS Hadoop Distributed File System

Trang 12

TÓM TẮT KHÓA LUẬN

Mô hình mạng SDN - áp dụng cho các doanh nghiệp lớn sẽ phát sinh liên tục một

khối lượng lớn dữ liệu đa dạng Từ đó, nhu cầu về việc tận dụng công nghệ dữ liệu

lớn (Big data) nhằm hỗ trợ hiệu quả cho giải pháp đảm bảo an toàn mạng trong SDN

là bài toán cần giải quyết Khi đó, các hệ thống phòng thủ dựa trên phân tích dữ liệu

lớn có thê đạt được hiệu suất cao hơn và xử lý dữ liệu tốt hơn Trong nghiên cứu này,

chúng tôi đề xuất một mô hình IDS phân tích lưu lượng lớn trên mạng khả lập trình(SDN) - nghiên cứu về khả năng áp dụng các mô hình học sâu vào việc phát hiện sựbất thường của dữ liệu thời gian thực trong môi trường mạng SDN kết hợp với côngnghệ dữ liệu lớn Chúng tôi sử dụng lần lượt hai mô hình học sâu gồm CNN-LSTM

và GRU huấn luyện và đo đạt trên bộ dữ liệu CIC-IDS2018 được lưu trữ trong môitrường phân tán Hadoop Sau khi triển khai hệ thống chúng tôi nhận được một kết

quả khả quan với mô hình GRU trên bộ dữ liệu CIC-IDS2018 có accuracy là 96.29%

và mô hình CNN-LSTM trên cùng một bộ dữ liệu có accuracy là 95.22% cho việc

phát hiện sự bat thường trong mang (binary classification)

Trang 13

Chương 1 GIỚI THIỆU

1.1 Mục tiêu

Kết hợp công nghệ SDN và công nghệ dữ liệu lớn (Big data) xây dựng một hệ thống

cung cấp môi trường dé đánh giá hệ thống phát hiện xâm nhập (IDS) với lưu lượng

phát sinh liên tục.

Xây dựng hệ thông phát hiện tấn công (IDS) trong mạng SDN dùng phương pháp họcsâu Cụ thé, nghiên cứu áp dụng các phương pháp học sâu trên các tập dữ liệu phổbiến dé tạo ra một mô hình giúp hệ thống phát hiện được những dang tấn công phổbiến

1.2 Đối tượng nghiên cứu

e Hệ thống mang SDN và cách giám sát luồng dé liệu trong mạng

e Phương pháp học sâu cho trình phát hiện xâm nhập, tan công

e Xử lý và truyền dữ liệu lớn (Big data) trong thời gian thực.

e Các thư viên hỗ trợ học máy Tensorflow, Keras.

1.3 Phương pháp nghiên cứu

e Đọc bài báo, tham khảo nguồn tài liệu từ giáo viên hướng dan

e Nghiên cứu thành phần, kiến trúc, cơ chế hoạt động, cai đặt mô hình mang

SDN Đồng thời, nghiên cứu sử dụng Apache Spark trên môi trường mạng

SDN.

e Tìm hiểu về các bộ đữ liệu thường đượng sử dụng dé huấn luyện cho các mô

hình học sâu phát hiện bất thường trong mạng, tham khảo các nghiên cứu trước

đó, cách đưa bộ dữ liệu vào huấn luyện cho mô hình

e Thực hiện các thử nghiệm khác nhau để đánh giá về hiệu năng, độ chính xác

và độ trễ dự đoán của hệ hông NIDS so với thời gian thực.

Trang 14

1.4 Phạm vi nghiên cứu

Trong phạm vi nghiên cứu của khóa luận này, chúng tôi triển khai các mô hình họcsâu trong việc huấn luyện và dự đoán các hoạt động bất thường trong mạng SDN trên

môi trường phân tán và áp dụng xử lý dữ liệu lớn.

1.5 Cấu trúc khóa luận

Khóa luận được trình báy với câu trúc như sau:

e Chương 1 Giới thiệu tổng quan về dé tài nghiên cứu, mục đích nghiên cứu,

phạm vi nghiên cứu và phương pháp nghiên cứu.

e_ Chương 2 Tổng quan và kiến thức nền tang

e_ Chương 3 Ý tưởng và nguyên tắc hoạt động

e Chương 4 Triển khai hệ thống

© Chương 5 Thiết kế thực nghiệm

e Chương 6 Kết luận và hướng phát trién

Trang 15

Chuong 2 TONG QUAN VÀ KIÊN THUC NEN TANG

2.1 Téng quan

2.1.1 Cac nghiên cứu trên thị trường

Hệ thông phát hiện xâm nhập (IDS) là một thành phần thiết yếu để bảo mật trong cácmạng hiện đại Với sự xuất hiện của công nghệ dữ liệu lớn (Big data) và công nghệmạng khả lập trình - nhiều nghiên cứu về việc ứng dụng IDS với các công nghệ trên

đã cho những kết quả rất khả quan

Trong nghiên cứu [1 ]các tác giả đã xây dựng mô hình hoc sâu Stacked Autoencoder

(SAE) để phát hiện các loại tắn công DDos (8 loại) trong môi trường mạng SDN với

độ chính xác đạt 95.65% Nếu chỉ phân loại lưu lượng mạng bình thường và bấtthường thì hệ thống được đề xuất đạt độ chính xác 99.82% với mức độ dương tính

gia thâp hơn so với các mô hình khác.

Công trình nghiên cứu [2], các tác giả đã đề xuất một mô hình phát hiện và ngăn ngừaxâm nhập sử dụng phương pháp học sâu (Deep learning (DL) - IDPS) để phát hiện

và ngăn chặn cuộc tấn công SSH Bruce Force và DDos Attack Trong công trình

nghiên cứu này, các tác giả so sánh bốn mô hình học sâu gồm, Multilayer Perceptron

(MLP), Convolution Neuron Network (CNN), Long-Short Term Memory (LSTM)

và Bộ mã hóa tự động xếp chồng (SAE) kết quả nghiên cứu cho thay, DL-IDPS dựatrên MLP có độ chính xác gần 99%

Hiện nay, số lượng người sử dụng mạng xã hội ngày càng tăng dẫn đến sinh ra mộtkhối lượng dữ liệu lớn liên tục và đa dạng Do đó dé hệ thống IDS có thé xử lý các

dữ liệu lớn cũng như dự đoán chúng cách nhanh chóng và hiệu quả, một số công trình

nghiên cứu về khả năng ứng dụng công nghệ dữ liệu lớn vào trong hệ thống phát hiện

xâm nhập đã cho thấy những kết quả khả quan như Trong bài nghiên cứu [3] Khloud

AI Jallad và các cộng sự của ông đã dé xuất mô hình Network chat bot - một mạngthần kinh phát lại: Long Short-Term Memory (LSTM) có trên Apache Spark sử dụng

bộ dữ liệu MAWI dé huấn luyện và đo đạt — cho thấy mô hình được đề xuất có khảnăng phát hiện tốt hơn so với signature IDS hay IDS truyền thống Các tác giả xây

Trang 16

dựng trên Google Colab có khả năng giảm về bộ nhớ ngoài cũng như thời gian thực hiện nên trong phan nghiên cứu này các tác giả chỉ chứng mình được những điểm bat thường chứ không thể chứ minh nó sự bất thường trong hoàn cảnh cụ thể.

Trong một bài nghiên cứu khác [4], tác giả đã sử dụng Apache Storm, một Hệ thống IDS Hybrid thời gian thực dé lập trình cho công việc của họ Apache Storm đóng vai trò như một luồng xử lý dữ liệu lớn, phân tán và chịu lỗi trong thời gian thực Hệ thống được tác giả đề xuất bao gồm 2 mạng Nơ-ron CC4 hoạt động như một Anomaly-based phát hiện những cuộc tân công chưa biết và Multi Layer Perceptron neural network hoạt động như một misuse-based phát hiện những cuộc tấn công đã biết Hệ thống đề xuất trong bài nghiên cứu này có accury lên đến 89% trong đó có tỉ

lệ dương tính giả chiếm 4,32%.

2.1.2 Vấn đề và giải pháp

2.1.2.1 Vấn đề

Mô hình mạng SDN - áp dụng cho các doanh nghiệp lớn sẽ phát sinh liên tục một

khối lượng lớn dữ liệu đa dạng Từ đó, nhu cầu về việc tận dụng công nghệ dữ liệu lớn (Big data) nhằm hỗ trợ hiệu quả cho giải pháp đảm bảo an toàn mạng trong SDN

là bài toán cần giải quyết Khi đó, các hệ thống phòng thủ dựa trên phân tích dữ liệu lớn có thể đạt được hiệu suất cao hơn và xử lý dữ liệu tốt hơn.

2.1.2.2 Giải pháp

Chúng tôi đề xuất một mô hình IDS phân tích lưu lượng lớn trên mạng khả lập trình (SDN) - nghiên cứu về khả năng áp dụng các mô hình học sâu vào việc phát hiện sự bất thường của dữ liệu thời gian thực trong môi trường mạng SDN kết hợp với công

nghệ dữ liệu lớn.

Hệ thống phát hiện xâm nhập (IDS) sẽ được đào tạo từ một mô hình học sâu để phân loại kết nối là bình thường hoặc tấn công.

Trang 17

2.2 Nền tang lý thuyết

2.2.1 SDN và giao thức Openflow

Với logic điều khiển phi tập trung, rất khó quản lý và phát triển của mạng truyền thống Mạng SDN (Software Define Networking) hay mạng điều khiển bằng phần mềm là một phương pháp tiếp cận mới, tách đôi thành phần điều khiển (Control Plane) và thành phan dữ liệu (Data Plane) dé đạt được kiến trúc điều khién tập trung logic cho phép lập trình để cấu hình mạng.

Một hệ thống mạng bao gồm nhiều thực thể (thiết bị định tuyến, thiết bị chuyển mạch,

các đường kết nối, các máy chủ cuối ) có thể được quản lý và lập trình riêng với các logic chuyển tiếp khác nhau Tuy nhiên việc quản lý riêng lẻ từng thực thể này trong một hệ thống mạng lớn làm tăng mức độ quản lý cho toàn bộ mạng, từ đó là

tăng chỉ phí duy trì và bảo trì mạng Giao thức quản lý mạng đơn giản (Simple

Network Management Protocol — SNMP) ra đời vào năm 1988 đã giải quyết các van

dé kể trên bằng cách cung cấp khả năng giám sát và cấu hình từ xa cho các thực thé

trong mạng Tuy nhiên, SNMP không phù hợp với các mạng có tính linh hoạt cao,

các tập lệnh của SNMP rất tốn kém và dễ lỗi trong việc duy tri vì nó thiếu khả năng lập trình cho các API Thế hệ quản lý mạng tiếp theo được thé hiện bằng các kiến trúc hướng mô hình hoạt động với các hệ thống quy mô động như đám mây và trung tâm

dữ liệu Các kiến trúc này cung cấp API và mô hình dé mô tả không chi các yếu tố mạng mà còn cả các chính sách, dịch vụ và giao dịch trong mạng Một số giao thức mới này đang nhanh chóng trở nên phổ biến, bao gồm RESTCONF, NETCONF và

Trang 18

6 mạch, control plane tập trung ở lớp điều khiển Data plane chịu trách nhiệm chuyền tiếp dữ liệu theo hướng dẫn của Controller Việc tách biệt hai thành phần này cho phép SDN lập trình điều khiển mạng và quản lý tập trung tại thành phần điều khiển Đây là khác biệt lớp nhất giữa kiến trúc mạng SDN và mạng IP truyền thống, nơi mà việc điều khiển mạng và chuyển tiếp dữ liệu cùng do một thiết bị thực hiện.

Trang 19

lý mạng, phân tích hoặc ứng dụng kinh doanh được sử dụng để chạy các trung tâm

dữ liệu lớn Ví dụ: một ứng dụng phân tích có thể được xây dựng để nhận ra hoạt

động mạng đáng ngờ cho mục đích bảo mật, tường lửa,

Lớp điều khiển

SDN controller quan lý điều khiển luồng dé cải thiện hiệu suất quản lý và ứng dụng mạng Nền tảng bộ điều khiển SDN thường chạy trên máy chủ và sử dụng các giao thức dé báo cho các switch biết địa chỉ gửi gói tin Cho phép chuyền tiếp các quyết định về lưu lượng thông qua SDN domain thay vì phải qua từng hop.

Bộ điều khiển SDN lưu lượng truy cập trực tiếp theo các chính sách chuyền tiếp mà nhà điều hành mạng đặt, do đó giảm thiểu cấu hình thủ công cho các thiết bị mạng riêng lẻ Bằng cách loại bỏ control plane khỏi phần cứng mạng và thay vào đó là phần mềm, bộ điều khiển tập trung tạo điều kiện quan lý mạng tự động và giúp tích hợp và quản lý các ứng dụng dễ dàng hơn Nó cũng cung cấp các giao diện chương trình ứng dụng (API) cho các nhà phát triển bên thứ ba để tùy chỉnh tích hợp các ứng dụng Trong thực tế, bộ điều khiên SDN hoạt động như một loại hệ điều hành cho mạng Mọi giao tiếp với các ứng dụng và thiết bị mạng phải thông qua thông qua các giao diện phía bắc (North Bound Interface) của bộ điều khiển gồm tường lửa, bộ cân bằng

tải, hệ thống phát hiện xâm nhập (IDS), routing.

Bộ điều khiển giao tiếp với tat cả các thiết bị mạng bằng giao diện hướng nam (South Bound Interface) Các giao thức hướng nam này cho phép bộ điều khiển cau hình các thiết bị mạng và chọn đường dẫn mạng tối ưu cho lưu lượng ứng dụng.

Lớp hạ tang cơ sở

Bao gồm tập hợp của các thiết bị phần cứng mạng như switches, router, những thiết bị này có khả năng xử lý hoặc chuyên tiếp lưu lượng thông tin trong mạng Lớp này cung cấp việc truy cập có khả năng lập trình mở thông qua OpenFlow, một giao thức mạng giúp tự động cấu hình phần cứng Lớp ha tang cơ sở giúp đơn giản hóa việc cấu hình mạng cho quản trị viên, mang đến một giao diện linh hoạt và khả năng

lập trình linh hoạt.

Trang 20

- Sử dụng OpenFlow làm giao thức giao tiếp chính, các APIs tại đây hỗ

trợ người dùng cuối có thêm quyên quản lí toàn bộ hệ thống mạng và tăng tính 9 hiệu quả trên bộ điều khiển phục vụ cho như cầu thực tế.

Ngoài ra, tại đây cũng có sử dụng các giao thức khác như SNMP,

ONOS, PCEP, NETCONE hoặc thông qua một cơ chế riêng biệt.

¢ Northbound API: Giao tiếp giữa bộ điều khiển và lớp ứng dụng (thiết bị cấp

cao)

- Chua có chuẩn giao tiếp chính thức được sử dung bởi lớp ứng dụng dé

giao tiếp với bộ điều khiển, nếu không có API tại đây, sẽ gây rất nhiều khó khăn khi kết nối phải được tạo trực tiếp từ phía lớp ứng dụng gây cản trở cho phát triển và mở rộng Các ngôn ngữ được thực thi tại đây

có thé ké đến như Java, Python và Ruby Cac API tại đây được áp dụng cho nhiều lĩnh vực khác nhau bao gồm các lĩnh vực phi lợi nhuận, viện giáo dục, công ty công nghệ thông tin và nhiều lĩnh vực khác.

Từ đó có thể nhận thấy, với Northbound API sẽ hỗ trợ trực tiếp phát triển giải pháp quản lí tự động hoá và hoà hợp giữa trạng thái mạng và phần cứng và phần mềm ứng dụng trên hệ thống Trong khi đó, Southbound API sẽ là đảm nhận vai trò vai trò cung cấp các giao thức

ảo hóa mạng, tương tác với cầu trúc switch hoặc tích hợp mang máy

tính phân tán.

2.2.1.3 Uu và nhược điểm của mạng SDN

Ưu điểm

Trang 21

Với tính năng phân tách bộ điều khiển và thành phần chuyền tiếp dữ liệu cung cấp khả năng điều khiển mạng vượt trội thông qua việc hỗ trợ cho lập trình, giúp tạo ra các ứng dụng mới hỗ trợ việc vận hành mạng hiệu quả, phù hợp với đặc điểm và mục đích của từng hệ thống mạng Khả năng tập trung hóa sẽ giúp thiết lập các cầu hình mạng một cách tự động và đồng bộ nhanh chóng hơn.

Trong hệ thống mạng truyền thống do không có sự đồng bộ, đồng nhất giữa các nhà cung cấp thiết bị khiến thao tác cấu hình mạng hết sức khó khăn, phức tạp và có thể gây ra các xung đột làm ảnh hưởng nghiêm trọng đến hệ thống trong quá trình hoạt động Kiến trúc SDN được tin tưởng là một giải pháp giúp hỗ trợ xử lí các vấn đề trên khi được giới thiệu lần đầu tiên Khi được cấu hình, toàn bộ kiến trúc SDN có thể được lập trình và tối ưu hoá tự động dựa trên cấu trúc mạng hiện thời Bộ điều khiển (control plane) sẽ hỗ trợ thống nhất các thiết bị mạng được quản lí gồm: switch, router, tường lửa và thiết bị cân bằng tải cho phép toàn bộ hệ thống được cau hình từ

một điểm hoàn toàn tự động và đồng nhất.

Nhược điểm

Là thành phần quan trọng với chức năng điều khién và quản lí toàn bộ hệ thống mạng,

bộ điều khiển cũng là điểm yếu lớn nhất trong kiến trúc SDN Do tính chất phân tán làm giảm thiểu khả năng mở rộng mạng Thêm vào đó, lỗi thắt nút cổ chai khi lưu lượng trao đổi giữa các thiết bị mạng trong quá trình tương tác với nhau thông qua

bộ điều khiển Với khả năng sử dụng loại kiến trúc tập trung và kiểu kiến trúc phân tán cũng đồng thời đem đến các tính năng và giới hạn nhất định ở mỗi kiểu Trong

mô hình kiến trúc phân tán, các bộ điều khiển sẽ hoạt động đồng thời và sẽ đảm nhiệm điều khiển một phần mạng tương ứng được chỉ định trước đó Đối với kiểu còn lại,

mô hình kiến trúc tập trung, sẽ có một bộ điều khiển chính thực hiện các chức năng, hoạt động chính và bộ điều khiển dự phòng hoạt động song song, phòng những trường hợp xảy ra sự cô đối với bộ chính, đây còn được gọi là hệ thống cluster.

10

Trang 22

Error! Reference source not found.

‘Switch Switch Switch Switch Switch Switch Switch Switch Switch Switch

Kiến trúc SDN tập trung Kiến trúc SDN phần tan

Hình 2.2: Mô hình kiến trúc mang SDN tập trung và phân tan

Ngoài các vấn đề về cấu trúc, bảo mật là yếu tố quan trọng và quyết định tính toànvẹn và hiệu quả của hệ thống mạng Với chức năng là quản trị nắm quyền cao nhất

và điều khiển toàn bộ các thiết bi mạng, bộ điều khiến luôn là mục tiêu đầu tiên vàL1 cũng là điểm yếu của hệ thống SDN Vốn là nạn nhân của các cuộc tấn công vànơi cho phép các luồng tiễn trình độc hại hoạt động và truy cập tại đây

Ngoài ra, do là một hệ thong còn rất mới và vẫn dang trong quá trình phát triển, mạngSDN vẫn còn tồn tại một số bat cập cần được giải quyết trước khi có thé thay thế hoàntoàn được hệ thống mạng truyền thống Các nhà phát triên cần đồng nhất với mộtchuẩn giao tiếp API giữa các thiết bị, ngôn ngữ lập trình cấp cao tiêu chuẩn cho toàn

bộ ứng dung; người dùng cần được cấp quyền kiểm định tính ồn định trong quá trình

vận hành của các thiết bị, tính riêng tư của quản lí tập trung

yêu câu nghiệp vụ Với OpenFlow, các mục nhập có thê được thêm và xóa vào bảng

11

Trang 23

lưu lượng nội bộ của các bộ chuyển mạch và bộ định tuyến để làm cho mạng phảnứng nhanh hơn với nhu cầu lưu lượng thời gian thực.

Tổng quan về OpenFlow

OpenFlow là giao thức SDN chuẩn, được sáng lập tại Đại học Stanford vào năm 2008.Open Networking Foundation (thành lập năm 2011) là tổ chức chịu trách nhiệm cậpnhật và phát triển phần mềm này

OpenFlow Switch bao gồm một hoặc nhiều Flow Tables và một Group Table, thực

hiện việc tra cứu và chuyền tiếp, và một OpenFlow Channel kết nối với controller

bên ngoài thông qua giao thức TLS.

Hoạt động của OpenFlow Switch

Một Openflow switch bao gồm hai thành phần chính:

e Flow table: thành phan chính nhận nhiệm vụ xử lý các gói tin

e Secure channel: Kết nối gitta switch va controller (b6 điều khiển), là thành

phần giao tiếp quản lý giữa người quản trị và switch

2.2.1.5 Quy trình hoạt động của Openflow

Hình 2.3: Tiến trình xử lý của Openflow

e Bước 1: Gói tin từ máy gửi đến switch và không có flow entry tương ứng

12

Trang 24

Bước 2: Gói tin bị chuyển đến bộ điều khiển Bộ điều khiển xem xét các gói

tin và quyết định các hành động thích hợp (chuyên tiếp hoặc hủy bỏ), sau đó

tạo ra một flow entry mới.

Bước 3: Flow entry được gửi đến switch cũng trên đường dẫn gửi gói tin

Bước 4 và 5: Gói tin được gửi đến máy nhận

Bước 6,7 và 8: các gói tin bắt đầu được trao đổi trực tiếp giữa hai switch vì

chúng khớp với entry mới trong flow tables.

Start at table 0

Match in table n?

Hình 2.4: Quy trình xử lý gói tin trên một OpenFlowSwitch

Cấu trúc thông số của bảng ghi luồng

Bộ so khớp của flow table có các thông số sau:

Cổng vào switch

Địa chỉ MAC nguồn

Dia chi MAC dich.

Ether type.

VLAN ID.

Dia chi IP nguồn

Dia chi IP dich.

Giao thức IP.

Port nguồn TCP/UDP

Port đích TCP/UDP.

13

Trang 25

Bảng 2.1: Header của bảng Entry được sử dụng trong OpenFlow

IP Ingress | Ether | Ether | Ether | VLAN | VLAN | IP | IP ToS Src | Dst

oO

port | source | dst | type id priority | dst | proto bị port | port

1ts

e_ Chuyến tiếp gói tin đến các cổng dé truyền gói tin qua mạng

e Đóng gói và gửi gói tin đến bộ điều khiến: gói tin được gửi qua một kênh

truyền an toàn đến OpenFlow Controller từ xa, thường được áp dụng cho góitin đầu tiên dé thiết lập đường dẫn

e Hủy bỏ: hành vi nhằm mục đích bảo mật, giảm lưu lượng giả mạo từ máy chủ

cuối

Bảng 2.2: Các bộ điều khién hỗ trợ OpenFlow

Tên Nền tảng | Tổ chức | Các tính năng Trang chủ

Day- Java Foundati ; ; ` http://www.opendaylight.org

giao diện đô

OpenStack OSRG

Group

14

Trang 26

Cung cấp giao | http://openflow.stanford.edu/dis

Beacon Jav Stanford

dién Web play/Beacon/Home

Rice 7

Ho tro da http://code

google.com/p/aestro-Maestro Java Universi :

luông platform/

ty

Trema | Ruby/C Mạng ảo DSL http://trema.github.io/trema

2.2.2 Học may

2.2.2.1 Khai niệm về hoc máy

Machine learning là một lĩnh vực nhỏ cua trí tuệ nhân tạo - Artificial Intelligence (AD

trong khoa học máy tính, thường sử dụng các kĩ thuật thống kê dé máy tính có khảnăng “học” với dit liệu, mà không cần phải lập trình cụ thé

Tên gọi machine learning được đặt bởi Arthur Samuel 3 năm 1959 Phát triển từnghiên cứu về nhận dang mau (pattern recognition) va lý thuyết học tính toán

(Computational learning theory) trong trí tuệ nhân tạo, machine learning nghiên cứu

và xây dựng các thuật toán có thê học hỏi và dự đoán theo hướng dữ liệu

Machine learning có mối quan hệ rất mật thiết đối với thống kê (statistics), sử dụng

các mô hình thống kê dé “ghi nhớ” lại sự phân bố của dữ liệu Tuy nhiên, không đơnthuần là ghi nhớ, machine learning phải có khả năng tổng quát hóa những gì đã được

nhìn thấy và đưa ra dự đoán cho những trường hợp chưa được nhìn thấy Machine

learning không giống với một đứa trẻ học vẹt, đứa trẻ học vẹt chỉ trả lời được nhữngcâu hỏi mà nó đã học thuộc lòng đáp án Khả năng tổng quát là một khả năng tự nhiên

và kì điệu của con người: bạn không thể nhìn thấy tất cả các khuôn mặt người trênthé giới nhưng bạn có thé nhận biết được một thứ có phải là khuôn mặt người haykhông với xác suất đúng gần như tuyệt đối Đỉnh cao của machine learning sẽ là mô

phỏng được khả năng tông quát hóa và suy luận này của con người.

15

Trang 27

Deep Learning là một kĩ thuật của Machine learning Hãy suy nghĩ về nó như là mộtloại machine learning với "mạng thần kinh — neurol network" sâu có thể xử lý dữ liệu

theo cách tương tự như một bộ não con người có thé thực hiện Điểm khác biệt chính

ở đây là con người không sẽ phải day một chương trình deep learning biết một con

méo trông như thé nào, mà chi cần cung cấp cho nó đủ hình anh cần thiết về loài mèo,

và nó sẽ tự mình hình dung, tự học Các bước cần làm như sau:

e_ Cung cấp cho máy rất nhiều ảnh về mèo

e Thuật toán sẽ kiểm tra ảnh dé xem các đặc điểm, chi tiết chung giữa các bức

ảnh.

e_ Mỗi bức anh sẽ được giải mã chỉ tiết đưới nhiều cấp độ, từ các hình dạng lớn,

chung đến các ô nhỏ và nhỏ hơn nữa Nếu một hình dạng hoặc các đường được

lặp lại nhiều lần, thuật toán sẽ gan nhãn nó như là một đặc tính quan trọng

e Sau khi phân tích đủ hình ảnh cần thiết, thuật toán giờ đây sẽ biết được các

mẫu nào cung cấp bằng chứng rõ ràng nhất về mèo và tất cả những gì conngười phải làm chỉ là cung cấp các dữ liệu thô

Hiện nay, có nhiều cách phân dé phân loại học máy, một trong những cách phổ biến

nhất chính là phân loại học máy dựa trên dữ liệu đào tạo Với cách phân loại này, có

5 mô hình học máy khác nhau gồm: Học có giám sát, Học không giám sát, bán giám

sát và học tăng cường.

2.2.2.2 Học có giám sát

Supervised learning là thuật toán dự đoán đầu ra (outcome) của một dữ liệu mới dựatrên các cặp (input, outcome) đã biết từ trước Cặp dữ liệu này còn được gọi là (data,label), tức (dữ liệu, nhãn) Supervised learning là nhóm phô biến nhất trong các thuật

toán machine learning.

Trong học tập có giám sát (Supervise learning), mang(network) sẽ xây dựng mô hình dựa trên tính chính xác của việc khớp với dữ liệu nhãn.

16

Trang 28

2.2.2.3 Học không giám sát

Trong thuật toán này, không biét được outcome hay nhãn mà chỉ có dữ liệu đâu vào Thuật toán unsupervised learning sẽ dựa vào câu trúc của dữ liệu đê thực hiện một công việc nao đó, ví dụ như phân nhóm (clustering) hoặc giảm sô chiêu của dữ liệu

(dimension reduction) dé thuan tién trong việc lưu trữ và tinh toán

Unsupervised learning là khi chỉ có đữ liệu vào X mà không biết nhãn Y tương ứng

Những thuật toán loại này được gọi là Unsupervised learning vì không giống như

Supervised learning, chúng ta không biết câu trả lời chính xác cho mỗi dữ liệu đầu

vào.

Các bài toán Unsupervised learning được tiếp tục chia nhỏ thành hai loại:

e Phân nhóm (clustering)

Bài toán phân nhóm toàn bộ dữ liệu X thành các nhóm nhỏ dựa trên sự liên quan gitra

các dữ liệu trong mỗi nhóm Ví dụ: phân nhóm khách hàng dựa trên hành vi mua

hàng Điều này cũng giống như việc ta đưa cho một đứa trẻ rất nhiều mảnh ghép vớicác hình thù và màu sắc khác nhau, như tam giác, vuông, tròn với màu xanh và đỏ,sau đó yêu cầu trẻ phân chúng thành từng nhóm Mặc dù không cho trẻ biết mảnh nàotương ứng với hình nào hoặc màu nào, nhiều khả năng chúng vẫn có thể phân loại

các mảnh ghép theo màu hoặc hình dạng.

e Association

La bài toán khi muốn khám phá ra một quy luật dựa trên nhiều dữ liệu cho trước Vidụ: những khách hàng nam mua quan áo thường có xu hướng mua thêm đồng hồ hoặcthắt lung; những khán giả xem phim Spider Man thường có xu hướng xem thêm phimBat Man, dựa vào đó tạo ra một hệ thong gợi ý khách hang (Recommendation

System), thúc đây nhu cầu mua sắm

17

Trang 29

2.2.2.4 Hoc bán giám sát

Khi có một lượng lớn dtr liệu X nhưng chỉ một phần trong chúng được gán nhãn đượcgọi là Semi-Supervised Learning Những bài toán thuộc nhóm này năm giữa hai nhóm

được nêu bên trên.

Ví dụ điển hình của nhóm này là chỉ có một phần ảnh hoặc văn bản được gán nhãn(ví dụ bức ảnh về người, động vật hoặc các van bản khoa học, chính tri) và phần lớn

các bức ảnh/văn bản khác chưa được gán nhãn được thu thập từ internet Thực tế cho

thấy rất nhiều các bài toán machine learning thuộc vào nhóm này vì việc thu thập dữliệu có nhãn tốn rất nhiều thời gian và có chi phí cao Rất nhiều loại dữ liệu thậm chícần phải có chuyên gia mới gán nhãn được (như ảnh y học là một ví dụ điển hình).Ngược lại, dữ liệu chưa có nhãn có thể được thu thập với chi phí thấp từ Internet

2.2.3 Hệ thống phát hiện và phòng ngừa xâm nhập (IDS)

Intrusion Detection System (IDS) — là một hệ thong được xây dựng bởi phần cứnghoặc phần mềm — dùng dé phát hiện những hành vi xâm nhập trái phép vào trong máy

tính hoặc mạng máy tính.

e Host-based IDS (HIDS): là hệ thong dùng dé phát hiện xâm nhập trên một host

cụ thé HIDS hoạt động bằng cách phân tích các thông tin và cơ sở dit liệukiểm toán của hệ thống cụ bộ và các ứng dụng khác

e Network-based IDS (NIDS): là hệ thống dùng dé phát hiện xâm nhập trên một

miền mạng cụ thể NIDS hoạt động dựa trên việc thu thập các lưu lượng mạng,phân tích và phát hiện tan công Đây là hệ thống thông dụng nhất

e Signature-Based: Day là các IDS hoạt động dựa trên chữ ký, giám sát các gói

tin trên mạng tương tự như cách phần mềm diệt virus hoạt động Tuy nhiênSignature-Based có thể không phát hiện được những mối đe dọa mới, khi chữ

ký dé nhận biết nó chưa được IDS cập nhật

e Anomaly-Based: IDS này được sử dụng dé phát hiện mối đe dọa dựa trên sự

bất thường Anomaly-Based sẽ giám sát traffic mạng và so sánh với baseline

đã được thiết lập từ trước Baseline sẽ xác định đâu là mức bình thường của

18

Trang 30

mạng và cảnh báo cho quản tri viên mạng hoặc người dùng khi phát hiện traffic

truy cập bat thường hoặc khác biệt so với baseline

e Passive: Day là IDS thụ động chi phát hiện và cảnh báo Khi phát hiện traffic

đáng ngờ hoặc độc hại, nó sẽ tạo và gửi cảnh báo đến các nhà quản tri hoặc

người dùng Những hành động sau đó sẽ phụ thuộc vào người quản tri.

e Reactive: Loại IDS này ngoài nhiệm vụ như IDS Passive, nó còn thực hiện

những hành động đã được thiết lập san dé phản ứng lại các mối đe dọa mộtcách nhanh chóng, ví như: chặn nguồn truy cập, khóa IP

2.2.4 Công nghệ dữ liệu lớn

Dữ liệu lớn gồm tập hop dit liệu có kích thước lớn từ vài tá tetrabytes đến nhiềupetapytes dữ liệu vượt xa khả năng của các công cụ thông thường dé thu thập, hiệnthị, xử lý dữ liệu trong khoảng thời gian chấp nhận được Dữ liệu lớn được mô tả là

tập hợp dữ liệu có khối lượng lớn (high-volume), tốc độ cao (high-velocity) và đa

dạng (high-variety) Thông thường dữ liệu lớn thường đặt trưng bởi 6 đặc điểm còn

được gọi là 6V.

19

Trang 31

Value: Phản ảnh giá trị của dữ liệu đó.

Volume: Khối lượng

dữ liệu, kích thước của

dữ liệu.

ra và tốc độ dữ liệu

~ e data

-Velocity: Đề cập đến tốc độ dữ liệu được tạo

Variability: Tính biến thiên của dữ liệu thể

Veracity: Chất lượng

và độ tin cậy của dữ liệu.

Hình 2.5: 6Vs của Big data

Hình 2.5 minh họa 6V chính là các đặt điểm của dữ liệu lớn Tuy nhiên, dé một dữliệu có thể được phân loại là dữ liệu lớn thì nó chỉ cần đáp ứng được 3V đầu tiên về

khối lượng (volume), tốc độ (velocity) và đa dang (variety) Công nghệ dữ liệu lớn là

những công cụ hoặc công nghệ được sử dụng dé có thé xử lý các dữ liệu được cho là

dữ liệu lớn một cách hiệu quả Hiện nay, một vài công nghệ dữ liệu lớn như: Apache Hadoop, Apache Spark, Apache Storm, Apache Flink, Apache Cassandra, and

Apache HBase.

2.2.4.1 Apache Spark

Apache Spark là một framework mã nguồn mở tính toán cụm, được phát triển sơ khởi

vào năm 2009 bởi AMPLab Sau này, Spark đã được trao cho Apache Software

Foundation vào năm 2013 và được phát triển cho đến nay

20

Trang 32

Tốc độ xử lý của Spark có được do việc tính toán được thực hiện cùng lúc trên nhiềumáy khác nhau Đồng thời việc tính toán được thực hiện ở bộ nhớ trong (in-memories)

hay thực hiện hoàn toan trên RAM.

Spark cho phép xử lý dữ liệu theo thời gian thực, vừa nhận dữ liệu từ các nguồn khácnhau đồng thời thực hiện ngay việc xử lý trên dữ liệu vừa nhận được

Spark không có hệ thống file của riêng mình, nó sử dụng hệ thống file khác như:

HDES, Cassandra, S3, Spark hỗ trợ nhiều kiểu định dạng file khác nhau (text, csv,

json ) đồng thời nó hoàn toàn không phụ thuộc vào bất cứ một hệ thống file nào

Spark SQL Spark Structured

Datafram Streaming MLIb GraphX

Spark Core

R | SQL | Python || Scala | Java

Hình 2.6: Các thành phan của Spark

Apache Spark gồm có 5 thành phần chính: Spark Core, Spark Streaming, Spark SQL,

MLIlib và GraphX, trong đó:

e Spark Core: là nền tảng cho các thành phan còn lại và các thành phần này

muốn khởi chạy được thì đều phải thông qua Spark Core do Spark Core đảm

nhận vai trò thực hiện công việc tính toán và xử lý trong bộ nhớ (In-memory

computing) đồng thời nó cũng tham chiếu các dữ liệu được lưu trữ tại các hệthống lưu trữ bên ngoài

e Spark SQL: cung cap một kiểu data abstraction mới (SchemaRDD) nhằm hỗ

trợ cho cả kiểu đữ liệu có cấu trúc (structured data) và dữ liệu nửa cau trúc

(semi-structured data — thường là dữ liệu dữ liệu có cấu trúc nhưng không đồng

21

Trang 33

nhất và cau trúc của dữ liệu phụ thuộc vào chính nội dung của dữ liệu ấy) SparkSQL hỗ trợ DSL (Domain-specific language) dé thực hiện các thao tác trênDataFrames bằng ngôn ngữ Scala, Java hoặc Python và nó cũng hỗ trợ cả ngôn

ngữ SQL với giao diện command-line và ODBC/JDBC server.

Spark Structured Streaming: cần phân biệt ở đây là Spark Streaming với

Structured Streaming Nói một cách đơn giải thi Spark Streaming được coi là phiên bản cũ, xử lý stream dựa trên RDD Trong khi đó Structured Streaming

là phiên bản mới, xử lý stream dựa trên Dataset/DataFrame Các chuyên gia

khuyến cáo người dùng nên sử dụng phiên bản mới với nhiều tính năng cải

thiện hơn Spark Structured với khả nang xử lí dữ liệu tức thời và chịu lỗi cao

cho phép xử ly big data realtime Trong phân tích dữ liệu, Spark Structured

Streaming đóng vai trò cung cấp nền tảng đề đây dữ liệu vào các mô hình phân

tích tức thời, tăng hiệu năng của mô hình.

MLIib: (Machine Learning Library): MLIib là một nền tảng hoc máy phân tánbên trên Spark do kiến trúc phân tán dựa trên bộ nhớ Theo các so sánhbenchmark Spark MLIib nhanh hơn 9 lần so với phiên bản chạy trên Hadoop

(Apache Mahout).

GrapX: Grapx là nền tảng xử lý đồ thị dựa trên Spark Nó cung cấp các Api

dé diễn tacac tính toán trong đồ thị bang cách sử dụng Pregel Api

Những đặc điểm nỗi bật

Xử lý dữ liệu: Spark xử lý dữ liệu theo lô và thời gian thực

Tính tương thích: Có thể tích hợp với tat cả các nguồn dit liệu và định dạng

tệp được hỗ trợ bởi cụm Hadoop.

Hỗ trợ ngôn ngữ: hỗ trợ Java, Scala, Python và R.

Phân tích thời gian thực:

o Apache Spark có thé xử lý dữ liệu thời gian thực tức là dit liệu đến từ

các luông sự kiện thời gian thực với tôc độ hàng triệu sự kiện mỗi giây.

22

Trang 34

Ví dụ: Data Twitter chăng hạn hoặc luợt chia sẻ, dang bai trên

Facebook Sức mạnh Spark là khả năng xử lý luỗng trực tiếp hiệu quả.Apache Spark có thê được sử dụng dé xử lý phát hiện gian lận trong khithực hiện các giao dịch ngân hang Đó là bởi vì, tat cả các khoản thanh

toán trực tuyến được thực hiện trong thời gian thực và chúng ta cần

ngừng giao dịch gian lận trong khi quá trình thanh toán đang diễn ra.

Machine Learning

Apache Spark là Framework thực thi dữ liệu dựa trên Hadoop HDFS Apache Spark

không thay thé cho Hadoop nhưng nó là một framework ứng dụng Apache Spark tuy

ra đời sau nhưng được nhiều người biết đến hơn Apache Hadoop vì khả năng xử lý

hàng loạt và thời gian thực.

Apache Spark là một hệ thống tính toán cụm da năng và nhanh chóng dùng dé xử lý

dữ liệu trong bộ nhớ với quy mô lớn Spark có mô hình lập trình tương tự như

MapReduce nhưng mở rộng nó với một phần trừu tượng chia sẻ dữ liệu được gọi làTập dữ liệu phân tán có khả năng phục hồi hoặc RDD Spark được thiết kế để xử lý

nhanh chóng cho các thuật toán lặp đi lặp lại, hỗ trợ lưu trữ trong bản ghi nhớ và phục

hồi lỗi nhanh chóng Spark sử dụng kiến trúc master/slaves được minh hoa trong hình

2.1.

23

Trang 35

Cluster Manager

Hình 2.7: Kiến trúc master/slaves của Spark

2.2.4.2 Hadoop Distributed File System (HDFS)

Hadoop Distributed File System (HDFS) là một hệ thong lưu trữ dữ liệu được sử

dụng bởi Hadoop cung cấp khả năng truy cập với hiệu suất cao đến với các dữ liệu

nằm trên các cụm của Hadoop

HDES chia dữ liệu lớn thành các mảnh nhỏ hơn và lưu trữ phân tán chúng trên các

node khác nhau Từ đó, sao chép mỗi miếng dữ liệu nhỏ hơn lên nhiều node khác Do

vậy, khi node bat kì có dữ liệu bị lỗi, từ hệ thống sẽ tự động sử dụng dit liệu từ mộtnode khác rồi tiếp tục xử lý Đây là một trong những tính năng đặc biệt quan trọng

của HDES.

Kiến trúc của HDES là master/slave, một HDFS Cluster sẽ luôn bao gồm 1

NameNode NameNode này là 1 master server và nó có nhiệm vụ quản lý cho hệ

thống tập tin và điều chỉnh các truy cập đến những tập tin khác Từ đó, bổ sung choNameNode dé có nhiều DataNodes Bạn nên chú ý rằng, sẽ luôn có 1 DataNode dành

riêng cho các máy chủ dữ liệu Trong một HDFS, | tập tin lớn sẽ được chia thành 1

hoặc nhiều khối, những khối này đều sẽ được lưu trữ trong 1 tập các DataNodes.

NameNode có tác vụ chính là đóng, mở và đôi tên cho các tập tin, thư mục Ngoài ra,

nó còn điều chỉnh cho các truy cập đến hệ thống tập tin Trong khi đó, DataNode cótác vụ là ghi, đọc vào hệ thống tập tin; nó còn có nhiệm vụ tạo, xóa, nhân rộng các

di liệu dựa trên chi dan của NameNode.

24

Trang 36

Quả trình hoạt động của NameNode và DataNode như sau:

e NameNode: Có trách nhiệm điều phối cho các thao tác truy cập của client với

hệ thống HDES Bởi vì các DataNode là nơi lưu trữ thật sự các block của các

file trên HDFS nên chúng là noi đáp ứng các truy cập này NameNode sẽ thực

hiện nhiệm vụ của nó thông qua daemon tên namemode chạy trên port 8021.

e DataNode: DataNode server sẽ chạy một daemon datanode trên port 8022,

theo định kỳ thì mỗi DataNode sẽ có nhiệm vụ báo cáo cho Namenode biết

được danh sách tat cả các block mà nó đang lưu trữ Đề NameNode có thể dựa

vào nó dé cập nhật lại các metadata trong nóSau mỗi lần cập nhật thì metadata trên NameNode đều sẽ đạt được các tình trạngthống nhất đữ liệu trên các DataNode Toàn bộ trạng thái của metadata trênNameNode sẽ đạt được sự thống nhất với các dit liệu ở trên DataNode

Tất cả các trạng thái của metadata ngay khi đang ở tình trạng hệ thống này sẽ đượcgọi là checkpoint Mỗi một metadata ở trạng thái checkpoint đều sẽ được sử dụng cho

25

Trang 37

mục đích nhân bản metadata với mục đích phục hồi lại NameNode nếu như

NameNode xuất hiện lỗi

Đọc file trên HDFS: Khi các máy con client gửi yêu cầu đọc đến NameNode, khi đó

NameNode nhận được phải sẽ thực hiện các tác vụ dé kiểm tra xem file có tồn tại

không, file có bị lỗi hoặc bị nhiễm virus không? Nếu như file không có vấn đề thì

NameNode sẽ gửi các danh sách của các Block của file cùng với địa chỉ của các

DataNode.

Sau do, hé thong sẽ mở kết nối với DataNode rồi thực hiện chức năng RPC dé nhận

được các đữ liệu cần đọc, rồi đóng kết nối với DataNode còn lại Khi đó, các client

đọc các block của file liên tục và lặp lại cho đến block cuối của file Tiếp theo, lập

trình viên sẽ sử dụng một tập tin API của Hadoop dé có thé tương tác trực tiếp được

với HDFS Những tập API sẽ có chức năng giấu đi các NameNode dé giúp kết nốivới các DataNode đề nhận được dữ liệu

Cách ghi file trên HDFS: Tương tự quá trình đọc file, tuy nhiên quá trình này thì các

client sẽ gửi đến cho các NameNode một file entry (đây là file chưa có bat kỳ block

nào bên trong) Những file client sẽ thực hiện chia file dữ liệu thành các block và mỗi

block đều sẽ được đóng gói thành packet

Tiếp theo, Client sẽ gửi Packet cho DataNode thứ nhất, sau khi được lưu xong thìDataNode đầu tiên lại gửi tiếp packet cho DataNode thứ hai dé sao lưu Quá trình này

sẽ tiếp diễn cho đến các DataNode cuối cùng nhận được packet và sao lưu nó Thì nó

sẽ lại gửi thông báo cho client là đã lưu thành công Từ đó, client sẽ thực hiện hành

động dé báo cáo cho NameNode biết rồi cập nhật lại toàn bộ danh sách các block mà

file đã ghi lại.

2.2.5 Các công trình nghiên cứu liên quan đến IDS-Bigdata

Sự phát triển của Internet , một lượng lớn lưu lượng mạng được sinh ra trong mỗigiây Điều này dẫn đến việc các cuộc tan công ngày càng đa dang và phức tạp Dé có

thê phát hiện và thông báo kịp thời cho người quản trị thông tin các cuộc xâm nhậpcũng như các mối đe đọa nghiêm trọng trong môi trường mạng có lưu lượng lớn và

đa dạng, các nhà khoa học đã đưa ra các giải pháp về việc ứng dụng công nghệ dữ

26

Trang 38

liệu lớn (Big data Technology) vào hệ thống IDS nhằm cải thiện khả năng xử lý dữ

liệu lớn và đưa ra những dự đoán trong thời gian ngắn

Trong [5]các tác giả đã đề xuất việc ứng dụng việc lưu trữ và xử lý trên môi trườngphân tán để cải thiện việc xử lý của N-IDS Cụ thể các tác giả đã tiến hành so sánh

việc xử lý và lưu trữ các IDS-logs giữa các môi trường Apache Spark, Hadoop Cluster

và HDBase Các kết quả đo đạt cho thấy, mô hình đề xuất của các tác giả sử dụng

ApacheSpark có thời gian xử lý ngắn hơn so với Hadoop hay HDBase Đối với môhình HDFS, thời gian xử lý không chỉ phụ thuộc vào khối lượng dữ liệu mà còn phụthuộc vào việc phân phối lưu trữ dữ liệu đó trong môi trường phân tán

Nghiên cứu số [6], tác giả đã đề xuất một framework sử dụng thuật toán dé giảm cácthuộc tinh không quan trọng trước khi đưa vào dé huấn luyện cho các mô hình học

máy Canonical Correlation Analysis (CCA) và Linear Discriminant Analysis (LDA)

là hai thuật toán dùng dé giảm các thuộc tính không quan trọng trước khi đưa vào déhuấn luyện cho hai mô hình học máy Các tác giả đồng thời sử dụng Apache Spark

để xử lý các dữ liệu lớn Kết quả thực nghiệm cho thấy, việc ứng sử dụng các thuậttoán loại bỏ các thuộc tính không quan trọng trước khi đưa vào huấn luyện giúp cho

việc phát hiện bất thường của các thuật toán học máy diễn ra nhanh chóng và hiệu

quả hơn Ngoài ra, việc sử dụng Apache Spark đề xử lý dữ liệu cũng góp phần tăng

tính hiệu quả, giảm thời gian dự đoán.

Mohamed Haggag và các cộng sự của ông [7] đã huấn luyện các mô hình học sâutrên Spark cluster Tién hanh danh gia thời gian train, độ chính xác, recall, fl-score,precision của các mô hình học sâu trên những ba cau hình Spark cluster khác nhau

Hê thống đề xuất của tác giả gọi là Deep Learning Spark Intrusion Detection System(DLS-IDS) Mô hình DLS-IDS sử dụng NSL-KDD dataset cho việc huấn luyện và

dự đoán Dé làm giảm sự mat cân bằng của dữ liệu, các tác giả đã sử dung SyntheticMinority Over-Sampling Technique (SMOTE) như một bước xử lý dữ liệu dé tăng

độ chính xác khi dự đoán và làm giảm overfitting Mô hình DLS-IDS sử dụng LSTM

với SMOTE có độ chính xác 83.57% khi phát hiện các loại tấn công — cao nhất trong

các mô hình Deep learning được sử dụng trong bài nghiên cứu.

27

Trang 39

Chương3 Ý TƯỞNG THIẾT KE HE THONG

3.1 Ý tưởng

Mô hình mạng SDN - áp dụng cho các doanh nghiệp lớn sẽ phát sinh liên tục một

khối lượng lớn dữ liệu đa dạng Từ đó, nhu cầu về việc tận dụng công nghệ dữ liệu

lớn (Big data) nhằm hỗ trợ hiệu quả cho giải pháp đảm bảo an toàn mạng trong SDN

là bài toán cần giải quyết Khi đó, các hệ thống phòng thủ dựa trên phân tích dữ liệulớn có thé đạt được hiệu suất cao hơn và xử lý dit liệu tốt hơn

Vì vậy, chúng tôi đề xuất kiến trúc IDS hỗ trợ xử lí dữ liệu lớn với các công cụ lưutrữ và xử lý phân tán để cải thiện việc xử ly dt liệu NIDS Mục tiêu chính của hệ

thong đề xuất của chúng tôi là việc xử lý lưu lượng mang thời gian thực cho hệ thông

IDS trong môi trường dữ liệu mạng có kích thước lớn Mô hình của chúng tôi đề xuất

sử dụng một công cụ phát trực tuyến trong thời gian thực đề có thé phân tích trên lưu

lượng mạng được phát sinh liên tục.

Cơ sở hạ tang mạng truyền thống thường không cho hiệu suất cao Khi thêm bat kỳ

thành phần mạng vào kiến trúc mạng hiện tại lại khá tốn kém Ngoài ra, việc quản lý

mạng cũng trở thành một thách thức đối với các doanh nghiệp có kiến trúc mạng lớn

và phức tạp Do đó, nhu cầu sử dụng SDN (mạng khả lập trình) tăng lên, SDN tách

data plan va control plane thành hai plane riêng biệt, đồng thời các control plane được

quản lý và điều khiến bởi controller Ngoài ra, SDN cung cấp tinh mở và khả nănglập trình cho toàn mạng Rất nhiều chi phí hoạt động có thé được giảm thiểu khi sửdụng SDN Tổng quan các thành phần có trong hệ thống của chúng tôi được mô tả

trong hình 3.1.

28

Trang 40

Hệ thống Monitoring network là hệ thống mang SDN gồm SDN controller dé điều

khiên cũng như quan sat mạng từ xa, OpenvSwitch được kết nôi với các host Các

luồng traffic mạng từ hệ thống nay sẽ được mirroring lại

Extrator

Extractor tao ra các tính năng luồng mạng từ dữ liệu được thu thập từ các portmirroring được đặt trong hệ thống mạng, đồng thời trích xuất các thuộc tính gửi quacluster để lưu trữ trong môi trường phân tán (HDFS)

Triển khai các thuật toán máy học dé phát hiện các mối đe dọa mạng Thành phần

của Machine model chứa các thuật toán đã được huấn luyện dé phát hiện những sự

bất thường trong mang và gửi đến cho người quản trị dé kịp thời xử lý

29

Ngày đăng: 03/11/2024, 18:56

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN