Vai trò ảnh hƣởng của công nghệ mới trong mô hình lƣu lƣợng hiện đại

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

2.3.1 WebCache

Webcache là công nghệ sử dụng bộ nhớ tạm thời để lƣu giữ bản sao của trang Web nhƣ các trang HTML, ảnh, CSS, Javascript…. để giảm tải băng thông, giảm độ trễ của truyền thông giữa client và webserver, mang lại trải nghiệm truy cập tốt hơn với ngƣời dùng. Tốc độ vào trang ngay tức thì dĩ nhiên sẽ làm client cảm tình truy cập thƣờng xuyên hơn thay vì vào một trang mà phải đợi đến hàng chục giây để tải xong.

Các trạng thái của Cache

Cache hit: Nếu thời gian trong các gói dữ liệu cache chƣa hết hạn so với thời

điểm hiện tại, thì trình duyệt sẽ đọc các phần dữ liệu trực tiếp từ cache – rồi ghép với phần không đƣợc đặt cache để hiển thị. Kết quả là tốc độ hiển thị rất nhanh – nếu tỉ lệ dữ liệu bị cache/ dữ liệu toàn trang là lớn.

Nếu thời gian của các gói dữ liệu cache đã hết hạn thì nó sẽ truy vấn Web server hỏi xem nội dung của URL đó đã đƣợc cập nhật chƣa. Đây là một truy vấn hoàn toàn mới. Tại đây sẽ xuất hiện hai trƣờng hợp:

Cache revalidate hit: nếu trang không đƣợc cập nhật thì server sẽ trả lời trình

duyệt với HTTP header 304 và thông báo trang chƣa đƣợc cập nhật, gia hạn thời gian hết hạn của cache, lúc này trình duyệt sẽ cập nhật thời gian các gói dữ liệu và lấy luôn những dữ liệu này để hiển thị.

Cache miss: Nếu server thông báo trang có thay đổi mới thì nó sẽ trả về HTTP

Header và gói chứa dữ liệu nhƣ bình thƣờng.

33 Hình 8 Mô hình hoạt động của cache

Các mô hình Webcache

Browse Cache: Khi ngƣời dùng truy cập máy chủ Web lần đầu tiên, nó sẽ tải dữ liệu của trang URL ngƣời dùng quan tâm, trình duyệt sẽ lƣu một phần các nội dung HTML, Javascript, CSS, ảnh trên trang đó [chỉ lƣu với tỉ lệ nhất định] lại trên thƣ mục tạm của trình duyệt [temporatory files Internet Explorer chẳng hạn] – dữ liệu này gọi là local cache.

Hình 9 Mô hình Browser Cache

Web server cache, Proxy cache: Với mô hình dạng này, các nhà cung cấp

dịch vụ lƣu trữ chủ yếu đặt vị trí của máy chủ, trung tâm dữ liệu chứa bản sao của trang Web gốc phân tán khắp nơi trên thế giới. Với những yêu cầu truy vấn phục vụ từ bất kỳ ngƣời dùng nào thì máy chủ Web gần nhất với ngƣời dùng sẽ thực hiện

34 đáp ứng lại dữ liệu thay vì phải truy vấn máy chủ gốc. Rõ ràng cơ chế này giảm đáng kể thời gian trễ khi tải trang do phải truy vấn qua rất nhiều Router:

Hình 10 Dùng các CDN Server chứa bản sao của Website để phục vụ client theo vị trí gần nhất

Ảnh hƣởng của Webcache tới hành vi lƣu lƣợng Web thế hệ mới

Trong các mô hình thống kê dữ liệu của Choi & Lim hoặc các mô hình thống kê mới đều có tham số thống kê số yêu cầu truy vấn mà dữ liệu trả về là từ cache hoặc không từ cache. Về cơ bản trong lƣu lƣợng qua lại trên web vẫn tồn tại những truy vấn có dữ liệu trả về ngay trực tiếp từ cache mà không phát sinh thêm lƣu lƣợng dữ liệu tuy nhiên nó không ảnh hƣởng đến thời gian đọc trang của ngƣời dùng. Do đó công nghệ cache chỉ làm tăng tốc độ tải và tốc độ hiển thị dữ liệu mà không làm thay đổi bản chất truy vấn từng đối tƣợng của trình duyệt với máy chủ Web.

