Tải bản đầy đủ (.docx) (163 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 (1.77 MB, 163 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
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 .....................................................................
DANH MỤC CÁC BẢNG ..........................................................................................................
DANH MỤC CÁC HÌNH VẼ ...................................................................................................
MỞ ĐẦU
.............................................
CHƯƠNG
1. TỔNG QUAN VỀ PHÂN

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

1.1.1Lịch sử hình thành tường lửa
1.1.2Định nghĩa về tường lửa .....
1.1.3Chức năng của tường lửa ...

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

1.2.1Mối quan hệ giữa hiệu năng
1.2.2Quá trình phân loại gói tin t

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

1.3.1Các nghiên cứu trong lĩnh v
1.3.2Các nghiên cứu trong lĩnh v
1.3.3Một số nghiên cứu trong nư
1.3.4Xác định hướng nghiên cứu

1.4Kết luận chương 1 ......................................................
CHƯƠNG

2. THUẬT TOÁN PHÂN LO

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

2.2.1Tập luật phân loại gói tin ...
2.2.2Cách biểu diễn các trường c
2.2.3Tiêu chí lựa chọn luật .........
2.2.4Các tham số đánh giá một th
2.3Đề xuất phân loại gói tin trên cấu trúc cây Ưu tiên đa

2.3.1Lí do đề xuất .......................
2.3.2Các cấu trúc có liên quan...
2.3.3Ý tưởng chính của đề xuất v

2.3.4Cấu trúc cây MWP .............

2.4Kết luận chương 2 ......................................................
CHƯƠNG

3. LOẠI SỚM GÓI TIN TRÊ

3.1Giới thiệu chương ........................................................
3.2Đề xuất kỹ thuật loại sớm gói tin dựa trên việc kết hợ
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 v

3.3Kết luận chương 3 .......................................................
CHƯƠNG 4. PHÁT HIỆN VÀ XỬ LÝ XUNG ĐỘT TRONG TẬP LUẬT TƯỜNG LỬA .....

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

4.2.1 Biểu diễn luật t
4.2.2 Không gian luậ
4.2.3 Các loại xung đ

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

4.3.2
4.3.3
4.3.4
4.3.5

Các định nghĩa
Ý tưởng của thu
Cấu trúc cây C
Phát hiện xung
Cài đặt thử ngh

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

KẾT LUẬN........................
TÀI LIỆU THAM KHẢO ..........................................................................................................
LAN
MWP
NP
RFC
ACL
SA-BSPL
ABV
AFBV

SP-Tries

ASIC
BDD
BV
CAM

CDT

TCAM

DCFL
DoS
EGT

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

ERFC

<|, >|

FPGA
FVSC
GoT
GPU
HiCuts
HSM
H-Tries

TCDA
TCP
UDP

ℜD
ℜEM



v

DANH
MỤC CÁC
KÝ HIỆU
VÀ CHỮ
VIẾT TẮT
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

(Aggregat
ed Bit
Vector)
Thuật
toán bít
véc tơ
hỗn hợp
và phân
nhóm

(Aggre

gated
and
Folded
Bit
Vector)
Vi mạch
tích hợp
chuyên
dụng
(Applicatio
n-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]
Mối quan hệ tách biệt của không gian giữa hai luật
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


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

Không khớp

Header

Thông tin trạng
thái

Bảng trạng thái

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

DATA
F1
F2
F3

Fn
Luật 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


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

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

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ố.


×