sung bộ phân tích và xử lý lưu lượng SD
Để khắc phục những điểm hạn chế nêu trên, trên thực tế đã có các giải pháp đề xuất sử dụng kết hợp các bộ phân tích lưu lượng truyền thống trong mạng SDN như giải pháp sử dụng bộ phân tích lưu lượng Snort [25], bộ lấy mẫu và thống kê lưu lượng sFlow [21], [26]. Tuy nhiên, các giải pháp này mới chỉ sử dụng các bộ phân tích để lấy dữ liệu thống kê về lưu lượng. Các bộ phân tích hoạt động theo cơ chế độc lập, khơng có sự điều khiển theo trạng thái của hệ
thống mạng, chưa tận dụng được cơ chế điều khiển và xử lý gói tin trong SDN. Ngồi ra, việc xóa bỏ lưu lượng tấn cơng vẫn được thực hiện qua giao thức Openflow làm chậm thời gian đáp ứng của hệ thống, chiếm dụng nhiều tài nguyên trên bộ chuyển mạch. Để khắc phục những vấn đề này, Luận án đề xuất giải pháp sử dụng bộ phân tích và xử lý lưu lượng (SD) trong kiến trúc mạng SDN/Openflow hoạt động và tương tác với các thực thể trong mạng theo cơ chế và kỹ thuật SDN/Openflow nhằm cung cấp những thông tin lưu lượng mà SDN/Openflow không hỗ trợ, nâng cao hiệu năng phát hiện, phân loại và giảm thiểu tấn công DDoS.
3.3.1. Kiến trúc tổng quát
Kiến trúc giải pháp bổ sung bộ phân tích và xử lý lưu lượng SD phục vụ phân tích, xử lý an ninh mạng được mơ tả như trong Hình 3.1. Để phân biệt giữa kiến trúc giải pháp an ninh mạng dựa trên kỹ thuật SDN/Openflow đã có, kiến trúc mạng SDN/Openflow sau khi được bổ sung SD được gọi là kiến trúc mở rộng, kiến trúc ban đầu gọi là kiến trúc cơ bản. Cũng giống như kiến trúc cơ bản, giải pháp có thể áp dụng cho mạng của ISP tại các bộ chuyển mạch biên hoặc cho tất cả các bộ chuyển mạch bên trong trung tâm dữ liệu tùy theo từng ứng dụng cụ thể.
Hình 3.1. Kiến trúc giải pháp bổ sung bộ phân tích và xử lý lưu lượng dựa trên cơ chế SDN/Openflow
Về cấu trúc và nguyên lý hoạt động, kiến trúc mở rộng không khác so với kiến trúc cơ bản ngoại trừ bộ phân tích và xử lý lưu lượng SD. SD là một module phần cứng hoặc phần mềm thực hiện nhiệm vụ:
• Phân tích trực tiếp các gói tin từ bộ chuyển mạch OFS chuyển tới nhằm đưa ra các
thuộc tính của lưu lượng phục vụ phân tích an ninh, phát hiện tấn công.
các máy chủ nội bộ khi khơng có dấu hiệu tấn cơng. SD hoạt động như một cái bồn (sink) chứa các lưu lượng nghi ngờ chuyển đến từ OFS. Nếu xác định là lưu lượng tấn cơng, các gói tin sẽ được hủy trực tiếp tại SD.
SD kết nối với các bộ chuyển mạch trên cổng giao diện lưu lượng như một thực thể node mạng nhưng khơng đóng vai trị như một thực thể đầu cuối trao đổi dữ liệu mà đóng vai trị như một thiết bị xử lý các gói tin. SD phân biệt với các thực thể node mạng khác dựa trên số hiệu cổng (port) của bộ chuyển mạch.
SD có thể thực hiện độc lập bên ngồi hoặc kết hợp bên trong bộ điều khiển. Tuy nhiên kênh lưu lượng được tách biệt độc lập với kênh xử lý Openflow. Kênh xử lý Openflow được mã hóa TLS đảm bảo an toàn, bảo mật cho kết nối giữa Bộ điều khiển và Bộ chuyển mạch trong khi kênh lưu lượng khơng mã hóa TLS đảm bảo tốc độ truyền dẫn cao.
Khác với kiến trúc cơ bản, để có đầy đủ thơng tin phục vụ phân loại, xác định lưu lượng tấn cơng chính xác hơn, module Phát hiện tấn công không chỉ căn cứ vào thông tin thuộc tính của lưu lượng mạng dựa vào bộ Thu thập thống kê lưu lượng của giao thức Openflow mà có thêm các thơng tin thuộc tính khác dựa vào bộ Phân tích và xử lý lưu lượng. Tùy từng trường hợp cụ thể, các thuộc tính của lưu lượng có thể được thực hiện bằng phương pháp thống kê qua giao thức Openflow hoặc thống kê trực tiếp từ các gói tin qua bộ Phân tích và xử lý lưu lượng sao cho hiệu quả về mặt thời gian và băng thông chiếm dụng.
3.3.2. Điều khiển chuyển tiếp lưu lượng tới SD và xử lý lưu lượng tại SD
Sự chuyển tiếp lưu lượng tới SD từ bộ chuyển mạch được thiết lập bởi Bộ điều khiển và các phần mềm trên Lớp ứng dụng. Thông thường, chỉ các lưu lượng nghi ngờ tấn công hoặc các gói tin cần giám sát được chuyển tới SD. Khi đó, Bộ điều khiển thực hiện cài đặt các mục luồng tương ứng để bộ chuyển mạch so khớp và chuyển tiếp các gói tin cần giám sát, phân tích tới cổng SD. Các cấu hình chuyển tiếp lưu lượng có thể là:
• Khơng chuyển tiếp các gói tin tới máy chủ đích mà chỉ chuyển tiếp tới SD: Áp dụng
trong trường hợp xác thực gói tin trước khi chuyển tiếp tới máy chủ. Nếu là gói tin tấn cơng, nó sẽ được hủy ngay trên SD mà khơng ảnh hưởng tới máy chủ đích.
• Chuyển tiếp các gói tin tới máy chủ đích đồng thời sao chép và chuyển tiếp tới SD: Áp
dụng trong trường hợp cần giám sát, phân tích để phát hiện tấn cơng.
SD thực hiện phân tích và xử lý lưu lượng dưới sự điều khiển của các ứng dụng thuộc Lớp Ứng dụng theo giao diện REST API. Các chính sách an ninh từ các ứng dụng được thực hiện đồng bộ: (1) cài đặt các mục luồng trên OFS để chuyển tiếp lưu lượng tới SD và (2) điều khiển SD phân tích, xử lý lưu lượng nhận được. Các chính sách xử lý lưu lượng tại SD có thể là:
• Xóa bỏ gói tin: SD thực hiện hủy gói tin khi xác định có dấu hiệu tấn cơng. Nhờ đó, gói
tin tấn cơng khơng tiếp cận tới máy chủ.
• Chỉnh sửa gói tin và gửi trở lại bộ chuyển mạch: Sau khi xác thực và đảm bảo gói tin
để tiếp tục chuyển tiếp gói tin tới trạm đích. Trong trường hợp cần thiết, SD thực hiện chỉnh sửa, thay đổi các trường tiêu đề của gói tin trước khi chuyển trở lại bộ chuyển mạch. Cơ chế này giúp cho hệ thống vẫn giữ bản chất SDN trong khi đảm bảo khả năng chọn lọc, chỉnh sửa gói tin ở lớp Hạ tầng mạng. SD có thực hiện các nhiệm vụ như bộ tường lửa, thiết bị phát hiện và chống xâm nhập IDS, IPS…
SD khơng tham gia vào q trình cấu hình các tham số hoạt động, điều khiển, cài đặt và chỉnh sửa các mục luồng của bộ chuyển mạch mà chỉ đóng vai trị như một thực thể node mạng thụ động đơn thuần. Để đảm bảo an ninh, việc quản lý, cài đặt các mục luồng trên Bộ chuyển mạch đảm bảo nguyên tắc: chỉ duy nhất các ứng dụng của giải pháp được thao tác chuyển tiếp gói tin đi và đến cổng SD. Vì vậy, sự có mặt của SD khơng làm ảnh hưởng đến vấn đề an ninh trong cơ chế SDN/Openflow.
Với cơ chế hoạt động như trên, khi có nghi ngờ bị tấn cơng, hệ thống có thể thực hiện phân tích cung cấp thơng tin chi tiết, thậm chí copy một phần lưu lượng nghi ngờ tới bộ Phân tích lưu lượng, giúp cho việc phân tích có kết quả chính xác hơn. Khi khơng có tấn cơng xảy ra, q trình chuyển tiếp gói tin thực hiện bình thường theo giao thức Openflow, không làm tăng lưu lượng xử lý trên hệ thống mạng.