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

Một phần của tài liệu (LUẬN án TIẾN sĩ) nghiên cứu năng lực cạnh tranh của điểm đến du lịch thừa thiên huế, việt nam (Trang 68)

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 q 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 ở

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

• 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 tố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ờ q 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 ngun 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ả để hồn tất q 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.

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

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.

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 tốn bao gồm:

• Tỷ lệ kết nối thành cơng được tính bởi số 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 trong hai mơ hình SSP và Openflow chuẩn với các tốc độ tấn cơng khác nhau. Ở mơ hình Openflow chuẩn, các tham số của các mục luồng được xác định bởi 4 tham số: địa chỉ IP nguồn, địa chỉ IP đích, số hiệu cổng nguồn và số hiệu cổng đích. Với mỗi tốc độ tấn cơng, lưu lượng tấn công được phát trong thời gian 100s. Sau khi lưu lượng tấn công được phát đi được 20s, lưu lượng lành tính được phát đi với tốc độ 50 yêu cầu tải tệp tin/s. Kích thước tệp tin trên máy chủ có dung lượng 2,16 MB.

Hình 2.15. Tỷ lệ kết nối thành cơng từ lưu lượng lành tính khi máy chủ chịu tấn công DDoS với cường độ tấn cơng khác nhau

Hình 2.16. Thời gian kết nối trung bình của lưu lượng lành tính khi máy chủ chịu tấn cơng với cường độ tấn công khác nhau

Kết quả cho thấy:

• Giải pháp SSP cải thiện đáng kể tỷ lệ kết nối thành công so với mơ hình Openflow chuẩn, vẫn đạt mức 85% trong khi tỷ lệ kết nối ở mơ hình Openflow chuẩn suy giảm xuống 5% ở tốc độ tấn công 600pps. Ở tốc độ tấn công 700 pps, lưu lượng lành tính khơng thể kết nối tới máy chủ ở giải pháp Openflow, trong khi ở SSP vẫn duy trì tỷ lệ kết nối cao và suy giảm xuống mức 58% ở tốc độ tấn cơng 1.000 pps.

• Thời gian kết nối trung bình trong mơ hình Openflow chuẩn tăng mạnh lên đến 120ms ở tốc độ tấn công 600pps trong khi giá trị tham số này duy trì ở mức ổn định dưới 10ms. Tuy nhiên ở tốc độ tấn cơng dưới 100pps, thời gian kết nối trung bình của giải pháp Openflow chuẩn thấp hơn so với SSP vì cơ chế kiểm sốt q trình bắt tay ba bước ở giải pháp này.

(a)

(b)

(c)

Hình 2.17. Số kết nối đang mở tại máy chủ với các cường độ tấn công khác nhau

Số lượng kết nối dang dở trên máy chủ

Mục tiêu của tấn công SYN Flood là kẻ tấn công tạo ra hàng loạt các kết nối dang dở trên máy chủ nhằm làm cạn kiệt tài nguyên kết nối mạng và máy chủ không thể thực hiện kết nối với các lưu lượng lành tính. Để đánh giá hiệu năng của giải pháp, số lượng kết nối dang dở trên máy chủ được thống kê với tần suất 1 lần/s bằng lệnh SYN-RECEIVED trong hai mơ hình: sử

dụng giải pháp SSP và phát lưu lượng tấn công trực tiếp vào máy chủ FTP cài đặt hệ điều hành Windows Server 2012 (Non SSP). Kết quả thống kê số lượng kết nối dang dở trên máy chủ ở các tốc độ tấn công s = 100 pps, 200 pps và 500 pps được thể hiện tương ứng trong Hình 2.17 a, b, c. Kết quả cho thấy:

• Ở giai đoạn đầu của q trình phát lưu lượng tấn cơng, số kết nối dang dở tăng nhanh. Khi đạt đến ngưỡng cảnh báo, cơ chế bảo vệ SYN Flood của máy chủ Windows thực hiện xóa bỏ các kết nối TCP có thời gian chờ đạt mức 15s. Với tốc độ tấn cơng được duy trì đều, số lượng kết nối dang dở trong cả ba trường hợp sau thời gian quá độ được giữ ổn định ở mức xấp xỉ 1.500 HOC, 3.000 HOC và 7.500 HOC tương ứng với tốc độ tấn công 100 pps, 200 pps và 500 pps.

