1. Trang chủ
  2. » Giáo Dục - Đào Tạo

GIẢI PHÁP AN NINH MẠNG DÙNG SDN

41 101 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 41
Dung lượng 2,4 MB

Nội dung

BÁO CÁO NGHIÊN CỨU KHOA HỌC GIẢI PHÁP AN NINH MẠNG DÙNG SDN Giáo viên hướng dẫn: TS.Trương Thu Hương Nhóm sinh viên: Nguyễn Cao Nguyên – SHSV- K54 Dương Quang Hưng Nguyễn Quang Phúc Trần Minh Hưng Nội dung Chương 1: Lời mở đầu .5 Chương 2: Cơ sở lý thuyết 2.1 Tổng quát mạng LAN 2.2 Một số công phổ biến mạng LAN 2.2.1 Tấn công ARP Spoofing 2.2.2 Tấn công IP Spoofing .10 2.2.3 Tấn công DHCP Server 13 2.2 Mạng lập trình (Software Define Network) 16 2.3 Công nghệ OpenFlow 17 2.3.2 Kiến trúc openflow 17 2.4 NetFPGA 21 Chương 3: Thiết kế hệ thống cài đặt công cụ .25 3.1 Sơ đồ khối .25 3.2 Bộ điều khiển mạng openflow controller (POX) 26 3.2.1 Giới thiệu tổng quan 26 3.2.2 Cài đặt sử dựng 27 3.3 OpenFlow Switch 28 3.3.1 Giới thiệu tổng quan .28 3.3.2 Cài đặt sử dụng 28 3.4 Các công cụ phát lưu lượng 30 3.4.1 TCPreplay .30 3.4.2 Yersinia 31 Chương : Một số Module quan trọng Controller 34 4.1 Dhcp Module 34 4.2 Security Module .34 4.3 Routing Module .34 4.4 Sơ đồ tiến trình xử lý tin 35 4.5 Sơ đồ tiến trình DHCP chống cơng DHCP 36 4.6 Chống công 36 TÀI LIỆU THAM KHẢO .41 Danh mục hình vẽ Hình - Mơ tả q trình ARP .8 Hình - Mơ hình cơng IP spoofing 11 Hình - Mơ hình OpenFlow .18 Hình - Nền tảng NetFPGA .22 Hình – Sơ đồ khối 25 Hình - Giao diện Yersinia .32 Hình - Chọn Interface 33 Hình 8- Chọn kiểu công 33 Hình – Tiến trình xử lý tin 35 Hình 10 – Chống tần công DHCP 36 Hình 11 - Lấy địa IP động từ DHCP Server 37 Hình 12 - Bảng cấu hình Client 38 Hình 13 - Bảng lưu thông tin cấp phát IP ứng với switch .38 Hình 14 - Log file bị công DHCP Server 39 Hình 15 - Nghi ngờ cơng IP Spoofing block port 39 Hình 16 - Màn hình Wireshark xảy công, port bị block .40 Chương 1: Lời mở đầu Ngày nay, với phát triển nhanh chóng công nghệ tiên tiến, nhu cầu kết nối chia sẻ người ngày gia tăng tốc độ, chất lượng tính thuận tiện Các kiến trúc mạng thiết bị mạng cũ phần để lộ nhược điểm tính cứng ngắc, giá thành cao, thiếu khả tích hợp nhiều chức năng… Mạng lập trình hay SDN, kiến trúc mạng mới, mà đó, thiết bị chuyển mạch (Switch, Router…) tách làm hai phần riêng biệt: mặt phẳng điều khiển (Control Plane) mặt phẳng liệu (Data Plane) Control Plane triển khai server bên ngoài, chịu trách nhiệm điều khiển việc chuyển tiếp gói tin chức tích hợp khác Data Plane thực việc chuyển tiếp gói tin dựa theo lệnh mà Control Plane đưa SDN sử dụng giao thức OpenFlow để giao tiếp Control Plane Data Plane OpenFlow bắt đầu phát triển từ năm 2008 Đại học Stanford, California, Mỹ Với đời OpenFlow, việc trao đổi Control Plane Data Plane trở lên dễ dàng, thuận tiện xác Nhờ đó, SDN bắt đầu áp dụng để thay cho kiến trúc mạng thông thường Thực tế SDN triển khai nhiều phòng lab trường đại học, trung tâm nghiên cứu Các tập đoàn lớn Google, HP bắt đầu sử dụng kiến trúc SDN mạng lõi Xuất phát từ thực trạng nay, thiết bị chuyển mạch mạng LAN kèm với chức bảo mật thường có giá thành cao Hơn nữa, việc tích hợp nhiều chức bảo mật cách mềm dẻo khó khăn kiến trúc mạng thông thường Nhận thấy khả SDN việc giải vấn đề trên, nhóm sinh viên chúng em chọn đề tài: “Xây dựng hệ thống phát xâm nhập Attack Detection System (ADS) mạng LAN dựa kiến trúc SDN”, nhằm phát ngăn chặn số loại hình cơng mạng LAN Trong trình thực hiện, hạn chế mặt thời gian kiến thức, nên đề tài tránh khỏi thiếu sót Chúng em mong nhận đóng góp thầy cô bạn để đề tài hoàn thiện Chương 2: Cơ sở lý thuyết 2.1 Tổng quát mạng LAN LAN (viết tắt từ tên tiếng Anh Local Area Network, "mạng máy tính cục bộ") hệ thống mạng dùng để kết nối máy tính phạm vi nhỏ (nhà ở, phòng làm việc, trường học, …) Các máy tính mạng LAN chia sẻ tài nguyên với nhau, mà điển hình chia sẻ tập tin, máy in, máy quét số thiết bị khác Một mạng LAN tối thiểu cần có máy chủ (server), thiết bị ghép nối (Repeater, Hub, Switch, Bridge), máy tính (client), card mạng (Network Interface Card – NIC) dây cáp (cable) để kết nối máy tính lại với Trong thời đại hệ điều hành MS-DOS, máy chủ mạng LAN thường sử dụng phần mềm Novell NetWare, nhiên điều trở nên lỗi thời sau Windows NT Windows for Workgroups xuất Ngày hầu hết máy chủ sử dụng hệ điều hành Windows, tốc độ mạng LAN lên đến 10 Mbps, 100 Mbps hay chí Gbps Ngày mạng LAN trở thành kiến trúc mạng thiếu cấu trúc hệ thống mạng máy tính Bên cạnh với lợi thế, điểm mạnh, mạng LAN bộc lộ khơng điểm yếu mà kẻ cơng lợi dụng để công vào mạng Mặt khác, việc triển khai phòng chống, xử lý cơng mạng LAN trở nên phức tạp khó lòng xử lý triệt để cơng thường xuất phát từ nội mạng 2.2 Một số công phổ biến mạng LAN 2.2.1 Tấn công ARP Spoofing 2.2.1.1 Giới thiệu giao thức ARP Mỗi thiết bị hệ thống mạng có hai địa Một địa Media Access Control (MAC) địa Internet Protocol(IP) Địa MAC địa card mạng gắn vào bên thiết bị, khơng thay đổi Địa IP thay đổi theo người sử dụng tùy vào môi trường mạng ARP giao thức IP, chức dùng để định vị host segment mạng cách phân giải địa IP địa MAC ARP thực điều thơng qua tiến trình broadcast gói tin đến tất host mạng, gói tin chứa địa IP host cần giao tiếp Các host mạng nhận gói tin host có địa IP trùng với địa IP gói tin trả lời lại, lại tự động drop gói tin 2.2.1.2 Các gói tin ARP Host A gửi ARP Request nhận ARP Reply từ host B có thực mạng sau tiến trình hồn tất, host A biết host B có MAC Tiếp theo, host A lưu lại hiểu biết lên nhớ gọi ARP table ARP table giúp host A thực ARP Request đến host B lần Hình - Mơ tả q trình ARP 2.2.1.3 Ngun lý cơng Giao thức ARP cần thiết quan trọng hệ thống mạng chúng ta, nhiên lại khơng đề cập đến vấn đề xác thực Khi host nhận gói tin ARP Reply, hồn tồn tin tưởng sử dụng thơng tin để sử dụng sau mà không cần biết thông tin có phải trả lời từ host mà mong muốn hay khơng ARP khơng có chế để kiểm tra việc thực tế host chấp nhận gói ARP Reply mà trước khơng cần phải gửi gói tin ARP Request Lợi dụng điều này, hacker triển khai phương thức công như: Man In The Middle, Denial of Service, MAC Flooding… 2.2.1.4 Một số cách công ARP mạng LAN  Man in the middle Giả sử hacker muốn theo dõi host A gởi thơng tin cho host B Đầu tiên, hacker gởi gói ARP Reply đến host A với nội dung địa MAC hacker địa IP host B Tiếp theo, hacker gửi gói ARP Reply tới host B với nội dung MAC máy hacker IP host A Như vậy, hai host A host B tiếp nhận gói ARP Reply lưu vào ARP table Đến lúc này, host A muốn gửi thơng tin đến host B, liền tra vào ARP table thấy có sẵn thơng tin địa MAC host B nênsẽ lấy thơng tin sử dụng, thực chất địa MAC hacker Đồng thời máy tính hacker mở chức gọi IP Forwading giúp chuyển tải nội dung mà host A gửi qua host B Host Avà host B giao tiếp bình thường khơng có cảm giác bị qua máy trung gian máy hacker Trong trường hợp khác, hacker nghe thông tin từ máy bạn đến Gateway Như hành động Internet bạn bị hacker ghi lại hết, dẫn đến việc mát thông tin nhạy cảm  Denial of service Cũng vận dụng kỹ thuật trên, hacker tiến hành cơng cách gởi gói ARP Reply đến toàn host mạng với nội dung mang theo địa IP Gateway địa MAC không tồn Như host mạng tin tưởng biết MAC Gateway gửi thông tin đến Gateway, kết gửi đến nơi hồn tồn khơng tồn Đó điều hacker mong muốn, tồn host mạng Internet  MAC flooding Cách công dùng kỹ thuật ARP Poisoning mà đối tượng nhắm đến Switch Hacker gửi gói ARP Reply giả tạo với số lượng khổng lồ nhằm làm Switch xử lý không kịp trở nên tải Khi đó, Switch khơng đủ sức thể chất Layer2 mà broadcast gói tin tồn port Hacker dễ dàng bắt tồn thơng tin mạng bạn 2.2.1.5 Một số biện pháp phòng chống Có số biện pháp để chống công ARP mạng LAN  Khi hệ thống mạng nhỏ ta gán MAC tĩnh cho máy Khi địa IP MAC gắn chặt với nhau, máy có địa MAC IP máy mạng nên xảy trường hợp công ARP  Sử dụng chức port security số switch hỗ trợ chức này, port switch cho phép địa MAC hợp pháp Khi kẻ công dùng MAC không phù hợp, gói tin khơng thể qua port  Dùng số tool sẵn có để chống ARP spoofing (WinPcap4 ArpSpoof , Xarp2.0, CainAble…) 2.2.2 Tấn công IP Spoofing 2.2.2.1 Giới thiệu chung IP Spoofing kiểu cơng mà đó, attacker thay đổi địa nguồn packet, địa chưa sử dụng, địa sử dụng host tin cậy  POX cung cấp giao diện lập trình giúp cho nhà phát triển sử dụng dễ dàng lấy thông tin kiện mạng, can thiệp vào lưu lượng, điều khiển định chuyển mạch switch tạo lưu lượng  Khi có flow xuất trọng mạng, gói gửi đến điều khiển mạng POX, thực được: định xem chuyển tiếp gói mạng, định tuyến cho gói tin, thu thập thơng tin thống kê, chỉnh sửa gói flow xem thêm gói khác flow để thu thập thêm nhiều thông tin POX đơn platform, việc điều khiển mạng thực phần tử chức POX gọi POX component, component thực thi chức riêng biệt định tuyến, chuyển mạch, xác thực Có thể chạy lúc nhiều POX component với chức điều khiển khác làm cho việc điều khiển quản lý mạng trở nên hoàn hảo Các ứng dụng điều khiển mạng POX kết hợp với nhận biết kiện mạng (network event), can thiệp vào lưu lượng mạng, điều khiển định tuyến switch tạo lưu lượng 3.2.2 Cài đặt sử dựng  Cài đặt Tải cài đặt POX, chép sang thư mục mong muốn phát triển ứng dụng POX  Sử dụng Có thể sử dụng module sẵn có thư mục POX Để phát triển module mới, tạo file py thư mục tương ứng Để chạy module, ta dùng cửa sổ dòng lệnh, di chuyển vào thư mục POX Sau đó, dùng câu lệnh: /pox.py . 3.3 OpenFlow Switch 3.3.1 Giới thiệu tổng quan Như giới thiệu muc 2.2.2 loại OpenFlow Switch, để tăng hiệu sử dụng so với OpenflowVSwitch, đồ án em cấu hình Openflow Switch dựa nên tảng NetFPGA 3.3.2 Cài đặt sử dụng 3.3.2.1 Cài đặt Sử dụng PC chạy hệ điều hành CentOS 6.5 có gắn card NetFPGA để tạo thành OpenFlow Switch Các câu lệnh để tiến hành cài đặt gói NetFPGA Openflow Switch gồm có:  Install NetFPGA Driver # rpm-Uhv http://netfpga.org/yum/el5/RPMS/noarch/netfpga-repo-1- 1_CentOS5.noarch.rpm # yum install –y netfpga-base # yum install -y netfpga-openflow_switch # cd ~/netfpga/ # make # make install # reboot  Install OpenFlow # yum –y install git aotomake pkgconfig libtool gcc # wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.63.tar.gz # tar xvzf autoconf-2.63.tar.gz # cd autoconf-2.63 # /configure - - prefix=/usr # make && make install # cd # git clone git://gitosis.standford.edu/openflow.git # cd openflow # git checkout –b 1.0.0-netfpga origin/dev/tyabe/1.0.0-netfpga # /boot.sh # cd openflow/hw-lib/nf2 # wget http://openflow.org/downloads/netfpga/openflow_switch.bit.100_3.tar.gz # tar xfvz openflow_switch.bit.100_3.tar.gz # cd openflow # /configure – enable-hw-lib=nf2 # make && make install Nếu khơng có lỗi xảy việc cài đặt hồn tất, có lỗi xảy cần xóa bỏ file tải tiến hành cài đặt lại bên Như vậy, q trình cài đặt OpenFlow Switch hồn tất sẵn sàng sử dụng 3.3.2.2 Sử dụng Switch Pox kết nối thông qua cổng Ethernet PC, với địa thuộc dải mạng Trong đồ án này, Pox gán địa 192.168.68.200/24, địa Switch 192.168.68.202/24 Các câu lệnh thực kết nối # cpci_reprogram/cpci_reprogram.pl –all # cd /openflow/hw_lib/nf2 # nf_download opwnflow_switch.bit # /udatapath/ofdatapath –detach punix: /var/run/dp0 –d 000000000024 –I nf2c0,nf2c1,nf2c2,nf2c3 # /seachan/ofprotocol unix: /var/run/dp0 tcp: 192.168.68.200 Trên hình terminal xuất thơng báo “connected” Như vậy, Pox với Switch kết nối thành công 3.4 Các công cụ phát lưu lượng 3.4.1 TCPreplay 3.4.1.1 Giới thiệu chung TCPreplay công cụ phát lưu lượng, cho phép người dùng khả chỉnh sửa phát lại loại lưu lượng định dạng pcap TCPreplay có khả phân loại lưu lượng thuộc client hay server, chỉnh sửa số field header packet cuối khả phát lại loại lưu lượng vào mạng internet qua số thiết bị mạng router, switch, firewall… TCPreplay gồm công cụ sau:  Tcpprep: xử lý file pcap qua cho phép phân loại gói tin gửi từ client hay server Tạo cache files để tcpreplay tcprewrite sử dụng  Tcprewrite: Chỉnh sửa header packet  Tcpreplay: phát lại packet với tốc độ tùy ý vào mạng internet  Tcplieplay: cho phép phát gói tin tcp vào mạng internet kết nối TCP (three-way handshake thiết lập)  Tcpreplay-edit: có chức tương tự tcprewrite tcpreplay (không khuyến cáo sử dụng)  Tcpbridge: sử dụng để kết nối network segments với  Tcpcapinfo: phân tích bug tcprewrite gói tin pcap bị hỏng Để cài đặt tcpreplay hệ điều hành Ubuntu 12.04 ta sử dụng câu lệnh: $ sudo apt-get install tcpreplay TCPreplay chạy hệ điều hành Ubuntu 12.04 phiên 3.4.3 Các tài liệu tcpreplay tìm thêm trang chủ phần mềm địa chỉ: http://tcpreplay.synfin.net/ Ta sử dụng TCPreplay để phát loại lưu lượng sẵn có 3.4.1.2 TCPreplay TCPreplay cho phép phát lại file lượng định dạng pcap với nhiều tốc độ khác Một vài ví dụ  $ tcpreplay intf1=eth0 sample.pcap Câu lệnh cho phép phát lại file sample.pcap với tốc độ mặc định qua interface Ethernet  $ tcpreplay topspeed intf1=eth0 sample.pcap Phát file sample.pcap với tốc độ nhanh có thể, tân dụng tối đa đường     truyền $ tcpreplay mbps=10.0 intf1=eth0 sample.pcap Phát packet với tốc độ 10 Mbps $ tcpreplay multiplier=7.3 intf1=eth0 sample.pcap Phát packet với tốc độ gấp 7.3 lần tốc độ ban đầu $ tcpreplay pps=25 intf1=eth0 sample.pcap Phát 25 packet giây $ tcpreplay loop=10 intf1=eth0 sample.pcap Phát lặp lại packet 10 lần Để phát lặp lại vô số lần bị ngắt, ta sử dụng tham số 3.4.2 Yersinia 3.4.2.1 Giới thiệu chung Yersinia công cụ mạng, thiết kế để lợi dụng kẽ hở giao thức mạng Yersinia sử dụng để phân tích kiểm thử hệ thống mạng vận hành, từ tìm lỗ hổng mà hệ thống gặp phải Các giao thức mà Yersinia khả tận dụng điểm yếu gồm có:  Spanning Tree Protocol (STP)  Cisco Discovery Protocol (CDP)  Dynamic Trunking Protocol (DTP)  Dynamic Host Configuration Protocol (DHCP)  Hot Standby Router Protocol (HSRP)  IEEE 802.1Q  IEEE 802.1X  Inter-Switch Link Protocol (ISL)  VLAN Trunking Protocol (VTP) Để cài đặt Yersinia 0.7.1 hệ điều hành Ubuntu 12.04 ta sử dụng câu lệnh: $ sudo apt-get install Yersinia 3.4.2.2 Flood of DHCP Discover Trong Testbed sử dụng, attacker sử dụng Yersinia để phát số lượng lớn packet DHCP Discover, qua làm cạn kiệt số lượng địa IP DHCP Server Khởi chạy Yersinia GUI, sử dụng câu lệnh: $ sudo Yersinia –G Hình - Giao diện Yersinia Để thực DHCP Discover Flood, ta tiến hành bước sau:  Chọn Interface sử dụng để phát packet Click vào nút interface, chọn eth0 để sử dụng cổng Ethernet Hình - Chọn Interface  Click vào nút Launch Attack để thực công Ở đây, ta chọn tab DHCP chọn DHCP Discover Message Hình 8- Chọn kiểu cơng  Chọn Ok Yersinia tự động phát nhiều gói tin DHCP Discover với địa MAC nguồn random, thông qua cổng Ethernet Chương : Một số Module quan trọng Controller Việc điều khiển hệ thống tồn mạng thơng qua điều khiển trung tâm Controller giúp người quản trị viên giám sát, điều khiển, thi hành sách cách nhanh chóng, mềm dẻo Dựa vào ưu điểm bật SDN Openflow nhóm chúng em định triển khai số cách phòng ngừa cơng mạng Lan 4.1 Dhcp Module Khi máy tính(Client) kết nối vào hệ thống mạng cấu hình lấy địa IP động, client tự động gửi tin DHCP discover để rò tìm Server, xin cấp thông tin cần thiết DHCP Controller lắng nghe liên kết này, có tin DHCP tới, DHCP Controller bắt, phân tích thơng tin, xử lý, đóng gói trả lại tin DHCP Reply tương ứng tới máy Client Mọi trình xử lý DHCP tuân theo tiêu chuẩn quốc tế RFC 2131 thông qua 4.2 Security Module Lợi dụng sơ hở chế cấp phát Ip DHCP Server, kẻ công gửi hàng loạt tin DHCP discover đến Server với địa MAC khác nhau, nhận DHCP discover, Server dành địa pool tạo sẵn để cấp phát cho IP Vậy pool tài nguyên cạn tạm thời, người dùng hợp phát không nhận địa IP Kẻ công thành công việc thực Deny of service Để chống lại điều này, Controller có bảng binding_table lưu địa Mac ứng với DHCP_discover đến port Khi nhận tin DHCP_request đến(người dùng hợp phát) xóa Mac tương ứng bảng Binding_Table Khi số lượng Mac (bơ vơ) lớn giới hạn cho phép (nghi ngờ công DHCP Server) POX gửi lệnh xuống block port tương ứng 4.3 Routing Module Bộ định tuyến mạng đơn tìm đường cho gói tin thơng qua đường tin ARP tìm đường trước Controller lưu tuyến đường vào sở liệu nó, chèn flow entry thích hợp xuống switch phục vụ cho q trình chuyển tiếp gói tin 4.4 Sơ đồ tiến trình xử lý tin Hình – Tiến trình xử lý tin 4.5 Sơ đồ tiến trình DHCP chống cơng DHCP Hình 10 – Chống tần công DHCP 4.6 Chống công 4.6.1 Chống công DHCP: Lợi dụng sơ hở chế cấp phát Ip DHCP Server, kẻ công gửi hàng loạt tin DHCP discover đến Server với địa MAC khác nhau, nhận DHCP discover, Server dành địa pool tạo sẵn để cấp phát cho IP Vậy pool tài nguyên cạn tạm thời, người dùng hợp phát không nhận địa IP Kẻ công thành công việc thực Deny of service Để chống lại điều này, Controller có bảng binding_table lưu địa Mac ứng với DHCP_discover đến port Khi nhận tin DHCP_request đến(người dùng hợp phát) xóa Mac tương ứng bảng Binding_Table Khi số lượng Mac(bơ vơ) lớn giới hạn cho phép (nghi ngờ công DHCP Server) POX gửi lệnh xuống block port tương ứng 4.6.2 Chống công ARP Spoofing IP Spoofing: Bằng việc kiểm soát cấp phát IP cho Mac port switch – dựa bảng manager_ip lưu thông tin dạng (dpid, port): (mac, ip) Controller dễ dàng phát gói tin có nội dung không đúng, đưa cảnh báo block port tương ứng switch 4.7 Một số hình ảnh trình thực Hình 11 - Lấy địa IP động từ DHCP Server Hình 12 - Bảng cấu hình Client Hình 13 - Bảng lưu thơng tin cấp phát IP ứng với switch Hình 14 - Log file bị cơng DHCP Server Hình 15 - Nghi ngờ công IP Spoofing block port Hình 16 - Màn hình Wireshark xảy công, port bị block TÀI LIỆU THAM KHẢO ... Mạng lập trình cơng nghệ mạng mang tính cách mạng tương lai công nghệ mạng thời gian tới 2.3 Công nghệ OpenFlow 2.3.1 Tổng quan OpenFlow cơng nghệ mạng lập trình OpenFlow có ưu điểm mà tảng mạng. .. Windows, tốc độ mạng LAN lên đến 10 Mbps, 100 Mbps hay chí Gbps Ngày mạng LAN trở thành kiến trúc mạng thiếu cấu trúc hệ thống mạng máy tính Bên cạnh với lợi thế, điểm mạnh, mạng LAN bộc lộ khơng... quát mạng LAN LAN (viết tắt từ tên tiếng Anh Local Area Network, "mạng máy tính cục bộ") hệ thống mạng dùng để kết nối máy tính phạm vi nhỏ (nhà ở, phòng làm việc, trường học, …) Các máy tính mạng

Ngày đăng: 30/03/2020, 04:13

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w