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: Cơ chế xác thực phi tập trung dựa trên blockchain cho tác vụ quản lý an ninh mạng trong mạng khả lập trình

98 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 đề Cơ chế xác thực phi tập trung dựa trên blockchain cho tác vụ quản lý an ninh mạng trong mạng khả lập trình
Tác giả Trần Nguyễn Quốc Tuấn, Hoàng Văn Tỳ
Người hướng dẫn ThS. Đỗ Hoàng Hiển
Trường học Trường Đại học Công nghệ Thông tin
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ố TP. Hồ Chí Minh
Định dạng
Số trang 98
Dung lượng 46,68 MB

Nội dung

Thông qua kênh giao tiếp hướng Bắc northbound interface, được cung cấp bởi bộ điều khiển trong mạng khả lập trình, những ứng dụng mạng có thể sử dụng những REST API để sử dụng tài nguyên

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA MẠNG MÁY TÍNH VÀ TRUYÈN THÔNG

Trần Nguyễn Quốc Tuấn

Hoàng Văn Tú

KHÓA LUẬN TÓT NGHIỆP

CƠ CHÉ XÁC THỰC PHI TẬP TRUNG DỰA TRÊN BLOCKCHAIN CHO TÁC VU QUAN LY AN NINH

MANG TRONG MANG KHA LAP TRINH

Trang 2

ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA MẠNG MÁY TÍNH VÀ TRUYÈN THÔNG

Trần Nguyễn Quốc Tuấn -17521225

KY SU NGANH AN TOAN THONG TIN

GIANG VIEN HUONG DAN ThS DO HOANG HIẾN

TP HO CHÍ MINH, 2021

Trang 3

THÔNG TIN HỘI ĐÒNG CHÁM KHÓA LUẬN TÓT NGHIỆP

Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số

"———— ngay của Hiệu trưởng Trường Dai học Công ng

hệ Thông tin.

Trang 4

LỜI CẢM ƠN

Đầu tiên, chúng em xin gửi lời chân thành cảm ơn đến thầy ThS Đỗ Hoàng Hiển va thầy ThS Phan Thế Duy đã hướng dẫn và hỗ trợ tận tình trong xuyên suốt quá trình thực hiện khóa luận để nhóm chũng em có thể hoàn thành khóa luận một cách tốt nhất.

Nhóm chúng em cũng xin chân thành gửi lời cảm ơn đến toàn thể quý thầy

cô trường Đại học Công nghệ Thông tin, đặc biệt là các thầy cô khoa Mạng máy tính & Truyền thông và Phòng thí Nghiệm An toàn Thông tin đã giúp đỡ và hỗ trợ

và truyền đạt những kiến thức quý báu trong suốt thời gian học tập tại trường.

Nhóm chúng em xin chân thành cảm ơn.

TP Hồ Chính Minh, ngày 12 tháng 07 năm 2021

Trang 5

ĐẠI HỌC QUÓC GIA TP HÒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT

TRƯỜNG ĐẠI HỌC NAM CÔNG NGHỆ THONG TIN Độc Lập - Tự Do - Hạnh Phúc

ĐÈ CUONG CHI TIẾT

TÊN ĐÈ TÀI:

+ Tiếng Việt: Cơ chế xác thực phi tập trung dựa trên blockchain cho tác vụ

quản lý an ninh mạng trong mạng khả lập trình

« Tiếng Anh: A decentralized blockchain-based authentication scheme for

network security orchestration in SDN-aware network

Cán bộ hướng dẫn: ThS Dé Hoang Hiền

Thời gian thực hiện: Từ ngày 01/03/2021 đến ngày 26/06/2021

Sinh viên thực hiện:

Sinh viên: Trần Nguyễn Quốc Tuần MSSV: 17521225 SĐT: 0944870702

Sinh viên: Hoàng Văn Tú MSSV: 17521195 SDT: 0346961330

Nội dung đề tai:(M6 tả chỉ tiết mục tiêu, phạm vi, đối tượng, phương pháp thực hiện,

két quả mong đợi của đề tài)

Giới thiệu:

Trong những năm gần đây, có thể thấy xu hướng công nghệ mạng đang hướng tới

việc ảo hóa hạ tầng mạng và đưa lên đám mây đồng thời được quản lý sử dụng công

nghệ mạng khả lập trình Điều này cho phép sự dễ dàng mở rộng của những dịch vụ mạng và sự linh hoạt trong quản lý mạng Thông qua kênh giao tiếp hướng Bắc

(northbound interface), được cung cấp bởi bộ điều khiển trong mạng khả lập trình,

những ứng dụng mạng có thể sử dụng những REST API để sử dụng tài nguyên của

hệ thống mạng Tuy nhiên, do thiếu cơ chế xác thực cho ứng dụng mạng, mạng khả

lập trình gặp phải vân đề an ninh về độ tin tưởng của những ứng dụng sử dụng những

API này và những sự tấn công đến mạng khả lập trình lợi dụng REST API từ ứng

dụng phá hoại.

Để khác phục vấn đề này, nhóm tác giả gồm Tao Hu và cộng sự [5] đã đề ra phương pháp SEAPP SEAPP gôm hai bộ phận Bộ phận thứ nhất thực hiện phát hiện và kiểm tra độ hợp lệ về quyền của ứng dụng Bộ phận thứ hai thực hiện đăng ký xác thực cho

ứng dụng Những ứng dụng đã đăng ký sẽ được xác thực trong một môi trường mã

hóa Sau đó, những ứng dụng â ấy sẽ được phân quyền sử dụng API dựa vào mức độ

nguy hiểm của mỗi ứng dụng Khi một ứng dụng gọi API, quyên hạn của nó sẽ được

kiểm tra Giải pháp này đã một phan nào đó giải quyết được van đề về độ tin tưởng thông qua việc giới hạn quyền hạn Tuy nhiên, giải pháp nay vẫn chưa thể đảm bảo hoàn toàn độ tin tưởng của từng ứng dụng, độ tin cậy của cơ sở dữ liệu lưu trữ thông tin về xác thực và phần quyền, chưa có cơ chế phục hồi khi gặp sự cố.

Trang 6

Blockchain chính là lời giải cho những vấn đề trên Độ tin tưởng của ứng dụng có thể được đảm bảo thông qua những thuật toán đồng thuận (consensus algorithm) Độ tin

cậy của cơ sở dữ liệu được đảm bảo bởi tính bat biến (immutability) của blockchain Blockchain cũng đảm bảo tính chống phá hoại va khả năng phục hồi cao do blockchain lưu trữ bản sao ở nhiều nơi khác nhau Nhờ đặc tính phi tập trung này

(decentralised), nếu một node trong mạng blockchain bị hỏng thì sẽ không làm ảnh hưởng đến hoạt động của mạng blockchain Hơn nữa, blockchain có thể lưu lại mọi hoạt động của ứng dụng mạng, điều này cho phép sự thuận lợi trong điều tra khi có

sự cố hệ thống.

Nhóm tác giả L Xie, Y Ding, H Yang and X Wang [6] đã xây dựng hệ thống blockchain nhằm đảm bảo an ninh cho hệ thống phương tiện giao thông có tích hợp

thiết bị loT kết nối qua 5G Mọi hoạt động của phương tiện trong mạng, như hình ảnh

ay thông tin vị trí hay những chia sẻ thông tin, đều được lưu vào blockchain Những phương tiện trong mạng sẽ thực hiện trao đổi thông tin về đường xá để có thể di chuyển một cách thuận tiện nhất Khi một phương tiện quảng bá thông tin, những phương tiện khác sẽ thực hiện việc xác thực thông tin đó Nếu một phương tiện quảng

bá quá nhiều thông tin được xác thực là không chính xác, phương tiện ây sẽ bị đưa

vào danh sách đen và bị chặn quyền quảng bá Công trình này cho thấy sự hiệu quả

của blockchain trong việc phát hiện thực thể gây hại, đảm bảo tính chịu trách nhiệm, tính bat biến của thông tin được lưu lại và khả năng triển khai quy mô lớn khi áp dụng blockchain cho việc xác thực.

Trong đề tài này, nhóm sẽ thực hiện nghiên cứu phương pháp ứng dụng blockchain vào cơ chế xác thực của tác vụ quản lý an ninh trong mạng khả lập trình Đồng thời,

nhóm cũng tận dụng những đặc tính của blockchain để xây dựng tính năng phân quyền

và kiểm soát để tăng cường an ninh cho tác vụ quản lý an ninh.

Mục tiêu:

Xây dựng cơ chế xác thực cho những ứng dụng quản lý mang/cau hình bảo mật mạng

kết nôi đên bộ điêu khiên đê tham gia mạng khả lập trình sử dụng các đặc tính của công nghệ blockchain, với những mục tiêu sau:

e Xây dựng cơ chế xác thực cho ứng dụng quản lý mang/cdu hinh bao mat mang.

e _ Xây dựng cơ chế phân quyên cho ứng dụng quản lý mạng/cấu hình bảo mật mạng.

¢ H6 trợ tính năng truy vết hoạt động của ứng dụng trong mạng blockchain, đảm

