Phân biệt giai đoạn ON và OFF

Một phần của tài liệu Chống tấn công từ chối dịch vụ tốc độ thấp trên Web (Trang 37)

Để WDAQ hoạt động tốt policer cần phải quyết định, với mỗi client, khi một session Web bắt đầu cũng như kết thúc. Điều này có thể được thực hiện bằng phương pháp “kiểm tra chi tiết gói tin” thông qua việc đọc tải dữ liệu HTTP và dựa theo giao thức. Tuy nhiên, những phương pháp này tương đối phức tạp, và thường yêu cầu dựa trên cả lưu lượng uplink và downlink. Thay vào đó, các tác giả đề xuất một kỹ thuật đơn giản hơn nhiều, và là đủ chính xác cho nhu cầu của WDAQ: dựa theo “Surge” [27], khi policer thấy một gói tin từ một client mà không chuyển bất kỳ gói tin nào trong ít nhất là 0,8 giây, các policer coi như kết thúc thời gian yên tĩnh của một giai đoạn OFF, và bắt đầu một giai đoạn ON mới. Ngược lại, khi trước đó đã có một gói tin đến trong khoảng ít hơn 0,8 giây trước, thì gói mới nhận được tính là một phần của giai đoạn ON hiện tại.

Cơ chế rất đơn giản này có một số điểm yếu. Đầu tiên nó khiến WDAQ không bao giờ xác định được một giai đoạn OFF nào ngắn hơn 0,8 giây. Tuy nhiên, theo mô hình lưu lượng giao thông Web của Choi-Limb, giai đoạn OFF ngắn như vậy rất ít khi xảy ra. Khi điều này xảy ra, WDAQ coi như hai session Web riêng biệt là một session, dẫn tới session bị gộp có thể vượt quá ngưỡng băng thông của nó. Tuy nhiên, WDAQ được thiết kế để xử lý tình huống không thường xuyên mà STH vượt quá bởi phiên hợp lệ, vì vậy kịch bản này không phải là một mối quan tâm lớn.

Một kịch bản tinh tế hơn, được phát hiện trong quá mô phỏng, xảy ra trong điều kiện tắc nghẽn lưu lượng mạng, đó là điển hình của các cuộc tấn công băng thông. Khi gặp tắc nghẽn, các gói tin hợp pháp có thể bị loại bỏ, khiến cho TCP thực hiện truyền lại chúng sau một thời gian “Retransmit Time Out” (RTO). Mặc định các RTO bắt đầu từ 1 giây và tăng theo cấp số nhân sau đó. Điều này gây ra hai vấn đề với WDAQ: đầu tiên, gói truyền lại được quan sát thấy sau một thời gian nghỉ ít nhất 1 giây (tức là> 0,8 giây), do đó WDAQ đánh dấu là một giai đoạn OFF và bắt đầu một giai đoạn ON mới, do đó dẫn tới tách session làm hai session riêng biệt. Nhưng tệ hơn, thời gian RTO được tạo ra cho giai đoạn OFF này là ngắn hơn nhiều so với AOP_Low_TH (thời gian trung bình giai đoạn OFF trong mô hình Choi-Limb là 39,5 giây; AOP_Low_TH là 20 giây WDA). Vì vậy, các AOP của client rất có khả năng giảm xuống nhỏ hơn giá trị AOP_Low_TH dẫn tới một lượng lớn lưu lượng truy cập của mình bị đẩy xuống hàng đợi thấp có độ ưu tiên thấp, dẫn tới nguy cơ bị hủy gói tin do tắc nghẽn, khiến tình hình thêm trầm trọng.

Để khắc phục tình trạng này, cần thêm vào một xử lý sau để quyết định khi một giai đoạn ON mới được định nghĩa: khi một gói tin mới đến sau một thời gian yên tĩnh lớn hơn 0,8 s, nếu gói tin trước đó của client đã bị hủy bỏ từ một trong những hàng đợi WDAQ thì gói này vẫn thuộc giai đoạn ON của session đó, không có giai đoạn ON mới nào được tạo ra.

Một phần của tài liệu Chống tấn công từ chối dịch vụ tốc độ thấp trên Web (Trang 37)

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

(62 trang)