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

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

pdf139 trang | Chia sẻ: trungkhoi17 | Lượt xem: 645 | Lượt tải: 3download
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:

  • pdfluan_an_nghien_cuu_giai_phap_phat_hien_va_giam_thieu_tan_con.pdf
Tài liệu liên quan