bảo độ tin cậy của dữ liệu nhờ đặc tính bất biến (immutability) của blockchain.

¢ Đảm bao tính sẵn sang của hệ thống bằng cách tận dung đặt tính phi tập trung

(decentralise) của blockchain.

Pham vi nghiên cứu:

e Xây dựng cơ chế xác thực, phân quyền phi tập trung dựa trên công nghệ

blockchain cho các ứng dụng quản lý và câu hình mạng, triên khai trên môi trường

mạng khả lập trình.

e _ Cung cấp tnh năng hỗ trợ điều tra, truy vết cho mạng khả lập trình.

Trang 7

e _ Triển khai mang khả lập trình có: 10 máy chủ và 2 bộ điều khiển.

e Triển khai mạng blockchain có: 3 tổ chức, mỗi tổ chức gồm 2 peer; 3 orderer; 1

CA.

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

© _ Các ứng dụng quản lý mạng/cấu hình bảo mật mạng.

© Cac bộ điều khiển khi tương tác với từng vùng mạng.

e Céng nghệ blockchain và đặc tính của nó.

¢ _ Những loại giao thức AAA (Authentication — Authorisation - Accounting) phổ

biên.

Phương pháp thực hiện:

a Nội dung 1: Tìm hiểu kiến trúc, nguyên tắc hoạt động của mạng SDN, các kết

nỗi giữa ứng dụng và bộ điêu khiên.

© Mục tiêu:

o Nắm được kiến trúc, nguyên tắc hoạt động của hệ thống mạng SDN.

o Triển khai được một hệ thống mạng SDN.

o Xây dựng một số ứng dụng SDN đề sử dụng trong việc thực nghiệm hệ

thông.

« Phương pháp:

o _ Nghiên cứu tài liệu về kiến trúc của SDN, những mô hình SDN và những

phương pháp triên khai một mạng SDN.

° Thực hiện triển khai mạng SDN với Mininet/Containernet với bộ điều

khiên là Ryu.

o Xây dựng ứng dụng SDN cho bộ điều khiển Ryu bằng ngôn ngữ Python.

b Nội dung 2: Tìm hiểu tổng quan về blockchain và xây dựng cơ chế xác thực dựa

trên blockchain.

e Mục tiêu:

o Nắm được kiến thức tổng quan và các đặc tính của công nghệ blockchain.

o Triển khai một hệ thống blockchain có chức năng xác thực cho mạng khả

lập trình, triển khai trên một máy ảo Ubuntu, bao gồm hai tổ chức và mỗi

tô chức chứa hai peer.

o Xây dựng kênh giao tiếp giữa hệ thống blockchain và mạng khả lập trình.

o Xây dựng cơ chế xác thực dựa trên blockchain.

« Phương pháp:

o Tham khảo các video mô tả, tài liệu giải thích và các phương triển khai

blockchain trên mạng khả lập trình.

Trang 8

Sử dụng các công nghệ như Hyperledger Fabric, Kubernetes Rancher, Raft

để triển khai và quản lý blockchain

Xây dựng cơ chế, xác thực theo dạng token trên hợp đồng thông minh

(smart contract) băng ngôn ngữ Go.

c Nội dung 3: Xây dựng thêm cơ chế phân quyền và kiểm soát cho hệ thống quản

Nắm kiến thức về cơ sở đữ liệu.

Xây dựng cơ sở dữ liệu tiết kiệm tài nguyên, chính xác, có thé được truy

xuât dê dàng và có định dạng thân thiện người dùng.

Xây dựng cơ chế phân quyền hoạt động với cơ chế xác thực.

s Phương pháp:

° Nghiên cứu những tài liệu về phương pháp xây dựng cơ sở dữ liệu, kỹ

thuật phân quyên và những loại mô hình phân quyên.

Xây dựng cơ chế phân quyền dựa trên token được tạo ở cơ chế xác thực,

trên hợp đông thông minh (smart contract) băng ngôn ngữ Go.

d Nội dung 4: Thực nghiệm và đánh giá kết quả.

e Mục tiêu:

° Triển khai cơ chế xác thực dựa trên blockchain cho hệ thống quản lý an

ninh trong môi trường mạng khả lập trình và có hỗ trợ cơ chế phân quyền

và tính năng kế toán, thâm định.

Triển khai hệ thống mạng khả lập trình trên môi trường giả lập.

Đánh giá hiệu năng và độ chính xác trong quá trình hoạt động thông qua các kịch bản thực nghiệm.

s Phương pháp:

° Thực hiện triển khai mạng khả lập trình bằng Containernet và bộ điều

khiên Ryu.

Xây dựng và triển khai hệ thống xác thực bằng blockchain có hỗ trợ phân

quyên và kê toán, thâm định sử dụng nên tảng Hyperledger Fabric.

Sử dụng những ứng dụng mạng khả lập trình đã xây dựng để đánh giá hoạt

động và độ hiệu quả của hệ thông quản lý an ninh.

Kết quả mong đợi:

» - Xây dựng thành công hệ thống quản lý an ninh mạng có hỗ trợ xác thực, phân

quyên và truy vết trên mạng khả lập trình.

« _ Triển khai được hệ thông blockchain và hệ thống mang khả lập trình.

+ _ Xây dựng được kịch bản thử nghiệm và phương pháp đánh giá hệ thống.

Trang 9

« C6 được kết qua từ kịch bản thử nghiệm

+ Duara được báo cáo tổng quan về kết quả và quá trình thực hiện đề tai.

Tài liệu tham khảo

[1] Mohamed Tahar Hammi, Badis Hammi, Patrick Bellot, Ahmed Serhrouchni,

Bubbles of Trust: a decentralized Blockchain-based authentication system for IoT,

Computers & Security (2018).

[2] J Xie et al., "A Survey of Blockchain Technology Applied to Smart Cities:

Research Issues and Challenges," in IEEE Communications Surveys & Tutorials, thirdquarter 2019.

[3] Shailendra Rathore, Byung Wook Kwon, Jong Hyuk Park, BlockSecloTNet: Blockchain-based decentralized security architecture for IoT network, Journal of

Network and Computer Applications, 2019.

[4] Y Wu, H -N Dai and H Wang, "Convergence of Blockchain and Edge

Computing for Secure and Scalable HoT Critical Infrastructures in Industry 4.0," in IEEE Internet of Things Journal, Feb.15, 2021.

[5] Tao Hu, Zhen Zhang, Peng Yi, Dong Liang, Ziyong Li, Quan Ren, Yuxiang Hu, Julong Lan, SEAPP: A secure application management framework based on REST API access control in SDN-enabled cloud environment, Journal of Parallel and

Trang 10

Kế hoạch thực hién:(M6 ta kế hoạch làm việc và phân công công việc cho từng sinh

viên tham gia)

chế xác thực

Triển khai mô hình mạng khả lập

trình, triên khai hệ thông blockchain.

Xây dựng ứng dụng SDN và tính năng kiểm soát, truy vet cho hệ thông quản lý an ninh mạng.

Sinh viên 2

Tìm hiểu về mạng khả lập trình,

blockchain và những phương pháp áp dụng blockchain cho cơ

chế xác thực.

Triển khai mô hình mạng khả lập

trình, triên khai hệ thông blockchain.

Xây dựng cơ chế xác thực, phân

quyên cho hệ thông quản lý an ninh mạng.

Xây dựng kịch bản thực nghiệm,

phương pháp đánh giá và thực hiện thực nghiệm, đánh giá kết

quả.

Xây dựng kịch bản thực nghiệm, phương pháp đánh giá và thực

hiện thực nghiệm, đánh giá kết

quả.

Xác nhận của CBHD

(Ký tên và ghi rõ họ tên)

TP HCM, ngày 16 thang 03 năm 2021

Sinh viên (Ký tên và ghi rõ họ tên)

Trang 11

MỤC LỤC

Chương l: MO ĐẦU 2 222,,22221, HH erue 3

1.1.

12 Đặt vấn đề 22 22222221 HH 1 errrrrgggey 3

1.3 Tình hình nghiên cứu - 2° + ©+£ kệ E13 HH HH HH Hà Hàng ưy 4

1.4 _ Tính khoa học và tính mới của đề tài -c:cctccc tt 5

1.5 Mục tiêu đề tài 2222222222112 1t nh 1e tre 6 1.6 Đối tượng nghiên cứu -+-22VE22+++tt+EEEEY2E+tt2EEEEYYrtEETEEEErrrrtrrrkrrrrrrrrrrrrrree 7

IS 5 ồ.ồŠ.ồ.ố 7 1.8 Nội dung và Phương pháp thực hiện „8 Chương 2:

2.1 Kiến thức nền tan;

TÓNG QUAN.

2.1.1 | Mang khả lập trình (SDN) 11 2.1.2 Công nghệ Blockchain 25-55252222 teEerxerrirrerrirrrrrrerrrrrrrrree 15

2.13 Thuật toán đồng thuận -.-22222222222222ttrtrttrttEEE11111111111 re 19

