LỜI CAM ĐOAN.i
LỜI CẢM ƠN.ii
MỤC LỤC .iii
DANH MỤC CÁC CHỮ VIẾT TẮT.vii
DANH MỤC HÌNH VẼ .x
DANH MỤC CÁC BẢNG BIỂU.xiii
MỞ ĐẦU .xiv
CHƯƠNG 1: TẤN CÔNG DDOS VÀ CÁC GIẢI PHÁP PHÒNG CHỐNG TRONG MẠNG
SDN/OPENFLOW .1
1.1. Giới thiệu chương . 1
1.2. Tổng quan về tấn công DDoS. 1
1.2.1. Khái niệm . 1
1.2.2. Phân loại tấn công DDoS. 2
1.2.3. Các giải pháp phòng chống DDoS dựa trên công nghệ mạng truyền thống. 5
1.2.4. Yêu cầu và thách thức đối với giải pháp phát hiện và ngăn chặn, giảm thiểu tấn công DDoS
. 7
1.3. Kỹ thuật mạng cấu hình bởi phần mềm SDN . 10
1.4. Giao thức OpenFlow. 12
1.4.1. Cấu trúc và phạm vi chuẩn hóa của Openflow. 13
1.4.2. Nhận dạng và quản lý lưu lượng trên bộ chuyển mạch Openflow . 14
1.4.3. Các bản tin trao đổi giữa bộ điều khiển và bộ chuyển mạch Openflow. 14
1.4.4. Quy trình xử lý gói tin trong Openflow. 16
1.4.5. Quản lý các mục luồng trong bộ chuyển mạch Openflow. 17iv
1.5. Các giải pháp phòng chống DDoS dựa trên kiến trúc và kỹ thuật SDN/Openflow. 18
1.5.1. Kiến trúc và nguyên lý hoạt động chung. 18
1.5.2. Các kỹ thuật phát hiện tấn công. 20
1.5.3. Các kỹ thuật ngăn chặn, giảm thiểu tấn công . 22
1.6. Tấn công DDoS tới các thành phần trong kiến trúc mạng SDN/Openflow và các giải pháp
phòng chống . 23
1.6.1. Tấn công DDoS tới các thành phần trong kiến trúc mạng SDN/Openflow . 23
1.6.2. Kỹ thuật phát hiện và giảm thiểu tấn công . 25
1.7. Kết luận chương. 27
CHƯƠNG 2: ĐỀ XUẤT GIẢI PHÁP PHÒNG CHỐNG TẤN CÔNG DDOS DỰA TRÊN DỮ
LIỆU THỐNG KÊ VÀ CƠ CHẾ XỬ LÝ GÓI TIN CỦA KỸ THUẬT SDN/OPENFLOW. 29
2.1. Giới thiệu chương . 29
2.2. Giải pháp phát hiện và giảm thiểu tấn công DDoS dựa trên mô hình dự đoán làm trơn hàm
mũ tham số thống kê lưu lượng. 29
2.2.1. Đặt vấn đề. 29
2.2.2. Kiến trúc hệ thống và các trạng thái hoạt động . 30
2.2.3. Lựa chọn tham số và chỉ số thống kê lưu lượng. 32
2.2.4. Lựa chọn và xây dựng mô hình dự đoán chỉ số thống kê lưu lượng . 33
2.2.5. Phát hiện và giảm thiểu tấn công. 35
2.2.6. Phân tích và đánh giá hiệu năng của giải pháp. 37
2.3. Giải pháp giảm thiểu tấn công SYN Flood dựa trên cơ chế ủy nhiệm gói tin SYN tại bộ điều
khiển . 41
2.3.1. Đặt vấn đề. 41
2.3.2. Kiến trúc hệ thống đề xuất. 42
2.3.3. Lựa chọn mô hình ủy nhiệm gói tin SYN. 43
2.3.4. Hoạt động của hệ thống SSP . 44
2.3.5. Phân tích và đánh giá hiệu năng của giải pháp. 51v
2.4. Giải pháp đánh dấu gói tin PLA DFM phục vụ truy vết nguồn tấn công . 58
2.4.1. Đặt vấn đề. 58
2.4.2. Khái niệm về đánh dấu gói tin và các kỹ thuật cơ bản . 59
2.4.3. Đề xuất cấu trúc và hoạt động của PLA DFM trên kiến trúc mạng SDN/Openflow . 61
2.4.4. So sánh và đánh giá hiệu năng của giải pháp . 66
2.5. Kết luận chương. 70
CHƯƠNG 3 ĐỀ XUẤT GIẢI PHÁP PHÒNG CHỐNG TẤN CÔNG DDOS DỰA TRÊN KỸ
THUẬT SDN/OPENFLOW SỬ DỤNG THÊM BỘ PHÂN TÍCH VÀ XỬ LÝ LƯU LƯỢNG . 72
3.1. Giới thiệu chương . 72
3.2. Những hạn chế của kiến trúc và kỹ thuật SDN/Openflow trong phòng chống tấn công
DDoS
. 72
3.3. Đề xuất kiến trúc mạng SDN/Openflow mở rộng trên cơ sở bổ sung bộ phân tích và xử lý lưu
lượng SD . 73
3.3.1. Kiến trúc tổng quát . 74
3.3.2. Điều khiển chuyển tiếp lưu lượng tới SD và xử lý lưu lượng tại SD . 75
3.4. Giải pháp phân loại và giảm thiểu tấn công DDoS dựa trên kiến trúc SDN/Openflow mở rộng
và thuật toán logic mờ . 76
3.4.1. Đặt vấn đề. 76
3.4.2. Phân tích đặc tính lưu lượng tấn công DDoS để chọn tham số phân loại lưu lượng. 76
3.4.3. Cấu trúc hệ thống. 79
3.4.4. Xác định trạng thái của máy chủ . 79vi
3.4.5. Chuyển tiếp gói tin giữa các thực thể trong hệ thống. 81
3.4.6. Phân loại lưu lượng và giảm thiểu tấn công DDoS dựa trên thuật toán suy luận logic mờ
FDDoM. 83
3.4.7. Đánh giá hiệu năng của giải pháp. 87
3.5. Phát hiện và giảm thiểu tấn công SYN Flood tới mạng SDN/Openflow sử dụng cơ chế ủy
nhiệm gói tin SYN tại bộ phân tích và xử lý lưu lượng . 91
3.5.1. Đặt vấn đề. 91
3.5.2. Cấu trúc hệ thống. 92
3.5.3. Hoạt động của hệ thống. 92
3.5.4. Phân tích và đánh giá hiệu năng . 98
3.6. Kết luận chương. 104
KẾT LUẬN . 106
DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ CỦA LUẬN ÁN. 108
TÀI LIỆU THAM KHẢO. 109vii
139 trang |
Chia sẻ: trungkhoi17 | Lượt xem: 645 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Luận án Nghiên cứu giải pháp phát hiện và giảm thiểu tấn công từ chối dịch vụ phân tán sử dụng công nghệ SDN - Đặng Văn Tuyên, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
cũng tăng từ 0,5 lên trên 2,5. Ở giai đoạn III,
mặc dù giá trị PpF và DPpF giảm xuống nhưng vẫn duy trì ở mức cao. Với sự biến
động như vậy, nếu ta chọn giá trị ngưỡng phù hợp (KD = 2) thì có thể phát hiện được
tấn công cường độ thấp.
a)
b)
Hình 2.5. Giá trị chỉ số PpF và DPpF
Như vậy, tấn công DDoS có thể phát hiện qua giám sát sự biến động của hai chỉ số chuẩn
hoá DSPA và DPpF và so sánh giá trị ngưỡng phát hiện KD. Trong trường hợp này, với KD =
2, tấn công được phát hiện trong cả trường hợp tấn công cường độ thấp và tấn công cường độ
40
cao. Các giá trị thống kê cũng chỉ ra rằng trong điều kiện không bị tấn công, mỗi máy chủ có
những đặc điểm cung cấp dịch vụ khác nhau nên SPA, PpF của chúng biến động trong những
khoảng giá khác nhau. Tuy nhiên, sau khi chuẩn hóa các chỉ số DSPA, DPpF thì chúng hội tụ
về cùng khoảng giá trị, thuận lợi cho so sánh để phát hiện tấn công.
Khả năng phân loại lưu lượng tấn công
Bảng 2.5 thể hiện kết quả thống kê độ nhạy DR và tỷ lệ báo động nhầm FPR của cả pha
phân loại lưu lượng tấn công và pha giảm thiểu (lọc bỏ) lưu lượng tấn công với các giá trị hệ
số lọc bỏ khác nhau KF = 6, 8, 10, ..., 26 theo tổng kích thước các gói tin (bytes). Kết quả cho
thấy với dải giá trị KF lựa chọn, giải pháp đề xuất có khả năng phân loại lưu lượng tấn công với
giá trị độ nhạy DRC ở mức khá cao, luôn giữ ổn định trên 98,5% với tỷ lệ báo động giả thấp
FPRC dưới 0,65%. Khi thay đổi giá trị của KF trong khoảng lựa chọn thì DRC thay đổi không
đáng kể và duy trì ở mức cao.
Theo lý thuyết, nếu càng nâng cao giá trị hệ số KF, tỷ lệ FPRC càng giảm, tuy nhiên khi đó
giá trị DRC cũng sẽ giảm theo. Đối với mỗi máy chủ có dịch vụ đặc thù và tham số lưu lượng
khác nhau, hệ số lọc bỏ KF được chọn sao cho đảm bảo tỷ lệ FPR thấp nhưng vẫn duy trì giá
trị DR ở mức cao. Trong trường hợp này, nếu lựa chọn KF=20-26, giá trị DRC và FPRC duy trì
ở mức ổn định DRC ≈ 98,7% và FPRC ≈ 0,44%. So sánh với giải pháp phát hiện tấn công bằng
mô hình SOM 6 tham số của nhóm tác giả Braga [22] với giá trị DRC cao nhất đạt 98,61 % với
FPRC ở mức 0,59% cho thấy giải pháp sử dụng mô hình dự đoán làm trơn hàm mũ cho tỷ lệ
phân loại cao hơn và chính xác hơn.
Khả năng giảm thiểu tấn công
Bảng 2.5. Độ nhạy và tỷ lệ báo động nhầm trong phân loại lưu lượng và giảm thiểu tấn công
𝐊𝐊𝐅𝐅
Phân loại lưu lượng Lọc bỏ lưu lượng
DRC FPRC DRF FPRF
6 99,19 0,62 98,72 6,82
8 99,16 0,58 98,37 4,80
10 99,11 0,56 97,17 3,99
12 99,09 0,54 96,64 3,80
14 99,08 0,52 96,57 3,61
16 99,01 0,51 96,05 3,52
18 98,97 0,49 96,04 3,39
20 98,92 0,47 95,26 3,33
22 98,76 0,44 95,08 3,33
24 98,73 0,44 95,07 3,24
26 98,71 0,42 95,07 3,14
Kết quả lọc bỏ lưu lượng tấn công thể hiện trong Bảng 2.5 cho thấy giải pháp đề xuất có
khả năng giảm thiểu tấn công với độ nhạy lọc bỏ DRF cao, tỷ lệ lọc bỏ nhầm FPRF thấp. DRF
41
duy trì ở mức trên 95% trong khi FPRF dưới 7%. Nếu chọn giá trị KF = 20–26, kết quả duy trì
ổn định ở mức DRF ≈ 95,1% với FPRF ≈ 3,3%. Giá trị này cải thiện hơn rất nhiều nếu so sánh
với giải pháp sử dụng mô hình biến thiên entropy do nhóm tác giả Giotis [21] đề xuất với kết
quả DRF đạt 95% khi phải chịu tỷ lệ lọc bỏ nhầm FPRF ở mức 32%.
Nhận xét, đánh giá
So sánh cấu trúc, nguyên lý, hiệu năng của các giải pháp đã đề xuất có phân tích lưu lượng
tương đương, giải pháp phát hiện và giảm thiểu tấn công dựa trên mô hình dự đoán thống kê
làm trơn hàm mũ có ưu điểm:
• Cấu trúc hệ thống đơn giản, sử dụng thuần túy dữ liệu thống kê và cơ chế xử lý gói tin
của kỹ thuật SDN/Openflow.
• Đòi hỏi số trường thông tin cần truy vấn và lưu trữ thấp (3 tham số/mục luồng) so với
giải pháp sử dụng SOM 6 hoặc 4 tham số (sử dụng ít nhất 4 tham số/mục luồng) và giải
pháp mô hình biến thiên entropy (4 tham số/mục luồng).
• Thuật toán đơn giản: Mỗi tham số chỉ cần tính toán và lưu trữ 1 giá trị trong một chu kỳ
giám sát, trong khi hai giải pháp còn lại cần phải tính toán và lưu trữ một mảng các giá
trị để tính trung bình và entropy.
• Cải thiện được tương quan đặc tính độ nhạy và tỷ lệ báo động giả trong cả pha phân loại
và pha giảm thiểu tấn công.
Tuy nhiên, giải pháp vẫn tồn tại một số nhược điểm:
• Khi tấn công DDoS giả địa chỉ nguồn xảy ra, số lượng địa chỉ nguồn tăng lên dẫn đến
lượng truy vấn lấy tham số thống kê lớn, có thể gây nguy cơ nghẽn giao diện Openflow
mỗi khi kết thúc chu kỳ giám sát. Vì vậy, giải pháp chỉ phù hợp với hệ thống mạng quy
mô nhỏ, lưu lượng thấp.
• Hiệu năng của giải pháp còn phụ thuộc vào hệ số α của mô hình dự đoán làm trơn hàm
mũ, chu kỳ giám sát T. Các tham số này phụ thuộc vào quy mô, đặc tính dữ liệu của
từng hệ thống mạng cụ thể.
2.3. Giải pháp giảm thiểu tấn công SYN Flood dựa trên cơ chế ủy
nhiệm gói tin SYN tại bộ điều khiển
2.3.1. Đặt vấn đề
Trong các vectơ tấn công DDoS, tấn công SYN Flood là kỹ thuật tấn công lâu đời những
vẫn là phương thức tấn công phổ biến và nguy hiểm. Lợi dụng điểm yếu của giao thức TCP
trong quá trình bắt tay ba bước và sự thiếu vắng cơ chế kiểm soát địa chỉ IP nguồn giữa các hệ
thống tự trị, kẻ tấn công gửi hàng loạt các gói tin SYN đến máy chủ mà không gửi gói tin xác
nhận CliACK nhằm làm cạn kiệt tài nguyên kết nối mạng của máy chủ. Theo báo cáo Xu hướng
tấn công DDoS của Verisign [5], hệ thống ghi nhận trong Quý 4, 2016 tấn công SYN Flood đạt
tốc độ 70Gbps với 50Mpps. Báo cáo của NexusGuard [6], tấn công SYN Flood vẫn chiếm vị
trí thứ tư sau tấn công khuếch đại SSDP, UDP, ICMP về số đợt tấn công. Báo cáo của Kaspersky
42
Quý 1 2018 [111] cũng cho thấy tấn công SYN Flood tăng và chiếm tới 57,3 % số cuộc tấn
công ghi nhận bởi công ty này. Số liệu Quý 2 và 3 [7] của hãng cũng cho thấy hình thức tấn
công này gia tăng đáng kể chiếm tới 83,2 % số cuộc tấn công.
Dựa trên công nghệ mạng truyền thống, đã có nhiều giải pháp phòng chống tấn công SYN
Flood được đề xuất gồm các giải pháp triển khai trên máy chủ (host based) như SYN Cookie
[51], SYN Cache [112], tăng TCP backlog [18], các giải pháp triển khai trên các thiết bị an
ninh hệ thống mạng (network based) như SYN Proxy [18].
Kỹ thuật SDN/Openflow ra đời cũng nhanh chóng được ứng dụng trong ngăn chặn tấn công
SYN Flood, trong đó điển hình là cơ chế CM của giải pháp Avant-Guard [28] và các giải pháp
cải tiến như LineSwitch [29], Tuy nhiên như đã trình bày ở Chương 1, do đặc tính cố hữu,
nguy hiểm của tấn công TCP SYN Flood, cho đến nay vẫn chưa có một giải pháp triệt để. Với
mỗi cấu hình mạng, đặc điểm dịch vụ và đặc tính lưu lượng mạng cụ thể, người ta triển khai
những giải pháp phòng, chống tấn công DDoS khác nhau.
Nội dung phần này trình bày các vấn đề kỹ thuật của giải pháp SSP (SDN based SYN
Proxy) ứng dụng kỹ thuật xử lý gói tin trong SDN/Openflow trong phát hiện và giảm thiểu tấn
công SYN Flood bằng cơ chế ủy nhiệm xử lý gói tin SYN trong quá trình bắt tay ba bước tại
Bộ điều khiển. Giải pháp được xác định áp dụng cho mạng quy mô nhỏ SOHO như văn phòng,
cơ quan nhỏ, trường học với số lượng máy chủ, lưu lượng truy cập không lớn và mục tiêu chủ
yếu ngăn chặn các nguy cơ tấn công từ bên ngoài.
2.3.2. Kiến trúc hệ thống đề xuất
Dựa trên kiến trúc chung trong Hình 1.9 kiến trúc hệ thống SSP được mô tả như trong Hình
2.6. Giải pháp được áp dụng cho hệ thống mạng quy mô nhỏ SOHO kết nối với Internet qua
một gateway qua bộ chuyển mạch biên Openflow. Trên OFS, số hiệu cổng kết nối với Internet
được xác định rõ để phân biệt với các cổng kết nối tới các máy chủ dịch vụ bên trong mạng nội
bộ.
Lợi dụng khả năng so khớp với các trường Flags quy định trong Openflow 1.5 [20], bộ
chuyển mạch OFS tổ chức các mục luồng để Giám sát quá trình bắt tay ba bước (3HS) của các
yêu cầu kết nối SYN từ máy khách trên Internet. Khi quá trình bắt tay ba bước thực hiện thành
công, Kết hợp luồng TCP cho kết nối thực hiện trực tiếp giữa máy khách và máy chủ nội bộ.
Các quá trình trên được điều khiển bởi module SPM chạy trên Bộ điều khiển. Với mỗi gói
tin yêu cầu kết nối SYN đến từ Internet, SPM cài đặt các mục luồng trên OFS để giám sát quá
trình bắt tay ba bước, đồng thời Giám sát luồng bằng cách đưa thông tin vào bảng FMT. Dựa
trên kết quả giám sát quá trình bắt tay ba bước, SPM thực hiện Chính sách xử lý tương ứng.
Nếu quá trình 3HS thành công, SPM cấu hình OFS để thực hiện Kết hợp mục luồng TCP.
Ngược lại, SPM thực hiện hủy các mục luồng và kết nối TCP dang dở trên máy chủ. Chi tiết
hoạt động của giải pháp được trình bày trong các phần tiếp theo.
43
Hình 2.6. Kiến trúc hệ thống giải pháp Ủy nhiệm gói tin SYN trên Bộ điều khiển SSP
2.3.3. Lựa chọn mô hình ủy nhiệm gói tin SYN
Ủy nhiệm gói tin SYN (SYN proxy) là giải pháp phòng chống tấn công TCP SYN
DoS/DDoS [18] trong đó một thiết bị trung gian được đặt ở giữa hai thực thể đầu cuối kết nối
TCP làm nhiệm vụ giám sát quá trình 3HS. Nếu quá trình này thành công, kết nối này sẽ được
duy trì giữa hai thực thể để trao đổi dữ liệu. Ngược lại, SYN proxy sẽ ngăn cản việc thiết lập
kết nối hoặc hủy kết nối dang dở đã mở tạo ra trên máy chủ đích để giải phóng tài nguyên. Có
2 loại SYN proxy: giả gói tin SYN-ACK và giả gói tin ACK. Hình 2.7 mô tả chi tiết quá trình
xử lý kết nối TCP giữa hai thực thể máy chủ (Server) và máy khách (Client) của hai loại SYN
proxy trong cả hai trường hợp các gói tin yêu cầu kết nối SYN đến là lành tính và tấn công.
- Proxy giả gói tin SYN-ACK: Proxy đóng giả vai trò của trạm đích (Server) để đảm bảo
chắc chắn kết nối từ một trạm có thật, không giả mạo địa chỉ IP rồi mới tạo kết nối thực sự với
trạm đích. Khi trao đổi dữ liệu, proxy đứng giữa thực hiện chuyển đổi gói tin giữa trạm nguồn
(Client) và trạm đích, cụ thể là chuyển đổi cặp giá trị SEQ_Num và ACK_Num trong các gói tin
theo hai chiều. Ưu điểm của proxy loại này là gói tin tấn công giả mạo địa chỉ IP không bị gửi
tới Server do đó Server được bảo vệ hoàn toàn. Tuy nhiên, nó có nhược điểm là proxy phải xử
lý nhiều và kết nối TCP bị chia cắt do đó một số chức năng trong giao thức TCP có thể bị vô
hiệu hóa trong quá trình khởi tạo phiên kết nối.
- Proxy giả gói tin ACK: Khác với loại trên, proxy loại này chuyển gói tin SYN đến trạm
đích như bình thường và giám sát quá trình bắt tay ba bước của nó. Nếu trong một khoảng thời
gian chờ xác định trước, nếu proxy không nhận được gói tin CliACK tương ứng được xác nhận,
nó cho rằng đó là gói tin SYN tấn công và đóng giả trạm nguồn, tạo một gói tin CliACK giả
tương ứng gửi tới trạm đích để xác nhận kết nối và đồng thời ngay sau đó, tạo một gói tin RST
giả mạo để reset kết nối, giải phóng tài nguyên cho trạm đích. Ưu điểm của loại proxy này là
44
không can thiệp vào quá trình trao đổi gói tin giữa trạm nguồn và trạm đích. Tuy nhiên, nhược
điểm là gói tin tấn công vẫn tiếp cận tới trạm đích, proxy chỉ đóng vai trò giảm thiểu sự ảnh
hưởng đó mà thôi.
Hình 2.7. Nguyên lý hoạt động của hai loại SYN proxy
Do thực hiện ủy nhiệm tại Bộ điều khiển, giải pháp SSP lựa chọn mô hình ủy nhiệm gói tin
SYN loại proxy giả gói tin ACK để giảm bớt xử lý tại Bộ điều khiển, đồng thời giảm lưu lượng
trao đổi gói tin trên giao diện Openflow.
2.3.4. Hoạt động của hệ thống SSP
Cơ sở khoa học của giải pháp SSP là dựa trên cơ chế xử lý gói tin của Openflow và khả
năng so khớp với các trường Flags của gói tin TCP, hệ thống thực hiện giám sát quá trình bắt
tay ba bước trên Bộ điều khiển. Khi một kết nối TCP hoàn thành quá trình bắt tay ba bước, kết
nối được gộp chung luồng; ngược lại khi quá một thời gian giám sát cho trước, kết nối dang dở
trên máy chủ sẽ được chủ động xóa bỏ, giảm ảnh hưởng của tấn công SYN flood trên máy chủ.
Do thời gian thực hiện quá trình bắt tay ba bước rất nhỏ so với thời gian tồn tại của mục luồng,
đồng thời SSP thực hiện điều chỉnh thời gian chờ theo số kết nối dang dở trên máy chủ nên
giảm thiểu sự chiếm dụng tài nguyên trên bộ chuyển mạch. Quá trình xử lý gói tin SYN cho
một kết nối TCP trong hệ thống SSP được mô tả trong Hình 2.8.
• Khi nhận được một gói tin SYN đến, OFS capture gói tin SYN (Bước 1) và chuyển
tới Máy chủ đích (Bước 2). Khi tấn công ở cường độ cao, số lượng gói tin SYN đến
vượt quá khả năng xử lý của hệ thống, gói tin SYN có thể bị xóa bỏ.
45
• Bộ chuyển mạch capture gói tin SYN-ACK trả lời từ phía máy chủ (Bước 3), gửi gói
tin này tới máy khách (Bước 4), đồng thời tới SPM trên Bộ điều khiển (Bước 4’).
• SPM cài đặt một mục luồng để capture gói tin CliACK tương ứng (Bước 5).
• Khi máy khách gửi gói tin xác nhận CliACK (Bước 6), nó sẽ được capture bởi OFS
và gửi tới SPM (Bước 7).
Hình 2.8. Quá trình xử lý yêu cầu kết nối của một gói tin SYN trong giải pháp SSP
• SPM kiểm tra, xác thực gói tin CliACK (thông qua cặp giá trị SEQ_Num và ACK_Num
của các gói tin SYN, SYN-ACK và CliACK) và ra quyết định xử lý gói tin SYN (Bước
8): Nếu quá trình bắt tay ba bước hợp lệ, tiến hành gộp luồng, các gói tin sau của luồng
sẽ được trao đổi trực tiếp giữa máy chủ và máy khách (Bước 9). Nếu không có gói tin
CliACK hoặc gói tin CliACK không hợp lệ, tiến hành xóa luồng. SPM tạo gói tin
CliACK giả, RST giả để kết thúc phiên kết nối (Bước 9).
Capture và xử lý các gói tin bắt tay 3 bước tại OFS
Trong giải pháp SSP, OFS có nhiệm vụ bắt giữ các gói tin bắt tay ba bước và chuyển tới
máy chủ đồng thời chuyển tới SPM trên Bộ điều khiển để giám sát quá trình này. Lưu đồ thuật
toán quá trình capture các gói tin bắt tay ba bước của một kết nối TCP được mô tả như trong
Hình 2.9.
Theo đó, OFS phải thực hiện so khớp trên các mục luồng để capture các gói tin SYN (đến
từ Client), SYN-ACK (đến từ Server), gói tin xác nhận CliACK đầu tiên của Client và có các
action xử lý tương ứng như trình bày trong lưu đồ. Để thực hiện điều đó, SSP tổ chức các mục
luồng trên OFS:
46
• theo trật tự và mức độ ưu tiên (priority) giữa các mục luồng thích hợp,
• sử dụng khả năng so khớp với các trường Flag quy định bởi Openflow 1.5,
• thiết lập loại mục luồng chủ động (proactive) và đáp ứng (reactive) thích hợp.
Hình 2.9. Lưu đồ quá trình capture và xử lý các gói tin bắt tay ba bước tại OFS
Bảng 2.6 là ví dụ về cấu trúc, cách tổ chức, sắp xếp các bảng luồng, thiết lập các thuộc tính
cơ bản của các mục luồng để thực hiện capture các gói tin bắt tay ba bước theo giải pháp SSP.
Hệ thống có cổng gateway kết nối Internet là port_number = 1, các cổng kết nối với máy chủ
nội bộ gồm port_number = 2,3,4. Mức độ ưu tiên trong một bảng luồng được thiết lập từ trên
xuống dưới.
• Flow Table 0: Gồm các mục luồng loại chủ động, tồn tại vĩnh viễn để so khớp và chọn
ra các gói SYN đến từ client (FE11, FE12, FE13), SYN-ACK đến từ server (FE2) , gói tin ACK
đến từ client (FE3). Mục luồng FE4 chỉ ra hướng xử lý khi table-miss xảy ra đối với bảng luồng.
Các mục luồng FE1x, FE2, FE3 sử dụng trường so khớp Flags để capture các loại gói tin tương
ứng.
• Flow Table 1: Bao gồm các mục luồng FE5x được cài đặt bởi SPM cho mỗi kết nối
TCP để so khớp và capture các gói CliACK đầu tiên được xác nhận từ client hoàn thành quá
trình bắt tay 3 bước. Action tương ứng của các mục luồng này là Chuyển tới Bộ điều khiển.
Mỗi mục luồng được thiết lập thời gian timeout chính bằng thời gian chờ gói tin CliACK. Nếu
vượt quá thời gian này mà client không gửi gói tin CliACK xác nhận, mục luồng sẽ bị xóa và
47
báo tới SPM. Mục luồng FE6 chỉ ra hướng xử lý table-miss.
• Flow Table 2: Gồm các mục luồng loại chủ động thiết lập hướng xử lý các gói tin trao
đổi dữ liệu giữa client và server sau khi đã được xác thực quá trình bắt tay ba bước.
Bảng 2.6. Ví dụ về cấu trúc và sắp xếp các mục luồng trong bảng luồng của SSP
Quản lý và giám sát quá trình bắt tay ba bước tại Module SPM
Module SPM được lập trình như một ứng dụng bảo mật có thể tích hợp trực tiếp trong bộ
điều khiển hoặc thực thi độc lập trong các máy chủ bảo mật để giám sát quá trình bắt tay ba
bước và xử lý gói tin khi xác định có tấn công xảy ra.
Quy trình xử lý và giám sát quá trình bắt tay ba bước của các kết nối TCP tại SPM được
thể hiện trong lưu đồ Hình 2.10. Các thông tin giám sát được quản lý trong bảng FMT có cấu
trúc như Bảng 2.7.
• Tại mỗi sự kiện packet-in, nếu gói tin đến là SYN-ACK từ một máy chủ cần bảo vệ,
SPM tạo mục luồng capture gói tin CliACK, tính giá trị thời gian chờ tối đa t (sẽ trình bày ở
48
mục 2.3.4.3) và thiết lập giá trị thời gian này cho tham số idle timeout của mục luồng. Đồng
thời SPM tạo một mục thông tin trong bảng FMT để quản lý kết nối dang dở (HOC) với các
thông tin thuộc tính tương ứng trong đó lưu trữ giá trị SEQ_Num.
Hình 2.10. Lưu đồ hoạt động của mô đun SPM tại bộ điều khiển
Bảng 2.7. Cấu trúc bảng giám sát luồng FMT
FlowID srcIP srcPort dstIP dstPort SEQ_Num
1 IPs1 Ps1 IPd1 Pd1 Seq1
2 IPs2 Ps2 IPd2 Pd2 Seq2
3 IPs3 Ps3 IPd3 Pd3 Seq3
• Nếu gói tin đến là gói tin ACK, SPM sẽ tìm mục thông tin tương ứng trong bảng FMT
và so sánh giá trị số hiệu ACK_Num với giá trị lưu trữ SEQ_Num trong mục thông tin. Nếu cặp
giá trị này khớp nhau, quá trình bắt tay ba bước được xác thực thành công và gói tin được
chuyển tiếp tới máy chủ đích. Nếu không tìm thấy mục thông tin tương ứng hoặc cặp giá trị
ACK_Num và SEQ_Num không khớp nhau, SPM xác định gói tin SYN đến từ một nguồn không
tin cậy, khi đó gói tin các mục thông tin tương ứng sẽ bị hủy.
49
• Khi hết thời gian chờ timeout, nếu không nhận được gói tin CliACK tương ứng, SPM
sẽ tạo ra gói tin ACK giả phía client để gửi tới máy chủ để kết thúc quá trình bắt tay ba bước
và ngay sau đó, gửi gói tin RST để đóng kết nối mở HOC tương ứng trên máy chủ.
Tính toán thời gian chờ gói CliACK của các luồng
Theo giao thức TCP, sau khi nhận được gói tin SYN, máy chủ sẽ tạo ra một vùng nhớ TCB
để chứa thông tin kết nối trước khi gửi gói tin SYN-ACK tới máy khách. Vùng nhớ được tồn
tại trong suốt thời gian chờ TIMEWAIT đợi gói tin xác nhận CliACK từ phía máy khách. Thời
gian chờ này được kẻ tấn công lợi dụng để duy trì sự chiếm đoạt tài nguyên bộ nhớ TCB bởi
các kết nối dang dở HOC trên máy chủ. Tùy theo hệ điều hành, thời gian này thường được đặt
cố định và có giá trị từ 75s đến 189s [113]. Để khảo sát khoảng thời gian nhận được gói tin
SYN và gói tin CliACK trong lưu lượng mạng thực tế, bộ lưu lượng lành tính CAIDA 2013
[107] được phân tích và cho kết quả thống kê CDF như trong Hình 2.11. Kết quả thống kê cho
thấy, gần 99% kết nối TCP trong lưu lượng mạng thực tế có gói tin CliACK đến sau gói tin
SYN trong vòng 2s. Do đó thiết lập thời gian chờ quá lớn là không cần thiết.
Giá trị thời gian chờ cao sẽ đảm bảo cho kết nối được thành công khi độ trễ gói tin đường
truyền lớn, tuy nhiên điều này tạo cơ hội cho sự chiếm dụng tài nguyên vô ích trên máy chủ,
nhất là khi tấn công SYN Flood xảy ra. Để cân bằng giữa hai yếu tố này, giải pháp SSP đưa ra
cơ chế điều chỉnh thời gian chờ theo số lượng kết nối đến máy chủ theo công thức:
𝑡𝑡 = � 𝑇𝑇1, 𝑛𝑛 ≤ 𝐹𝐹 𝑇𝑇2 + (𝑇𝑇1 − 𝑇𝑇2)𝑒𝑒−𝑘𝑘𝑛𝑛−𝑁𝑁𝑁𝑁 , 𝑛𝑛 > 𝐹𝐹 (2.12)
trong đó:
• n là số lượng kết nối TCP dang dở đang tồn tại tới máy chủ đích,
• N là số kết nối TCP đang mở trung bình mà một máy chủ phải xử lý trong điều kiện
bình thường. Trên thực tế giá trị N phụ thuộc vào đặc điểm, tính chất dịch vụ trong
mỗi máy chủ,
• 𝑇𝑇1 là thời gian chờ lớn nhất,
• 𝑇𝑇2 là thời gian chờ nhỏ nhất,
• k là hệ số hiệu chỉnh.
Biểu đồ trong Hình 2.12 mô tả sự thay đổi thời gian chờ t theo số lượng yêu cầu kết nối tới
máy chủ n. Nếu số lượng yêu cầu kết nối n nhỏ hơn ngưỡng N, giá trị t được chọn bằng 𝑇𝑇1 –
thường được chọn bằng giá trị TIME_WAIT được sử dụng bởi máy chủ. Nếu n vượt quá N,
SPM điều chỉnh giảm giá trị t tương ứng với phần vượt quá giữa n so với N. Khi đạt đến giá trị
thời gian chờ t, mặc dù chưa hết thời gian TIME_WAIT, SPM chủ động gửi gói tin CliACK
giả để hoàn tất quá trình bắt tay ba bước trên máy chủ và sau đó gửi gói tin RST để kết thúc kết
nối. Nhờ đó, số lượng kết nối dang dở HOC trên máy chủ được giảm xuống, tài nguyên bộ nhớ
được giải phóng, phục vụ cho các yêu cầu kết nối tiếp theo.
50
Hình 2.11. Thống kê CDF khoảng thời gian giữa gói tin SYN và gói tin CliACK của lưu lượng
mạng thực tế
Hình 2.12. Hiệu chỉnh thời gian chờ của các luồng
Điều chỉnh thời gian chờ đồng thời còn giảm sự chiếm dụng tài nguyên vô ích trên OFS
bởi các mục luồng tạo ra tương ứng với các gói tin SYN tấn công. Các mục luồng này được tạo
ra mà không có gói tin nào được khớp, tồn tại cho đến khi hết thời gian chờ. Khi tấn công xảy
ra, số lượng mục luồng vô ích tăng lên nhanh chóng và làm cạn kiệt không gian bộ nhớ TCAM
của bộ chuyển mạch.
Thiết lập ngưỡng thay đổi chính sách xử lý gói tin SYN tại OFS
Năng lực xử lý của bộ chuyển mạch phụ thuộc nhiều vào cấu hình phần cứng của nó. Năng
lực này là hữu hạn và nó giới hạn điều kiện làm việc của bộ chuyển mạch. Kẻ tấn công
DoS/DDoS thường cố gắng tạo ra lưu lượng vượt quá năng lực xử lý này, khi đó hệ thống
không thể hoạt động hoặc không thể phục vụ một kết nối bình thường khác. Mỗi thiết bị thường
có cơ chế bảo vệ nhờ thiết lập các ngưỡng hoạt động. Giải pháp SPM sử dụng cơ chế xử lý điều
khiển tự động của kỹ thuật SDN/Openflow để thiết lập ngưỡng hoạt động, bảo vệ bộ chuyển
mạch khi có tấn công SYN Flood xảy ra. SPM định nghĩa hai chế độ hoạt động của bộ chuyển
mạch:
- Chấp nhận xử lý gói tin SYN (Activated): Tất cả các gói tin SYN đến được xử lý bình
thường theo quy trình mô tả ở trên.
- Giới hạn xử lý gói tin SYN (Deactivated): Khi ở chế độ này, chỉ một số ngẫu nhiên gói tin
SYN theo xác suất p đặt trước được xử lý. Các gói tin khác bị hủy bỏ.
51
Hình 2.13. Sơ đồ chuyển tiếp chính sách xử lý gói tin SYN tại bộ chuyển mạch
Sự chuyển tiếp giữa trạng thái Activated và Deactivated phụ thuộc vào số lượng kết nối dở
dang n mà bộ chuyển mạch đang xử lý và hai ngưỡng M1, M2 (M1 > M2):
• M1 là ngưỡng cao của n. Khi n vượt quá ngưỡng này, SSP chuyển sang chế độ Giới
hạn xử lý gói tin SYN.
• M2 là ngưỡng về mức bình thường của n. Khi OFS đang làm việc ở chế độ Giới hạn
xử lý gói tin SYN, nếu n giảm xuống mức dưới giá trị ngưỡng M2, thì OFS chuyển về
chế độ Chấp nhận xử lý gói tin SYN, nghĩa là tất cả các gói tin SYN đến được chuyển
tiếp và xử lý bình thường.
Giá trị của M1 và M2 được xác định dựa trên các điều kiện hoạt động bình thường của mỗi
bộ chuyển mạch. Sơ đồ chuyển tiếp giữa hai trạng thái này theo sự thay đổi giá trị n được mô
tả như trong Hình 2.13.
2.3.5. Phân tích và đánh giá hiệu năng của giải pháp
Mô hình thử nghiệm testbed
Hiệu năng của giải pháp SSP được kiểm nghiệm và đánh giá qua mô hình thử nghiệm như
trong Hình 2.14. Mô hình có cấu trúc bao gồm:
• Bộ điều khiển Floodlight [74] được cài đặt trên máy tính chạy hệ điều hành Ubuntu
version 14.04 với cấu hình: CPU Intel TM Core i3-2330M @ 2.2GHz, 500GB HDD,
4GB RAM.
• Bộ chuyển mạch OpenFlow được xây dựng dựa trên một NetGPGA [114] Card của
Xilinx VirtexTM-II pro 50 4x1 Gbps Ethernet; 4.5 MB SRAM và 64 MB DDR2;
FPGA Spartan II.
• Máy chủ cài đặt dịch vụ FTP trên cấu hình CPU Intel TM Core i3-2330M @ 2.2GHz,
500GB HDD, 4GB RAM. Hệ điều hành Windows Server 2012.
• Lưu lượng lành tính được tạo ra từ một phần mềm ứng dụng thực hiện tạo 50 yêu cầu
tải tệp tin tới máy chủ dịch vụ. Lưu lượng tấn công được phát, biên tập bởi công cụ
BoNeSi [115] và phát lại vào hệ thống bởi TCPReplay [116]. BoNeSi được cấu hình
với phương thức tấn công SYN Flood, địa chỉ IP nguồn phát sinh ngẫu nhiên, tốc độ
trong mỗi trường hợp giữ ổn định, tăng dần từ mức 100 pps đến khi vượt khả năng
chịu tải của hệ thống.
52
Hình 2.14. Mô hình testbed đánh giá hiệu năng giải pháp SSP
Các tham số hệ thống và kịch bản thử nghiệm để so sánh giữa các giải pháp:
• Lưu lượng tấn công được phát đi với các tốc độ khác nhau từ 100 pps (gói/s) đến 1.000
pps trong các mô hình hệ thống khác nhau.
• Bằng phương pháp thử tải hệ thống, các giá trị M1 và M2 được chọn lần lượt là M1 =
7.500 và M2 = 7.000, N = 500.
• Căn cứ kết quả thống kê ở biểu đồ Hình 2.11 và giá trị thời gian TIME_WAIT của các
hệ điều hành phổ biến [113], [117], các giá trị T1, T2 được chọn lần lượt là: T1 = 15s,
T2 = 2s, k = 1,5.
Tỷ lệ kết nối thành công của lưu lượng lành tính
Mục tiêu của tấn công DDoS là ngăn cản không cho các lưu lượng lành tính kết nối tới máy
chủ dịch vụ. Một giải pháp chống tấn công DDoS hiệu quả phải đảm bảo tỷ lệ kết nối thành
công cao. Trong mô hình thử nghiệm, hai tham số được đo và tính toán bao gồm:
• Tỷ lệ kết nối thành công được tính bởi số yêu cầu tải tệp tin thực hiện thành công trên
tổng số yêu cầu phát tới máy chủ FTP.
• Thời gian kết nối trung bình được tính bởi khoảng thời gian từ khi client lành tính gửi
gói tin SYN tới khi nhận gói tin dữ liệu đầu tiên trong phiên kết nối từ máy chủ FTP.
Các tham số được đo tron
Các file đính kèm theo tài liệu này:
- luan_an_nghien_cuu_giai_phap_phat_hien_va_giam_thieu_tan_con.pdf