Nghiên cứu giải pháp bảo mật cho hệ thống mạng SDN
NGHIÊN CỨU GIẢI PHÁP BẢO MẬT
CHO HỆ THỐNG MẠNG SDN
Cô Hảo Đức
Khoa Công nghệ Thông tin, Trường Đại học Công nghệ TP. Hồ Chí Minh
GVHD: TS. Huỳnh Quốc Bảo
TÓM TẮT
Software Defined Networking là một kiến trúc mạng tách lớp điều khiển của thiết bị ra khỏi
phần cứng và được thực hiện bằng ứng dụng phần mềm gọi là bộ điều khiển nhằm mục
đích làm cho mạng trở nên linh hoạt hơn và mở ra nhiều tiềm năng phát triển. Tuy nhiên,
SDN là một hệ thống mạng khá mới nên vấn đề bảo mật cần được quan tâm nhiều hơn.
Phương pháp giảm thiểu tấn công thông thường bằng firewall chỉ giảm thiểu cuộc tấn công
từ bên ngoài, tốn chi nhiều chi phí mua thiết bị và duy trì. Đó cũng là lý do tôi nghiên cứu
phương pháp áp dụng Suricata IDS/IPS, controller RYU và sử dụng script cho sFlow-RT để
giảm thiểu cuộc tấn công từ bên ngoài và bên trong mạng hệ thống mạng SDN.
Từ khóa: controller ryu, ips, sdn, sflow-rt, suricata.
1 GIỚI THIỆU SDN
Software Defined Networking (SDN) được công bố lần đầu tiên vào năm 2010 như một
mạng có thể lập trình trực tiếp nhằm đơn giản hóa việc kiểm soát và quản lý. SDN là một
kiến trúc quản lý mạng tập trung không cần phải thiết lập trên từng thiết bị riêng lẻ trong
mạng. Về cơ bản, SDN chia tách độc lập hai lớp gồm lớp điều khiển và lớp hạ tầng để có
thể tối ưu hoạt động. SDN là một kiến trúc linh hoạt, dễ quản lý, hiệu suất cao và thích nghi
tốt, công nghệ này lý tưởng cho các ứng dụng đòi hỏi băng thông cao và cần sự linh hoạt
hiện nay.
2 KIẾN TRÚC CỦA SDN
SDN được chia làm ba lớp lớn: lớp ứng dụng (Application Layer), lớp điều khiển (Control
Layer) và lớp hạ tầng (Infrastructure Layer). Các lớp sẽ liên kết với nhau thông qua giao
thức hoặc các API [1]. Như hình 1 có thể thấy kiến trúc SDN.
2.1 Lớp ứng dụng (Application layer)
Bao gồm các ứng dụng quản trị, tối ưu hóa và bảo mật các chính sách xử lý lưu lượng trên
hệ thống mạng. Các ứng dụng có thể chạy trên máy chủ độc lập kết nối với bộ điều khiển
thông qua giao diện API hoặc có thể chạy trực tiếp trên bộ điều khiển tùy theo quy mô của
hệ thống mạng và quy mô dữ liệu của ứng dụng. Giúp quản lý và giám sát tài nguyên mạng
tập trung, SDN có thể cung cấp cho các phần mềm ứng dụng toàn bộ thông tin về lớp hạ
tầng mạng. Trên cơ sở đó, các phần mềm có thể đưa ra các chính sách áp dụng đồng bộ,
thống nhất, tối ưu trên toàn bộ hệ thống mạng.
65
2.2 Lớp điều khiển (Control layer)
Lớp điều khiển là nơi tập trung các bộ điều khiển (controller) thực hiện việc điều khiển cấu
hình mạng theo các yêu cầu từ lớp ứng dụng và khả năng của mạng. Các bộ điều khiển có
thể là các phần mềm được lập trình. Một bộ điều khiển là một ứng dụng quản lý kiểm soát
luồng lưu lượng trong môi trường mạng. Để quản lý và điều khiển lớp hạ tầng, lớp điều
khiển sử dụng các giao thức như OpenFlow, ONOS, PCEP, NETCONF, SNMP hoặc thông
qua các giao thức riêng biệt. Hầu hết các bộ điều khiển SDN hiện nay dựa trên giao thức
OpenFlow. Bộ điều khiển SDN hoạt động như một loại hệ điều hành (OS) mạng. Tất cả
thông tin liên lạc giữa các ứng dụng và các thiết bị phải đi qua bộ điều khiển. Bộ điều khiển
sử dụng giao thức OpenFlow để cấu hình các thiết bị mạng và chọn đường đi tốt nhất cho
các lưu lượng ứng dụng.
2.3 Lớp hạ tầng (Infrastructure layer)
Bao gồm các thiết bị mạng thực tế (vật lý hay ảo hóa) thực hiện việc chuyển tiếp gói tin theo
sự điều khiển của lớp điểu khiển. Một thiết bị mạng có thể hoạt động theo sự điều khiển của
nhiều bộ điều khiển khác nhau, điều này giúp tăng cường khả năng ảo hóa của mạng.
Hình 1. Kiến trúc của SDN [2]
3 ƯU NHƯỢC ĐIỂM CỦA MẠNG SDN SO VỚI MẠNG TRUYỀN THỐNG
Ưu điểm
Nhược điểm
SDN cho phép các ứng dụng truy cập trực tiếp thông qua Tốn chi phí: Quá trình triển
các API. Đặc điểm này cho phép các nhà phát triển ứng khai SDN không thể hoàn
dụng lập trình cho các mạng một cách trực tiếp.
thiện một lần mà phải theo
từng bước. Không thể một
lúc thay thế toàn bộ các thiết
bị hiện có thành OpenFlow
switch được bởi vì điều đó
rất tốn kém.
- Chính sách mạng tập trung.
- SDN có nhiều khả năng hơn trong việc giao tiếp với các
thiết bị trong toàn bộ hạ tầng mạng. Cho phép các tài
nguyên được cấp phát từ một điểm tập trung và các nhà
quản trị mạng dễ dàng kiểm soát dòng lưu lượng.
SDN là một kiến trúc mạng
kiểu mới, các giao thức
tương tác giữa các bộ điều
khiển chưa được phát triển
toàn diện.
- Các thay đổi trong hệ thống mạng được tự động hóa bằng
cách chuyển trách nhiệm về các thay đổi cho bộ điều khiển
tập trung, các sai sót của con người có thể tránh được.
- Một lợi thế quan trọng hơn nữa của mạng SDN là làm
giảm chi phí vận hành.[1]
66
4 GIAO THỨC OPENFLOW
Giao thức Openflow đóng vai trò là lớp giao tiếp giữa lớp điều khiển và lớp hạ tầng, cung
cấp các API cho phép khả năng lập trình cho lớp điều khiển, Open Networking Foundation
(ONF) sử dụng giao thức OpenFlow tiêu chuẩn đầu tiên. OpenFlow cho phép truy cập trực
tiếp và điều khiển lớp hạ tầng như switch, router, bao gồm cả thiết bị vật lý và thiết bị ảo, do
đó giúp di chuyển lớp điều khiển ra khỏi các switch thực tế tới phần mềm điều khiển trung
tâm. OpenFlow là giao thức hoạt động giữa lớp điều khiển (Control Layer) và lớp hạ tầng
(Infrastructure Layer). Trong kiến trúc của SDN, tất các thiết bị được liên kết với tầng điều
khiển và thông qua OpenFlow. OpenFlow có 2 nhiệm vụ chính:
- Giám sát hoạt động của các thiết bị mạng: lưu lượng mạng, trạng thái hoạt động của
các nút mạng, các thông tin cơ bản về các thiết bị,…
- Điều khiển hoạt động của thiết bị mạng: điều khiển luồng dữ liệu (routing), bảo mật,
Quality of Service,...
5 CẤU TẠO VÀ HOẠT ĐỘNG CỦA OPENFLOW
Một thiết bị OpenFlow Switch bao gồm ít nhất 3 thành phần:
- Flow Table: một liên kết hành động với mỗi luồng, giúp thiết bị xử lý các luồng.
- Secure Channel: kênh kết nối thiết bị tới bộ điều khiển, cho phép các lệnh và các gói
tin được gửi giữa bộ điều khiển và thiết bị.
- OpenFlow Protocol: giao thức cung cấp phương thức tiêu chuẩn và mở cho một bộ
điều khiển truyền thông với thiết bị.
Cấu trúc OpenFlow Switch bao gồm phần cứng (hardware) và phần mềm (software). Phần
cứng gồm các module quản lý và xử lý quá trình chuyển tiếp các gói tin trên hệ thống mạng
thông qua các bảng cấu hình gọi là bảng luồng (flow table). Phần mềm là module thực hiện
chức năng trung gian giao tiếp giữa phần cứng và bộ điều khiển, cung cấp thông tin về phần
cứng cho bộ điều khiển, đồng thời thực thi các thao tác từ bộ điều khiển tới phần cứng.
6 VAI TRÒ VÀ CHỨC NĂNG CỦA SURICATA
Cuộc tấn công DOS nhằm vào mục đích làm giảm hoặc phá vỡ dịch vụ của hệ thống mạng
SDN. Các mối đe dọa DOS có thể xảy ra ở tất cả các lớp của mạng SDN. Trong các cuộc
tấn công DOS được xem là hiệu quả nhất gây ảnh hưởng nghiêm trọng đến hệ thống mạng.
Tại Data plane, DOS có thể làm ngập băng thông và làm giảm hiệu suất mạng. Có thể gây
ra bởi nhiều lý do như hệ thống bị xâm nhập, botnet, tấn công từ bên ngoài Internet,…
Tại Control plane, DOS có thể gây tắc nghẽn bộ điều khiển thông qua một lượng lớn luồng
giả mạo, khiến bộ điều khiển phải xử lý một lượng thông tin khổng lồ gây ra sự gián đoạn
trong mạng.
Giải pháp sử dụng hệ thống phòng chống xâm nhập (IPS) mã nguồn mở nhằm làm giảm chi
phí và người quản trị có thể dễ dàng sử dụng, cấu hình một cách dễ dàng. Suricata là một
giải pháp tối ưu với việc sử dụng đa luồng nên có thể tận dụng tối đa các cpu.
67
Vai trò: ngăn cách vùng mạng nội bộ và vùng mạng bên ngoài. Làm giảm các cuộc tấn công
và traffic độc hại vào bên trong hệ thống mạng SDN.
Chức năng:
- Phát hiện và ngăn ngừa: lọc các gói tin bằng danh sách các chữ ký mẫu do người
quản trị hoặc nhà sản xuất tạo ra giúp nhận biết các gói tin độc hại và ngăn chặn một
cách dễ dàng.
- Ghi nhật ký: khi có các hoạt động vi phạm các chữ ký mẫu, hệ thống có thể tự động
ngăn chặn, ghi lại các hoạt động vi phạm hoặc chỉ ghi lại nhằm phục vụ cho các hoạt
động điều tra, phân tích hoạt động nguy hại.
7 GIẢI PHÁP BẢO MẬT
6.1 Hạn chế cuộc tấn công từ bên ngoài
Sử dụng Suricata IDS/IPS nhằm giảm thiểu cuộc tấn công và sử dụng các chữ ký
(signature) để nhận biết các cuộc tấn công như DOS và quét cổng.
Khi không có IPS, các cuộc tấn công DOS làm cho bộ điều khiển nhận được nhiều gói tin để
xử lý và làm giảm hiệu suất mạng. Không những vậy, khi kẻ tấn công có thể quét được
những thứ họ cần để khai thác các thông tin bất lợi nhằm vào mạng và có thể triển khai một
cuộc tấn công khác. Hình 2 cho ta thấy rõ được các flows khi bị tấn công vào mạng SDN.
Hình 2. Biểu đồ Top Flows và Ports khi bị tấn công từ bên ngoài không có Suricata IDS/IPS
Ngăn chặn tấn công DOS không thể vào bên trong mạng nội bộ giúp đảm bảo hiệu suất
mạng luôn ổn định. Nhờ đó người quản trị có thể nhận biết và giảm thiểu các cuộc tấn công
vào mạng. Hình 3 cho thấy các flows độc hại không thể vào trang mạng SDN.
Hình 3. Biểu đồ Top Flows và Ports khi bị tấn công từ bên ngoài không có Suricata IDS/IPS
68
7.2 Hạn chế cuộc tấn công từ bên trong:
Sử dụng bộ điều khiển Ryu để quản lý các thiết bị mạng và sử dụng công cụ sFlow-RT để
đo các luồng từ đó lập trình trên các số liệu. Giá trị ngưỡng băng thông thường là 50%, khi
băng thông vượt ngưỡng bộ điều khiển sẽ loại bỏ lưu lượng (drop traffic). Bộ điều khiển sẽ
kiểm tra sau mỗi 30s nếu thiết bị đó vẫn còn vượt ngưỡng thì bộ điều khiển tiếp tục loại bỏ
lưu lượng cho đến khi lưu lượng trên thiết bị đó giảm dưới 50% thì sẽ cho các lưu lượng
chuyển tiếp lại bình thường giúp bộ điều khiển đảm bảo hiệu suất mạng. Hình 4 cho ta thấy
được CPU đang hoạt động với cường độ cao. Hình 5 cho thấy được các flows khi bị tấn
công từ bên trong hệ thống mạng SDN.
Hình 4. Thông tin máy khi bị tấn công từ bên trong
Hình 5. Biểu đồ Top Flows và Top Ports khi bị tấn công từ bên trong
Khi sử dụng script vào sFlow-rt giúp bộ điều khiển làm giảm sức mạnh của cuộc tấn công
một cách hiệu quả, đảm bảo hiệu suất hoạt động, duy trì sự ổn định của mạng. Giúp người
quản trị có thể nhận biết được cuộc tấn công xuất phát từ đâu và truy vết một các dễ dàng.
Hình 6 các cuộc tấn công vẫn diễn ra nhưng không gây ảnh hưởng đến hệ thống mạng
SDN. Hình 7 cho thấy các flows độc hại cũng được giảm khi sử dụng script.
Hình 6. Thông tin máy khi bị tấn công từ bên trong khi có script chống DOS
69
Hình 7. Biểu đồ Top Flows và Top Ports khi bị tấn công từ bên trong khi có script chống DOS
8 KẾT LUẬN
8.1 Kết quả đạt được
Nghiên cứu này cho thấy tác dụng của IDS/IPS và sử dụng script vào sFlow-RT góp phần
tăng tính bảo mật và khả năng chịu được các cuộc tấn công DOS. Sử dụng sFlow-RT để
giám sát các lưu lượng mạng.
8.2 Những phần chưa đạt được
Đề tài chưa đi sâu vào các mối đe dọa khác như khai thác lỗ hổng trong bộ điều khiển. Chưa
áp dụng các phương pháp tăng tính sẵn sàng và chia tải cho hệ thống mạng.
8.3 Hướng phát triển
Nghiên cứu áp dụng các phương pháp tăng tính sẵn sàng và chia tải cho hệ thống mạng
SDN.
TÀI LIỆU THAM KHẢO
Trích dẫn
[1] Thomas D. Nadeau, Ken Gray. SDN: Software Defined Networks, O'Reilly Media
(September 7, 2013).
[2] Brandon Heller. Open Networking Foundation. OpenFlow Switch Specification (2013).
70
Bạn đang xem tài liệu "Nghiên cứu giải pháp bảo mật cho hệ thống mạng SDN", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
nghien_cuu_giai_phap_bao_mat_cho_he_thong_mang_sdn.pdf