2.1.4, Mô hình bảo mật AAA: - cv c2ttctthnnhhnthhtrrrrrrerrerrrrrrrdee 20

2.1.5 RESTfulAPI Lá 23

2.1.6 Chữ ký số

2.17 Hệ mã hoá bất đối xứng

Chương3: PHAN TÍCH THIET KE HE THO

3.1 Giéi thiệu chung

Trang 12

3.2.6 Accounting Module

3.2.7 REST API 31

3.3 Kết chương -.34 Chương4: HIỆN THỰC VAD

AL, Công nghệ sử dụng - ¿5s 2t Tnhh eererree 35 4.1.1 Mininet

4.12 Bộ điều khiến Ryu

4.1.3 Hyperledger Eabric - ST ư 35 4.1.4, JSON Web Token (JWT) csctectirtrrrrrrrntrrrtrrrrrrrrrrrerrrrrrrrrrrrrrrrrrrrree 36 4.1.5 RSA256 HH tà 37 4.2 Tài nguyên sử dụng -. - 5+ nề Hà HH1 HH re 39

4.3 Triển khai hệ thống AAA -222+-©22E222++EE222222112212211122222211111 22211112 ctrrrrrrrre 40

4.3.1 Triển khai Participant Module ¿ 52222222+2222EV2+v+et2EEEEEvvetrtrrrkrrrrrrrrrrrree 40

4.3.2 Triển khai Authorization Module -:::-+ttccctttriittettttrrrrrrrrrrrrrree 41 4.3.3 Triển khai Authentication Module 55c cvtrtrrtrrttrtrrrrtttrtrrrrrrrrrrrrree 47 4.3.4 Triển khai Token Module -cvcctttttttttttttttttitiiiiiiiiiiiiirirree 48 4.3.5 _ Triển khai Accounting Module : -22+2222EEE++++tttEEEEY+rrrrtrrrvrrrrrrrrrrrree 49

4.3.6 Triển khai Hyperledger Fabric và Chaincode API :-c5ccccccvvervverereerree 51

4.4 _ Triển khai mạng SDN

4.4.1 Triển khai bộ điều khiển Ryu -2 22222+2222EEES2zrtttEEEEYvrrrrtrrrvrrrrrrrrrrrree 52

4.4.2 Chức năng của Ryu API.

4.4.3 Lưu đồ hoạt động chung của bộ điều khiển khi ứng dụng truy cập - 56

Kha năng xứ lý yêu cầu xác thực từ của hệ thống AAA -ccccc-ccccccee 59

Khả năng chịu tải của hệ thống AAA

Thue nghiệm đánh giá bao mật hệ thống, -::-555cvvvvvvvveerrrrrrrrrrrrrrrer 61

Đánh giá bảo mật hệ thống

"c0 — 70

Trang 14

DANH MỤC HÌNH VẼ

Hình 3.1: Sơ đồ hệ thống xác thực AAA

Hình 3.2: Quy trình xác thực token

Hình 3.3 Sơ đồ luồng công việc hệ thống AAA

Hình 4.1 Cấu trúc JSON TOKEN WEB (JWT)

Hình 4.2: Cấu trúc Application Assets trong Chain Code

Hình 4.3: Cấu trúc Controller Assets trong Chain Code

Hình 4.4 Hàm kiểm tra truy cập dựa trên Permission

Hình 4.5: Hàm kiểm tra truy cập dựa trên vai trò của ứng dụng

Hình 4.6: Hàm xác thực chữ ký dựa của ứng dụng

Hình 4.7: Quá trình kiểm tra chống Replay Attack khi xác thực token

Hình 4.8: Kiểm tra tính khả dụng của Token

Hình 4.9: Giải mã token

Hình 4.10: Thông tin của token sau khi giải mã

Hình 4.11: Kiểm tra tính hợp lệ hành động của ứng dụng yêu cầu

Hình 4.12: Hàm cập nhật Permission cho ứng dụng

Hình 4.13: Hàm cập nhật danh sác vai trò của ứng dụng được phép truy cập vào Controller

Hình 4.14: Kiểm tra quyền và vai trò của ứng dụng trước khi xuất bản token

Hình 4.15: Hàm sinh JWT(JSON WEB TOKEN) cho ứng dụng

Hình 4.16: Khởi tạo vào ghi tài sản Token vào Chain Code

Hình 4.17: Cấu trúc tài sản Token

Hình 4.18: Hàm vô hiệu hoá Token

Hình 4.19: Cấu trúc tài sản Log

Hình 4.20: Quá trình ghi lại Log

Hình 4.21: Hàm query log của controller tương ứng

Hình 4.22: Khởi chạy ứng bộ điều khiển Ryu

14

Trang 15

Hình 4.23: Lưu đồ hoạt động xử lý các yêu cầu từ ứng dụng

Hình 4.24: Lưu đồ hoạt động quá trình truy cập hợp lệ của 1 ứng dungHình 4.25: Kết quả thực hiện truy cập không kèm token

Hình 4.26: Cau trúc body của một yêu cau hợp lệ từ ứng dụng

Hình 4.27: Kết quả trả về khi thực hiện một truy cập với token hợp lệ

Hình 4.28: Yêu cầu đăng đọc thông tin một ứng dụng trong mang SDNHình 4.29: Cảnh báo giả mạo từ hệ thong AAA

Hình 4.30: Quyền và vai trò mà ứng dụng đã được phân

Hình 4.31: Thực hiện chức năng Update Permission

Hình 4.32: Quyền hạn của ứng dụng sau khi được cập nhật

Hình 4.33 Ứng dụng thực hiện truy cập thất bại do không đủ quyền hạnHình 4.34: Ứng dụng thực hiện truy cập thành công

Hình 4.35 Gói tin thu thập được bằng WireShark

Hình 4.36: Thực hiện tan công lặp lại

Hình 4.37: Phản hồi của hệ thống AAA khi gặp tan công lặp lại

15

Trang 16

DANH MỤC BẢNG

Bảng 3.1 Cấu trúc các đối tượng trong Participant ModuleBảng 3.2 Cấu trúc đối tượng trong Token Module

Bang 3.3 Cấu trúc đối tượng Log Assets

Bảng 4.1: Tài nguyên sử dụng đề xây dựng hệ thống

Bảng 4.2: Kết quả đo thời gian phản hồi truy cập

Bảng 4.3: Kết quả đo khả năng chịu tải

Bảng 4.4: Kết quả đo khả năng chịu tải sau nâng cấp

16

Trang 17

TOM TAT KHÓA LUẬN

Càng ngày nhu cầu sử dụng mang của thé giới ngày càng gia tăng và là nhu cầu thiết yếu trong đời sống, ví dụ như trong học tập, làm việc hay cả ăn uống Nhu cầu này sẽ càng

tăng mạnh khi thế giới ứng dụng nhiều hơn công nghệ đám mây (cloud computing) và côngnghệ IoT (Internet of things) vào đời sống thường ngày Đề có thể đáp ứng được cho nhucầu sử dụng không 16 trong tương lai này, hệ thống mạng phải trở nên linh hoạt hơn và cóthé tùy chỉnh chức năng dé đáp ứng với nhu cầu sử dụng đa dang Hơn nữa, hệ thống mạngcần có khả năng mở rộng (vertical scaling và horizontal scaling) dé dang dé bao đảm được

tính sẵn sàng cho mọi tình huống Vì thế, một mô hình mạng mới được đề suất mang tên

SDN (Software Defined Network), hứa hẹn có thể giải quyết được những yêu cầu trên

SDN là tương lai và điểm sáng trong công cuộc phát triển công nghệ mạng SDN

cho phép ta có thể quản lý các thiết bị mạng trong hệ thống thông qua bộ điều khiển

(controller) tập trung Bộ điều khiến tập trung sẽ quản lý mọi hoạt động, thiết bị và dữ liệutrên SDN và có thê được lập trình mọi chức năng theo ý muốn Điều này cho phép hệ thốngmạng trở nên linh hoạt hơn và có thê đáp ứng phù hợp với nhiều loại nhu cầu Hơn nữa,với sự chia tách phần điều khiến và phần cứng ra làm hai phan riêng biệt, hệ thong SDN

có thê được mở rộng và nâng cấp một cách thuận tiện và nhanh chóng mà không làm ảnhhưởng đến hoạt động hay chức năng của hệ thống

Tuy vậy, việc bảo mật đối với SDN nói chung và các bộ điều khiển tập trung còn

gap rất nhiều thách thức Một trong những thách thức nghiêm trọng nhất là sự thiếu cơ chế

xác thực phân quyền cho các ứng dụng đang hoạt động trên SDN SDN sẽ phải đối mặt vớicác nguy cơ tan công như ứng dụng thực hiện leo thang quyền dẫn đến chiếm quyền điềukhiến cả hệ thống mạng hay, truy cập trái phép từ các ứng dụng độc hại hay sựu truy cậpthông tin nhạy cảm bởi ứng dụng bình thường Hơn nữa, việc điều tra tác nhân khi hệ thống

