Tải bản đầy đủ (.pdf) (131 trang)

Nghiên cứu đề xuất một số thuật toán phân loại gói tin và phát hiện xung đột nhằm phát triển tường lửa hiệu năng cao

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.5 MB, 131 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO

BỘ QUỐC PHÒNG

VIỆN KHOA HỌC VÀ CÔNG NGHỆ QUÂN SỰ
--------------------------------

Vũ Duy Nhất

NGHIÊN CỨU ĐỀ XUẤT MỘT SỐ THUẬT TOÁN PHÂN LOẠI
GÓI TIN VÀ PHÁT HIỆN XUNG ĐỘT NHẰM PHÁT TRIỂN
TƯỜNG LỬA HIỆU NĂNG CAO

LUẬN ÁN TIẾN SĨ TOÁN HỌC

Hà Nội - 2019


BỘ GIÁO DỤC ĐÀO TẠO

BỘ QUỐC PHÒNG

VIỆN KHOA HỌC VÀ CÔNG NGHỆ QUÂN SỰ
--------------------------------

Vũ Duy Nhất

NGHIÊN CỨU ĐỀ XUẤT MỘT SỐ THUẬT TOÁN PHÂN LOẠI
GÓI TIN VÀ PHÁT HIỆN XUNG ĐỘT NHẰM PHÁT TRIỂN
TƯỜNG LỬA HIỆU NĂNG CAO
Chuyên ngành: Cơ sở Toán học cho Tin học


Mã số: 9460110

LUẬN ÁN TIẾN SĨ TOÁN HỌC

NGƯỜI HƯỚNG DẪN KHOA HỌC:
1.TS Nguyễn Mạnh Hùng
2.TS Thái Trung Kiên

Hà Nội - 2019


i

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của tôi. Những nội dung,
số liệu và kết quả trình bày trong luận án là hoàn toàn trung thực và chưa có tác
giả nào công bố trong bất kỳ một công trình nào khác, các dữ liệu tham khảo được trích
dẫn đầy đủ.
Tác giả luận án

Vũ Duy Nhất


ii

LỜI CẢM ƠN
Luận án được thực hiện tại Viện Công nghệ thông tin – Viện Khoa học và
Công nghệ quân sự. Lời đầu tiên, NCS xin bày tỏ lòng biết ơn sâu sắc tới các thầy
giáo TS. Nguyễn Mạnh Hùng và TS. Thái Trung Kiên, những người đã tận tình định

hướng nghiên cứu, đào tạo và hướng dẫn NCS trong suốt quá trình học tập và nghiên
cứu để hoàn thành luận án này.
NCS xin được cảm ơn Viện Công nghệ Thông tin – Viện Khoa học và Công
nghệ Quân sự đã nhiệt tình đóng góp ý kiến vào luận án và giúp đỡ NCS trong quá
trình nghiên cứu.
NCS xin được cảm ơn thủ trưởng và các đồng nghiệp thuộc Cục Cơ yếu – Bộ
tổng tham mưu đã tạo mọi điều kiện thuận lợi cho NCS trong suốt thời gian nghiên
cứu đề tài.
NCS xin được bày tỏ lòng biết ơn chân thành tới các Thầy, Cô, các nhà
khoa học đã chân thành góp ý và giúp đỡ cho NCS hoàn thành luận án này.
Cuối cùng, NCS cảm ơn gia đình, bạn bè, đồng nghiệp đã luôn hỗ trợ,
động viên, chia sẻ và giúp NCS có thêm quyết tâm và động lực vượt qua những
khó khăn để quyết tâm hoàn thành luận án này.
Xin trân trọng cảm ơn!


iii

MỤC LỤC
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT .....................................................................v
DANH MỤC CÁC BẢNG .......................................................................................................... vii
DANH MỤC CÁC HÌNH VẼ ................................................................................................... viii
MỞ ĐẦU
.................................................................................................................................1
CHƯƠNG 1. TỔNG QUAN VỀ PHÂN LOẠI GÓI TIN TRÊN TƯỜNG LỬA ..........................5
1.1

Một số khái niệm về tường lửa .........................................................................................5

1.1.1

1.1.2
1.1.3
1.1.4
1.2

Lịch sử hình thành tường lửa ....................................................................................5
Định nghĩa về tường lửa............................................................................................5
Chức năng của tường lửa ..........................................................................................6
Các kiểu tường lửa ....................................................................................................6

Hiệu năng và mối quan hệ với quá trình phân loại gói tin của tường lửa ........................8

1.2.1 Mối quan hệ giữa hiệu năng và tốc độ phân loại gói tin ..........................................8
1.2.2 Quá trình phân loại gói tin trên tường lửa..............................................................10
1.3

Các hướng nâng cao tốc độ phân loại gói tin trên tường lửa..........................................13

1.3.1
1.3.2
1.3.3
1.3.4
1.4

Các nghiên cứu trong lĩnh vực phần cứng ..............................................................13
Các nghiên cứu trong lĩnh vực phần mềm ..............................................................16
Một số nghiên cứu trong nước ................................................................................25
Xác định hướng nghiên cứu trong luận án ..............................................................26

Kết luận chương 1 ..........................................................................................................28


CHƯƠNG 2. THUẬT TOÁN PHÂN LOẠI GÓI TIN TRÊN TƯỜNG LỬA ............................29
2.1
2.2

Giới thiệu chương ...........................................................................................................29
Một số khái niệm ............................................................................................................30

2.2.1
2.2.2
2.2.3
2.2.4
2.3

Đề xuất phân loại gói tin trên cấu trúc cây Ưu tiên đa nhánh – MWP...........................33

2.3.1
2.3.2
2.3.3
2.3.4
2.4

Tập luật phân loại gói tin ........................................................................................30
Cách biểu diễn các trường của bộ lọc.....................................................................30
Tiêu chí lựa chọn luật ..............................................................................................31
Các tham số đánh giá một thuật toán phân loại gói tin ..........................................32
Lí do đề xuất ............................................................................................................34
Các cấu trúc có liên quan........................................................................................34
Ý tưởng chính của đề xuất và các định nghĩa .........................................................39
Cấu trúc cây MWP ..................................................................................................41


Kết luận chương 2 ..........................................................................................................53