2.3.2 Ajax

2.3.2.1 Ajax là gì

Ajax viết tắt của Asynchronous JavaScript and XML nó không phải là một công nghệ mà là một tập các kỹ thuật phát triển Web có sự liên hệ với nhau đƣợc sử dụng ở phía trình duyệt máy ngƣời để tạo ra các ứng dụng Web không đồng bộ. Về cơ bản các ứng dụng này có thể gửi và lấy dữ liệu không đồng bộ từ máy chủ mà không can thiệp vào màn hình hiển thị cũng nhƣ hành vi của trang hiện tại. Dữ liệu có thể đƣợc lấy ra từ kết quả trả về của máy chủ bằng cách sử dụng đối tƣợng

35 XMLHttpRequest. Sử dụng định dạng XML trong truy vấn Ajax là không bắt buộc, thực tế hiện nay ngƣời ta thích sử dụng định dạng JSON phổ biến hơn do tính dễ dùng của nó.

Hình 11 Mô hình hoạt động cơ bản của Ajax so với truy vấn truyền thống Thực chất trong công nghệ Ajax, trình duyệt đƣợc trang bị máy Ajax Engine mới viết bằng Javascript. Bộ máy Engine này là chịu trách nhiệm cho cả việc dựng lại giao diện ngƣời dùng thấy và giao tiếp với các máy chủ trên danh nghĩa của ngƣời dùng.

Nhƣ hình vẽ 12, Ajax Engine làm nhiệm vụ trung gian và chạy trong các tiến trình ngầm, ngƣời dùng không nhìn thấy đƣợc mà chỉ nhìn thấy kết quả trả về khi thực hiện một thao tác vào nơi có hỗ trợ truy vấn và hiển thị dữ liệu qua Ajax. Bình thƣờng để ngƣời dùng biết rằng trình duyệt sẽ thao tác truy vấn dữ liệu qua Ajax tại đối tƣợng đó, các nhà phát triển thƣờng thêm biểu tƣợng đồng hồ cát hoặc xoáy xoáy chờ đợi để ngƣời dùng biết rằng trình duyệt đang thực hiện một truy vấn gì đó đến server. Khi ngƣời dùng muốn thực hiện một truy vấn, một yêu cầu sẽ đƣợc gửi qua lời gọi Javascript đến bộ Ajax Engine. Từ đây nếu có phản hồi trở lại ngƣời dùng nhƣ kiểm tra dữ liệu, chỉnh sửa dữ liệu… thì cũng không cần xác nhận từ server mà Engine này sẽ trực tiếp làm việc đó. Nếu Engine cần thêm bất cứ dữ liệu nào từ máy chủ thì nó sẽ tự gửi yêu cầu trả về dữ liệu từ máy chủ sử dụng XML hoặc JSON mà không làm ngƣng trệ bất kỳ tƣơng tác nào với ngƣời dùng với ứng dụng hiện tại.

36 Hình 12 Mô hình hoạt động chi tiết của Ajax – minh họa của Jesse James Garrett

2.3.2.2 Ảnh hƣởng của Ajax tới hành vi lƣu lƣợng Web thế hệ mới

Chính bởi lợi ích rất lớn của công nghệ Ajax khi tải dữ liệu mà không làm ảnh hƣởng tới tƣơng tác của ngƣời dùng trên trang web mà hiện nay hầu hết các ứng dụng Web hiện đại đều sử dụng công nghệ này. Do tính phổ biến của nó mà những đặc tính truy cập giữa trình duyệt và máy chủ có sự thay đổi lớn. Mô hình ON – OFF không thể áp dụng đƣợc vào những trang web có sử dụng Ajax do trong thời gian OFF ngƣời dùng đọc trang, vẫn tồn tại những truy vấn lấy dữ liệu xảy ra ẩn với

