Bẫy tần suất

Một phần của tài liệu Giảm thiểu ảnh hưởng của các tấn công từ chối dịch vụ phân tán vào các website (Trang 47 - 51)

Để giải quyết trƣờng hợp kẻ tấn công sử dụng chiến thuật thực hiện tự động gửi dữ liệu luôn ở mức đỉnh đến máy chủ theo một quy luật nhất định trong thời gian TE, chúng tôi thiết kế một bẫy tần suất chu kỳ xuất hiện truy vấn. Theo những thống kê của các mô hình dữ liệu hiện đại, số lƣợng truy vấn đƣợc trình duyệt thực hiện là không giống nhau trong mỗi lần tải trang cũng nhƣ các điểm khởi tạo yêu cầu truy vấn là không giống nhau. Để minh họa rõ hơn, chúng ta hãy quan sát hình 21.a. Ở hình này, có tất cả hai thời điểm có xảy ra truy vấn tải dữ liệu, hai thời gian nghỉ xen kẽ với mức độ khác nhau. Thời gian truy vấn càng ít thì dữ liệu gửi lên càng ít, thời gian truy vấn cần càng nhiều thì lƣu lƣợng gửi đến máy chủ càng lớn hơn. Trong một trang website, các “main-object” – khung HTML tải xuống và “inline-object” – đối tƣợng nhúng nhƣ ảnh, file, iframe … có độ lớn là khác nhau và giữa các “inline-object” với nhau cũng có sự khác nhau. Điểm mấu chốt này rất quan trọng do thể hiện các hành vi xảy ra trong thực tế của trình duyệt tƣơng tác với phía máy chủ.

48 Hình 23 Tần suất gửi tin của truy cập hợp lệ và không hợp lệ theo mô hình mới

Với những truy vấn gửi lên hợp lệ, trong khoảng thời gian một phiên Web- request, mốc thời điểm yêu cầu truy vấn không có sự lặp đi lặp lại theo chu kỳ cũng nhƣ lƣu lƣợng trung bình mỗi request không đồng đều. Ngƣợc lại với những truy vấn của hành vi kết nối không hợp lệ nhƣ hình 24.b, 24.c, các thời điểm bắt đầu thực hiện truy vấn và lƣu lƣợng mỗi truy vấn gửi đến máy chủ Web có sự lặp đi lặp lại cả về số lƣợng lẫn độ lớn.

Nhƣ vậy ngoài bƣớc thực hiện giới hạn băng thông tải trong thời gian thử thách, bƣớc tiếp theo cần xác định xem trong mỗi thời gian thử thách đó, có sự lặp đi lặp lại về số lần truy vấn đến server trong các phiên khác nhau hay không. Nếu có sự lặp đi lặp lại theo chu kỳ hoặc giống nhau hoàn toàn thì rõ ràng đó là dạng thức của các truy vấn tấn công. Thông thƣờng trong mỗi thời gian thực hiện một Web- request có khoảng 6 đến 8 truy vấn xảy ra tự động [15].

Phiên 1 Phiên 2

49 Để tính đƣợc tần suất của số truy vấn PRequest, đơn giản ta xác định các thời điểm xuất hiện gói tin truy vấn từ trình duyệt hƣớng đến server.

Kích cỡ trung bình mỗi lần truy vấn bằng dữ liệu tổng phiên chia cho tần xuất thực hiện truy vấn trong phiên đó. DRequest_avg = F(i)*( DReceived/ PRequest ).

Những giá trị PRequest và DRequest_avg phải nằm trong phạm vi cho phép với những giá trị bắt đầu là các giá trị tƣơng ứng trong thống kê, sau đó cứ mỗi lần vi phạm thì giá trị băng thông hoặc tần xuất phải giảm đi. Giới hạn băng thông này tùy thuộc vào từng website sẽ có những giá trị khác biệt. Thông thƣờng giá trị này nằm trong dải từ 25KB tới 150KB.

Rõ ràng cách thức thực hiện ý tƣởng này tƣơng tự cách làm bẫy lỗi băng thông của E.Doron nhƣng ở đây chúng ta cần phải kiểm tra thêm tần suất xuất hiện của truy vấn do giới hạn băng thông đƣợc nới rộng ra và đặc tính tự truy vấn máy chủ khi ngƣời dùng vẫn đang đọc thông tin trên website.

Kỹ thuật bẫy tần suất đƣợc sử dụng để loại bỏ dạng tấn công sau:

Tấn công “High-burst slow”

Hình thức tấn công này tƣơng tự nhƣ “Simple flooding”, tuy nhiên thay vì tấn công một cách liên tục, kẻ tấn công vẫn duy trì giai đoạn nghỉ xen kẽ các lần truy vấn.

Hình 24 Lƣu lƣợng và thời gian nghỉ lặp đi lặp lại trong các phiên truy cập liên tiếp Đặc điểm nhận dạng của dạng tấn công này là sự lặp lại về mức lƣu lƣợng và thời gian nghỉ giữa các phiên luôn giữ mức ổn định qua nhiều phiên kết nối.