có sự cố sẽ cực kỳ khó khăn nếu như không có sự ràng buộc danh tính cho những hoạtđộng trên mạng Vậy, SDN cần có một cơ chế xác thực phân quyền hiệu quả và an toàn.Đây là lý do nhóm chọn đề tài

Trang 18

Trong đề tài nghiên cứu này, nhóm sẽ thực hiện nghiên cứu, đề ra mô hình và xây

dựng một cơ chế xác thực danh tính, phân quyền sử dụng và kiểm soát hoạt động phi tập

trung dựa vào công nghệ blockchain cho các ứng dụng mạng trên SDN dé có thê giải quyết bài toán xác thực phân quyền cho hệ thống SDN Ngoài ra, nhóm cũng sẽ xây dựng những

kịch bản thử nghiệm để kiểm tra chức năng và độ hiệu quả an ninh của cơ chế xác thực,

phân quyền và kiểm soát mà nhóm đã đề ra.

Trang 19

Chương 1: MỞ ĐẦU

1.1 Tóm tắt

Trong để tài này, nhóm sẽ thực hiện nghiên cứu phương pháp tận dụng những đặc

tính của blockchain vào tác vụ quản lý an ninh trong mạng khả lập trình và thực hiện xây

dựng cơ chế xác thực, cơ chế phân quyền và cơ chế kiểm soát.

điều khiển và tang dữ liệu được tách thành hai tầng riêng biệt Tầng điều khiển chứa những

bộ điều khiển phần mềm đảm nhiệm mọi nhiệm vụ điều khiển và quản lý các thiết bị và

lưu lượng (dataflow) trên mạng Còn tầng dữ liệu chứa những ứng dụng mạng và dữ liệu

mạng khác Những ứng dụng mạng này tương tác với bộ điều khiển và sử dụng tài nguyên của SDN thông qua những API (Application Programming Interface) do bộ điều khiển cung cấp Sự tách rời này cho phép SDN có khả năng mở rộng cao (theo cả chiều ngang

và chiều dọc), có thể được dé dang nâng cấp theo ý muốn và linh hoạt hơn trong công tác

quản lý.

SDN đang là một tiêu điểm trong lĩnh vực phát triển công nghệ mạng và là một mô hình mạng có nhiều hứa hẹn trong tương lai Tuy nhiên, SDN cũng có những vấn đề bảo

Trang 20

mật cần được giải quyết trước khi có thể thay thế mạng truyền thống Một trong những vấn

dé nghiêm trọng nhất là SDN chưa có cơ chế xác thực danh tinh, phân quyền và kiểm soát

cho ứng dụng mạng muốn truy cập vào bộ điều khiển Vì thế, kẻ tắn công có thể lợi dụng

lỗ hồng bảo mật này đề xâm nhập và tan công hệ thống mạng.

1.3 Tình hình nghiên cứu

Dé khắc phục van đề thiếu cơ chế xác thực danh tính cho ứng dụng truy cập bộ điều khiển, nhóm tác giả gồm Tao Hu và cộng sự [5] đã đề ra phương pháp SEAPP trong bài

báo “SEAPP: A secure application management framework based on REST API access

control in SDN-enabled cloud environment”, SEAPP gồm hai bộ phận Bộ phận thứ nhất

thực hiện phát hiện và kiểm tra độ hợp lệ về quyền của ứng dụng Bộ phận thứ hai thực

hiện đăng ký xác thực cho ứng dụng Những ứng dụng đã đăng ký sẽ được xác thực trong

một môi trường mã hóa Sau đó, những ứng dụng ấy sẽ được phân quyền sử dụng API dựa vào mức độ nguy hiểm của mỗi ứng dụng Khi một ứng dụng gọi API, quyền hạn của nó

sẽ được kiểm tra Giải pháp này đã một phần nào đó giải quyết được vấn đề về độ tin tưởng thông qua việc giới hạn quyền hạn Tuy nhiên, giải pháp này vẫn chưa thể đảm bảo hoàn

toàn độ tin tưởng của từng ứng dụng, độ tin cậy của cơ sở dữ liệu lưu trữ thông tin về xác

thực và phần quyền, chưa có cơ chế phục hồi khi gặp sự có.

Blockchain có thể khắc phục được những điểm yếu của giải pháp trên qua một số đặc tính sau Độ tin tưởng của ứng dụng tham gia mạng có thể được đảm bảo thông qua

những thuật toán đồng thuận (consensus algorithm) Độ tin cậy của cơ sở dit liệu được đảm

bảo bởi tính bất biến (immutability) của blockchain Ngoài ra, blockchain cũng đảm bao tính chống phá hoại và khả năng phục hồi cao đo blockchain lưu trữ bản sao ở nhiều nơi

khác nhau Nhờ đặc tính phi tập trung này (decentralised), nếu một node trong mạng blockchain bị hỏng thì sẽ không làm ảnh hưởng đến hoạt động của mạng blockchain Hơn nữa, blockchain có thê lưu lại mọi hoạt động của ứng dụng mạng, điều này cho phép sự

thuận lợi trong điều tra khi có sự cố hệ thống Ý tưởng sử dụng blockchain cho tác vụ xác

thực và an ninh cũng đã được một số nhóm nghiên cứu đề suất và đã trả về những kết quả tốt.

Trang 21

Một ý tưởng được đề ra, bởi nhóm tác giả gồm Mohamed Tahar Hammi và cộng sự,

là sử dung công nghệ blockchain đề xây dựng cơ chế xác thực cho mạng IoT [1] trong bài

báo “Bubbles of Trust: A decentralized blockchain-based authentication system for IoT”.

Nhóm tác giả này đề xuất phương pháp xây dựng một không gian ảo an toàn, một vùng

tin tưởng (Bubble of Trust), dé các thiết bị IoT có thể tin tưởng và trao đổi với nhau Những

thiết bị IøT ở ngoài một vùng không thể giao tiếp với thiết bị bên trong Mỗi giao dịch giữa

hai thiết bị sẽ được xác thực bởi blockchain Công trình này cho thấy sự bảo đảm an toàn

khi áp dụng blockchain cho xác thực.

Nhóm tác giả L Xie, Y Ding, H Yang and X Wang [6] đã xây dựng hệ thống blockchain nhằm đảm bảo an ninh cho hệ thống phương tiện giao thông có tích hợp thiết

bị IoT kết nối qua 5G trong bài “Blockchain-based secure and trustworthy Internet of

Things in SDN-enabled 5G-VANETS” Mọi hoạt động của phương tiện trong mạng, như

hình ảnh hay thông tin vị trí hay những chia sẻ thông tin, đều được lưu vào blockchain Những phương tiện trong mạng sẽ thực hiện trao đồi thông tin về đường xá dé có thể di

chuyển một cách thuận tiện nhất Khi một phương tiện quảng bá thông tin, những phương

tiện khác sẽ thực hiện việc xác thực thông tin đó Nếu một phương tiện quảng bá quá nhiều thông tin được xác thực là không chính xác, phương tiện ấy sẽ bị đưa vào danh sách đen

và bị chặn quyền quảng bá Công trình này cho thấy sự hiệu quả của blockchain trong việc

phát hiện thực thé gây hại, đảm bảo tính chịu trách nhiệm, tính bat biến của thông tin được lưu lại và khả năng triển khai quy mô lớn khi áp dụng blockchain cho việc xác thực.

1.4 Tính khoa học và tính mới của đề tài

SDN là một mô hình mới, hứa hẹn sẽ phát triển trong tương lai SDN giúp cho việc

quản lý và kiểm soát mạng hiệu quả và đơn giản hơn SDN cung cấp một mạng tập trung,

có thê lập trình, có thể cung cấp hệ thống mạng linh động để giải quyết các nhu cầu thay đổi của các doanh nghiệp Với SDN, quản trị viên có thể thay đổi bất kỳ quy tắc chuyển đổi mạng nào khi cần thiết, cô lập hoặc thậm chí chặn các loại gói cụ thể với mức độ kiểm soát và bảo mật cụ thé Tuy nhiên van đề bảo mật là một thách thức lớn với mang SDN Việc truy cập vào bộ điều khiển cho phép đối tượng tham gia hệ thống mạng có thể có

Trang 22

được nhiều thông tin quan trọng và có thé kiểm soát được toàn toàn bộ hệ thống mạng Do

đó, cần có cơ chế xác thực, phần quyền và kiểm soát các ứng dụng một cách chặt chẽ khi truy cập và sử dụng kênh giao tiếp Northbound Ngoài ra, cơ chế này cần phải khắc phục

được các nhược điểm của cơ chế cũ trước đây như: dữ liệu có thể chỉnh sửa hoặc xoá đổi,

leo thang đặc quyền trên ứng dụng hoặc xóa bỏ các tập tin ghi log; mô hình quan lý tập

trung (centralization) gây ra vấn đề một điểm chết của hệ thống.

Để giải quyết những vấn đề trên, nhóm đề xuất một hệ thống AAA với các cách tiếp

cận sau:

e Phan tích những nguy cơ bao mật, lỗ hồng tại kênh giao tiếp Northbound và

những yêu cầu cho việc xây dựng một cơ chế xác thực tin cậy dựa trên chuẩn