37 ngƣời dùng. Điều tƣơng tự xảy ra với công nghệ RSS với thời gian cập nhật dữ liệu theo định kỳ.

2.4 Chọn lựa mô hình hóa phù hợp

Vấn đề chọn lựa đúng một mô hình dữ liệu chuẩn ảnh hƣởng rất lớn đến độ chính xác của một phƣơng pháp đề xuất có sử dụng kết quả thống kê của mô hình đó. Thông qua những thống kê và kết quả nghiên cứu đã đƣợc chứng minh tính đúng đắn, chúng tôi chọn mô hình Lee&Gupta [14] và một số kết quả thống kê mới nhất từ các mô hình khác để bổ sung những thuộc tính đầy đủ của hành vi truy cập hợp lệ của ngƣời dùng Web ngày nay.

38

CHƢƠNG III: ĐỀ XUẤT CẢI TIẾN VÀ GIẢI PHÁP 3.1 Phân tích

Bài toán đặt ra từ đầu là nghiên cứu giải pháp để giảm thiểu tấn công từ chối dịch vụ phân tán vào các Website. Chúng tôi cũng đã chọn phƣơng pháp dựa theo đặc tính lƣu lƣợng dữ liệu truy vấn Webserver để tìm cách phân loại lƣu lƣợng bình thƣờng và lƣu lƣợng của kẻ tấn công khi máy chủ có lƣợng lớn kết nối cùng truy cập vào một lúc. Để hiểu rõ hơn đƣợc những phần nào là cải tiến chúng tôi thực hiện, phần nào đã có các kết quả từ nghiên cứu khác, chúng tôi trình bày những hạn chế khi áp dụng mô hình dữ liệu mới vào bộ lọc cũ, hiệu năng suy giảm cụ thể ra sao, chúng tôi đã cải tiến và tạo ra quy trình xử lý mới nhƣ thế nào trong những mệnh đề logic thể hiện rõ bài toán cần thực hiện. Mục tiêu của chúng tôi là từ những thay đổi thuộc tính trong đặc tính của lƣu lƣợng, chúng tôi tìm cách xây dựng cách thức xử lý mới để so sánh, nhận dạng từng thuộc tính của lƣu lƣợng theo những trọng số phù hợp. Những ý tƣởng đƣợc đề xuất từ khi bắt đầu nghiên cứu cho đến khi cho ra kết quả cũng sẽ đƣợc mô tả cụ thể nội dung, cách hiện thực hóa, các vấn đề nảy sinh và cách giải quyết vấn đề. Ngoài ra, trƣớc khi chúng tôi thực hiện nghiên cứu này thì đã có một số ý tƣởng sử dụng mô hình dữ liệu cũ cũng nhƣ theo cách tiếp cận khác cùng giải quyết vấn đề. Do vậy, chúng tôi thực hiện thêm một việc đó là so sánh các kiến trúc này với kiến trúc do chúng tôi xây dựng lên.

3.1.1 Bài toán cần chứng minh

Thông qua cách tiếp cận về đánh giá độ tin cậy khi xây dựng giải pháp mới từ [4,9,17,21] với những mô hình dữ liệu đƣợc chọn và cùng mục đích là phân loại lƣu lƣợng, ngƣời ta rút ra kết luận rằng: Phƣơng pháp mới đề xuất đƣợc gọi là có tính hiệu quả nếu nó chứng minh đƣợc các điều kiện cơ bản sau

 Chứng minh với mô hình dữ liệu hành vi mới, phƣơng pháp giải quyết cũ

không còn chính xác hoặc không hiệu quả.

 Chứng minh với phương pháp mới đề xuất, có thể giải quyết được cả hai

trường hợp: cho qua với các lƣu lƣợng hợp lệ mới, cũ và ngăn chặn hiệu quả

