Sử dụng một mạng mô phỏng ở quy mô lớn (dùng MicroGrid mô phỏng mức gói trực tuyến) [15], [64], để nghiên cứu hiệu suất ứng dụng cung cấp bởi mạng Proxy trước các cuộc tấn công DoS như mô tả trong hình 4-2. Sau đó sử dụng các ứng dụng, chương trình tấn công thực để đưa những thí nghiệm đó vào trong môi trường mạng đã mô phỏng.
a.) Kịch bản chung đối với phòng thủ DoS dựa trên mạng Proxy
Nguyên tắc chung đối với các phương pháp phòng thủ (SOS [59], [91], i3 [13,14], [92]) là máy chủ ứng dụng không bị tấn công trực tiếp bằng cách sử dụng mạng Proxy làm trung gian giữa người dùng và ứng dụng với số lượng lớn, linh
Ứng dụng Proxy biên Proxy Người dùng Kẻ tấn công Mô phỏng MicroGrid Kẻ tấn công Người dùng Mạng mô phỏng Mạng Proxy Ứng dụng Hình 4-2. Cấu hình thí nghiệm
động các Proxy công cộng để cung cấp quyền truy cập đến ứng dụng (tấn công phải đủ khả năng làm bão hòa số lượng lớn các Proxy đó) và khả năng phục hồi.
Việc thu thập các dữ liệu quan trọng để xác định mô hình trạng thái hệ thống (mô tảảnh hưởng của các cuộc tấn công và phòng thủ) nhằm cung cấp cơ sở để thảo luận về mạng Proxy, các cuộc tấn công và cho phép nghiên cứu những đặc tính của mạng Proxy.
Hình 4-3 mô tả hệ thống có mạng Proxy trung gian đối với tất cả lưu lượng giữa ứng dụng và người sử dụng và bảo vệứng dụng trước các cuộc tấn công DoS ở mức hạ tầng. Trong đó, thành phần hệ thống quan trọng gồm ứng dụng, người dùng, máy chủ và mạng Proxy.
- Ứng dụng: Một hệ thống phần mềm triển khai, chạy trên một máy chủ trên mạng Internet để thực hiện một dịch vụ Internet đáp ứng yêu cầu của người dùng. Trong hình 4-3, địa chỉ IP của ứng dụng được ẩn và kết nối với mạng Proxy, thông qua đó ứng dụng giao tiếp với người dùng.
- Người dùng: Người sử dụng phần mềm ứng dụng để tương tác truy cập vào ứng dụng (sử dụng một trang trình duyệt Web để truy cập vào ứng dụng dịch vụ Internet). Trong hình 4-3, người dùng bên ngoài mạng Proxy truy cập vào ứng dụng qua Proxy biên, truyền qua mạng Proxy.
Máy chủ
Proxy biên Proxy bên trong
Ứng dụng
Internet
Vùng chứa tài nguyên
Hình 4-3. Framework chung cho các mạng Proxy
- Máy chủ: Một hệ thống máy tính kết nối với Internet cung cấp cơ sở hạ tầng mạng (phần mềm, phần cứng) hỗ trợ các Proxy hoạt động. Trong hình 4- 2 với một số lượng lớn máy chủ phân tán khắp Internet tạo thành vùng chứa
tài nguyên của mạng proxy.
- Mạng Proxy: Mạng chạy trong vùng chứa tài nguyên của các máy chủ
Internet (trung chuyển lưu lượng đi và đến ứng dụng) gồm một tập các Proxy liên
kết (mỗi Proxy là một chương trình phần mềm chạy trên một máy chủ Internet, chuyển lưu lượng ứng dụng). Có hai loại Proxy, các Proxy biên ngoài (phải công bố địa chỉ IP) và các Proxy bên trong (không phải Proxy biên, địa chỉ IP của chúng bị ẩn). Đặc tính của mạng Proxy thể hiện ở cấu trúc liên kết, độ sâu và chiều rộng. Cấu
trúc liên kết của mạng Proxy mô tả kết nối nội bộ giữa các Proxy bằng đồ thị (đỉnh đại diện cho Proxy, biên đại diện cho kết nối; hai Proxy kết nối được khi định tuyến được và biết địa chỉ của nhau). Độ sâu của mạng Proxy đối với một ứng dụng được xác định là đoạn ngắn nhất của đồ thị cấu trúc liên kết mạng từ bất kỳ Proxy biên
nào đến ứng dụng. Chiều rộng của mạng Proxy được hiểu là số lượng những điểm
truy cập mạng Proxy công cộng đến ứng dụng đưa ra cho người sử dụng (số lượng
các Proxy biên).
b.) Mô hình ngẫu nhiên
Khả năng chống lại các cuộc tấn công xâm nhập thể hiện ở thời gian ẩn vị trí ứng dụng, ảnh hưởng về tính đối kháng trước các cuộc tấn công và các yếu tố khả thi. Liên quan đến vấn đề này, mô hình ngẫu nhiên mô tả số lượng các cuộc tấn công, phòng thủ và tương quan giữa các lỗ hổng máy chủ với sự thay đổi trạng thái của các thành phần được sử dụng kết hợp với mô phỏng.
Để nghiên cứu các vấn đề này, dùng một mô hình ngẫu nhiên trong khuôn khổ chung để mô tả các thành phần hệ thống. Đặc biệt, mô hình ngẫu nhiên này mô tả số lượng các cuộc tấn công, phòng thủ và ảnh hưởng của các lỗ hổng máy chủ tương quan đến sự thay đổi tình trạng của các thành phần hệ thống. Với mô hình ngẫu nhiên, phần này trình bày sự kết hợp phép phân tích và mô phỏng Monte Carlo để
phân tích hành vi của những hệ thống mạng Proxy trước các cuộc tấn công thâm nhập và mô tả xem khi nào tính đối kháng đối với những cuộc tấn công thâm nhập của chúng là khả thi.
Nghiên cứu mô hình hóa tình trạng hệ thống như một quá trình ngẫu nhiên rời rạc theo thời gian, trong đó coi sự chuyển tiếp trạng thái của các thành phần hệ thống (các máy chủ và các Proxy) thuộc các sự kiện ngẫu nhiên. Như vậy, có thể định lượng các cuộc tấn công, phòng thủ, các lỗ hổng máy chủ tương quan và có thể xem xét được những ảnh hưởng cấu trúc liên kết mạng Proxy đến hệ thống. Mô hình ngẫu nhiên có hai phần, gồm những chuyển tiếp trạng thái máy chủ và những chuyển tiếp trạng thái của Proxy với các tham số mô hình ngẫu nhiên tương ứng như trong bảng 4-1.
Bảng 4-1. Các tham số của mô hình ngẫu nhiên
Ký hiệu Ý nghĩa
λ0 Tỷ lệ máy chủ bị tổn thương dựa vào các lỗ hổng mới
λv Tỷ lệ máy chủ bị tổn thương dựa vào các lỗ hổng chưa được biết µs Tỷ lệ Reset chủ động
µd Tốc độ phục hồi phản ứng µr Tỷ lệ Proxy di chuyển
i.) Về chuyển trạng thái máy chủ: Các cuộc tấn công, cơ chế phục hồi tài nguyên và tính tương quan giữa những lỗ hổng máy chủ là những nhân tố chính ảnh hưởng đến sự chuyển tiếp trạng thái máy chủ. Các máy chủ có phần mềm, cấu hình, thuộc tính khác nhau nằm trong các miền khác nhau, cung cấp mô hình những lỗ
hổng không tương quan. Các máy chủ có cấu hình tương tự, sử dụng phần mềm tương tự, chia sẻ những lỗ hổng tương tự được nhóm trong một miền với những lỗ
hổng tương quan. Nói chung, các máy chủ được nhóm vào các miền kết hợp (không và tương quan) và số miền thể hiện tính đa dạng máy chủ trong hệ thống.
Khung mờ trong hình 4-4 mô tả sự chuyển tiếp của máy chủ có các lỗ hổng không tương quan. Trong khoảng thời gian rời rạc, các kẻ tấn công với xác suất λ0 gây tổn thương một máy chủ (lợi dụng một lỗ hổng của máy), cơ chế phục hồi tài nguyên phản ứng với xác suất µd phục hồi một máy chủ bị tổn thương (phát hiện, loại bỏ nhiễm độc), phục hồi chủ động có xác suất µs phục hồi một máy chủ bị tổn thương (chủ động nạp lại máy chủ với bản sao hệ thống sạch).
Mô hình hóa tác động của các lỗ hổng máy chủ tương quan dưới dạng một trạng thái máy chủ trung gian “nguyên vẹn” (theo nghĩa lỗ hổng chưa được biết) và nhiều tham số λv. Trong khoảng thời gian rời rạc, với xác suất tấn công λ0 có thể gây tổn thương một máy chủ nguyên vẹn (khai thác lỗ hổng mới, thay đổi những máy chủ nguyên vẹn khác trong cùng một miền thành trạng thái trung gian “nguyên vẹn”); với xác suất tấn công λv có thể gây tổn thương một máy chủ trung gian “nguyên vẹn” (lợi dụng một lỗ hổng đã biết); với xác suất phục hồi chủ động µs có thể phục hồi lại một máy chủ từ trạng thái trung gian “nguyên vẹn” về “nguyên vẹn” (loại bỏ những lỗ hổng đã biết). Với xác suất µd và µs, phục hồi phản ứng và phục hồi chủ động có thể phục hồi lại một máy chủ bị tổn thương thành trạng thái
nguyên vẹn tương ứng.
ii.) Về chuyển trạng thái của Proxy: Trạng thái của Proxy phụ thuộc vào trạng thái của máy chủ nơi Proxy hoạt động, trạng thái của các Proxy lân cận và vị trí của Proxy (ở biên hay không). Có thể xác định trạng thái của một Proxy dựa vào mô hình chuyển trạng thái máy chủ trước các cuộc tấn công máy chủ theo nguyên tắc mô tả trong hình 4-5: (i). Một Proxy bị gây tổn thương khi và chỉ khi máy chủ của
Máy chủ bị tổnthương
Phục hồi phản ứng
Phục hồi chủ động
Nguyên vẹn Bị tổn thương
nó bị tổn thương, (ii). Lân cận của các Proxy bị tổn thương sẽ bị lộ, hoặc bị tổn thương, và (iii). Tất cả các Proxy biên bị lộ hoặc bị tổn thương.
Việc di dời một Proxy đến máy chủ khác làm thay đổi trạng thái của Proxy theo đó. Tỷ lệ di chuyển µr mô tả quá trình di chuyển Proxy với các mục tiêu di chuyển là ngẫu nhiên (sự di chuyển ở tầng trên nhỏ hơn so với khoảng thời gian di chuyển).
c.) Thí nghiệm áp dụng
Thành phần hệ thống mạng mô phỏng để làm thí nghiệm (thu giữ những hành vi của hệ thống mạng Proxy trong trường hợp có và không có các cuộc tấn công DoS) gồm: một ứng dụng, một mạng Proxy, những người dùng và các kẻ tấn công như trong hình 4-2.
Thí nghiệm để nghiên cứu khả năng chống lại các cuộc tấn công DoS của một mạng Proxy gồm hai bước. Đầu tiên, tạo ra một loạt các kịch bản với cường độ, sự phân tán thay đổi, đo hiệu suất ứng dụng được cung cấp bởi mạng Proxy đó trong mỗi kịch bản tấn công. Tiếp đến, tạo một loạt mạng Proxy có kích thước thay đổi và xem xét khả năng mở rộng tính đối kháng trước những cuộc tấn công DoS đó.
α.) Ứng dụng (trong mạng đã mô phỏng):Một ứng dụng cung cấp các dịch vụ tới người dùng (khi nhận được yêu cầu, ứng dụng xử lý và gửi một đáp ứng lại cho người dùng). Một máy chủ Web Apache được sử dụng để thu giữ những hành vi này của ứng dụng (các tập tin có kích thước khác nhau, phân tích ảnh hưởng của mạng trước những cuộc tấn công DoS) [18].
Máy chủ bị tổn thương
Phục hồi tài nguyên Di chuyển Proxy
Proxy bị lộ
Proxy bị tổn thương
Proxy nguyên vẹn
β.) Mạng Proxy (trong mạng đã mô phỏng): Mạng Proxy xác định trên máy chủ trong vùng chứa tài nguyên (biết độ trễ giữa mỗi Proxy với các Proxy lân cận, một phần mềm thực thi tương ứng) như mô tả trong hình 4-6. Trong đó, mỗi cặp Proxy lân cận duy trì một kết nối TCP liên tục sau khi khởi tạo, mạng Proxy định tuyến giữa các Proxy biên với các Proxy kết nối trực tiếp đến ứng dụng (Proxy biên nhận yêu cầu từ người dùng, phân phối qua mạng Proxy đến các Proxy ứng dụng, chuyển các yêu cầu đến ứng dụng). Tương tự, các đáp ứng từ ứng dụng được phân phối đến người dùng qua mạng Proxy và mạng Proxy trung gian liên lạc giữa người dùng và ứng dụng.
Sử dụng kỹ thuật suy đoán kinh nghiệm trong việc triển khai Proxy để giảm thiểu độ trễ giữa các Proxy (giữa người dùng và ứng dụng), để xác định ngẫu nhiên các Proxy biên trong vùng chứa tài nguyên và xác định gần với ứng dụng các Proxy ứng dụng trong khi các Proxy còn lại được phân bố đều giữa các Proxy biên và các Proxy ứng dụng (kỹ thuật suy đoán này làm cấu trúc mạng Proxy cùng cấp với mạng bên dưới do tránh các đường có độ trễ cao qua mạng khi có một đường dẫn độ trễ thấp tồn tại ở một nơi khác).
γ.) Người dùng (sử dụng tập chương trình thống nhất trong mạng đã mô phỏng): Trong hệ thống tĩnh, mỗi người dùng chọn một Proxy biên dựa trên sự lân cận (tiếp tục dùng thậm chí Proxy đó bị tấn công). Nhưng, hệ thống động cho phép người dùng chuyển đến các Proxy khác, khi Proxy biên gần nhất bị tấn công.
Hình 4-6. Quá trình hoạt động của mạng Proxy
Ứng dụng
Proxy ứng dụng
Proxy bên trong Proxy biên
Người dùng
Các phương án lựa chọn Proxy biên khác được thực hiện trong mô phỏng (trên cơ sở tính toán ánh xạ giữa người dùng và các Proxy biên) đối với các kịch bản tấn công và hướng dẫn các chương trình để truy cập theo các Proxy biên.
δ.) Tấn công: Hai tham số quan trọng đặc trưng cho một cuộc tấn công là cường độ (tổng tốc độ của lưu lượng tấn công lên các Proxy biên) và sự phân tán (tấn công phân tán đều qua các Proxy biên hay tập trung vào một tập Proxy).
Bộ công cụ để mô phỏng hành vi tấn công DDoS thông dụng sử dụng Trinoo có sẵn trên Internet [42]. Gói phần mềm Trinoo bao gồm có một chương trình phá hoại và một chương trình chủ (mạng Trinoo có các máy chủ chạy chương trình phá hoại Trinoo). Để thu danh sách các địa chỉ IP, chương trình phá hoại gửi các gói UDP đến các mục tiêu ở thời điểm bắt đầu. Chương trình chủ được sử dụng để điều khiển mạng Trinoo tạo ra các cuộc tấn công (ban đầu, chương trình phá hoại gửi lặp nhiều lần các gói tin UDP với tốc độ chuẩn, sau đó phần mềm gây hại Trinoo được thay đổi, điều chỉnh tốc độ gửi để kiểm soát thí nghiệm đang được triển khai). Mạng Trinoo có 100 Trinoo phân tán, mỗi Trinoo kết nối đến mạng với một liên kết 100Mbps nên mạng Trinoo này ở quy mô của một mạng có 10.000 Node với các kết nối DSL hoặc kết nối cáp Modem.
Với mạng Trinoo này, các kịch bản tấn công DoS được tạo ra với cường độ thay đổi bằng cách thay đổi tổng tốc độ lưu lượng tấn công để tìm ra danh sách các Proxy biên.
d.) Kết quả thử nghiệm
Ba bộ thử nghiệm được thực hiện. Đầu tiên, nghiên cứu ảnh hưởng của các cuộc tấn công DoS lên ứng dụng không được bảo vệ bởi mạng Proxy (hiệu suất ứng dụng khi có và không có các cuộc tấn công DoS). Thứ hai, nghiên cứu hiệu suất ứng dụng trước hai cuộc tấn công DoS quy mô lớn kiểu dàn trải và tập trung để tìm hiểu khả năng chống lại trước các cuộc tấn công này của mạng Proxy. Thứ ba, nghiên cứu hiệu suất chống lại các cuộc tấn công của một mạng Proxy có kích thước thay đổi khi tỷ lệ giữa cường độ tấn công và kích thước mạng Proxy cố định
để tìm hiểu khả năng mở rộng tính đối kháng của mạng Proxy trước các cuộc tấn công DoS.
i.) Ảnh hưởng của các cuộc tấn công DoS lên hiệu suất ứng dụng: Trong thử nghiệm này, sử dụng mạng mô phỏng R1K, ứng dụng được kết nối bởi một liên kết 250Mbps. Hiệu suất ứng dụng được đo đối với việc tải một tập tin 100KB trong trường hợp không có tấn công DoS và với cuộc tấn công DoS 250Mbps lên ứng dụng. Kết quả được biểu diễn trong hình 4-7, với trục X chỉ thời gian đáp ứng đối với một tập tin tải về, trục Y chỉ hàm mật độ tích lũy (CDF) của hiệu suất trên mật độ người sử dụng (trục X chỉ lấy đến 8 giây vì đối với ứng dụng có tính tương hổ với thông điệp có kích thước vừa phải, thời gian đáp ứng kém hơn khiến không thể sử dụng ứng dụng đối với người dùng [60], [74].
Kết quả cho thấy khi không có các cuộc tấn công DoS, đường CDF dốc, đến giá trị 1 trong khoảng 2 giây (thời gian đáp ứng cho hầu hết những người dùng ít hơn 2 giây). Ngược lại, với cuộc tấn công DoS 250Mbps lên ứng dụng, đường CDF ở giá trị 0 trong khoảng 2 giây, đạt đến 0.4 ở 8 giây (hiệu suất cho hầu hết người dùng kém hơn 2 giây, không thể sử dụng cho 60% người dùng). Điều đó cho thấy rằng các cuộc tấn công DoS làm giảm đáng kể hiệu suất ứng dụng và từ chối truy cập ứng dụng đối với đa số người dùng.
Hình 4-7. Ảnh hưởng của các cuộc tấn công DoS lên hiệu suất ứng dụng
ii.) Chống lại tấn công DoS quy mô lớn, dàn trải (đều khắp tất cả các Proxy biên): Trong thử nghiệm này, sử dụng các mô phỏng R1K và R10K, một tập tin
Thời gian đáp ứng (giây)
C D F t rê n m ật đ ộ n g ư ờ i d ù n g Không có tn công Tn công 250Mbps
100KB được đo đối với mạng Proxy có cấu trúc liên kết cây gồm 192 Node và 64 Proxy biên (mỗi Proxy biên này có liên kết 100Mbps) với cường độ tấn công được thay đổi từ 3.2Gbps đến 6.4Gbps. Kết quả thí nghiệm thể hiện trong hình 4-8, hiệu