AAA Điều này đảm bảo việc xác thực, phân quyền và kiểm soát các ứng dụng khi truy cập đến bộ điều khién một cách đúng đắn và an toàn.

e Sử dụng công nghệ Blockchain làm nền tảng Với các đặc điểm: bền bỉ dữ liệu

và phi tập trung, việc sử dụng công nghệ Blockchain làm nền tảng giúp cho hệ thống AAA mới có thể khắc phục được các điềm yếu còn tồn tại trong các hệ thống cũ.

Với các tiếp cận này, hệ thống xác thực mới do nhóm đề xuất sẽ có thể khắc phục các điểm yếu còn tồn tại trong các hệ thống xác thực truyền thống Qua đó giúp tăng cường

bảo mật cho bộ điều khiển khỏi những ứng dụng độc hại và giúp hệ thống mạng SDN hoạt

động an toàn và tin cậy hơn.

thống AAA này sẽ thực hiện xác thực và phân quyền cho những ứng dụng truy cập bộ điều

khiển Ngoài ra hệ thống sẽ tận dụng những đặc tính của blockchain dé có thé đảm bảo tính

Trang 23

bên bi, độ tin cậy và khả năng phục hồi nhanh cho dữ liệu Tác giả đề xuất hệ thống AAA

hướng tới một sô mục tiêu sau:

Xây dựng cơ chế xác thực cho ứng dụng quan lý mang/cau hình bao mật mang

muốn truy cập vào bộ điều khiển hay những đối tượng hoạt động trong SDN Xây dựng cơ chế phân quyền cho ứng dụng quản lý mạng/cấu hình bảo mật

mạng, mọi yêu cầu từ ứng dụng gửi lên bộ điều khiển sẽ được kiểm tra quyền

hạn trước khi bộ điều khiển trả về dit liệu được yêu cau.

Xây dựng tính năng truy vết hoạt động của ứng dụng trong SDN dựa trên blockchain, mọi hoạt động đều được ghi log trên blockchain.

Đảm bảo tính sẵn sàng của hệ thống, giảm thiểu nguy cơ lỗi single-point of failure và khả năng phục hồi nhanh chóng bằng cách tận dụng đặc tính phi tập

trung (decentralised) của blockchain.

Đảm bao tính bền bi và độ tin cậy của dữ liệu bằng cách tận dụng đặc tính bat

biến (immutability) của blockchain, dé liệu được lưu rất khó có thể bị sửa đổi

hay xóa đi.

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

Các ứng dụng quản lý mạng/cấu hình bảo mật mạng.

Các bộ điều khiển khi tương tác với từng vùng mạng.

Công nghệ blockchain và đặc tính của nó.

Những hệ thống và loại giao thức AAA (Authentication — Authorisation

-Accounting) phổ biến.

Các kênh giao tiếp của cấu trúc SDN

Mạng điều khiển phần mềm (SDN)

1.7 Pham vi nghiên cứu

Đề xuất mô hình AAA dựa trên blockchain dé thực hiện xác thực, phân quyền phi tập trung và kiểm soát cho các ứng dụng quản lý và cầu hình mạng trên

môi trường mạng khả lập trình.

Trang 24

© _ Cung cấp tính năng hỗ trợ điều tra, truy vết cho mang khả lập trình.

e _ Xây dựng và triển khai hệ thông như mô hình đã đề xuất

e _ Đánh giá hiệu suất hoạt động của hệ thống

e _ Triển khai mang SDN và xây dựng ứng dụng SDN dé kiểm tra thử nghiệm hệ

thống AAA

e Triển khai mạng blockchain và xây dựng chaincode đề hiện thực mô hình đã

đề xuất

1.8 Nội dung và Phương pháp thực hiện

Nội dung 1: Tim hiểu kiến trúc, nguyên tắc hoạt động của mang SDN, các kết nối giữa ứng

dụng và bộ điêu khiên.

e Mục tiêu:

o Nắm được kiến trúc, nguyên tắc hoạt động của hệ thống mang SDN.

o_ Triển khai được một hệ thống mạng SDN.

o Xây dựng một số ứng dụng SDN dé sử dụng trong việc thực nghiệm hệ

thống.

e Phuong pháp:

o Nghiên cứu tài liệu về kiến trúc của SDN, những mô hình SDN va những

phương pháp triển khai một mạng SDN.

o Thực hiện triển khai mang SDN với Mininet/Containernet với bộ điều khiển

là Ryu.

o Xây dựng ứng dụng SDN cho bộ điều khiển Ryu bằng ngôn ngữ Python.

Nội dung 2: Tìm hiểu tổng quan về blockchain và xây dựng cơ chế xác thực dựa trên

blockchain.

e Mục tiêu:

o Nắm được kiến thức tổng quan và các đặc tính của công nghệ blockchain.

o_ Triển khai một hệ thống blockchain có chức năng xác thực cho mạng khả

lập trình, triển khai trên một máy ảo Ubuntu, bao gồm hai tô chức và mỗi

tổ chức chứa hai peer.

Trang 25

Sử dụng các công nghệ như Hyperledger Fabric, Kubernetes Rancher, Raft

đề triển khai và quản lý blockchainXây dựng cơ chế xác thực theo dang token trên hợp đồng thông minh (smartcontract) bằng ngôn ngữ Go

Nội dung 3: Xây dựng thêm cơ chế phân quyền và kiểm soát cho hệ thống quản lý an ninh

Nắm kiến thức về cơ sở dữ liệu

Xây dựng cơ sở dữ liệu tiết kiệm tài nguyên, chính xác, có thể được truyxuất dé dang và có định dạng thân thiện người dùng

Xây dựng cơ chế phân quyền hoạt động với cơ chế xác thực

e Phương pháp:

S Nghiên cứu những tài liệu về phương pháp xây dựng cơ sở dữ liệu, kỹ thuật

phân quyền và những loại mô hình phân quyền

Xây dựng cơ chế phân quyền dựa trên token được tạo ở cơ chế xác thực,trên hợp đồng thông minh (smart contract) bằng ngôn ngữ Go

Nội dung 4: Thực nghiệm và đánh giá kết quả

e Mục tiêu:

S Triển khai cơ chế xác thực dựa trên blockchain cho hệ thống quản lý an ninh

trong môi trường mạng khả lập trình và có hỗ trợ cơ chế phân quyền và

kiêm soát.

Trang 26

Triển khai hệ thống mạng khả lập trình trên môi trường giả lập

Đánh giá hiệu năng và độ chính xác trong quá trình hoạt động thông qua

Sử dụng những ứng dụng mạng khả lập trình và kịch ban thử nghiệm déđánh giá hoạt động và độ hiệu quả của hệ thống quản lý an ninh

Xây dựng kịch bản tan công dé đánh giá độ an ninh của hệ thong

10

Trang 27

Chuong 2: TONG QUAN

2.1 Kiến thức nền tang

2.1.1 Mạng khả lập trình (SDN)

Tổng quan:

Trong một hệ thống mạng truyền thống, những thiết bị mạng thường có chức năng

cố định, như bộ chuyền mạch hoặc bộ định tuyến Hầu hết những phần mềm và phần cứng

của những thiết bị mạng truyền thống được sản xuất độc quyền và cấu hình chuyên dụngcho từng chức năng cụ thé Vì thế, những thiết bi mạng đến từ cùng một nhà sản xuất sẽhoạt động cực kỳ hiệu quả với nhau, có thé tương tác và trao đôi thông tin dữ liệu một cáchtrơn tru và nhanh chóng.

Tuy nhiên, chính sự độc quyền và chuyên dụng của những thiết bị này là nguyênnhân mạng truyền thong không có tính linh hoạt và khả năng mở rộng cao Theo thời gian,

nhu cầu và mục đích sử dụng hệ thống mạng có thể sẽ thay đôi và hệ thống mạng sẽ phải

được nâng cấp, hoặc thay đổi, dé thỏa mãn nhu cầu sử dụng Giai đoạn nâng cấp chính làlúc nhược điểm của mạng truyền thống thể hiện rõ nhất, thường sẽ phải thay thiết bị cũbăng thiết bị hoàn toàn mới Điều này sẽ gia tăng chỉ phí và thời gian cho việc nâng cấp hệthống

Đề có thé khắc phục được tính cố định và thụ động của mạng truyền thống, một kiến

trúc mạng mới được dé xuất, gần đây đang trở thành một tiêu điểm trong lĩnh vực mang,

được gọi là mạng khả lập trình (Software Defined Network - SDN).

Mạng khả lập trình cho phép hệ thống mạng trở nên linh động, linh hoạt hơn và cóthể lập trình hoạt động dễ dàng hơn Hơn nữa, mạng khả lập trình còn cho phép người dùng

ảo hóa phần cứng của mình, làm cho quá trình nâng cấp và mở rộng hệ thống trở nên nhanhchóng và đơn giản hơn.

11

Trang 28

Hình 2.1: Cấu trúc của SDN