39 Để chứng minh các mệnh đề trên chúng ta có sử dụng hai phƣơng pháp: suy diễn toán học [6] hoặc chứng minh thông qua thực nghiệm Heuristic [4]. Chúng tôi chọn cách chứng minh thông qua thực nghiệm. Do khi áp dụng các mô hình dữ liệu khác nhau đƣợc thống kê theo nhiều phân phối khác nhau Lognormal, Gamma, Weibull… nên để xác suất tìm đƣợc mối liên hệ giữa các phƣơng pháp và chứng minh thông qua toán học không phải dễ dàng.

3.1.2 Mệnh đề 1

Khi áp dụng mô hình dữ liệu hành vi Choi&Lim vào phương pháp cũ nhƣ của E.Doron là hiệu quả nhƣng nếu áp dụng mô hình dữ liệu hành vi mới của Lee & Gupta vào phƣơng pháp đó chưa chắc là hiệu quả.

Hay viết theo quan điểm toán học logic thì:

Một hành vi là hợp lệ trong mô hình Choi & Lim cũng phải hợp lệ trong

hình Lee & Gupta. Trong khi một hành vi hợp lệ trong mô hình Lee & Gupta chƣa

chắc là hợp lệ trong mô hình Choi&Lim.

Và thực chất là khi áp dụng mô hình mới Lee&Gupta [14] vào kiến trúc phần mềm cũ WDA [4], tỉ lệ phát hiện sai tăng lên nhanh chóng. Sở dĩ nhƣ vậy là bởi:

Thứ nhất, các nghiên cứu của Choi&Lim đã giả thuyết là bỏ qua các truy vấn tự động trong thời gia OFF lúc mà ngƣời dùng đọc thông tin trên website. Quá trình ON – OFF tách bạch thành hai khoảng thời gian riêng biệt. Thời kỳ ON trình duyệt sẽ tải toàn bộ dữ liệu và hiển thị thông tin đến ngƣời dùng. Thời kỳ OFF là thời kỳ ngƣời dùng đọc dữ liệu không có thêm dữ liệu truy vấn. Những thông số đo đƣợc cũng dựa trên phân loại thống kê này. Nhƣng thống kê cho thấy, kết quả của mô hình Lee&Gupta là các kết quả mở rộng của mô hình trƣớc, có sự đo đạc băng thông, lƣu lƣợng bao quát và mới hơn, sử dụng chung một thuật toán đánh giá nên dĩ nhiên một hành vi sử dụng ít băng thông hơn, có thời gian nghỉ tƣơng đƣơng sẽ là hợp lệ trong mô hình mới. Các kết quả thống kê đặc điểm lƣu lƣợng trong những trƣờng hợp không có phát sinh các truy vấn Ajax hoặc RSS là gần nhƣ tƣơng đƣơng mặc dù lƣu lƣợng các đối tƣợng trong mô hình thống kê mới có sự chênh lệch và lớn hơn so với trƣớc. Thống kê bên dƣới chứng tỏ luận cứ này:

40 Hình 13 Kết quả thống kê thuộc tính nổi bật của mô hình Choi & Lim [15]

Hình 14 Thống kê thuộc tính nổi bật của mô hình Lee&Gupta [14]

Thứ hai, với các dạng truy vấn mà ngay cả trong thời gian ngƣời dùng đọc, trình duyệt cũng có thể tự động lấy thêm dữ liệu – nhƣ cập nhật định kỳ RSS, tự động gửi thêm dữ liệu thống kê đến các trang Web thống kê quảng cáo…thì rõ ràng cách phân loại của Choi & Lim đã bị vi phạm, lƣợng dữ liệu truy vấn và thời gian OFF không còn phân biệt mà sẽ trộn lẫn nhau, dẫn đến các kết quả thống kê khác biệt. Dữ liệu gửi lên trong mô hình mới nhiều hơn và quãng thời gian thực sự là OFF ngắn hơn nhiều lần cũng nhƣ bị chia nhỏ trong cả phiên truy nhập. Minh họa sau sẽ giải thích điều đó:

Hình 15 Minh họa mô hình ON – OFF của Choi & Lim

41 Hình 16 Minh họa mô hình dữ liệu mới

