Trạng thái tối thiểu

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 36)

Các cơ chế WDAQ mô tả cho đến nay bị một xu hướng khiến thỉnh thoảng WDAQ trừng phạt các session hợp pháp trong kịch bản sau đây: Nếu một session gửi một số yêu cầu HTTP nhanh chóng, hoặc vượt quá ngưỡng băng thông của session một vài lần liên tiếp, WDAQ giảm ngưỡng session theo cấp số nhân rất nhanh và nếu không được cải thiện, ngưỡng session có thể giảm quá thấp đến mức mà session sẽ tiếp tục vượt quá ngưỡng này trên tất cả các yêu cầu trong tương lai dẫn đến tất cả các gói tin tương lai đều bị đẩy vào hàng đợi có độ ưu tiên thấp. Vì vậy, các tác giả quyết định rằng ngưỡng băng thông phải có một giá trị tối thiểu Session_Min_TH byte.

Thật không may, điều ràng buộc này có thể bị lạm dụng bởi một kẻ tấn công bằng cách sử dụng chiến lược sau đây: nhiều lần gửi Session_Min_TH bytes, sau đó nghỉ ngơi một vài giây. Ta gọi kẻ tấn công này là một kẻ tấn công “low-burst fast”. Chiến lược tấn công này không phải là tích cực vì nó phát đi một băng thông tương đối thấp và có một khoảng dừng giữa các lần gửi, nhưng nếu không có cơ chế phòng chống bổ sung thì các cuộc tấn công có thể kéo dài vô thời hạn. Do đó, các tác giả đã thêm một số cơ chế chuyên dụng để xử lý trường hợp này.

Đầu tiên, ngưỡng STH[i] được thiết lập để đạt mức Session_Min_TH chỉ khi client có AOP lớn hơn một giá trị AOP_SUS_TH nào đó. Cần đảm bảo rằng giá trị AOP_SUS_TH < AOP_Low_TH, để cho một client hợp pháp khó có thể có một AOP thấp như vậy. Thứ hai, một client hợp pháp sẽ chỉ cần bảo vệ bởi các ràng buộc cận dưới này trong một số trường hợp đặc biệt và không liên tục. Mặt khác, các kẻ tấn công “low-burst fast” sẽ cần ràng buộc cận dưới một cách liên tục. Do đó policer phân bổ credit cho mỗi client cho phép nó đạt đến trạng thái tối thiểu (và có giới hạn cận dưới giúp bảo vệ ngưỡng session). Các policer phân bổ một giá trị Minimum_State_Credits cho mỗi client sau mỗi 50 session Web. Vì vậy, để được vào các trạng thái tối thiểu client cần phải đáp ứng được các yêu cầu sau:

(a) STH[i] <Session_Min_TH, (b) AOP> AOP_SUS_TH, và

(c) Có một số lượng > 0 các credit trạng thái tối thiểu.

Một khi client đi vào trạng thái tối thiểu, nó có được giá trị: STH[i] := Session_Min_TH và AOP := AOP_Low_TH (chỉ nếu AOP <AOP_Low_TH). Một credit được lấy từ client cho mỗi trạng thái tối thiểu nó đạt tới. Số lượng tích lũy credit

được gán vào Minimum_State_Max_Credits, để ngăn chặn những kẻ tấn công gắn kết một chiến lược tấn công “low-burst fast” ngay cả trong một thời gian hạn chế. Như một hệ quả của cơ chế phòng vệ trạng thái tối thiểu, một khi tấn công “low-burst fast” sử dụng tất cả các credit của mình, hắn sẽ không đáp ứng các yêu cầu trạng thái tối thiểu và lưu lượng giao thông còn lại sẽ được gửi đến hàng đợi thấp.

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 36)

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

(62 trang)