Tang điều khiển (Controller Layer), là không gian hoạt động của một hay nhiều bộđiều khiển (controller) Những phần bộ điều khiến này là những phần mềm có chức năngđiều khiển luồng mạng (network flow), thực hiện cấu hình cho các thiết bị mạng và quản

lý toàn bộ hệ thống mạng Có thé xem như tang điều khiến là bộ não của mạng khả lậptrình Sự tập trung quản lý này sẽ cho phép hệ thống quản lý, bảo mật tài và sử dụng tàinguyên một cách tôi ưu hơn.

Tang ứng dụng (Application Layer) là nơi hoạt động của những ứng dụng hay dịch

vụ mạng và chứa đựng tài nguyên hệ thống Những ứng dụng mạng là phương tiện cho

người dùng hoặc người quản trị hệ thống có thé giao tiếp với bộ điều khiển và hệ thống

mạng ứng dụng mạng có thé có một số chức năng như: truy van thông tin hệ thống, cau

12

Trang 29

hình thiết bị, cân bằng tải, tường lửa hay sửa đổi quy luật của luồng mang Các ứng dụng

sẽ được nối trực tiếp đến mạng và giao tiếp với bộ điều khiển thông qua những API(Application Programming Interface) được cung cấp bởi chính bộ điều khiển Những APInày sẽ gửi yêu cầu sử dụng chức năng mạng (network functions) từ ứng dụng lên bộ điềukhiển Sau đó, bộ điều khiển sẽ xử lý yêu cầu, xác định đường đi cho các luồng dữ liệu

(network flow), xác định các giao thức luồng sẽ sử dung (flow protocol) và cuối cùng sẽ

thực hiện chức năng mạng đã được yêu câu.

Tang hạ tang (Infrastructure Layer) bao gồm phan cứng như các switch, router vànhững thiết bị chuyền tiếp dữ liệu mạng khác Một ưu điểm của mạng khả lập trình là sự

sử dụng công nghệ ảo hóa cho phần cứng và các chức năng mạng đã được cung cấp bởitầng điều khiển Vậy nên, hệ thống mạng không cần phải sử dụng phan cứng chuyên dụng

và chính điều này giúp cho việc nâng cấp mở rộng trở dễ dàng hơn.

Mô hình SDN sẽ làm tăng cường hiệu suất và bảo mật cho các ứng dụng trong mạng.Ngoài ra, SDN cũng linh hoạt, linh động và dé dàng hon trong việc thay đổi cấu hình hoặc

nâng cấp hệ thống.

Kênh giao tiếp Northbound và Southbound:

Hệ thống mạng khả lập trình sẽ có hai kênh giao tiếp chính: kênh giao tiếp hướngBắc (Northbound Interface) và kênh giao tiếp hướng Nam (Southbound Interface)

Tang điều khiển và tang ứng dụng sẽ giao tiếp với nhau qua kênh giao tiếp hướngBắc Những API, thường sẽ theo dang RESTful, của bộ điều khiển sẽ nhận yêu cầu từ ứngdụng qua kênh giao tiếp này Một số chức năng mà API có thể cung cấp cho ứng dụng:

© Cho phép thiết lập hay truy van bat kì thuộc tính hay trạng thái nào trong phạm

vị cho phép.

e Cho phép ứng dụng điều khiển luồng dữ liệu

e Cho phép một số chức năng như STP, MAC, ICMP, 802.1X.

¢ Cho phép ứng dụng đăng ký thông báo lỗi hay cảnh báo vượt ngưỡng

13

Trang 30

e Cho phép ứng dụng gọi các chức năng xử lý lưu lượng.

Tang điều khiến và tang hạ tang sẽ giao tiếp với nhau qua kênh giao tiếp hướng Namcủa bộ điều khién Kênh giao tiếp có thé sử dụng nhiều loại chuẩn giao tiếp khác nhau Mộttrong những chuẩn giao tiếp được phổ biến sử dụng nhất và cũng là chuẩn được thiết kếđầu tiên là chuan giao tiếp OpenFlow

Vấn đề bảo mật của SDN:

SDN hứa hẹn có thé thay thế mạng truyền thống trong tương lai Tuy nhiên, ở hiệntại, điều này là vẫn chưa thể vì SDN cũng đi kèm với một số vấn đề bảo mật đặc biệt của

nó Sau đây là một số vấn đề an ninh của SDN:

e Tan công vào lớp ứng dụng:

o Lợi dụng lỗ hồng trong quyền của ứng dụng

o Tấn công vào lỗ hồng trong Northbound API

e Tan công vào lớp bộ điều khiển:

o Đầu độc bộ điều khiển

o Tran gói tin đi vào

o Tran bảng chuyền mach của bộ điều khiển

o Ép buộc switch ngắt kết nối

e Tan công vào kênh Southbound:

o_ Tấn công nghe lén

o Tấn công người đứng giữa

e Tan công vào lớp hạ tang:

o Tan cong đầu độc ARP

o Thay déi/xa flow-rule

o Tran flow-rule

o Malformed control packet injection.

o Tan công kênh bên

e Khó khăn về đảm bảo an ninh của hệ thống:

14

Trang 31

o Chuẩn đánh giá độ an ninh của hệ thống SDN

o Khó khăn trong điều tra hệ thống SDN

o Độ tin tưởng của các ứng dụng mạng trong hệ thống

Trong số những vấn đề an ninh của SDN, một trong những vấn đề nghiêm trọng

nhất là sự thiếu cơ chế xác thực cho các ứng dụng trong SDN SDN hoạt động trong môi

trường có nhiều ứng dụng được phân bố phân tán và không có độ tin tưởng cao Vì thé,SDN cần phải xác thực và phân quyền cho các ứng dụng hoạt động trên mang dé tránhnhững trường hợp mạo danh dé truy cập trái phép hay một ứng dụng nào đó lợi dụng lỗhồng trong API dé có thể thực hiện tấn công leo thang Ngoài ra, đề có thé dé dàng thựchiện điều tra mỗi khi sự cố xảy ra, SDN cần một cơ chế nhật ký chính xác, có độ tin cậycao, có thé chống tan công thay đồi, có tốc độ phục hồi nhanh và có tính ràng buộc cao Dégiải quyết những khó khăn trên, ta có thể tận dụng những đặc tính blockchain cho cơ chế

an ninh bao gồm chức năng xác thực, phân quyền và kiểm soát cho SDN Đây là lý donhóm chọn đề tài

2.1.2 Công nghệ Blockchain

Blockchain là một mô hình cơ sở dữ liệu phi tập trung (decentralised) Công nghệ

blockchain được mọi người biết đến lần đầu tiên khi một người, hay nhóm người, tênSatoshi Nakamoto công bố một bài báo nghiên cứu tựa đề “BitCoin: A peer to peerelectronic cash system” vào năm 2008 Bai báo này đưa ra ý tưởng về một cuốn sô cái điện

tử phân bồ phi tập trung trên một hệ thống mạng và có khả năng chống lỗi cao Blockchainđược tạo ra dé cho phép người dùng lưu trữ thông tin một cách an toàn, độ tin tưởng cao,tính bất biến cao (Gmmutability), tính minh bach (transparency)

Blockchain chạy trên một hệ thống mang ngang hang (peer-to-peer) thay vì ở mộtmáy chủ nhất định Dữ liệu trên hệ thống blockchain sẽ được lưu phân tan ở nhiều máychủ (node) lưu trữ khác nhau trong hệ thống Mỗi node sẽ chứa một bản sao của toàn bộ

dữ liệu cua mạng Moi loại dữ liệu đều có thé được lưu trên mạng blockchain

Một số đặc tính của blockchain có thé tận dụng trong việc đảm bảo an ninh:

15

Trang 32

a) Tinh phân tán - Mạng blockchain là mạng ngang hang (peer-to-peer) và mọi hoạt

động trên mạng đều phải được các node trong mạng đồng thuận trước khi thựchiện, cho nên không có một node nào có thê chỉ phối cả hệ thống mạng theo lợi

ích riêng.

b) Khả năng phục hoi - Tat cả những node trong mạng blockchain sẽ nắm giữ bản

sao của bộ dữ liệu, vi thế, nếu một bản sao bị phát hiện có lỗi, hệ thống có thé dédàng tiễn hành phục hồi cho node bị lỗi và không hề làm ảnh hưởng đến hoạtđộng của toàn thể hệ thống

c) Tinh trong suốt - Tat cả mọi thông tin được lưu lại trên blockchain đều có thé

được đọc bởi tất cả mọi người, điều này giúp cho việc kiểm chứng thông tin vàsửa lỗi trong bộ dữ liệu dễ dàng hơn, đảm bảo độ tin cậy cho blockchain

d) Tính bat biến - blockchain có thé đạt được tính bất biến nhờ vào cấu tạo liên kết

giữa các khối (mỗi khối sẽ chứa giá trị băm của khối trước nó), công nghệ băm

và chữ ký điện tử Khi dữ liệu ở một khối thay đổi, giá trị băm của khối ấy sẽ

khác với giá trị được lưu trên khối sau nó Lỗi sẽ được phát hiện và sửa một cáchnhanh chóng và dé dàng Ngoài ra, việc phát hiện lỗi càng dé dàng vì tat cả các

