Chương 1. Giới thiệu tông quan về đề tài nghiên cứu, mục đích, đối tượng và phạm vi nghiên cứu. Trình bày các kiến thức nền tảng về SDN, Deep Learning, GAN, NIDS. Trình bày phương pháp luận và thiết kế hệ thống cho các phương pháp phát hiện tan công, sinh dit liệu, tái huấn luyện.
Hiện thực các phương pháp trình bày ở Chương 3, đánh giá kết quả đạt được. Dua ra kết luận, hướng phát triển cho khoá luận. KIÊN THUC NEN TANG 2. Software-Defined Networking (SDN) 2.
Tổng quan về SDN Trong những năm tồn tai và phát triển của Mang máy tính truyền thống, sự gia tăng mạnh mẽ về độ phức tạp của mạng đã mang lại những khó khăn trong việc quản trị nó. Việc câu hình các hệ thống mạng máy tính bằng các chính sách được xác định trước, câu hình lại các thiết bị mang dé đáp ứng với các thay đổi, hiệu chỉnh lỗi và cân bằng tải là trở thành những nhiệm vụ khó khăn. Vì có vẻ như các hệ thống mạng hiện tại được tích hợp theo chiều doc, tầng điều khiển va tầng dữ liệu được gắn kết với nhau. Vì vậy khi muốn cấu hình lại các tham số của mang, thay vì vốn về bản chat chúng ta chi cần thay đổi tang điều khiến thì chúng ta bắt buộc phải cấu hình lại hoàn toàn thiết bị (chứa cả tang dữ liệu lẫn tầng điều khiển), và phải làm trên từng thiết bị một cách thủ công mà không thé thay đổi đồng loạt toàn bộ tầng điều khiển cùng một lúc.
Thêm vào đó sự phát trién của các công nghệ ảo hóa cũng làm cho các công nghệ mạng truyền thống trở lên lỗi thời. Do hệ thống các thiết bị mạng truyền thống thường là các thiết bi đóng kin đắt tiền, trong đó phần mềm điều khiển và cau hình được gắn liền với phần cứng và mỗi hãng sản xuất lại cung cap một giao diện kết nối riêng làm cho độ phức tạp của mạng và khả năng tích hợp ngày càng trở lên khó kiểm soát. Việc ảo hóa do đó phục thuộc vào công nghệ và làm cho kết câu hệ thống mạng càng trở lên phức tạp, thiếu đồng bộ. Việc độc quyền các công nghệ mạng làm cho việc thay thé và sửa đổi, bổ sung các tính năng mới cho thiết bị cũng gặp nhiều hạn chế.
Các thiết bị cũng trở nên phức tạp và có nguy cơ chứa nhiều lỗ hồng, chang hạn như các phần mềm điều khiến routers có kích thước hơn 20 triệu dòng code với nguy cơ chứa day những lỗ hồng bao mật nghiêm trọng. Nhưng dé thay thế hoặc update các bản vá mới cho thiết bị đòi hỏi phải làm trên từng thiết bị một gây ra rất nhiều khó khăn cho các quản tri viên và trong trường hợp xâu nao đó, quản tri viên hoàn toàn có thé bỏ quên một vài thiết bị có lỗ héng chang hạn, điều này làm tăng các điểm yếu và nguy cơ an toàn cho mạng. Tóm lại các công nghệ mạng truyền thống đang gặp nhiều vấn đề trong việc quản lý và vận hành. Vì vậy sự ra đời của SDN được xem là một đột phá về kiến trúc mạng, tuy chưa được sử dụng rộng rãi nhưng SDN được kỳ vọng là tương lai của mạng máy tính với nhiều ưu điểm.
Sự khác biệt giữa kiến trúc mạng truyền thống và SDN được mô tả trong Hình 2. Traditional Network Software-Defined Network Hình 2.1: Sự khác biệt giữa kiến trúc mạng truyền thống và kiến trac SDN SDN là một kiểu kiến trúc mạng cho phép việc quản lý, điều khiến và tối ưu hóa tài nguyên mạng theo thiên hướng lập trình. SDN phân tách các cấu hình mang và việc thiết kế, lưu thông lưu lượng mạng ra khỏi phan ha tang phan cứng để đảm bảo việc quản lý và kiểm soát khi sử dụng các API mạng (network Application Programming Interface) trở nên hoàn chỉnh và đồng nhất hơn. Về mặt cơ bản, đây là cách thức sử dụng các giao thức mở như OpenFlow, giao thức mà có thé áp dụng cho mọi nơi dùng phần mềm dé quản lý việc truy cập vào các thiết bị mạng như switch, router có firmware độc quyền (như Cisco, Jupiter,.
SDN được định nghĩa bởi việc phân tách tầng điều khiến (control plane) và tang truyền dir liệu (data forwarding plane) trong hệ thống mạng. Nó là một kiểu kiến trúc giúp làm giảm chi phí vận hành và tăng tốc thời gian đáp ứng khi có yêu cầu thay đổi hoặc cung cấp thêm dịch vụ. SDN còn cho phép môi trường mạng kết nối trực tiếp đến các ứng dụng thông qua API để nâng cao độ bảo mật và hiệu suất của ứng dụng. SDN tạo ra một kiêu kiến trúc mạng linh hoạt tạo điều kiện cho sự thay đổi khi cần thiết.
Kiến trúc của SDN Kiến trúc của SDN gồm 3 tầng riêng biệt: tầng ứng dụng (Application Layer), tầng điều khiển (Control Layer), và tầng dữ liệu (Data Layer). Kiến trúc của SDN được mô tả trong Hình 2. Load Traffic/Security Application Laver Balancing Monitoring Ppp y Application-Control Interface OpenDayLight "1 Control Layer Control-Data Interface Virtual Switch | Data Layer Hình 2.2: Kiến trúc của SDN e Tang ứng dụng: Các ứng dụng như cân bằng tải, giám sát mang,. được triển khai tại tang này.
Nhờ khả năng thu thập thông tin từ bộ điều khiến, các ứng dụng này có thé có cái nhìn tong quan về mạng và có thé đưa ra quyết định điều khiến, thiết lập các thông số mạng cũng như tạo ra chính sách chuyển tiếp tối ưu đựa trên toàn bộ mạng. Với SDN, việc quản lý mạng có thê được thực hiện thông qua một giao diện duy nhất, trái ngược với việc cấu hình ở mỗi thiết bị mạng riêng lẻ. Việc này có thé thực hiện nhờ tang ứng dụng liên kết với lớp điều khiển thông qua các API. ° Tang diéu khién: La noi 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 cau từ lớp ứng dụng và kha năng của mạng.
Controller hoạt động như một loại hệ điều hành cho SDN. 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 controller. Controller thường sử dụng giao thức OpenFlow và cung cấp API để cấu hình các thiết bị mạng, quản lý kiểm soát luồng lưu lượng trong môi trường mạng. e Tang dữ liệu: Là các thiết bi 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. Cơ chế hoạt động của SDN Dữ liệu trong mang SDN được truyền đi theo hai luồng riêng biệt. Luồng dữ liệu chuyền tiếp các gói tin đi trong mạng, bao gồm tất cả các hàm và tiến trình chịu trách nhiệm xử lý và chuyên tiếp gói tin. Luồng điều khiển chuyền tiếp các gói mang thông tin điều khiến từ thiết bị chuyển mạch đến bộ điều khiển và ngược lại.
SDN hoạt động dựa trên cơ chế tách riêng việc kiểm soát luồng điều khiển với luồng dé liệu. Luông điều khiển không nằm trong các nút như mạng truyền thống mà được tách ra từ các thiết bị vật lý và chuyên đến quản lý tập trung tại các bộ điều khiển. Điều này giúp cho việc quản ly mạng có thé được thực hiện thông qua một giao diện duy nhất, trái ngược với viéc cau hình ở mỗi thiết bi mạng riêng lẻ. Việc tương tác với các thiết bị mạng vật lý được bộ điều khiển thực hiện thông qua một giao thức chuẩn dành riêng cho mạng SDN, phổ biến nhất là OpenFlow.
Luéng dữ liệu của SDN gồm các thiết bi mạng chứa bảng luồng, và trong bảng luồng chứa nhiều bản ghi luồng. Các bản ghi luồng quy định các hành vi và 10 nguyên tắc về đường đi cho các gói tin đi trong mạng. Luéng điều khiến trao đồi các gói tin mang thông tin về việc điều khién đường di, cau hình của gói tin,. giữa bộ điều khiến và các thiết bị chuyển mạch.
Thông qua các gói tin truyền đi trong luồng điều khiến, bộ diều khiến biết và quản lý sự tồn tại của các bản ghi luéng. Quy trình xử lý khi có gói tin đi đến một thiết bị chuyển mach trong mang SDN có thé được mô tả trong Hình 2. Controller (2) (3) Forward Feedback Flow Table Match Flow Table Packet Entries? Departure Hình 2.3: Quy trình xử lý gói tin trong mạng SDN Khi có gói tin đến, thiết bị chuyển mạch tra cứu trong bảng luồng. Nếu gói tin khớp với các nguyên tắc có trong bản ghi luồng thì thiết bị chuyển mạch thực thi các hành vi tương ứng và cập nhật các số liệu, nếu không thì chuyền thông tin về gói tin đến bộ điều khiển.
Bộ điều khiển xử lý thông tin gói tin, chuyển một bản ghi luồng chứa nguyên tắc và hành vi mới vào bảng luỗng của thiết bị chuyên mạch. Thiết bị chuyên mạch dựa vào nguyên tắc mới dé xử lý gói tin. Nếu van không có bản ghi luồng chứa nguyên tắc thích hợp thì hủy gói tin. Hướng tiếp cận 11 này cũng đơn giản hoá công việc triên khai các chức năng mạng.
Điêu này cho phép luéng các gói dit liệu đi qua mạng được kiểm soát theo hướng lập trình. Giới thiệu về phương pháp học sâu (Deep Learning) 2. Khái niệm học sâu Deep Learning là đào tạo một máy tính học giống như bộ não con người. Đôi khi được gọi là mạng thần kinh sâu (deep neural networking) hoặc học thần kinh sâu (deep neural learning), nó được liên kết với trí thông minh nhân tạo và thông qua máy tinh học sâu, "học" để nhận ra các mẫu và xác định các đôi tượng trừu tượng.
Để hiểu rõ về học sâu, hãy tưởng tượng một đứa trẻ học về loài méo. Đứa trẻ học dé nhận biết đó có phải là một con mèo hay không bằng cách chỉ vào nó và nói từ “mèo”. Phụ huynh nói "Đúng rồi, đó là một con mèo" hoặc "Không phải, đó không phải là một con mèo”. Khi trẻ tiếp tục chỉ vào đồ vật, trẻ sẽ nhận thức rõ hơn về các đặc điểm của mèo như đuôi, tai, lông và bốn chân.
Đứa trẻ đang làm rõ một sự trừu tượng phức tạp - khái niệm về một con mèo - bằng cách xây dựng một hệ thông phân cấp trong đó mỗi cấp độ trừu tượng được tạo ra với kiến thức mà lớp trước của hệ thống phân cấp thu được. Một chương trình có thể nhận ra một loài hoa dựa trên một bức ảnh hoặc bài hat dựa trên âm thanh của ai đó đang ngâm nga thì đó là kết quả của một mạng lưới thần kinh.