Để đối phó với tình huống nhƣ vậy, WDA [4] có một cơ chế gọi là bẫy phiên ngẫu nhiên. Tƣơng tự, ý tƣởng ở đây là bộ lọc sử dụng bẫy tần xuất ngẫu nhiên để

50 xác định lƣu lƣợng gửi tới server trong một phiên Web-request với khoảng số lƣợng định trƣớc các phiên thử thách – ví dụ trong thời gian 10 phiên truy cập liên tiếp. Ý tƣởng này tƣơng tự nhƣ việc đặt các trạm theo dõi dọc đƣờng cao tốc, cứ ngẫu nhiên trong 20km lại có một trạm giám sát bắn tốc độ, nếu lái xe có cố tình chạy xe quá tốc độ - còn trƣờng hợp của chúng ta là lƣu lƣợng gửi đến máy chủ trong một phạm vi một Web-request - vƣợt qua một ngƣỡng cho phép thì anh ta sẽ bị phạt. Tƣơng tự nhƣ vậy nếu muốn tấn công thì kẻ tấn công phải nghỉ nhiều trên các chặng để tránh bị phát hiện và chính kỹ thuật này sẽ làm suy giảm lƣu lƣợng tấn công dạng High- burst-slow rất tốt.

Ngoài ra để nhận dạng tốt hơn đặc tính của dạng tấn công đó là sự lặp lại của tần xuất sử dụng băng thông gửi lên giống nhau với các thời gian nghỉ đều đặn giống nhau, trong khi tính toán lƣu lƣợng gửi tới máy chủ tại phiên bẫy này chúng ta so sánh với lƣợng lƣu lƣợng đo đƣợc tại thời điểm bẫy trƣớc cũng nhƣ so sánh số lƣợng yêu cầu truy vấn – tính bằng số lần khởi tạo yêu cầu truy vấn trong một Web- request. Nếu chúng có sự trùng nhau liên liếp – nhƣ hình 28, lƣu lƣợng phiên (phần ô vuông tô đậm) là lặp đi lặp lại, số lƣợng truy vấn trong mỗi request luôn là 3- thì chứng tỏ hành vi này nghi ngờ là tấn công, chúng ta sẽ giảm giá trị hàm ƣu tiên f xuống. Rõ ràng, nếu truy vấn càng vi phạm nhiều thì giá trị hàm f càng nhỏ, dẫn đến ƣu tiên phục vụ càng nhỏ. Cách làm này khá giống ý tƣởng kiểm tra lƣợng lƣu lƣợng gửi đến máy chủ Web của kết nối đó trong hai phiên truy cập liên tiếp i và i-1 của Doron [4].

51 Hình 25 Mô hình hoạt động của bộ lọc khi tấn công High-burst-slow

Thông số kẻ tấn công:

- Lƣợng dữ liệu tải lên trong một phiên: BW = Max_TH bytes - Thời gian nghỉ: Min_TH giây

Quá trình hoạt động:

- WDAQ cộng dồn lƣợng dữ liệu gửi lên server với mỗi gói tin đến

- Mỗi phiên gửi một lƣợng Max_TH bytes, thỏa mãn điều kiện của Policer. - Bẫy phiên hoạt động, chọn một phiên bất kỳ

 Nếu không bị bẫy, gói tin của phiên đó vào High queue (Gói P1)  Nếu bị bẫy, gói tin của phiên đó vào Low queue (Gói P2 và P3) - Khi Low queue chƣa bị đầy, gói tin vào đây vẫn đƣợc phục vụ, mặc dù

kém hơn so với gói tin vào hàng đợi High queue (Gói P2) - Khi Low queue đầy, gói tin sẽ bị hủy bỏ (Gói P3)

Điểm cốt lõi là chọn mốc khởi tạo lƣu lƣợng tối đa đƣợc phép gửi trong một phiên sử dụng Web-request là bao nhiêu cũng nhƣ khoảng thời gian chúng ta sẽ đặt bẫy. Ngƣỡng cho phép chúng ta có thể tham khảo thống kê của phƣơng pháp Lee&Gupta, rơi vào khoảng trung bình 25KB, tối đa là 6MB [15] và khoảng thời gian thử thách chúng tôi chọn là 20s – tƣơng đƣơng độ dài trung bình của 4 phiên truy cập.Tùy theo đặc điểm từng loại Website mà chúng ta sẽ chọn các mốc khởi tạo tốt nhất. Chẳng hạn các Website hỗ trợ lƣu lƣợng upload lớn thì ngƣỡng băng thông tối đa và thời gian thử thách sẽ lớn hơn các Website tin tức thông thƣờng.

Một phần của tài liệu Giảm thiểu ảnh hưởng của các tấn công từ chối dịch vụ phân tán vào các website (Trang 47 - 51)

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

(84 trang)