Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 107 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
107
Dung lượng
7,57 MB
Nội dung
Tai Lieu Chat Luong BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH ∞0∞ NGUYỄN XUÂN KIỀU PHÁT TRIỂN DỊCH VỤ END-HOPPING CHO HẠ TẦNG SDN LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH TP HỒ CHÍ MINH, NĂM 2020 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH ∞0∞ NGUYỄN XUÂN KIỀU PHÁT TRIỂN DỊCH VỤ END-HOPPING CHO HẠ TẦNG SDN Chuyên ngành: Khoa học máy tính Mã số chuyên ngành: 48 01 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Giảng viên hướng dẫn: TS NGUYỄN HỒNG SƠN TP HỒ CHÍ MINH, NĂM 2020 TRƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO SAU ĐẠI HỌC CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc GIẤY XÁC NHẬN Tôi tên là: Nguyễn Xuân Kiều Ngày sinh: 17/11/1990 Nơi sinh: Bắc Giang Chuyên ngành: Khoa học máy tính Mã học viên: 1784801010008 Tơi đồng ý cung cấp tồn văn thơng tin luận văn tốt nghiệp hợp lệ quyền cho Thư viện trường đại học Mở Thành phố Hồ Chí Minh Thư viện trường đại học Mở Thành phố Hồ Chí Minh kết nối tồn văn thông tin luận văn tốt nghiệp vào hệ thống thông tin khoa học Sở Khoa học Công nghệ Thành phố Hồ Chí Minh Ký tên (Ghi rõ họ tên) i LỜI CAM ĐOAN Tôi cam đoan luận văn “Phát triển dịch vụ End-hopping cho hạ tầng SDN” nghiên cứu tơi Ngoại trừ tài liệu tham khảo trích dẫn luận văn này, tơi cam đoan tồn phần hay phần nhỏ luận văn chưa công bố sử dụng để nhận cấp nơi khác Khơng có sản phẩm/ nghiên cứu người khác sử dụng luận văn mà khơng trích dẫn theo quy định Luận văn chưa nộp để nhận cấp trường đại học sở đào tạo khác Thành phố Hồ Chí Minh, năm 2020 Nguyễn Xuân Kiều ii LỜI CẢM ƠN Để hồn thành khóa luận này, em xin bày tỏ biết ơn sâu sắc đến Thầy TS Nguyễn Hồng Sơn tận tình hướng dẫn suốt trình thực Luận văn tốt nghiệp Em xin chân thành cảm ơn Thầy, Cô Khoa Công nghệ Thông tin, Trường Đại học Mở TPHCM tận tình truyền đạt kiến thức thời gian học tập nghiên cứu trường Với vốn kiến thức tiếp thu q trình học tập nghiên cứu khơng tảng cho trình nghiên cứu Luận văn mà hành trang quý báu để em vững bước vào đời cách tự tin, vững Em thầm biết ơn ủng hộ đồng nghiệp, gia đình bạn bè - người thân u ln chỗ dựa vững cho em Trong trình thực đề tài nghiên cứu, có nhiều cố gắng giới hạn trình độ hiểu biết, kinh nghiệm thực tế, kinh nghiệm nghiên cứu khoa học nên Luận văn khơng tránh khỏi thiếu sót Kính mong nhận đóng góp ý kiến thầy, cô giáo, bạn bè đồng nghiệp để Luận văn hoàn thiện lý luận khoa học lẫn thực tiễn Cuối cùng, em xin kính chúc Thầy cơ, Đồng nghiệp, Gia đình dồi sức khỏe thành công nghiệp cao quý Xin trân trọng cảm ơn! TP.HCM, ngày 12 tháng 12 năm 2020 Học viên Nguyễn Xuân Kiều iii TÓM TẮT Software Defined Network (SDN) cơng nghệ mạng hồn tồn mới, cho phép người quản trị can thiệp sâu vào hệ thống với khả cho phép lập trình điều khiển Controller Khi thiết bị chuyển mạch router hay switch làm nhiệm vụ thực việc chuyển tiếp gói tin dựa theo lệnh mà điều điều khiển đưa thông qua giao thức OpenFlow Việc quản trị hệ thống mạng SDN thực giao diện hay nhiều điều khiển từ cho người quản trị có nhìn tổng qt hệ thống Trong q trình tìm hiểu phân tích công nghệ mạng SDN, giống mạng truyền thống, SDN gặp phải thách thức, mối đe dọa thường trực, nghiêm trọng khó phịng thủ dễ bị cơng Với phương pháp phịng thủ sẵn có tường lửa, hệ thống ngăn chặn xâm nhập (IPS), Proxy… vận hành xuất độ trễ định, khó để bảo vệ hệ thống cách an toàn, chủ động Để hạn chế thách thức đó, từ việc tìm hiểu kỹ thuật OpenFlow Random Host Mutation (OF-RHM), phạm vi nghiên cứu luận văn xây dựng, áp dụng triển khai thành công dịch vụ End-hopping môi trường mạng SDN việc thay đổi thông tin port, địa ip thành port ảo ip ảo gói tin kết nối qua mạng nhằm tạo môi trường động, không xác định không bền End-hopping mang lại phương pháp phòng thủ chủ động, ẩn dấu, thay đổi ip port dịch vụ gây nhầm lẫn cho kẻ công cách liên tục thay đổi ip cổng dịch vụ cách linh hoạt, khó đốn trước Từ kết đạt End-hopping, luận văn sâu đánh giá chi tiết đề xuất mở rộng thêm nghiên cứu nhằm tăng khả bảo mật, chống nghe việc đề xuất thêm hai giải pháp là: dịch vụ Path Hopping với mục đích thay đổi lộ trình gói kết nối Mã chuyển vị nhằm xáo trộn thứ tự truyền gói kết nối iv Từ kết có từ ba phương pháp: End-hopping, Path Hopping Mã chuyển vị luận văn đề xuất thêm hướng phát triển mở rộng tương lai khả áp dụng ứng dụng vào môi trường thực tế v ABSTRACT Software Defined Network (SDN) is completely new network technology, allowing administrators to intervene more deeply into the system with the ability to program on the Controller At that time, switches such as routers or switches only have to forward the packets based on the commands given by the controller via the OpenFlow protocol SDN network management is done on a single interface of one or more controllers, giving the administrator the best overview of the system In the process of understanding and analyzing new network technology SDN, like traditional networks, SDN also faces serious challenges and threats that are difficult to defend and vulnerable to attack With available defense methods such as firewalls, intrusion prevention system (IPS), Proxy when operating, there will be a certain delay, it is difficult to protect the system safely and proactively To mitigate those challenges, from understanding the technique of OpenFlow Random Host Mutation (OF-RHM), within the research scope of the thesis has built, applied and successfully deployed Endhopping service on the lips SDN network environment by changing the port information, ip address into virtual ports and virtual ip of packets in the same connection over the network to create a dynamic environment, unknown and unstable End-hopping has brought proactive defense, concealment, and change of service ip and port to confuse attackers by continuously changing service IPs and ports in a flexible, unpredictable manner From the results achieved by End-hopping, the thesis goes into detailed assessment and proposes to expand more research to increase security and antieavesdropping by proposing two more solutions: Path Hopping service, for the purpose of changing the route of packets in the same connection and the Transposition cipher to tamper with the transmission order of packets in the same connection From the results obtained from the three methods: End-hopping, Path Hopping and the Transposition cipher, propose additional development directions in the future as well as the possibility of applying applications in the real environment vi MỤC LỤC LỜI CAM ĐOAN .i LỜI CẢM ƠN ii TÓM TẮT iii MỤC LỤC .vi DANH MỤC CÁC HÌNH VẼ .ix DANH MỤC BẢNG .xi DANH MỤC CÁC TỪ VIẾT TẮT .xii MỞ ĐẦU xiii CHƯƠNG TỔNG QUAN 1.1 Tổng quan mạng định nghĩa phần mềm SDN 1.2 Kiến trúc mạng truyền thống 1.3 Kiến trúc SDN 1.4 Thách thức công nghệ SDN 1.5 Các cơng trình nghiên cứu liên quan 1.6 Mục tiêu, phương pháp nghiên cứu luận văn 1.6.1 Mục tiêu, toán giải pháp 1.6.2 Phương pháp 1.6.3 Nội dung nghiên cứu 10 1.7 Những đóng góp luận văn 10 1.8 Kết luận chương 11 CHƯƠNG CƠ SỞ LÝ THUYẾT VÀ CÔNG CỤ NGHIÊN CỨU 13 2.1 Giao thức Openflow 13 2.2 Kiến trúc Openflow 14 2.3 Quá trình xử lý gói tin Openflow 16 2.4 Kỹ thuật End-hopping 18 2.4.1 Kỹ thuật OpenFlow Random Host Mutation 18 75 Phụ lục Cài đặt Ryu controller Quá trình cài đặt Ryu controller thực qua bước sau: Cài đặt công cụ Python: # sudo apt-get -y install git python-pip python-dev Cài đặt gói Python: # sudo apt-get -y install python-eventlet python-routes python-webob python-paramiko Cài đặt cập nhật gói Python: # sudo pip install six upgrade # sudo pip install oslo.config msgpack-python # sudo pip install eventlet upgrade Clone RYU: # cd ~/ # git clone depth=1 https://github.com/osrg/ryu.git Cài đặt Ryu: # sudo pip install setuptools upgrade # cd ryu # sudo python /setup.py install Kiểm tra phiên Ryu cài đặt: # ryu-manager –version Nếu hệ điều hành cài đặt sẵn Python cài đặt Ryu câu lệnh sau: Sử dụng pip install: # sudo pip install ryu Hoặc cài đặt từ mã nguồn gốc: # git clone git://github.com/osrg/ryu.git # cd ryu 76 # sudo python setup.py install Phụ lục Code mô hình mạng trình giả lập Mininet - Mơ hình mạng dùng cho End-hopping from mininet.topo import Topo class MyTopo( Topo ): "Simple topology example." def init ( self ): "Create custom topo." # Initialize topology Topo. init ( self ) # Add hosts and switches Host1 = self.addHost('h1', ip='172.16.10.10') Host2 = self.addHost('h2', ip='172.16.20.20') Host3 = self.addHost('h3', ip='172.16.30.30') Switch1 = self.addSwitch('s1') Switch2 = self.addSwitch('s2') Switch3 = self.addSwitch('s3') # Add links self.addLink(Host1, Switch1) self.addLink(Host2, Switch2) self.addLink(Host3, Switch3) self.addLink(Switch1, Switch2) self.addLink(Switch1, Switch3) self.addLink(Switch2, Switch3) topos = { 'mytopo': ( lambda: MyTopo() ) } 77 - Mơ hình mạng dùng cho Path Hopping from mininet.topo import Topo class MyTopo( Topo ): "Simple topology example." def init ( self ): "Create custom topo." # Initialize topology Topo. init ( self ) # Add hosts and switches Host1 = self.addHost('h1', ip='172.16.10.10') Host2 = self.addHost('h2', ip='172.16.20.20') Host3 = self.addHost('h3', ip='172.16.30.30') Switch1 = self.addSwitch('s1') Switch2 = self.addSwitch('s2') Switch3 = self.addSwitch('s3') # Add links self.addLink(Host1, Switch1) self.addLink(Host2, Switch2) self.addLink(Host3, Switch3) self.addLink(Switch1, Switch2) self.addLink(Switch1, Switch3) self.addLink(Switch1, Switch3) self.addLink(Switch1, Switch3) self.addLink(Switch1, Switch3) self.addLink(Switch2, Switch3) self.addLink(Switch2, Switch3) self.addLink(Switch2, Switch3) self.addLink(Switch2, Switch3) topos = { 'mytopo': ( lambda: MyTopo() ) }