node trong mạng đêu năm một bản sao của chuôi dữ liệu

e) Tinh ràng buộc - Tất cả những ghi chép giao dịch trên blockchain đều luôn kèm

theo thông tin về thời gian, người gửi và người nhận trong giao dịch, kết hợp vớitinh bat biến va tính trong suốt thi việc giả mạo hay chối từ một giao dịch đã đượcthực thi là cực kỳ khó khăn (đường như là không thé đối với một blockchain đủ

đài).

Tính đồng thuận — Tat cả mọi hoạt động trên mạng blockchain phải được sự đồngthuận của phần lớn thành viên trong mạng Nếu một người muốn chiếm toànquyền kiểm soát hoạt động của mạng, người ấy phải chiếm quyền kiểm soát được

16

Trang 33

phan lớn (ít nhất là 51%) node trong mạng Điều kiện này dường như không thé

đạt được với một mạng blockchain lớn có hàng triệu node tham gia.

Khi tận dụng những thuộc tính trên của blockchain vào hệ thống SDN, ta có thể xâydựng một sô chức năng an ninh như:

a) Application flows authentication - Blockchain sẽ giúp hệ thống xác thực các

application flow có trong hệ thống mạng đến từ các application hợp pháp

b) Application flows tracing and accounting - Blockchain mang đến khả năng truy

vết và tính ràng buộc trách nhiệm, giúp cho việc xử lý sự cố một thiết bị mạng bị

hỏng.

c) Secure access control on network-wide resources - Blockchain có thé cung cấp

chức năng kiểm soát truy cap (access control) cho hệ thống mạng, đảm bảo độtin cậy cho các thiết bị

d) Controller-switch communication authentication - Blockchain cũng có thé duoc

áp dụng dé phục vụ cho việc xác thực giao tiếp giữa các controller va switch

Hoạt động của blockchain:

Theo như tên, dữ liệu trong blockchain sẽ được chia thành nhiều khối (block) vàđược nối với nhau thành chuỗi (chain) Blockchain tận dụng rất nhiều công nghệ băm(hash) và chữ ký số trong việc lưu trữ dữ liệu

Một khối thường lưu một số gia tri sau:

e Previous Block Hash - Giá tri băm của khối nằm phía trước chính mình Chính

giá trị băm này là mắt xích của những khối trong chuỗi và cũng là lý do mà

blockchain có thé đảm bảo độ tin cậy cao Như đã biết về hàm băm, mỗi giá tri đầu vào chỉ có một giá trị đầu ra duy nhất Vậy, chỉ cần một thay đôi nhỏ ở một

khối, giá trị băm của khối đó sẽ thay đổi hoàn toàn và sẽ khác với giá trị bămđược lưu ở khối sau nó Vậy lỗi sẽ được phát hiện ngay lập tức và vì bản sao bộ

dữ liệu được lưu ở nhiêu nơi, việc phục hôi có thê được thực hiện cực kỳ dê

17

Trang 34

dàng Nếu một kẻ xấu muốn chỉnh sửa thông tin tại một khối thì cũng sẽ phảichỉnh sửa thông tin từ khối đó đến hết chuỗi Đối với một chuỗi dài thì điều này

sẽ tiêu tốn cực kỳ nhiều thời gian và tài nguyên và dường như là không thé

e Nonce - Giá trị này góp phan tạo nên giá trị băm của một khối Ngoài ra, đối với

những mạng blockchain có sử dụng những thuật toán xác thực như POW hayPOC, giá trị nonce này sẽ được sử dụng trong quá trình xác thực khối

e Timestamp - Giá trị thời gian khối này được đưa tạo ra.

e Merkel Root Hash - Hash của những giao dich nằm trong khối Danh sách giao

dịch thường sẽ được đưa qua hàm băm và lưu dưới dang cây Merkle dé tăngcường độ tin cậy cho thông tin giao dịch.

Quá trình giao dịch:

Khi người dùng muốn khởi tạo một giao dịch (cụ thé giao dịch là hành động gi sẽtùy thuộc vào thiết của mạng), một thông báo về khởi tạo giao dịch sẽ được quảng bá đếntất cả các node trong mạng blockchain

Sau đó, các node trong mạng sẽ tiến hành kiểm chứng giao dịch xem có hợp lệ haykhông Một sỐ giá tri có thé sẽ được kiểm chứng là: địa chỉ nguồn va dich, giao dịch cótrong phạm vi quyền của node không, node giao dịch có hợp lệ hay được mạng tin tưởng

hay không,

Sau khi đánh giá và kiểm chứng xong, node sẽ tiễn hành xác nhận và xác thực giaodịch Các node sẽ sử dụng giải thuật đồng thuận dé đưa ra được một quyết định xác thựcmột cách đồng thuận (Proof-of-Work, Proof-of-Stake, Crash Fault Tolerant, ByzantineFault Tolerance ), đảm bảo được sự đồng bộ của tất cả bản sao phân tán của bộ dữ liệu vàđảm bảo sự tin tưởng giữa các node trong mạng Một khi tất cả các node đồng ý, giao dịch

sẽ được thực hiện và lịch sử giao dịch sẽ được lưu lại trên blockchain.

18

Trang 35

Trong thực tế, sẽ có nhiều yêu cầu giao dịch sẽ được thực hiện cùng một lúc Nhữnggiao dịch này sẽ được nhóm lại vào cùng một khối Một khối sẽ được đưa đi đóng gói vàxác thực khi khối ấy đầy hết dụng lượng cho phép hay sau một khoảng thời gian được quyđịnh nao đó Node hay nhóm node nào hoàn thành xong xác thực cho khói đầu tiên sẽ đượcthưởng và nếu là node nằm ngoài mạng blockchain thì sẽ được quyền tham gia mạng.

2.1.3 Thuật toán đồng thuận

Hệ thống blockchain không phụ thuộc vào sự quản lý của bên thứ ba hay một máychủ duy nhất nào trong hệ thống mà chính tất cả các máy chủ trong thống sẽ tự quản lý lẫnnhau Dé có thé quản lý, đồng bộ, kiểm duyệt và đảm bao tin cậy dữ liệu trong môi trườngphi tập trung, blockchain sử dụng một loại giải thuật đặc biệt gọi là giải thuật đồng thuận

(Consensus Algorithm)

Giải thuật đồng thuận cho phép những máy chủ trong mạng blockchain có thê đưa

ra một quyết định thống nhất khi phê duyệt và kiểm chững những giao dịch trong mang.Mỗi giao dịch sẽ được thực hiện và lưu vào cơ sở dữ liệu nếu phần lớn những node trongmạng blockchain đồng ý thông qua cho giao dịch Điều nay đảm bảo mỗi thông tin giaodịch trên mạng blockchain là chính xác tuyệt đối

Giải thuật đồng thuận như một bộ luật mà tất cả các node trong mạng blockchainđều tuân thủ Nhờ giải thuật đồng thuận mà mạng blockchain có thé dam bảo độ tin cậy

của từng node hoạt động trong mạng Hiện nay, đã có rất nhiều giải thuật đồng thuận đã

được đê ra và môi giải thuật đêu có điêm mạnh, điêm yêu và mục đích ứng dụng riêng.

Một số loại giải thuật đồng thuận phô biến:

¢ Proof-of-Work (PoW) - Đây là một trong những giải thuật đồng thuận đầu tiên

được thiết kế và được biết đến nhiều khi được sử dụng trong BitCoin Thuậttoán này hoạt động băng cách bắt buộc những node muốn tham gia mạngblockchain phải giải một bài toán Bài toán này tiêu tốn khá nhiều tài nguyêntính toán và kết quả của bài toán được sử dụng trong quá trình xác thực một

19

Trang 36

block mới cho blockchain Chỉ duy nhất node đầu tiên đưa ra câu trả lời đúngđược tham gia vào mạng Điều này đảm bảo những node mới tham gia vào mạng

sẽ phải đầu tư khá nhiều về ha tầng và giảm thiểu ý muốn tan công hệ thống

Proof-of-Stake (PoS) - POS là một giải thuật đồng thuận phổ biến khác cho blockcham, được sử dụng cho Ethereum Thay vì đầu tư năng lực tính toán như

ở POW, POS bắt những node tham gia xác thực cọc một khoản tiền cho hệ thống.

Node nào có càng nhiều tiền cọc thì sẽ càng có cơ hội cao được hệ thống chọn

thực hiện xác thực Sau khi hoàn thành xác thực, node thực hiện xác thực sẽ

được thưởng một số Nếu một node bị phát hiện là đã xác thực giao dịch bắt hợp

pháp thì node đó sẽ bi thu hồi toàn bộ số tiền cọc Cơ chế cọc tiền này rất hiệuquả trong việc can ngăn hành vi xác thực gian dối trên hệ thống

Proof-of-Burn (PoB) - POB được sinh ra từ nhu cầu muốn giảm thiểu sự tiêu

hao năng lượng của POW Trên POB, những node trên mạng sẽ phải bỏ ra, hay