CHƯƠNG 3. LOẠI SỚM GÓI TIN TRÊN TƯỜNG LỬA .........................................................54
3.1
3.2

Giới thiệu chương ...........................................................................................................54
Đề xuất kỹ thuật loại sớm gói tin dựa trên việc kết hợp các trường ..............................54

3.2.1 Ý tưởng của việc loại sớm gói tin bằng việc kết hợp các trường ............................54
3.2.2 Loại sớm gói tin sử dụng phép kết hợp COM trên hai trường ................................55
3.2.3 Loại sớm gói tin sử dụng phép XOR kết hợp nhiều trường .....................................69


iv
3.2.4 Hiệu quả của việc sử dụng trường kết hợp trong loại sớm gói tin ..........................79
3.3

Kết luận chương 3 ..........................................................................................................81

CHƯƠNG 4. PHÁT HIỆN VÀ XỬ LÝ XUNG ĐỘT TRONG TẬP LUẬT TƯỜNG LỬA .....82
4.1
4.2

Giới thiệu chương ...........................................................................................................82
Một số khái niệm chung .................................................................................................83

4.2.1 Biểu diễn luật trong tường lửa ................................................................................83
4.2.2 Không gian luật và các mối quan hệ không gian luật .............................................83

4.2.3 Các loại xung đột trong tập luật tường lửa .............................................................84
4.3

Đề xuất cấu trúc cây phát hiện xung đột trên tập luật – CDT ........................................85

4.3.1
4.3.2
4.3.3
4.3.4
4.3.5
4.4

Các định nghĩa mới .................................................................................................86
Ý tưởng của thuật toán ............................................................................................90
Cấu trúc cây CDT....................................................................................................91
Phát hiện xung đột trên cây CDT ..........................................................................103
Cài đặt thử nghiệm và đánh giá ............................................................................105

Kết luận chương 4 ........................................................................................................109

KẾT LUẬN .............................................................................................................................111
TÀI LIỆU THAM KHẢO ..........................................................................................................114


v

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
ACL
ABV
AFBV

ASIC
BDD
BV
CAM
CDT
DCFL
DoS
EGT
ERFC
FPGA
FVSC
GoT
GPU
HiCuts
HSM
H-Tries
LAN
MWP
NP
RFC
SA-BSPL
SP-Tries
TCAM
TCDA
TCP
UDP

Ln(P)
Sn(P)
Max(G)


Danh sách kiểm soát truy nhập (Access Control List)
Thuật toán bít véc tơ hỗn hợp (Aggregated Bit Vector)
Thuật toán bít véc tơ hỗn hợp và phân nhóm (Aggregated and Folded Bit
Vector)
Vi mạch tích hợp chuyên dụng (Application-specific integrated circuit)
Sơ đồ quyết định nhị phân (Binary Decision Diagram)
Thuật toán bít véc tơ (BitVector)
Bộ nhớ có thể đánh địa chỉ nội dung (Content Addressable Memory)
Cây phát hiện xung đột (Conflict Detect Trie)
Thuật toán phân loại kết hợp chéo các trường riêng biệt theo nhãn

(Distributed Cross producing of Field Labels)
Tấn công từ chối dịch vụ (Denial-of-Service)
Cây dạng lưới mở rộng (Extended Grid of Tries)
Thuật toán phân loại đệ quy theo luồng mở rộng (Enhanced Recursive Flow
Classiflcation)
Mảng cổng lập trình được dạng trường (Field Programmable Gate Array)
Tập giá trị bao phủ trường (Field Value Set Cover)
Cây dạng lưới (Grid of Tries)
Khối xử lý đồ họa (Graphics Processing Unit)
Thuật toán các lát cắt theo tầng thông minh (Hierarchical intelligent Cuts)
Cây ánh xạ không gian phân cấp (Hierarchical Space Mapping)
Cây phân cấp (Hierarchical Tries)
Mạng nội bộ (Local Area Network)
Cây ưu tiên đa nhánh (Multi-Way Priority)
Bộ xử lý mạng (Network Processor)
Thuật toán phân loại đệ quy theo luồng (Recursive Flow Classification)
Tìm kiếm trên cây nhị phân tự hiệu chỉnh với độ dài tiền tố (Self Adjusting
Binary Search on Prefix Length)