Hình 15 là mô hình ON-OFF theo nghiên cứu của Choi&Lim có mức phân hóa rõ rệt thời gian tải dữ liệu ON và thời gian nghỉ OFF. Trong khi trong hình 16, thời gian tải dữ liệu bị chèn xen kẽ vào thời gian nghỉ khi ngƣời dùng đọc trang. Nhƣ vậy, khó có thể so sánh hai ngƣỡng băng thông gửi lên nhƣ nhau trong cùng một khoảng thời gian là một phiên Web-request.

Kịch bản của mô hình cũ: Trong 8 tiếng, tác giả thiết kế 3 client hợp lệ lần lƣợt kết nối tới server vào các thời điểm khác nhau. Các kết nối hợp lệ này tuân theo thời gian nghỉ ngẫu nhiên trong phạm vi từ 5 giây đến 30 giây và lƣu lƣợng ngẫu nhiên trong khoảng từ 30KB đến 100KB. Sau đó tác giả tiến hành đo mẫu tỉ lệ phiên 3 client truy cập thành công trong các trƣờng hợp: không có tấn công xảy ra, có tấn công dạng đơn giản (Simple Flooding), có tấn công dạng phức tạp (Low-rate). Kết quả thu đƣợc tác giả sẽ so sánh tỉ lệ phiên truy cập thành công của client hợp lệ khi có áp dụng bộ lọc WDA [4] và khi không áp dụng bộ lọc WDA để tìm độ hiệu quả của thuật toán.

Để chứng minh đƣợc tỉ lệ sai sót lớn khi áp dụng mô hình dữ liệu mới vào phƣơng pháp cũ, chúng tôi sẽ giữ nguyên kịch bản mô phỏng nhƣng thay đổi cách kết nối của 3 client hợp lệ vào server trong các thời điểm khác nhau đó. Trong thời gian nghỉ ngẫu nhiên nhƣ kịch bản cũ, chúng tôi vẫn sẽ cho phép client này thiết lập kết nối mới tới server nhƣ mô hình Lee&Gupta, đồng thời lƣợng dữ liệu upload cũng lớn hơn từ 50KB đến 150KB hoặc 2MB đến 6MB.

Kết quả thực nghiệm trong thực tế cũng chứng minh rằng: khi áp dụng mô hình dữ liệu mới vào phƣơng pháp cũ, khi số lƣợng ngƣời dùng hợp lệ tăng lên thì tỉ

42 lệ phát hiện sai của WDA tăng lên nhanh chóng nếu dữ liệu gửi lên của mỗi ngƣời dùng là lớn. Nhƣ vậy mệnh đề 1 đã đƣợc chứng minh bằng thực nghiệm.

Hình 17 Hiệu quả của thuật toán cũ trên mô hình mới Và khi tăng số ngƣời dùng hợp lệ cùng truy cập vào máy chủ website.

43

3.1.3 Mệnh đề 2

Chứng minh rằng với phương pháp mới đề xuất, có thể giải quyết đƣợc cả hai

trường hợp: cho qua với các lưu lượng hợp lệ mới, cũ và ngăn chặn hiệu quả đƣợc

các dạng tấn công đã biết.

Để làm rõ và chứng minh đƣợc tính hiệu quả của phƣơng pháp đề xuất, chúng tôi sử dụng phƣơng pháp heuristic thử nghiệm và các kết quả mở rộng sẽ đƣợc thảo luận cụ thể trong chƣơng 4 khi áp dụng phƣơng pháp mới cho các dạng tấn công đã biết.

3.2 Chiến thuật phân loại lƣu lƣợng hợp lệ và lƣu lƣợng tấn công 3.2.1 Bẫy thời gian 3.2.1 Bẫy thời gian

Cơ sở của phƣơng pháp là xác định ranh giới giữa các kết nối HTTP trong một Web-request. Trong một nghiên cứu về lƣu lƣợng HTTP, B.Mah [16] phát hiện ra rằng để xác định số lƣợng dữ liệu trong một phiên yêu cầu truy vấn và nhận dữ liệu

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

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

(84 trang)