• Ở giải pháp SSP, các kết nối dang dở bị xóa bỏ dựa trên khơng chỉ thời gian tồn tại của từng kết nối mà còn dựa vào số lượng kết nối dang dở đang tạo ra trên máy chủ. Nhờ đó số lượng kết nối dang dở giữ ổn định ở một ngưỡng cố định xung quanh 1.000 HOC mà khơng có sự biến động lớn như ở giải pháp của Windows. Số lượng HOC giảm xấp xỉ 80% ở tốc độ tấn công 500 pps.

Thời gian tồn tại của các mục luồng trên bộ chuyển mạch

Để đánh giá ảnh hưởng của giải pháp tới hiệu năng hoạt động của kiến trúc SDN/Openflow trong đó có bộ chuyển mạch, so sánh SSP với cơ chế CM của giải pháp Avant-Guard đã trình bày ở mục 1.6.2, tham số thời gian tồn tại của các mục luồng được thống kê, tính tốn và so sánh.

• Đối với cơ chế CM, cơ chế ủy nhiệm gói tin SYN được thực hiện tại bộ chuyển mạch, sau khi xác thực quá trình bắt tay ba bước, mục luồng được tạo ra và được duy trì để thực hiện trao đổi gói tin dữ liệu, chuyển đổi cặp giá trị SEQ_Num/ACK_Num, nên thời gian tồn tại mục luồng của kết nối TCP được tính theo cơng thức:

𝑇𝑇𝐹𝐹𝐹𝐹_𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙_𝐶𝐶𝐶𝐶 = 𝑇𝑇𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙+ 𝑇𝑇𝑙𝑙𝑖𝑖𝑙𝑙𝑙𝑙𝑖𝑖𝑙𝑙𝑖𝑖𝑙𝑙𝑖𝑖𝑖𝑖𝑡𝑡− 𝑇𝑇ℎ𝑎𝑎𝑛𝑛𝑖𝑖𝑎𝑎ℎ𝑎𝑎𝑘𝑘𝑙𝑙 (2.13) trong đó:

𝑇𝑇𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙 là thời gian tồn tại thực của luồng và được tính bằng khoảng thời gian xuất hiện

gói tin đầu tiên và gói tin cuối cùng của luồng khi đi qua bộ chuyển mạch.

𝑇𝑇𝑙𝑙𝑖𝑖𝑙𝑙𝑙𝑙𝑖𝑖𝑙𝑙𝑖𝑖𝑙𝑙𝑖𝑖𝑖𝑖𝑡𝑡 là thời gian chờ của 1 luồng.

𝑇𝑇ℎ𝑎𝑎𝑛𝑛𝑖𝑖𝑎𝑎ℎ𝑎𝑎𝑘𝑘𝑙𝑙 là thời gian quá trình bắt tay 3 bước cần diễn ra.

• Đối với giải pháp SSP, thời gian tồn tại mục luồng trên bộ chuyển mạch của một kết nối TCP (mục luồng FE5x trong Bảng 2.7) được tính từ khi OFS nhận gói tin SYN-ACK từ máy chủ đến khi gói tin xác nhận CliACK từ máy khách xuất hiện. Khoảng thời gian này xấp xỉ bằng khoảng thời gian bắt tay ba bước của luồng:

Để đánh giá và so sánh thời gian chiếm dụng của các mục luồng xử lý kết nối TCP của hai giải pháp trên, bộ dữ liệu CAIDA 2013 [107] được phân tích và thống kê. Các tham số của tập

Một phần của tài liệu (LUẬN án TIẾN sĩ) nghiên cứu năng lực cạnh tranh của điểm đến du lịch thừa thiên huế, việt nam (Trang 68)

Tải bản đầy đủ (PDF)

(139 trang)