Cây cắt tỉa (Set Pruning tries)
Bộ nhớ có thể đánh địa chỉ nội dung theo 3 trạng thái (Ternary ContentAddressable Memory)
Thuật toán phát hiện xung đột dựa trên bộ tham số về độ dài (Tuple-base
Conflict Detection Algorithm)
Giao thức truyền tải (Transmission Control Protocol)
Giao thức dữ liệu người dùng (User Datagram ProtocolV
Bậc n của tiền tố P
Tập các tiền tố bậc n của tiền tố P
Tiền tố có độ dài lớn nhất trong tập tiền tố G

<|, >|

Ký hiệu mối quan hệ giao nhau giữa hai khoảng giá trị [a,b] và [c,d]

ℜD

Mối quan hệ tách biệt của không gian giữa hai luật

ℜEM

Mối quan hệ trùng khớp của không gian giữa hai luật


vi
ℜIM

Mối quan hệ chứa nhau của không gian giữa hai luật

ℜC


Mối quan hệ giao nhau của không gian giữa hai luật

|fn|

Độ chi tiết của trường fn của luật phân loại gói tin
Mối quan hệ trùng nhau giữa hai giá trị trường

><

Mối quan hệ tách rời nhau giữa hai giá trị trường cho dưới dạng khoảng



Mối quan hệ thuộc giữa hai giá trị trường


vii

DANH MỤC CÁC BẢNG

Trang

Bảng 1.1. Thông lượng tính theo bps và tốc độ phân loại gói tin cần đạt ............................. 9
Bảng 2.1. Ví dụ tập luật gồm 4 luật ..................................................................................... 37
Bảng 2.2. Quá trình cắt và tính toán entropy cho các luật bảng 2.1 .................................... 37
Bảng 2.3. Tập luật gồm 12 luật một chiều cho dưới dạng tiền tố........................................ 44
Bảng 2.4. Các tập tiền tố theo bậc của R1 ........................................................................... 44
Bảng 2.5. So sánh độ phức tạp giữa cấu trúc MWP với JA-trie và PT ............................... 48
Bảng 2.6. Tốc độ phân loại gói tin trên các cấu trúc với các tập dữ liệu khác nhau ........... 52
Bảng 3.1.Qui tắc kết hợp COM ........................................................................................... 56

Bảng 3.2. Tập luật gồm 5 luật Accept ................................................................................. 60
Bảng 3.3. Các quy tắc chèn đoạn [x,y] vào nút N ............................................................... 61
Bảng 3.4. Kiểm tra tính chính xác và hiệu quả của kỹ thuật loại sớm với fCOM............... 65
Bảng 3.5. Tập luật gồm 8 luật 3 chiều của tường lửa .......................................................... 71
Bảng 3.6. Ví dụ bảng tiền tố và khoảng giá trị trường fXOR ............................................. 72
Bảng 3.7. Các bước xây dựng tập D của các luật trong Bảng 3.5 ....................................... 74
Bảng 3.8. Loại sớm gói tin trên trường fXOR với các tập luật khác nhau .......................... 75
Bảng 3.9. Sử dụng trường fXOR trong thuật toán tìm kiếm tuần tự ................................... 78
Bảng 4.1. Danh sách các unit của luật R ............................................................................. 90
Bảng 4.2. Tập luật gồm 5 luật 4 chiều ................................................................................. 96
Bảng 4.3. Tiền tố và độ chi tiết của các giá trị trường của các luật thuộc Bảng 4.2 ........... 96
Bảng 4.4. Phát hiện xung đột trên các tập luật khác nhau với cấu trúc CDT .................... 106


viii

DANH MỤC CÁC HÌNH VẼ

Trang

Hình 1-1. Quá trình phân loại gói tin trên tường lửa ........................................................... 10
Hình 1-2. Quá trình phân loại gói tin với tập luật của tường lửa ........................................ 12
Hình 1-3. Quan hệ giữa hiệu năng với các thành phần cấu tạo của tường lửa .................... 13
Hình 1-4. Các hướng nghiên cứu về phần cứng .................................................................. 14
Hình 1-5. Các hướng nghiên cứu về phần mềm .................................................................. 16
Hình 1-6. Các thuật toán phân loại gói tin trên nhiều trường .............................................. 17
Hình 1-7. Tấn công DoS vào luật mặc định của tường lửa ................................................. 20
Hình 1-8. Mô hình loại sớm gói tin bằng module loại sớm gói tin ..................................... 21
Hình 1-9. Cải tiến nâng cao tốc độ phân loại gói tin trên tường lửa ................................... 27
Hình 1-10 Các hướng cải tiến trong quá trình phân loại gói tin của luận án ....................... 28

Hình 2-1. Ví dụ cây nhị phân ưu tiên .................................................................................. 35
Hình 2-2. JA-trie gắn với các luật Bảng 2.1 ........................................................................ 38
Hình 2-3. Cấu trúc một nút N của cây MWP ...................................................................... 42
Hình 2-4. Sơ đồ thuật toán xây dựng nút trên cây MWP .................................................... 43
Hình 2-5. Cây MWP xây dựng từ tập luật trong Bảng 2.3 .................................................. 45
Hình 2-6. Thuật toán phân loại gói tin trên cây MWP ........................................................ 46
Hình 2-7. Thuật toán xác định nhanh số bít bên trái trùng nhau giữa hai tiền tố ................ 47
Hình 2-8. So sánh thời gian phân loại giữa cấu trúc MWP và các cấu trúc khác................ 51
Hình 2-9. So sánh nhu cầu sử dụng bộ nhớ giữa cấu trúc MWP với các cấu trúc khác ...... 52
Hình 3-1. Cách tạo tiền tố COM.......................................................................................... 56
Hình 3-2. Ví dụ tạo tiền tố COM ......................................................................................... 56
Hình 3-3. Cách xây dựng tập luật loại sớm dựa trên trường fCOM .................................... 59
Hình 3-4. Ví dụ xây dựng tập luật loại sớm từ trường fCOM ............................................. 60
Hình 3-5. Thuật toán loại sớm gói tin với trường fCOM .................................................... 63
Hình 3-6 Mô hình thử nghiệm kỹ thuật loại sớm ................................................................ 64
Hình 3-7. Các mô hình triển khai module phân loại gói tin ................................................ 65
Hình 3-8. Phân loại gói tin trên các cấu trúc cây khác nhau với trường fCOM .................. 66
Hình 3-9. Thời gian xây dựng tập luật loại sớm với các cấu trúc cây khác nhau................ 67
Hình 3-10. Mô hình cài đặt kỹ thuật FVSC ......................................................................... 68
Hình 3-11. So sánh kỹ thuật loại sớm fCOM với kỹ thuật FVSC ....................................... 68
Hình 3-12. Phép kết hợp các trường bằng phép XOR ......................................................... 70
Hình 3-13. Cách tạo trường fXOR ...................................................................................... 71
Hình 3-14. Thời gian loại sớm gói tin trên trường fXOR khi cố định số luật ..................... 76


ix
Hình 3-15. Phân loại gói tin trong kỹ thuật SA-BSPL với trường fXOR ........................... 79
Hình 4-1. Các mối quan hệ không gian luật của hai luật ..................................................... 83
Hình 4-2. Cấu trúc nút của cây CDT ................................................................................... 92
Hình 4-3. Nút N sau khi được xây dựng.............................................................................. 95

Hình 4-4. Cây CDT của tập luật Bảng 4.7 ........................................................................... 98
Hình 4-5. Chèn luật mới vào node N ................................................................................. 102
Hình 4-6. So sánh số lượng nút trên cây CDT và cây FAT ............................................... 106
Hình 4-7. So sánh thời gian xây dựng cây CDT và FAT .................................................. 107
Hình 4-8. So sánh thời gian phát hiện xung đột giữa hai cấu trúc FAT và CDT .............. 108
Hình 4-9. So sánh bộ nhớ sử dụng giữa hai cấu trúc FAT và CDT .................................. 108


1

MỞ ĐẦU
1. Tính cấp thiết của đề tài
Ngày nay, mạng máy tính có sự phát triển mạnh mẽ về các mặt quy mô kết
nối, các loại hình dịch vụ, số lượng người sử dụng. Cùng với sự phát triển đó là sự ra
đời của các công nghệ truyền dẫn tiên tiến, kết quả dẫn đến lưu lượng dữ liệu được
trao đổi trên mạng là rất lớn. Điều này đem lại nhiều lợi ích cho người sử dụng nhưng
cũng đặt ra các vấn đề phải giải quyết, một trong số đó là bảo đảm an ninh cho hệ
thống. Có nhiều biện pháp kết hợp để bảo đảm an ninh cho hệ thống mạng, một trong
các biện pháp đó là sử dụng tường lửa. Tường lửa là một thiết bị kiểm soát truy nhập
được đặt ở điểm kết nối giữa mạng cần được bảo vệ với mạng bên ngoài. Việc đảm
bảo an ninh được thực hiện bằng cách kiểm tra tất cả các gói tin đi qua tường lửa theo
cả hai chiều vào và ra theo một chính sách an ninh do người quản trị thiết lập.
Với chức năng và vị trí được triển khai, tường lửa sẽ trở thành một rào cản
giữa mạng cần bảo vệ với các mạng khác. Thiết bị này sẽ tác động đến hệ thống mạng
theo hai khía cạnh tích cực và tiêu cực: Tích cực – Bảo đảm an ninh an toàn của hệ
thống với chức năng kiểm soát tính hợp pháp của các gói tin đi qua; Tiêu cực – Làm
giảm tốc độ trao đổi thông tin giữa mạng được bảo vệ với mạng bên ngoài. Nâng cao
hiệu năng của tường lửa chính là cách làm giảm tác động tiêu cực nói trên. Hiệu năng
của tường lửa cao sẽ tăng cường khả năng bảo vệ mạng bên trong và hạn chế việc
làm suy giảm tốc độ trao đổi thông tin qua nó. Hiện nay và trong tương lai, yêu cầu

về an ninh an toàn ngày càng phức tạp, lưu lượng thông tin cần trao đổi giữa các hệ
thống mạng ngày càng cao và băng thông của hạ tầng truyền dẫn ngày càng lớn thì
tác động tiêu cực của tường lửa đối với hệ thống mạng ngày càng mạnh. Chính vì
vậy, hiệu năng của tường lửa cần phải được nâng cao nhằm không làm ảnh hưởng
đến hoạt động của hệ thống.
Cho tới nay, các nhà nghiên cứu cả trong và ngoài nước đã có nhiều công trình
nghiên cứu nhằm nâng cao hiệu năng của tường lửa để đáp ứng yêu cầu sử dụng. Mỗi
giải pháp đều có ưu nhược điểm riêng và thường chỉ giải quyết một vấn đề trong việc
cải tiến hiệu năng của thiết bị, chưa có giải pháp nào thực sự tối ưu và mang tính tổng
quát. Hiệu năng của tường lửa đã, đang và sẽ vẫn cần thiết phải được nâng cao nhằm


2

cho phép nó đáp ứng được nhu cầu thực tế. Đây chính là lý do NCS lựa chọn vấn đề
nghiên cứu này trong luận án.
2. Mục tiêu nghiên cứu
Các phương án kỹ thuật nhằm nâng cao hiệu năng của tường lửa thuộc một
trong hai kiểu cơ bản đó là: Sử dụng các công nghệ mới hay nâng cao cấu hình phần
cứng thiết bị; Đề xuất mới hay cải tiến các kỹ thuật, thuật toán trong phần mềm tường
lửa. Về cốt lõi, nâng cao hiệu năng của tường lửa là làm giảm thời gian kiểm tra gói
tin đi qua, mà quá trình kiểm tra các gói tin đi qua thực chất là việc phân loại gói tin
theo các tiêu chuẩn cho trước. Chính vì vậy, tăng tốc quá trình phân loại gói tin trên
tường lửa cũng chính là nâng cao hiệu năng của thiết bị này. Luận án được thực hiện
nhằm vào mục tiêu: Đề xuất các kỹ thuật mới trong phân loại gói tin và phát hiện
xung đột trong tập luật tường lửa nhằm nâng cao tốc độ phân loại gói tin từ đó phát
triển tường lửa hiệu năng cao.
3. Phạm vi, đối tượng và phương pháp nghiên cứu
Phạm vi nghiên cứu của luận án tập trung vào việc nghiên cứu các cải tiến về
phần mềm, cụ thể hơn là các thuật toán phân loại gói tin, các kỹ thuật nhằm phát hiện

và xử lý xung đột trong tập luật nhằm nâng cao thông lượng của tường lửa, đây là
một trong các yếu tố để nâng cao hiệu năng của thiết bị.
Đối tượng được trực tiếp nghiên cứu trong luận án là: Cấu trúc dữ liệu lưu trữ
các luật phân loại và thuật toán phân loại dựa trên cấu trúc đó; Các kỹ thuật nhằm tối
thiểu hóa thời gian phân loại trung bình cho mỗi gói tin trên tường lửa.
Luận án sử dụng phương pháp kết hợp giữa nghiên cứu lý thuyết và mô phỏng
thử nghiệm. Nghiên cứu lý thuyết dựa trên toán học nhằm chứng minh tính đúng đắn
của các kỹ thuật, thuật toán đề xuất mới. Quá trình mô phỏng thử nghiệm nhằm kiểm
tra tính khả thi, đánh giá và so sánh hiệu năng của thuật toán, kỹ thuật đề xuất mới
với các thuật toán, kỹ thuật đã được công bố.
4. Ý nghĩa của đề tài nghiên cứu
Nâng cao hiệu năng là yêu cầu tất yếu để tường lửa có thể đáp ứng được nhu
cầu bảo đảm an ninh an toàn mà không làm ảnh hưởng đến hoạt động của hệ thống
mạng. Phân tích, đánh giá và đề xuất các phương án nâng cao hiệu năng của tường


3

lửa là lĩnh vực đã và đang được các nhà nghiên cứu trong và ngoài nước quan tâm.
Tuy nhiên ở trong nước, lĩnh vực này chưa được quan tâm đúng mức. Các nội dung
nghiên cứu của đề tài sẽ là cơ sở để chúng ta làm chủ từ đó có thể tự phát triển các
tường lửa nhằm đáp ứng nhu cầu về an ninh an toàn cho các hệ thống mạng nói chung
và đặc biệt các hệ thống mạng thuộc lĩnh vực an ninh quốc phòng.
5. Nội dung và cấu trúc của luận án
Nội dung của luận án bao gồm nghiên cứu về các kỹ thuật nhằm nâng cao hiệu
năng của tường lửa. Trong đó tập trung nghiên cứu và đưa ra các đề xuất mới về các
cấu trúc dữ liệu và thuật toán nhằm nâng cao tốc độ phân loại gói tin. Luận án được
bố cục thành 4 chương:
Chương 1 bao gồm các nội dung: Tổng quan về tường lửa; Hiệu năng của
tường lửa; Quá trình phân loại gói tin trên tường lửa; Mối quan hệ giữa hiệu năng của

tường lửa với phân loại gói tin trên thiết bị. Trên cơ sở phân tích các hướng nghiên
cứu nhằm nâng cao hiệu năng của tường lửa từ đó xác định các hướng các nội dung
chính sẽ được thực hiện trong luận án nhằm đạt được mục đích đề ra.
Chương 2 đề xuất thuật toán phân loại gói tin trên một trường dựa trên cấu
trúc cây ưu tiên đa nhánh MWP (Multi-Way Priority). Cấu trúc cây MWP dựa trên
việc phân tích các ưu nhược điểm của hai cấu trúc Cây ưu tiên PT (Priority trie) và
Cây đa bít MT (Multi-Bit trie). Tính đúng đắn của thuật toán phân loại gói tin được
chứng minh bằng toán học và thử nghiệm với các bộ dữ liệu chuẩn nhằm so sánh với
các cấu trúc và kỹ thuật khác.
Chương 3 đề xuất kỹ thuật loại sớm gói tin nhằm hạn chế tấn công DoS vào
tường lửa. Kỹ thuật đề xuất sử dụng phép kết hợp (phép COM và XOR) nhiều trường
với nhau nhằm làm giảm số chiều phải kiểm tra đối với mỗi gói tin từ đó làm giảm
thời gian phân loại trung bình cho mỗi gói tin đi qua thiết bị. Với mỗi phép kết hợp,
các nội dung trình bày gồm: Nguyên tắc kết hợp; Cách xây dựng bộ luật loại sớm;
Cấu trúc lưu trữ luật loại sớm và loại sớm gói tin trên cấu trúc đó; Kết quả thử nghiệm
kỹ thuật đề xuất.
Chương 4 đề xuất thuật toán phát hiện và xử lý xung đột trong tập luật của
tường lửa. Chương này trình bày về Đề xuất thuật toán phát hiện và xử lý xung đột


4

trên nhiều chiều trong tập luật tường lửa với cấu trúc cây CDT. Tính đúng đắn của
thuật toán được chứng minh bằng toán học và thử nghiệm với các bộ dữ liệu chuẩn
nhằm so sánh với các cấu trúc và kỹ thuật khác.
Cuối cùng là phần kết luận, tóm tắt những đóng góp chính, các hướng
nghiên cứu phát triển tiếp theo của luận án và những vấn đề được NCS quan
tâm.



5

CHƯƠNG 1. TỔNG QUAN VỀ PHÂN LOẠI GÓI TIN TRÊN
TƯỜNG LỬA
1.1 Một số khái niệm về tường lửa
1.1.1 Lịch sử hình thành tường lửa
An ninh máy tính mượn khái niệm tường lửa từ việc xử lý và ngăn chặn lửa,
tại đó một tường lửa là một vật chắn được thiết lập để ngăn chặn quá trình mở rộng
của đám cháy. Khi các tổ chức bắt đầu chuyển từ việc sử dụng các máy tính lớn
(mainframe) và các trạm khai thác đầu cuối sang mô hình khách-chủ (client-server),
thì việc kiểm soát truy cập tới máy chủ (server) là vấn đề được ưu tiên. Trước khi
khái niệm tường lửa xuất hiện vào cuối những năm 1980, chức năng an ninh mạng
chỉ được thực hiện bởi các Danh sách điều khiển truy nhập (ACL) được triển khai
trên các thiết bị định tuyến. Các ACL xác định địa chỉ IP nào được phép hay không
được phép truy nhập vào mạng. Với sự phát triển của mạng internet và việc gia tăng
về khả năng kết nối liên mạng thì các ACL không đủ khả năng kiểm soát các kết nối
độc hại nhờ các thông tin cơ bản trích xuất trong header của gói tin. Từ thách thức
đó, Digital Equipment Corp đã đưa ra sản phẩm tường lửa thương mại đầu tiên (DEC
SEAL vào năm 1992) và công nghệ tường lửa đã phát triển để chống lại các cuộc tấn
công mạng với sự phức tạp ngày càng tăng.
1.1.2 Định nghĩa về tường lửa
Không có một định nghĩa chính thức về tường lửa nhưng nhìn chung các tài
liệu đều khẳng định: Tường lửa là một hệ thống an ninh mạng, dựa trên nền tảng phần
mềm, phần cứng hoặc kết hợp cả hai, mà trên đó sử dụng các luật để kiểm soát lưu
lượng mạng theo chiều đi vào và đi ra của một mạng cụ thể [59], [81].
Tường lửa hoạt động như một rào cản giữa một mạng tin cậy và một mạng
không tin cậy. Thiết bị này kiểm soát truy cập vào các tài nguyên của một mạng thông
qua một mô hình kiểm soát tích cực. Quá trình kiểm soát được thực hiện thông qua
chính sách an ninh mà trong đó chỉ rõ những truy cập nào được phép và không được
phép đi qua.



6

1.1.3 Chức năng của tường lửa
Tùy theo yêu cầu sử dụng, tường lửa được triển khai sẽ nhằm thực hiện một
hay nhiều chức năng sau:
 Cấp phép cho các dịch vụ truy nhập ra ngoài (từ mạng được bảo vệ).
 Cấp phép cho các dịch vụ truy nhập vào trong mạng bảo vệ.
 Theo dõi luồng dữ liệu mạng giữa mạng bảo vệ và mạng bên ngoài.
 Cấp phép cho các địa chỉ được phép truy cập vào bên trong mạng và ra
bên ngoài mạng.
 Kiểm soát người sử dụng và việc truy nhập của người sử dụng.
 Kiểm soát nội dung thông tin lưu chuyển trên mạng.
Ngoài các chức năng chính như trên, tường lửa hiện nay có thể được tích hợp
thêm các chức năng khác như cảnh báo phát hiện xâm nhập, mã hóa dữ liệu đường
truyền, phòng chống virut… Tuy nhiên, các tính năng này không phải là tính năng cơ
bản của tường lửa.
1.1.4 Các kiểu tường lửa
Tường lửa được phân loại theo nhiều tiêu chí khác nhau như: Dựa trên nền
tảng phần cứng, phần mềm; Dựa trên kỹ thuật sử dung trong kiểm soát truy cập; Dựa
trên đối tượng sử dụng (cá nhân hay mạng); Dựa trên loại mã nguồn tường lửa (mã
nguồn mở, thương mại)… Tuy nhiên, phân loại căn cứ vào cách thức kiểm soát truy
nhập là cách phổ biến nhất, theo đó thì tường lửa gồm các loại: Lọc gói (Packet
firewall); Lọc gói với đầy đủ trạng thái (Stateful firewalls); Mức ứng dụng; Ủy quyền
(Proxy firewall).
1.1.4.1 Tường lửa lọc gói
Đây là loại tường lửa thể hệ thứ nhất chỉ với chức năng như một bộ lọc gói tin,
nó chỉ kiểm tra các gói tin trao đổi giữa các máy tính trong một mạng. Khi một gói
tin đi qua tường lửa lọc gói, địa chỉ IP nguồn, IP đích, giao thức, cổng nguồn và cổng

đích được kiểm tra theo các luật định sẵn. Các gói tin không được phép đi vào mạng
sẽ bị loại (drop), ngược lại chúng sẽ được chuyển tiếp (forward).


7

Tường lửa lọc gói chủ yếu làm việc trên 3 lớp đầu tiên của mô hình tham chiếu
OSI (vật lý, liên kết dữ liệu và tầng mạng). Loại này có ưu điểm là nhanh và hiệu quả,
tuy nhiên các tường lửa lọc gói không có khả năng phân biệt một gói tin thuộc một
luồng dữ liệu nào vì chúng coi các gói tin là độc lập. Chính điều này cũng làm chúng
dễ bị tấn công kiểu giả mạo cũng như hạn chế trong việc đưa ra các quyết định phức
tạp dựa trên trạng thái kết nối giữa các thực thể trên mạng.
1.1.4.2 Tường lửa lọc gói với đầy đủ trạng thái
Để khắc phục các điểm yếu của tường lửa lọc gói, thế hệ tường lửa thứ hai
được phát triển – Tường lửa lọc gói với đầy đủ trạng thái được xây dựng. Các thiết
bị này có khả năng nhận biết trạng thái kết nối của một gói tin. Với khả năng đó, nó
biết được hoặc gói tin là bắt đầu của một kết nối, một phần của kết nối đã có hay
không thuộc kết nối nào cả. Chức năng này được gọi là “Kiểm tra đầy đủ thông tin
của gói” (stateful packet inspection) và được giới thiệu vào năm 1994 bởi Check Point
Software [56]. Kỹ thuật này trở nên phổ biến và là một tính năng cơ bản của tường
lửa từ cuối những năm 1990.
Các thông tin bổ sung này có thể được sử dụng để cho phép hay loại bỏ một
gói tin dựa vào lịch sử của nó trong bảng trạng thái một cách nhanh chóng. Một gói
tin nếu thuộc một kết nối đã được lưu trong bảng trạng thái sẽ được phép đi qua mà
không phải thực hiện các kiểm tra khác. Nếu một gói tin không thuộc các kết nối đã
được đánh dấu thì nó sẽ được xem xét như một kết nối mới sau khi đã được kiểm tra
bằng các luật ban đầu.
1.1.4.3 Các tường lửa lớp ứng dụng
Đây là tường lửa giai đoạn thứ ba. Khi các cuộc tấn công vào các máy chủ nói
chung và máy chủ Web nói riêng trở nên phổ biến hơn, thì nhiệm vụ của tường lửa là

có thể bảo vệ các máy chủ và các ứng dụng đang chạy trên chúng, mà không chỉ là
các tài nguyên mạng. Công nghệ tường lửa lớp ứng dụng lần đầu tiên xuất hiện vào
năm 1999 [46], cho phép tường lửa kiểm tra và lọc các gói tin trên bất kỳ lớp OSI
nào đến lớp ứng dụng.
Một đặc điểm mạnh của các tường lửa lớp ứng dụng là khả năng chặn các nội
dung cụ thể, chẳng hạn như phần mềm độc hại hoặc trang web nhất định, và nhận


8

dạng khi các ứng dụng và giao thức nhất định - chẳng hạn như HTTP, FTP và DNS đang bị tấn công.
1.1.4.4 Các tường lửa ủy quyền
Một máy chủ ủy quyền [53] có thể hoạt động như một tường lửa lớp ứng dụng,
đóng vai trò là lớp trung gian giữa các yêu cầu từ mạng này sang một mạng khác cho
một ứng dụng cụ thể. Một tường lửa ủy quyền ngăn chặn các kết nối trực tiếp giữa
hai bên tường lửa; Cả hai bên đều bị buộc phải tiến hành phiên kết nối thông qua nó,
do đó có thể chặn hoặc cho phép truy cập dựa trên bộ qui tắc của nó. Một dịch vụ ủy
quyền phải được chạy cho mỗi loại ứng dụng mạng mà tường lửa sẽ hỗ trợ, chẳng
hạn như một proxy HTTP cho các dịch vụ Web.
Ngoài các loại tường lửa phổ biến nói trên, trong thời gian gần đây xuất hiện
các loại tường lửa đó là:
Unified threat management (UTM) [68]: Đây là sự phát triển của tường lửa
truyền thống thành một sản phẩm bảo mật có khả năng thực hiện nhiều chức năng
trong một thiết bị duy nhất: tường lửa mạng, phát hiện xâm nhập mạng (IDS / IPS),
cổng chống virut (gateway antivirut) , mạng riêng ảo - VPN, lọc nội dung, cân bằng
tải, chống mất mát dữ liệu…
Tường lửa thế hệ tiếp theo (Next-generation firewall - NGFW) [22], [68]:
là một phần của công nghệ tường lửa thế hệ thứ ba, kết hợp tường lửa truyền thống
với các chức năng lọc các thiết bị mạng khác như tường lửa ứng dụng sử dụng kiểm
tra nội dung gói tin, hệ thống phòng chống xâm nhập (IPS ). Các kỹ thuật khác cũng

có thể được sử dụng, như kiểm tra truy cập được mã hóa TLS / SSL, lọc trang web,
quản lý chất lượng dịch vụ - QoS / băng thông, chống virut ….
1.2 Hiệu năng và mối quan hệ với quá trình phân loại gói tin của tường lửa
1.2.1 Mối quan hệ giữa hiệu năng và tốc độ phân loại gói tin
Hiệu năng của một tường lửa được đánh giá theo các tiêu chí thuộc “RFC3511: Methodology for Firewall Performance”, bao gồm:
 Thông lượng IP.
 Khả năng kết nối TCP đồng thời.


9










Tỷ lệ thiết lập kết nối TCP tối đa.
Tỷ lệ rớt kết nối TCP tối đa.
Khả năng xử lý tấn công từ chối dịch vụ.
Tốc độ trao đổi HTTP.
Tốc độ trao đổi HTTP tối đa.
Xử lý giao dịch bất hợp pháp.
Xử lý phân mảnh gói tin.
Độ trễ gói tin.

Tiêu chí đầu tiên được sử dụng để đánh giá là thông lượng IP (IP Throutput),

được định nghĩa là số gói tin lớn nhất đi qua tường lửa trong một giây mà không có
hiện tượng mất gói. Trong thực tế, thông lượng của một thiết bị mạng nói chung và
tường lửa nói riêng có thể còn được tính theo đơn vị khác là số bít được trao đổi qua
thiết bị trong một giây. Trong trường hợp đó, thông lượng phụ thuộc trực tiếp vào
kích thước gói tin và số lượng gói tin đi qua thiết bị trong một giây. Bảng 1.1 thể hiện
yêu cầu về tốc độ phân loại gói tin cần đáp ứng để tường lửa đạt được thông lượng
tính bằng bít trên giây tương ứng với trường hợp kích thước của gói tin là nhỏ nhất
40 byte (gói nhỏ nhất của giao thức TCP).
Như vậy, với bất cứ cách tính như thế nào thì thông lượng IP của tường lửa
đều gắn với tốc độ phân loại gói tin trên thiết bị đó. Điều này cũng đồng nghĩa tốc độ
phân loại gói tin có thể được coi là một tiêu chí để đánh giá hiệu năng của tường lửa
và các nghiên cứu nhằm nâng cao tốc độ phân loại gói tin trên tường lửa cũng tương
đương với mục đích nâng cao hiệu năng của thiết bị này.
Bảng 1.1. Thông lượng tính theo bps và tốc độ phân loại gói tin cần đạt

Thông lượng
1 Mbps
10 Mbps
100 Mbps
1 Gbps
10 Gbps
100 Gbps

Số gói tin cần được phân loại mỗi giây
3.125
31.250
31.2500
3.125.000
31.250.000
312.500.000


Với muc tiêu và phạm vi nghiên cứu của luận án, Tường lửa hiệu năng cao
được xác định theo nghĩa là tường lửa có tốc độ phân loại gói tin cao.


10

1.2.2 Quá trình phân loại gói tin trên tường lửa
Phân loại gói tin là một tính năng không thể thiếu trên các thiết bị mạng nói
chung như Thiết bị định tuyến (router), chuyển mạch (switch), phát hiện xâm nhập
(IPS, IDS)… Tường lửa cũng không nằm ngoài quy luật này, để thực hiện chức năng
kiểm soát các truy nhập thì thì thiết bị phải phân loại gói tin đi qua nó nhằm xác định
tính hợp lệ của gói tin đó. Hai yêu cầu đối với quá trình phân loại gói tin là: Tính
chính xác – quyết định đến việc bảo đảm an ninh hệ thống của thiết bị; Tốc độ phân
loại – quyết định việc không làm chậm các kết nối qua thiết bị.
Không xét đến việc phân loại dựa trên nội dung của gói tin của tường lửa mức
ứng dụng thì các tường lửa hiện nay thực hiện việc phân loại gói tin theo hai pha
chính: Pha 1 – Phân loại với bảng trạng thái; Pha 2 – Phân loại với tập luật. Gói tin
chỉ được phân loại tại Pha 2 khi không được cấp phép tại Pha 1. Toàn bộ quá trình
phân loại gói tin được thể hiện trong Hình 1.1.
CHẤP NHẬN

Header

DATA

Khớp với một
thực thể

LOẠI BỎ


Header

DATA

Không khớp
luật nào
CHẤP NHẬN

Header

DATA

Phân loại với
Bảng trạng thái

Phân loại với Tập
luật

DATA

Khớp với
một luật

Thông tin trạng
thái

Tập luật

Thông tin trạng thái


Bảng trạng thái

Header

Hình 1-1. Quá trình phân loại gói tin trên tường lửa

1.2.2.1 Phân loại với bảng trạng thái
Tường lửa duy trì một bảng tra cứu theo dõi tất cả các kết nối được phép đi
qua nó. Trong đó, mỗi kết nối được nhận dạng bởi bộ tham số tối thiểu gồm 4 thông
tin địa chỉ IP nguồn, IP đích, cổng nguồn và cổng đích. Khi một gói tin đến, tường


11

lửa thực hiện kiểm tra các thông tin của gói tin đó trong bảng trạng thái kết nối của
nó. Nếu gói tin khớp với một thực thể thì thực thể đó được cập nhật trạng thái mới
gắn với gói tin và gói tin được chấp nhận.
Quá trình phân loại này đạt được tốc độ cao vì kích thước của một thực thể
trong bảng trạng thái là nhỏ phù hợp trong việc sử dụng các bảng băm cho việc lưu
trữ, tìm kiếm và cập nhật [12], [64], [76]. Thách thức trong pha này đó là phải có
chính sách quản lý hiệu quả bảng trạng thái kết nối trong điều kiện bộ nhớ lưu trữ có
hạn, số lượng các kết nối tại một thời điểm ngày càng lớn.
Các tường lửa hiện đại có thể quản lý bảng trạng thái rất lớn - hàng triệu kết
nối thường được hỗ trợ tại một thời điểm nhằm đáp ứng nhu cầu truy cập với lưu
lượng lớn qua thiết bị, trong đó bao gồm một số lượng lớn các kết nối ngắn hạn có
khối lượng dữ liệu tương đối thấp. Hiện nay, công nghệ xử lý song song được áp
dụng cho phép tạo ra các tường lửa có khả năng xử lý hàng triệu kết nối ở tốc độ 10
gigabit / giây.
1.2.2.2 Phân loại với tập luật

Trường hợp sau khi đã được phân loại với bảng trạng thái mà gói tin không
phù hợp với bất cứ kết nối nào, việc phân loại sẽ phải tiếp tục với tập luật của tường
lửa. Nếu gói tin được chấp nhận bởi tập luật tường lửa thì một thực thể trạng thái
được tạo trên bảng trạng thái và gói tin được phép đi qua, ngược lại gói tin đó sẽ bị
loại bỏ. Quá trình phân loại gói tin ở pha này chính là quá trình phân loại gói tin trên
các tường lửa lọc gói thông thường và được thể hiện trong Hình 1.2.


12

Gói tin đến

Header

PHÂN LOẠI GÓI TIN

Hành động

DATA
F1

A1

F2

A2

F3

A3


Fn

An

Luật mặc định

A mặc định

Tập luật

Hình 1-2. Quá trình phân loại gói tin với tập luật của tường lửa

Trong Hình 1.2 mỗi luật bao gồm một bộ lọc F(các điều kiện cần đáp ứng) và
một hành động A. Quá trình phân loại một gói tin được thực hiện bằng việc so sánh
các trường trong tiêu đề gói tin với bộ lọc F của mỗi luật, nếu khớp thì hành động A
của luật đó sẽ được áp dụng cho gói tin ngược lại thì chuyển sang luật kế tiếp. Quá
trình kiểm tra được thực hiện tuần tự và kết thúc khi tìm được một luật phù hợp hoặc
đã kiểm tra qua tất cả các luật.
Trong các tường lửa hiện nay, Pha 1 có tốc độ phân loại cao trong khi Pha 2
là pha có tốc độ phân loại thấp. Khi mà số lượng gói tin phải phân loại ở Pha 2 là lớn
thì tốc độ phân loại gói tin qua tường lửa sẽ bị giảm đáng kể. Chính vì vậy, trong luận
án này, NCS chỉ tập trung nghiên cứu đề xuất các kỹ thuật nhằm nâng cao tốc độ
phân loại gói tin tại Pha 2 của quá trình phân loại gói tin trên tường lửa. Các khái
niệm nâng cao tốc độ phân loại gói tin trên tường lửa được sử dụng trong phần sau
của luận án này sẽ nằm trong phạm vi nâng cao tốc phân loại gói tin tại Pha 2.


13


1.3 Các hướng nâng cao tốc độ phân loại gói tin trên tường lửa
Tường lửa được cấu thành từ hai thành phần: phần cứng và phần mềm. Hiệu
năng thiết bị được quyết định bởi hiệu năng của hai thành phần này – Hình 1.3. Chính
vì vậy, các nghiên cứu nhằm nâng cao tốc độ phân loại gói tin có thể được chia làm
hai nhánh chính: Nghiên cứu trong lĩnh vực phần cứng; Nghiên cứu trong lĩnh vực
phần mềm. Trong phần tiếp theo, luận án sẽ có khảo sát và đánh giá sơ bộ về các
hướng nghiên cứu này.
TƯỜNG LỬA

PHẦN CỨNG

PHẦN MỀM

HIỆU NĂNG TƯỜNG LỬA

HIỆU NĂNG PHẦN CỨNG

HIỆU NĂNG PHẦN MỀM

Hình 1-3. Quan hệ giữa hiệu năng với các thành phần cấu tạo của tường lửa

1.3.1 Các nghiên cứu trong lĩnh vực phần cứng
Hình 1.4 thể hiện các hướng nghiên cứu về phần cứng nhằm nâng cao tốc độ
phân loại gói tin trên tường lửa đã được công bố.


14

Sử dụng FPGA


Sử dụng ASIC
NÂNG CAO HIỆU NĂNG
PHẦN CỨNG

Tận dụng năng lực tính toán GPU

Phát triển bộ vi xử lý mạng
chuyên dụng
Sử dụng công nghệ xử lý song
song

Hình 1-4. Các hướng nghiên cứu về phần cứng

1.3.1.1 Sử dụng công nghệ FPGA
Công nghệ FPGA được các hãng sản xuất tường lửa áp dụng phổ biến trong
sản phẩm của mình như Cisco, Checkpoint, Jupiter Network, Fortinet… Các sản
phẩm tường lửa thương mại của các hãng nói trên được xây dựng bao gồm nhiều tính
năng khác như mã hóa, định tuyến, phát hiện xâp nhập… Trong các sản phẩm đó,
việc sử dụng công nghệ này cho việc phân loại gói tin không được mô tả chi tiết do
việc đảm bảo các bí mật công nghệ của từng hãng.
Trong lĩnh vực phân loại gói tin (Packet Classification) nói chung các nghiên
cứu sử dụng FPGA là rất nhiều. Tuy nhiên, các nghiên cứu tiêu biểu trong việc xây
dựng tường lửa hiệu năng cao gồm [6], [31], [34], [72]. Các nghiên cứu và thử nghiệm
được thực hiện trên các nền tảng phần cứng phổ biến như Virtex Pro FPGA, Altera
FPGA. Tuy nhiên một đặc điểm chung đó là các đề xuất này đều găp khó khăn trong
việc áp dụng đối với các tập dữ liệu lớn.
1.3.1.2 Sử dụng công nghệ ASIC
Cũng như các tường lửa xây dựng trên nền tảng FPGA thì các hãng như
Huawei, Checkpoint, Juniper, Cisco, Portinet… sử dụng công nghệ ASIC trong các
sản phẩm tường lửa mới nhất của mình. Do ưu điểm, được thiết kế với mục đích

chuyên dụng hóa các chức năng nên các sản phẩm tường lửa sử dụng công nghệ này
đạt được thông lượng rất cao từ vài Gbps đến Tbps.


×