là “đốt”, một khoản tiền để đổi lay quyén được xác thực block mới choblockchain Lượng block một node được quyền xác thực sẽ phụ thuộc vào khoảntiền mà node ay đã “đốt” Sau đó, node sẽ có thé thực hiện xác thực block vanhận tiền thưởng khi hoàn thành Cơ chế này tiết kiệm tài nguyên rất nhiều so

với POW.

Blockchain còn được xem như một sô cái công khai đê lưu trữ dữ liệu giao dịch và

sô cái này không được năm giữ bởi bat ky ai Một đặc điêm đặc biệt của cuôn sô cái này là

những thông tin được lưu trên đây sẽ không thé bị thay đổi hoặc xóa đi, dam bảo tính toàn

vẹn cho thông tin.

2.1.4 Mô hình bảo mật AAA

Chiến lược bảo mật hệ thống AAA (Điều khiến truy xuất-Access control, Xác

thực-Authentication, Kiêm tra-Auditing) được xem là bước tiép cận cơ bản và là chiên lược nên

tảng đề thực thi các chính sách bảo mật trên một hệ thống được mô tả theo mô hình CIA

(Tính bí mat-Confidentiality, Tính toàn ven- Integrity, Tinh khả dụng- Availability).

20

Trang 37

Cơ sở của chiên lược nảy như sau:

1 Quyền truy xuất đến tất cả các tài nguyên trong hệ thống được xác định một

cách tường minh và gán cho các đối tượng xác định trong hệ thống

2 Mỗi khi đối tượng muốn vào hệ thống dé truy xuất các tài nguyên, nói phải được

xác thực bởi hệ thống để chắc chắn rằng đây là một đối tượng có quyền truy

xuất

3 Sau khi được xác thực, tất cả các thao tác của đối tượng đều phải theo dõi dé

bao đảm đối tượng không thực hiện quá quyền hạn của mình

AAA gồm 3 lĩnh vực tách rời nhưng hoạt động song song với nhau nhằm tạo ra các

cơ chế đề bảo vệ sự an toàn của hệ thống.

¢ _ Thiết lập các cơ chế điều khiến truy xuất cho từng đối tượng (Access control)

* Xác thực đối tượng trước khi cho phép thao tác trong hệ thống (Authentication)

« Theo dõi các thao tác của đối tượng trên hệ thong (Accounting)

Diéu khién truy xuat:

Diéu khién truy xuất được định nghĩa là một quy trình được thực hiện bởi một thiết

bị phần cứng hay một module phần mềm, có tác dụng chấp thuận hay từ chối một sự truyxuât cụ thê đên một tài nguyên cụ thê.

Các mô hình điêu khiên truy xuât phô biên:

e Attribute Based Access-Control - Kiểm soát truy cập dựa trên thuộc tinh

(ABAC) là một cách tiếp cận khác dé kiểm soát truy cập, trong đó quyền truy

cập được cấp thông qua việc sử dụng các chính sách được tạo thành từ các thuộc

tính hoạt động cùng nhau ABAC sử dụng các thuộc tính làm khối xây dựng để

xác định các quy tac kiêm soát truy cập và các yêu câu truy cập.

e_ Role Based Access Control - Đây là mô hình điều khiển truy xuất dựa trên vai

trò của từng người dùng trong hệ thống (user roles)

21

Trang 38

Van đề quan trọng trong mô hình điều khiển truy xuất theo vai trò là định nghĩa cácquyên truy xuất cho từng nhóm đối tượng tùy theo vai trò của các đối tượng đó.Việc này được định nghĩa ở mức hệ thống và áp dụng cho tất cả các đối tượng.

Xác thực:

Xác thực là một thủ tục có chức năng xác minh nhận dang (identity) của một đốitượng trước khi trao quyền truy xuất cho đối tượng này đến một tài nguyên nào đó Xác

thực được thực hiện dựa trên 3 cơ sở:

e What you know (diéu mà đối tượng biết): ví dụ mật khâu

e What you have (cái mà đối tượng có ): ví dụ thẻ thông minh smartcard

e What you are (đặc trưng của đối tượng): các đặc diém nhận dang sinh trắc học

như dâu vân tay, võng mạc,

Có nhiều giải thuật xác thực khác nhau Giải thuật đơn giản nhất chỉ cần so sánh tênđăng nhập va mật khâu mà người sử dụng cung cấp với tên đăng nhập va mật khâu đãđược lưu trong hệ thống, nếu giống nhau nghĩa là thủ tục xác thực thành công (PAP) Giải

thuật phức tạp hơn như CHAP thì thực hiện việc mã hoá thông tin trên một giá trị ngẫu

nhiên nao đó do may chu đưa ra (gọi là challenge) dé tránh trường hợp mật khẩu bị đọc lén trên mạng và các hình thức tấn công phát lại (reply attack) Một giải thuật phức tạp khác là Kerberos thực hiện thủ tục xác thực theo một quá trình phức tạp gồm nhiều bước nhằm

đảm bao hạn chê tat cả các nguy cơ gây nên xác thực sai.

Kiểm tra

Kiểm tra là cơ chế theo dõi hoạt động của hệ thống ghi nhận các hành vi diễn ra trên

hệ thông và liên kêt các hành vi này với các tác nhân gây ra hành vi.

Các mục tiêu của kiêm tra:

e_ Cung cấp các thông tin cần thiết cho việc phục hồi hệ thống khi có sự có.

e Đánh giá mức độ an toàn của hệ thống dé có kế hoạch nâng cấp kịp thời

22

Trang 39

e_ Cung cấp các thông tin làm chứng cứ cho việc phát hiện các hành vi truy xuất

trái phép trên hệ thông

Trong một hệ thống tin cậy (reliable system) thì việc kiểm tra cũng là một yêu cầuquan trọng bởi vì nó đảm bảo răng các hành vi của bất kỳ người dùng nào trong hệ thống(kế cả những người dùng hợp lệ đã được xác thực — authentication user) cũng đều đượctheo dõi dé chắc răng những hành vi đó diễn ra đúng theo các chính sách anh toàn đã đượcđịnh nghĩa trên hệ thông

Các thành phần của hệ thống kiểm tra:

e Logger - Ghi lại thông tin giám sát trên hệ thống

e Analyzer - Phân tích kết quả kiểm tra

e Notifier - Cảnh báo về tinh an toàn của hệ thống dựa trên kết quả phân tích

2.1.5 RESTful API

RESTful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web

(thiết kế Web services) dé tiện cho việc quan lý các resource Nó chú trọng vào tài nguyên

hệ thống (tệp văn bản, ảnh, âm thanh, video, hoặc dữ liệu động ), bao gồm các trạng thái

tài nguyên được định dạng và được truyền tải qua HTTP.

REST hoạt động chủ yếu dựa vào giao thức HTTP Các hoạt động cơ bản nêu trên

sẽ sử dụng những phương thức HTTP riêng.

e GET (SELECT): Trả về một Resource hoặc một danh sách Resource

e POST (CREATE): Tao mới một Resource.

e PUT (UPDATE): Cập nhật thông tin cho Resource.

e DELETE (DELETE): Xoá một Resource.

23

Trang 40

Những phương thức hay hoạt động này thường được gọi là CRUD tương ứng với

Create, Read, Update, Delete — Tao, Doc, Sửa, Xóa.

2.1.6 Chữ ky số

Chữ ký số là một dạng của chữ ký điện tử Nó là một dạng dữ liệu dùng để chứng

thực cho các dữ liệu khác Việc chứng thực diễn ra như thế nào chúng ta sẽ tim hiểu ở phần

tiếp theo

Chữ ký số sử dụng một hệ mã hóa bất đối xứng Trong phần lớn các trường hợp, nócòn có thể kiểm tra cả tính toàn vẹn của dữ liệu nữa Chữ ký số tương tự như chữ ký taytrên nhiều phương diện nhưng việc cài đặt và sử dụng chữ ký số khó khăn hơn rất nhiều.2.1.7 Hệ mã hoá bat đối xứng

Hệ mã hóa bat đối xứng (asymmetric cryptography) hay còn gọi là hệ mã hóa publickey là một hệ mã hóa sử dụng một cặp key dé mã hóa và giải mã: khóa công khai (publickey) dùng để mã hóa và khóa bí mật (private key) đề giải mã

Trong hệ mã hóa này, bắt cứ ai cũng có thể sử dụng khóa công khai đã mã hóa bảntin và gửi cho người nhận Nhưng một điều hiển nhiên là người sở hữu khóa bí mật sẽ giữ

nó cho riêng mình, và do đó, chỉ chủ sở hữu khóa bí mật mới có giải mã được mà thôi.

Thông thường thì cặp khóa được sinh này sẽ cố gắng đảm bảo rang từ khóa côngkhai rất khó (gần như là không thé) truy ra được khóa bí mật Vì vay, bat cứ kẻ tan công

nào nếu có được khóa công khai (điều này khá dé dàng) cũng không thé có được khóa bí

mật đê giải mã.

24

Ngày đăng: 23/10/2024, 00:33

w