Chương 1 - GIỚI THIỆU: Giới thiệu sơ lược về các lĩnh vực, các vấn đề liên quan đến đề tài; nêu lên mục đích ý nghĩa, sự cần thiết, ảnh hưởng của đề tài đối với tình hình kinh tế xã hội hiện nay. Chương 2 - CƠ SỞ LÝ THUYẾT: Trình bày các kiến thức nền tảng liên quan đến nội dung đề tài như SDN, OpenFlow, Machine Learning và các vấn đề về bảo mật an ninh mạng. NỘI DUNG ĐỀ TÀI 6 3. Chương 3 - CÔNG TRÌNH LIÊN QUAN: Trình bày các tài liệu liên quan đến nội dung đề tài.
Chương 4 - PHƯƠNG PHÁP NGHIÊN CỨU: Phân tích các vấn đề cần được giải quyết trong phạm vi đề tài; đề xuất phương án giải quyết nhắm đạt được các mục tiêu đề ra. Chương 5 - THỰC NGHIỆM VÀ ĐÁNH GIÁ: Trình bày phương án kiểm thử, thu thập kết quả thử nghiệm; đánh giá hệ thống dựa trên các tiêu chí liên quan. Chương 6 - KẾT LUẬN: Trình bày kết luận về công tác triển khai thực hiện đề tài, các ưu nhược điểm cũng như các vấn đề còn tồn tại trong quá trình thực hiện đề tài, định hướng phát triển đề tài trong thời gian tiếp theo. Ngoài ra, một nội dung khác như Tài liệu tham khảo, Mục lục, v.
được tác giả sử dụng để ghi chú các tiêu đề, hình ảnh, bảng biểu cũng như các trích dẫn, tham khảo trong suốt quá trình thực hiện đề tài. SOFTWARE-DEFINED NETWORKING Kiến trúc của SDN gồm 3 lớp riêng biệt: lớp ứng dụng, lớp điều khiển và lớp chuyển tiếp [8], được mô tả như hình 2.1: Kiến trúc mạng Software-Defined Networking 7 2. SOFTWARE-DEFINED NETWORKING 8 • Lớp ứng dụng (Application Layer): bao gồm các ứng dụng mạng; cung cấp các chức năng quản lý vận hành mạng, các mô hình định tuyến, chuyển tiếp; hỗ trợ lớp điều khiển trong việc cấu hình mạng; cung cấp khả năng lập trình lại mạng thông qua việc điều chỉnh các tham số như băng thông, độ trễ, giải thuật định tuyến,v. Ngoài ra, lớp này còn có khả năng quan sát, theo dõi tình trạng mạng một cách tổng quát.
Từ đó người quản trị có thể đưa ra các chỉ thị để thay đổi mạng phù hợp với tình hình hiện tại, hay nói cách khác mạng sẽ được trừu tượng hóa. Giao tiếp giữa lớp ứng dụng và lớp điều khiển được gọi chung là giao tiếp Northbound. • Lớp điều khiển (Control and Virtualization Layer): là nơi tập trung các bộ điều khiển hay còn được gọi là các Controller; chịu trách nhiệm trong việc ra quyết định và quản lý hoạt động của lớp chuyển tiếp bằng cách tận dụng các thông tin nhận được từ lớp chuyển tiếp để định nghĩa các hoạt động mạng; cung cấp thông tin cho lớp ứng dụng. Các Controller này có thể là các phần mềm được lập trình, giao tiếp với lớp chuyển tiếp thông qua một số chuẩn giao tiếp được gọi chung là giao tiếp Southbound.
Một trong số những giao thức được dùng phổ biến trong giao tiếp Southbound là giao thức OpenFlow. • Lớp chuyển tiếp (Data Layer): là nơi tập trung các thiết bị mạng vật lý hoặc thiết bị ảo, thực hiện việc chuyển tiếp gói tin dựa trên sự điều khiển của các Controller ở lớp điều khiển. Lớp này chịu trách nhiệm thực hiện chuyển tiếp các luồng dữ liệu cũng như giám sát các thông tin cục bộ, thu thập, thống kê các thông số về dữ liệu. Một thiết bị mạng có thể được kết nối với nhiều Controller khác nhau, giúp tăng cường tính sẵn sàng và khả năng ảo hóa của mạng.
Với kiến trúc như trên, SDN có thể mang lại sự linh hoạt, khả mở, tiết kiệm chi phí và đơn giản hóa chức năng quản lý. Cụ thể, lớp điều khiển có thể được lập trình trực tiếp; mạng được điều chỉnh thay đổi một cách nhanh chóng thông qua việc tùy chỉnh trên lớp điều khiển; mạng được quản lý tập trung; các cấu hình ở lớp chuyển tiếp có thể được lập trình trên lớp ứng dụng và đưa xuống các lớp dưới thông qua các giao tiếp Northbound và Southbound. Sự linh hoạt, phân cấp rõ ràng giúp SDN 2. NỀN TẢNG NETFPGA 9 mang lại nhiều lợi ích không chỉ cho các doanh nghiệp mà còn cho các nhà cung cấp dịch vụ, cơ sở hạ tầng mạng.
NỀN TẢNG NETFPGA 2. FIELD-PROGRAMMABLE GATE ARRAY Field-programmable Gate Array (FPGA)1 là một loại mạch tích hợp cỡ lớn dùng cấu trúc mảng phần tử logic mà người dùng có thể lập trình được. Vi mạch FPGA được cấu thành từ các bộ phận như các khối logic cơ bản lập trình được (programmable logic block); hệ thống mạch liên kết lập trình được; khối vào/ra (IO Pads); phần tử thiết kế sẵn khác như DSP slice, RAM, ROM, nhân vi xử lý, v. Ưu điểm lớn nhất của FPGA là có thể tái cấu hình khi đang sử dụng, công đoạn thiết kế đơn giản, nhờ vậy rút ngắn thời gian và chi phí sản xuất sản phẩm.
Tính linh hoạt trong thiết kế cho phép FPGA giải quyết những lớp bài toán phức tạp mà không một phần cứng chuyên dụng nào có thể giải quyết được trước đây. Ngoài ra, việc tích hợp mật độ phần tử logic lớn giúp FPGA có thể giải quyết những công việc có khối lượng tính toán lớn. FPGA được sử dụng trong rất nhiều ứng dụng, bao gồm: xử lý tín hiệu số; tiền thiết kế mẫu ASIC; các hệ thống điều khiển trực quan; ứng dụng thị giác máy tính; kiến trúc máy tính; xử lý dữ liệu lớn; mạng máy tính; các hệ thống làm việc theo thời gian thực hay các hệ thống hàng không vũ trụ, quốc phòng. Trong mạng máy tính, FPGA có thể sử dụng để chế tạo ra các thiết bị như Router, Switch, Firewall,v.
Đặc biệt là thiết bị hỗ trợ cho việc thử nghiệm SDN là IDS, OpenFlow Switch. KIẾN TRÚC NETFPGA NetFPGA [9] là nền tảng lý thưởng cho việc thiết kế và hiện thực các thiết bị mạng máy tính có mật độ, tốc độ và hiệu suất cao. Sản phẩm này ra đời nhờ một nỗ lực hợp tác giữa nhiều phía đặc biệt là hai trường đại học hàng đầu thế giới Cambridge và Standford. NetFPGA có mọi thứ cần thiết để nghiên cứu và phát triển chuyên sâu các hệ thống kết nối mạng tân tiến nhất.
Hiện nay, các nhà phát triển đã cho ra đời nhiều nền tảng NetFPGA như NetFPGA-10G [9], NetFPGA-SUME [10],v.org/wiki/Field-programmable_gate_array 2. NỀN TẢNG NETFPGA 10 NETFPGA-10G [11] Các thông số phần cứng của nền tảng NetFPGA-10G: • Hỗ trợ chip Xilinx Virtex-5 TX240T (Hệ thống hiệu năng cao, các phần tử logic kết nối trực tiếp với công nghệ tiên tiến, mật độ lớn) • Hỗ trợ 4 cổng SFP+ (Cổng giao tiếp mạng với tốc độ xử lý lên đến 10Gbps) • Hỗ trợ cổng PCI Express thế hệ 2 với 8 kênh, mỗi kênh có thể giao tiếp với tốc độ 5Gbps. • Hỗ trợ 20 bộ thu phát nối tiếp có thể cấu hình GTX thông qua hai cổng kết nối tốc độ cao SAMTEC. • Hỗ trợ 3 bộ nhớ SRAM 72-Mbit QDR II với xung nhịp 333 MHz, tổng dung lượng 27 MB • Hỗ trợ 4 bộ nhớ DRAM 576-Mbit RLDRAM II với xung nhịp lên đến 533MHz, tổng dung lượng 288 MB • Kích thước board 9.25” • Hỗ trợ các phần tử LED và nút bấm cho người dùng.3 mô tả sản phẩm NetFPGA-10G và kiến trúc của nó.2: Nền tảng NetFPGA-10G 2.
NỀN TẢNG NETFPGA 11 Hình 2.3: Kiến trúc nền tảng NetFPGA-10G Hình 2.4: Nền tảng NetFPGA-SUME Hình 2.5: Kiến trúc nền tảng NetFPGA-SUME 2. HỆ THỐNG PHÁT HIỆN XÂM NHẬP MẠNG BẤT THƯỜNG 12 NETFPGA-SUME [10] NetFPGA-SUME là bản nâng cấp so với NetFPGA-10G. Một số thông số của nền tảng NetFPGA-SUME: • Chip FPGA Virtex-7 XC7V690T, một nền tảng lý tưởng cho thiết kế mạng với mật độ và tốc độ cao. • Hỗ trợ 32 bộ truyền nối tiếp GTH cung cấp khả năng truy xuất đến 8 cổng PCI-E(Gen3) với xung nhịp lên đến 13.
Nhờ đó có thể duy trì một lượng lớn luồng dữ liệu tốc độ cao đến các linh kiện bộ nhớ và cơ cấu FPGA. • Hỗ trợ 4 cổng SFP+ (10Gbps), 2 cổng SATA-III(6Gbps) • Hỗ trợ 5 bộ nhớ độc lập tốc độ cao được xây dựng từ ba linh kiện 500MHz 72 MBit QDRII+ SRAM với đường truyền dữ liệu có độ rộng 36 bit và 2 bộ nhớ 1866MT/s 4Gb DDR3 SoDIMM với đường truyền dữ liệu có độ rộng 64 bit. • Hỗ trợ 20 bộ thu phát tính tổng trên các đầu nối mở rộng FMC và QTH, và các cổng SATA.5 mô tả sản phẩm NetFPGA-SUME và kiến trúc của nó. HỆ THỐNG PHÁT HIỆN XÂM NHẬP MẠNG BẤT THƯỜNG Hệ thống phát hiện xâm nhập (Intrusion Detection System - IDS) là một thiết bị hoặc phần mềm thực thi nhiệm vụ theo dõi, giám sát quá trình trao đổi thông tin trong các mạng máy tính để kịp thời phát hiện và ngăn chăn sự xâm nhập, phá hoại bảo mật hệ thống [12].
Cơ chế hoạt động của IDS là thu thập thông tin từ nhiều nguồn trong hệ thống, sau đó tiến hành phân tích những thông tin đó theo các cách khác nhau để phát hiện những xâm nhập trái phép. Hay nói cách khác, IDS có khả năng phát hiện những hành vi khai thác trái phép tài nguyên của hệ thống hoặc những hành vi mang dấu hiệu của các cuộc tấn công vào hệ thống như dò tìm, nghe lén, tấn công từ chối dịch vụ, v. qua đó đảm bảo tính bảo mật, tính toàn vẹn và tính sẵn sàng của hệ thống. Hiện nay, IDS được chia thành nhiều loại dựa trên các kỹ thuật hoặc các cách tiếp cận lưu lượng xâm nhập khác nhau, .6 mô tả một số phương pháp phân loại IDS phổ biến.
HỆ THỐNG PHÁT HIỆN XÂM NHẬP MẠNG BẤT THƯỜNG 13 Hình 2.6: Phân loại hệ thống phát hiện xâm nhập PHÂN LOẠI IDS THEO VỊ TRÍ XÂM NHẬP Dựa vào vị trí xâm nhập (types of intruders), IDS có thể được triển khai để bảo vệ hệ thống từ các hành vi xâm nhập nội bộ (Internal Intruders) điển hình như các cuộc tấn công từ chính nhân viên hoặc khách hàng trong hệ thống hay các hành vi xâm nhập từ bên ngoài (External Intruders) như các cuộc tấn công bởi hacker. PHÂN LOẠI IDS THEO KIỂU XÂM NHẬP IDS có thể được thiết kế để phát hiện và ngặn chặn các kiểu xâm nhập an ninh mạng phổ biến như tấn công thăm dò (Probe Attack), tấn công Remote to Local (R2L Attack), tấn công User to Root (U2R Attack), tấn công từ chối dịch vụ (Denial-of-Services - DoS), tấn công Web (Web Attacks) và tấn công Zero-Day (Zero-Day Attack). Trong đó: Probe Attack [13]: Đặc điểm chung của các loại tấn công thuộc nhóm này là tin tặc khai thác điểm yếu của mạng hoặc các máy tính bằng cách quét thăm dò thông tin từ các cổng đang mở, các dịch vụ đang chạy hoặc các thông tin nhạy cảm khác như địa chỉ IP, địa chỉ MAC, các luật tường lửa,v.