Bối cảnh và vấn đề nghiên cứu
Sự phát triển mạnh mẽ của mạng định nghĩa bằng phần mềm (Software-Defined Networking — SDN) mở ra hướng kiến trúc mạng linh hoạt, cho phép điều khiển mạng thông qua lập trình, tách biệt hoàn toàn tầng điều khiển (Control Plane) và tầng dữ liệu (Data Plane). Tuy nhiên, chính đặc tính tập trung hóa điều khiển cũng tạo ra điểm yếu nghiêm trọng: nếu kẻ tấn công xâm nhập thành công vào bộ điều khiển SDN, toàn bộ hệ thống mạng có thể bị kiểm soát. Trong bối cảnh đó, bảo đảm phát hiện chính xác các cuộc tấn công và có biện pháp ngăn chặn kịp thời trở thành bài toán cốt lõi của an toàn thông tin trong môi trường SDN.
Khóa luận tốt nghiệp của Nguyễn Cát Hải và Đào Phương Nam (Trường Đại học Công nghệ Thông tin — ĐHQG TP. Hồ Chí Minh, 2021) hướng đến xây dựng một cơ chế phòng thủ chủ động cho mạng SDN bằng cách kết hợp hai kỹ thuật: hệ thống lừa dối mạng (Cyber Deception) và hệ thống phòng thủ di chuyển mục tiêu (Moving Target Defense — MTD).
Mục tiêu nghiên cứu:
- Tận dụng các đặc tính của công nghệ SDN để triển khai kỹ thuật lừa dối mạng — đánh lừa kẻ tấn công xâm nhập vào bẫy (honeypot).
- Triển khai kỹ thuật di chuyển phòng thủ mục tiêu (MTD) nhằm cung cấp chiến lược phòng thủ chủ động cho mạng khả lập trình.
- Thiết kế cơ chế kết nối tương tác giữa bộ phận lừa dối mạng và bộ phận di chuyển phòng thủ mục tiêu.
Phạm vi nghiên cứu:
- Không gian kỹ thuật: Kỹ thuật Cyber Deception và Moving Target Defense trong môi trường mạng khả lập trình (SDN).
- Môi trường thực nghiệm: Hệ thống được triển khai trên 3 máy ảo với hệ điều hành Ubuntu 18.04, sử dụng bộ điều khiển ONOS và trình giả lập mạng Containernet.
- Thời gian: Khóa luận hoàn thành tháng 07 năm 2021.
Đối tượng nghiên cứu: Hệ thống mạng SDN; kỹ thuật lừa dối mạng (Cyber Deception); kỹ thuật di chuyển phòng thủ mục tiêu (MTD).
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và khái niệm nền tảng
Mạng khả lập trình (SDN): Kiến trúc SDN gồm ba lớp — lớp ứng dụng (Application Layer), lớp điều khiển (Control Layer) và lớp hạ tầng (Infrastructure Layer). Giao thức OpenFlow là giao thức cốt lõi kết nối bộ điều khiển với các thiết bị chuyển mạch, bao gồm ba thành phần: Flow Table, Secure Channel và OpenFlow Protocol.
Hệ thống phòng thủ di chuyển mục tiêu (MTD): Khóa luận vận dụng ba nguyên tắc thiết kế MTD: di chuyển cái gì (thuộc tính cấu hình có thể thay đổi như địa chỉ IP, cổng, topology), di chuyển như thế nào (ba kỹ thuật: Shuffling — xáo trộn, Diversity — đa dạng, Redundancy — dự phòng), và di chuyển khi nào (ba chế độ: Reactive, Proactive, Hybrid). Bảng 2.1 trong khóa luận tổng hợp các yếu tố di chuyển trong SDN theo từng lớp từ Application đến Hardware.
Hệ thống lừa dối mạng (Cyber Deception): Khóa luận tham chiếu mô hình lừa dối một vòng ba giai đoạn: (I) Lập kế hoạch lừa dối, (II) Thực hiện và triển khai lừa dối, (III) Theo dõi và đánh giá kết quả. Bốn loại lừa dối phổ biến được xem xét: mô hình dựa trên lý thuyết trò chơi (game-theoretic modeling), lừa dối cấp mạng (network-level deception), lừa dối cấp máy chủ (in-host-system deception) và lừa dối dựa trên mật mã (cryptography-based deception). Các kỹ thuật giả mạo thông tin gồm: masking, repackaging, dazzling, mimicking, inventing và decoying.
Phương pháp nghiên cứu
Khóa luận sử dụng kết hợp hai hướng tiếp cận:
- Nghiên cứu tài liệu: Tổng hợp tài liệu hướng dẫn triển khai mạng SDN; tham khảo video mô tả, tài liệu giải thích các phương pháp triển khai hệ thống lừa dối mạng và MTD.
- Thực nghiệm hệ thống: Xây dựng và triển khai hệ thống trên môi trường thực, thực hiện các kịch bản tấn công thử nghiệm để đánh giá hiệu năng và độ chính xác.
Nguồn dữ liệu
Dữ liệu đánh giá được thu thập trực tiếp từ môi trường thực nghiệm: log từ honeypot (Opencanary, Cowrie), cảnh báo từ Snort, kết quả đo thời gian quét mạng và độ trễ gói tin (ping) khi có và không có MTD, thống kê thời gian phát hiện tấn công.
Nội dung chính theo từng chương
Chương 1 — Giới thiệu
Chương giới thiệu trình bày tổng quan về bối cảnh bảo mật mạng SDN, xác định mục tiêu, phạm vi và đối tượng nghiên cứu. Phương pháp nghiên cứu được tóm lược gồm nghiên cứu tài liệu và thực nghiệm hệ thống. Cấu trúc năm chương của khóa luận cũng được mô tả tại đây.
Chương 2 — Kiến thức nền tảng
Chương trình bày hệ thống các khái niệm lý thuyết làm cơ sở cho toàn bộ khóa luận, bao gồm:
- SDN và OpenFlow: Kiến trúc ba lớp, cơ chế hoạt động của control plane và data plane, ưu và nhược điểm của SDN (đặc biệt nhấn mạnh điểm yếu tập trung hóa khi bị tấn công).
- MTD: Ba nguyên tắc thiết kế, phân loại theo thời gian (Time-based, Event-based, Hybrid-based) và theo hoạt động (Shuffling, Diversity, Redundancy). Bảng 2.1 liệt kê chi tiết các kỹ thuật MTD tương ứng với từng lớp kiến trúc trong SDN.
- Cyber Deception: Mô hình lừa dối một vòng ba giai đoạn, các hành động phổ biến (masking, repackaging, dazzling, mimicking, inventing, decoying), và bốn loại kỹ thuật lừa dối (game-theoretic, network-level, in-host-system, cryptography-based).
Chương 3 — Phân tích thiết kế hệ thống
Chương trình bày kiến trúc tổng thể và quy trình hoạt động của hệ thống được đề xuất. Hệ thống bao gồm sáu thành phần chính:
| Thành phần |
Chức năng |
| Security Analyst |
Theo dõi nhật ký, phát hiện sớm tấn công, thay đổi luồng dữ liệu |
| SDN Controller (ONOS) |
Điều hướng lưu lượng qua OpenFlow, nhận cảnh báo từ IDS |
| Openflow Switch |
Chuyển mạch được điều khiển bởi ONOS |
| IDS (Snort) |
Giám sát lưu lượng, gửi cảnh báo cho Controller |
| Logging (ELK Stack + Filebeat) |
Thu thập, lưu trữ, hiển thị log theo thời gian thực |
| Trap (Honeypot) |
Ghi lại hành vi kẻ tấn công, dẫn dụ kẻ tấn công vào bẫy |
Quy trình hoạt động của lừa dối mạng: khi IDS (Snort) phát hiện tấn công, cảnh báo được gửi đến SDN Controller; Controller chặn luồng giữa máy bị tấn công và các host thông thường, đồng thời tạo luồng mới điều hướng kẻ tấn công vào vùng mạng chứa bẫy.
Quy trình hoạt động của MTD: các host giao tiếp với nhau bằng địa chỉ IP ảo do Controller quản lý. Khi gói tin đi từ Host 1 đến Host 2, Switch 1 chuyển đổi Source IP từ thật sang giả; Switch 2 chuyển đổi Destination IP từ giả sang thật. Quá trình ngược lại xảy ra khi gói tin hồi đáp. Thuật toán MTD định kỳ tạo lại bảng ánh xạ ipMappingTable giữa realIPList và mtdIPList theo chu kỳ period.
Chương 4 — Triển khai, thực nghiệm và đánh giá
Đây là chương trọng tâm, trình bày chi tiết quá trình triển khai và kết quả thực nghiệm. Môi trường triển khai gồm ba máy ảo Ubuntu 18.04:
| Máy ảo |
Cấu hình |
Ứng dụng chính |
| Máy ảo 1 |
4 CPU, 8GB RAM, 80GB HDD |
Docker, Containernet, Snort |
| Máy ảo 2 |
4 CPU, 4GB RAM, 40GB HDD |
ONOS Controller, ControlFlow.py, MTD_ChangeIP.py |
| Máy ảo 3 |
4 CPU, 4GB RAM, 40GB HDD |
Logstash, Elasticsearch, Kibana |
Các hệ thống thành phần được xây dựng lần lượt:
- Mạng SDN: Sử dụng ONOS (mã nguồn mở) làm bộ điều khiển; Containernet (nhánh của Mininet, hỗ trợ Docker container làm host) để giả lập cấu trúc mạng. File
Topology.py định nghĩa cấu trúc kết nối và kết nối đến ONOS qua API phía nam.
- IDS: Snort triển khai theo mô hình NIDS outline; sử dụng kỹ thuật port mirroring để sao chép toàn bộ lưu lượng từ các OpenVSwitch về máy Snort. Ứng dụng
ControlFlow.py nhận cảnh báo từ Snort qua Unix Socket và gọi API phía bắc của ONOS để chặn/tạo luồng.
- ELK Stack + Filebeat (phiên bản 7.x): Filebeat đọc log từ honeypot và Snort, đẩy đến Logstash qua Port 5044; Logstash xử lý và chuyển đến Elasticsearch qua Port 9200; Kibana hiển thị log tại
localhost:5601.
- Honeypot: Hai loại được sử dụng — Opencanary (giả lập dịch vụ SSH, FTP, Telnet) và Cowrie (honeypot SSH tương tác trung bình đến cao, phát triển từ Kippo, lắng nghe tại port 2222).
- MTD: Kỹ thuật IP Mutation được triển khai qua ứng dụng
MTD_ChangeIP.py, sử dụng thư viện scapy để chuyển đổi địa chỉ IP; tương tác với ONOS qua API phía bắc để duy trì và cập nhật bảng ánh xạ IP.
Chương trình bày ba kịch bản thực nghiệm, trong đó kẻ tấn công thực hiện quét mạng bằng Nmap, tấn công FTP, SSH, Telnet vào các honeypot. Kết quả được ghi nhận trên Kibana theo thời gian thực.
Chương 5 — Kết luận và hướng phát triển
Chương tổng kết các kết quả đạt được của hệ thống và đề xuất các hướng cải tiến trong tương lai.
Thiết kế và triển khai
Kiến trúc hệ thống
Hệ thống được thiết kế theo kiến trúc phân lớp, kết hợp bốn module: SDN Controller (ONOS), IDS (Snort + ControlFlow.py), Logging (ELK Stack + Filebeat), và Deception/MTD (Honeypot + MTD_ChangeIP.py). Giao tiếp giữa các thành phần sử dụng API phía bắc (northbound API) của ONOS, Unix Socket và giao thức OpenFlow.
Công nghệ sử dụng
| Công nghệ |
Vai trò |
| ONOS |
Bộ điều khiển SDN mã nguồn mở |
| Containernet |
Giả lập mạng SDN với Docker container |
| OpenFlow |
Giao thức điều khiển switch |
| Snort |
NIDS mã nguồn mở, phát hiện xâm nhập dựa trên rules |
| ELK Stack 7.x (Elasticsearch, Logstash, Kibana) + Filebeat |
Thu thập, lưu trữ, trực quan hóa log |
| Opencanary |
Honeypot giả lập dịch vụ SSH, FTP, Telnet |
| Cowrie |
Honeypot SSH tương tác trung đến cao (port 2222) |
| MTD_ChangeIP.py + scapy |
Ứng dụng IP Mutation tự viết |
| ControlFlow.py |
Ứng dụng điều phối luồng khi phát hiện tấn công |
| Docker |
Container hóa các thành phần hệ thống |
Kỹ thuật triển khai đáng chú ý
Kỹ thuật port mirroring được cấu hình trên từng switch (switch1, switch2, switch3) để sao chép toàn bộ lưu lượng mạng về máy Snort mà không làm gián đoạn luồng dữ liệu thực. Kỹ thuật IP Mutation sử dụng bảng ánh xạ ipMappingTable được tạo ngẫu nhiên và làm mới theo chu kỳ, đảm bảo kẻ tấn công chỉ nhìn thấy địa chỉ IP giả trong suốt quá trình quét mạng.
Kiểm thử
Hệ thống được kiểm thử qua các kịch bản tấn công thực tế: quét mạng bằng Nmap, tấn công FTP, SSH, Telnet vào honeypot. Kết quả được đánh giá theo sáu tiêu chí đo lường định lượng (Bảng 4.2 đến Bảng 4.6).
Kết quả và đóng góp
Kết quả chính kèm số liệu
Khóa luận cung cấp dữ liệu đánh giá định lượng từ Bảng 4.2 đến Bảng 4.6:
- Thời gian quét mạng (Bảng 4.2): So sánh thời gian Nmap quét mạng khi có MTD và không có MTD. Khi MTD hoạt động, thông tin mà kẻ tấn công thu thập được trong giai đoạn trinh sát chỉ phản ánh địa chỉ IP giả, không phản ánh cấu trúc mạng thực.
- Độ trễ gói tin (Bảng 4.3 — 4.5): Đo thời gian ping khi có và không có MTD trên nhiều kịch bản; kết quả được ghi lại qua ba bộ số liệu riêng biệt (Hình 4.57–4.62).
- Thời gian phát hiện tấn công (Bảng 4.6): Thống kê thời gian từ khi Snort phát hiện tấn công, gửi cảnh báo đến ONOS, đến khi hệ thống hoàn tất việc điều hướng kẻ tấn công vào vùng honeypot.
Về hành vi kẻ tấn công được ghi nhận: hệ thống xác nhận kẻ tấn công không ping được các host thật (host2, host3, host4) sau khi MTD kích hoạt, nhưng ping được host5 và host6 (là honeypot). Sau khi bị điều hướng, các thao tác FTP, SSH, Telnet của kẻ tấn công được ghi nhận đầy đủ trên Kibana theo thời gian thực.
Giải pháp và đóng góp
Khóa luận đề xuất và hiện thực hóa một cơ chế phòng thủ chủ động kép trong môi trường SDN, bao gồm:
- Cơ chế tự động điều hướng kẻ tấn công từ mạng thật sang vùng honeypot thông qua tích hợp Snort — ControlFlow.py — ONOS.
- Cơ chế IP Mutation định kỳ làm mất hiệu lực thông tin trinh sát của kẻ tấn công, không yêu cầu can thiệp thủ công từ Security Analyst.
- Hệ thống ghi nhật ký tập trung theo thời gian thực (ELK Stack + Filebeat) giúp Security Analyst phân tích hành vi kẻ tấn công sau khi chúng xâm nhập vào honeypot.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế từ phạm vi nghiên cứu
Phạm vi thực nghiệm giới hạn trong môi trường giả lập (Containernet trên máy ảo) với cấu hình phần cứng xác định (3 VM, tổng 12 CPU, 16GB RAM), chưa được kiểm chứng trên hạ tầng mạng SDN vật lý quy mô lớn. Số lượng kịch bản tấn công được thử nghiệm chỉ bao gồm một số dạng phổ biến (Nmap scan, FTP, SSH, Telnet), chưa bao quát các vectơ tấn công phức tạp hơn.
Hướng phát triển (theo văn bản)
Khóa luận xác định các hướng phát triển trong Chương 5 — Kết luận và hướng phát triển, bao gồm mở rộng quy mô hệ thống và bổ sung thêm các kịch bản tấn công và cơ chế phòng thủ tương ứng.
Giá trị tham khảo
Khóa luận phù hợp làm tài liệu tham khảo cho các nhóm đối tượng sau:
- Sinh viên ngành An toàn thông tin và Mạng máy tính: Chương 2 cung cấp nền tảng lý thuyết hệ thống về SDN, MTD và Cyber Deception — đặc biệt phần phân loại và so sánh kỹ thuật MTD (Bảng 2.1) và mô hình lừa dối một vòng (Hình 2.5).
- Sinh viên, kỹ sư làm đề tài triển khai hệ thống bảo mật mạng: Chương 3 và 4 cung cấp thiết kế kiến trúc chi tiết và hướng dẫn triển khai thực tế với ONOS, Containernet, Snort, ELK Stack, Opencanary và Cowrie.
- Người nghiên cứu về SDN Security: Cách tích hợp IDS với SDN Controller qua Unix Socket và northbound API (ControlFlow.py) là ví dụ cụ thể về event-driven security automation trong SDN.
- Người làm đề tài về honeypot và log management: Cấu hình Filebeat — Logstash — Elasticsearch — Kibana cho log honeypot và NIDS là tài liệu thực hành có giá trị tham chiếu.
Câu hỏi thường gặp
1. Hệ thống sử dụng kỹ thuật MTD nào và cơ chế hoạt động cụ thể ra sao?
Nhóm tác giả sử dụng kỹ thuật IP Mutation (thuộc nhóm Shuffling). Ứng dụng MTD_ChangeIP.py tạo bảng ánh xạ ngẫu nhiên giữa realIPList (địa chỉ IP thật) và mtdIPList (địa chỉ IP giả), làm mới định kỳ theo chu kỳ period. Các switch trong mạng SDN tự động chuyển đổi địa chỉ IP nguồn và đích khi gói tin đi qua, khiến kẻ tấn công trong giai đoạn quét mạng chỉ thấy địa chỉ IP giả.
2. Hệ thống điều hướng kẻ tấn công vào honeypot như thế nào?
Khi Snort phát hiện dấu hiệu tấn công (ví dụ: quét mạng Nmap), cảnh báo được gửi đến ứng dụng ControlFlow.py qua Unix Socket. ControlFlow.py gọi API phía bắc của ONOS để: (1) chặn các luồng giữa máy bị phát hiện tấn công và các host thật trong mạng, (2) tạo luồng mới điều hướng máy đó vào vùng mạng chứa honeypot (Opencanary, Cowrie). Quá trình này được xác nhận qua thực nghiệm: host1 không ping được host2, host3, host4 nhưng ping được host5 và host6 (honeypot).
3. Hai loại honeypot Opencanary và Cowrie khác nhau như thế nào trong hệ thống?
Opencanary là daemon chạy các dịch vụ canary, giả lập nhiều dịch vụ như SSH, FTP, Telnet và gửi cảnh báo khi có tương tác. Cowrie (phát triển từ Kippo) là honeypot SSH chuyên biệt, lắng nghe tại port 2222, hoạt động ở hai chế độ: tương tác trung bình (mô phỏng hệ thống UNIX bằng Python) và tương tác cao (hoạt động như SSH proxy). Cowrie cho phép ghi lại chi tiết hơn các hành vi của kẻ tấn công sau khi xâm nhập vào shell.
4. ELK Stack được cấu hình để thu thập log từ những nguồn nào và luồng dữ liệu đi như thế nào?
Filebeat được cài trên máy chứa honeypot và máy chứa Snort để đọc file log. Log từ Opencanary được đọc tại đường dẫn /data/opencanary.log. Filebeat đẩy log đến Logstash qua Port 5044. Logstash bổ sung metadata (thời gian, IP, phân tích nội dung) rồi chuyển sang Elasticsearch qua Port 9200. Kibana đọc từ Elasticsearch và hiển thị tại localhost:5601, cho phép Security Analyst truy vấn log SSH, FTP, Telnet theo thời gian thực.
5. Kết quả thực nghiệm cho thấy MTD ảnh hưởng thế nào đến thời gian quét mạng và độ trễ gói tin?
Bảng 4.2 ghi nhận số liệu so sánh thời gian Nmap quét mạng khi có và không có MTD: khi MTD hoạt động, kết quả quét trả về địa chỉ IP giả, vô hiệu hóa thông tin trinh sát của kẻ tấn công. Bảng 4.3 đến 4.5 thống kê độ trễ ping ở nhiều kịch bản; kết quả cho thấy MTD gây tăng độ trễ nhất định do chi phí xử lý chuyển đổi IP tại các switch, nhưng hệ thống vẫn duy trì kết nối thông suốt giữa các host hợp lệ trong mạng.
Kết luận
Khóa luận trình bày việc xây dựng và thực nghiệm một hệ thống phòng thủ chủ động kết hợp hai cơ chế — lừa dối mạng (honeypot Opencanary và Cowrie) và phòng thủ di chuyển mục tiêu (IP Mutation) — trong môi trường mạng SDN sử dụng ONOS và Containernet. Hệ thống tích hợp thêm NIDS Snort và nền tảng logging ELK Stack + Filebeat để tạo vòng phòng thủ khép kín: phát hiện tấn công, điều hướng vào bẫy, và ghi nhận hành vi kẻ tấn công theo thời gian thực. Kết quả thực nghiệm với các số liệu thống kê từ Bảng 4.2 đến 4.6 cho thấy hệ thống hoạt động đúng theo thiết kế và có thể triển khai trong môi trường giả lập với cấu hình phần cứng giới hạn. Đây là tài liệu tham khảo thực tiễn cho các nghiên cứu về bảo mật mạng SDN, tích hợp IDS với SDN Controller, và triển khai hệ thống honeypot kết hợp MTD.