Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học Giải pháp an ninh mạng dùng sdn....

Tài liệu Giải pháp an ninh mạng dùng sdn.

.DOCX
41
168
145

Mô tả:

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......................................................................................................................7 2.1 Tổng quát về mạng LAN...............................................................................................................7 2.2 Một số tấn công phổ biến trong mạng LAN.................................................................................7 2.2.1 Tấn công ARP Spoofing.........................................................................................................7 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 được (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 và 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 và 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 và 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 4 : Một số Module quan trọng trong Controller.......................................................................34 2 4.1 Dhcp Module...............................................................................................................................34 4.2 Security Module..........................................................................................................................34 4.3 Routing Module...........................................................................................................................34 4.4 Sơ đồ tiến trình xử lý bản tin.......................................................................................................35 4.5 Sơ đồ tiến trình DHCP và chống tấn công DHCP.......................................................................36 4.6 Chống tấn công............................................................................................................................36 TÀI LIỆU THAM KHẢO.....................................................................................................................41 3 Danh mục hình vẽ Hình 1 - Mô tả quá trình ARP...................................................................................................................8 Hình 2 - Mô hình tấấn công IP spoofng..................................................................................................11 Hình 3 - Mô hình OpenFlow..................................................................................................................18 Hình 4 - Nềền tảng NetFPGA...................................................................................................................22 Hình 5 – Sơ đôề khôấi...............................................................................................................................25 Hình 6 - Giao diện Yersinia....................................................................................................................32 Hình 7 - Chọn Interface.........................................................................................................................33 Hình 8- Chọn kiểu tấấn công...................................................................................................................33 Hình 9 – Tiềấn trình xử lý bản tn............................................................................................................35 Hình 10 – Chôấng tấền công DHCP...........................................................................................................36 Hình 11 - Lấấy địa chỉ IP động từ DHCP Server ........................................................................................37 Hình 12 - Bảng cấấu hình trền Client.......................................................................................................38 Hình 13 - Bảng lưu thông tn cấấp phát IP ứng v ới t ừng switch ..............................................................38 Hình 14 - Log fle khi bị tấấn công DHCP Server ......................................................................................39 Hình 15 - Nghi ngờ tấấn công IP Spoofng và block port .........................................................................39 Hình 16 - Màn hình Wireshark khi xảy ra tấấn công, port đã b ị block .....................................................40 4 Chương 1: Lời mở đầu Ngày nay, cùng với sự phát triển nhanh chóng của các công nghệ tiên tiến, nhu cầu kết nối và chia sẻ của con người ngày càng gia tăng cả về tốc độ, chất lượng cũng như tính thuận tiện. Các kiến trúc mạng và các thiết bị mạng cũ đã phần nào để lộ những nhược điểm như tính cứng ngắc, giá thành cao, thiếu khả năng tích hợp nhiều chức năng… Mạng lập trình được hay SDN, là một kiến trúc mạng mới, mà ở đó, các thiết bị chuyển mạch (Switch, Router…) sẽ được tách ra làm hai phần riêng biệt: mặt phẳng điều khiển (Control Plane) và mặt phẳng dữ liệu (Data Plane). Control Plane được triển khai trên các server bên ngoài, chịu trách nhiệm điều khiển việc chuyển tiếp gói tin cũng như các chức năng tích hợp khác. Data Plane thực hiện việc chuyển tiếp các gói tin dựa theo lệnh mà Control Plane đưa ra. SDN sử dụng giao thức OpenFlow để giao tiếp giữa Control Plane và Data Plane. OpenFlow được bắt đầu phát triển từ năm 2008 tại Đại học Stanford, California, Mỹ. Với sự ra đời của OpenFlow, việc trao đổi giữa Control Plane và Data Plane đã trở lên dễ dàng, thuận tiện và chính xác hơn. Nhờ đó, SDN đã bắt đầu được áp dụng để thay thế cho các kiến trúc mạng thông thường. Thực tế hiện nay SDN đã được triển khai tại rất nhiều phòng lab ở các trường đại học, các trung tâm nghiên cứu. Các tập đoàn lớn như Google, HP đã bắt đầu sử dụng kiến trúc SDN trong mạng lõi của mình. Xuất phát từ thực trạng hiện nay, các thiết bị chuyển mạch trong mạng LAN đi kèm với các chức năng bảo mật thường có giá thành cao. Hơn thế nữa, việc tích hợp nhiều chức năng bảo mật một cách mềm dẻo là rất khó khăn trong kiến trúc mạng thông thường. Nhận thấy khả năng của SDN trong việc giải quyết các 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 hiện xâm nhập Attack Detection System (ADS) trong mạng LAN dựa trên kiến trúc SDN”, nhằm phát hiện và ngăn chặn một số loại hình tấn công cơ bản trong mạng LAN. Trong quá trình thực hiện, do hạn chế về mặt thời gian cũng như kiến thức, nên đề tài không thể tránh khỏi những thiếu sót. Chúng em mong nhận được sự đóng góp của thầy cô và các bạn để đề tài được hoàn thiện hơn. Chương 2: Cơ sở lý thuyết 2.1 Tổng quát về 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ộ") là một hệ thống mạng dùng để kết nối các máy tính trong một phạm vi nhỏ (nhà ở, phòng làm việc, trường học, …). Các máy tính trong mạng LAN có thể chia sẻ tài nguyên với nhau, mà điển hình là chia sẻ tập tin, máy in, máy quét và một số thiết bị khác. Một mạng LAN tối thiểu cần có máy chủ (server), các thiết bị ghép nối (Repeater, Hub, Switch, Bridge), máy tính con (client), card mạng (Network Interface Card – NIC) và dây cáp (cable) để kết nối các máy tính lại với nhau. Trong thời đại của hệ điều hành MS-DOS, máy chủ mạng LAN thường sử dụng phần mềm Novell NetWare, tuy nhiên điều này đã trở nên lỗi thời hơn sau khi Windows NT và Windows for Workgroups xuất hiện. Ngày nay hầu hết máy chủ sử dụng hệ điều hành Windows, và tốc độ mạng LAN có thể lên đến 10 Mbps, 100 Mbps hay thậm chí là 1 Gbps. Ngày nay mạng LAN đã trở thành một kiến trúc mạng không thể thiếu trong cấu trúc hệ thống mạng máy tính. Bên cạnh với những lợi thế, điểm mạnh, mạng LAN cũng bộc lộ không ít những điểm yếu mà những kẻ tấn công có thể lợi dụng để tấn công vào mạng. Mặt khác, việc triển khai phòng chống, xử lý những cuộc tấn công trong mạng LAN trở nên rất phức tạp và khó lòng xử lý triệt để vì những cuộc tấn công thường xuất phát từ ngay nội bộ trong mạng. 2.2 Một số tấn công phổ biến trong 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ị trong hệ thống mạng của chúng ta có ít nhất hai địa chỉ. Một địa chỉ là Media Access Control (MAC) và một địa chỉ Internet Protocol(IP). Địa chỉ MAC là địa chỉ của card mạng gắn vào bên trong thiết bị, nó là duy nhất và không hề thay đổi. Địa chỉ IP có thể thay đổi theo người sử dụng tùy vào môi trường mạng. ARP là một trong những giao thức của IP, chức năng của nó dùng để định vị một host trong một segment mạng bằng cách phân giải địa chỉ IP ra địa chỉ MAC. ARP thực hiện điều đó thông qua một tiến trình broadcast gói tin đến tất cả các host trong mạng, gói tin đó chứa địa chỉ IP của host cần giao tiếp. Các host trong mạng đều nhận được gói tin đó và chỉ duy nhất host nào có địa chỉ IP trùng với địa chỉ IP trong gói tin mới trả lời lại, còn lại sẽ tự động drop gói tin. 2.2.1.2 Các gói tin ARP Host A gửi một ARP Request và nhận được một ARP Reply từ một host B có thực trong mạng. sau khi tiến trình này hoàn tất, host A sẽ biết host B có MAC như thế nào. Tiếp theo, host A sẽ lưu lại sự hiểu biết đó lên bộ nhớ của mình gọi là ARP table. ARP table giúp host A không phải thực hiện ARP Request đến host B một lần nữa. Hình 1 - Mô tả quá trình ARP 2.2.1.3 Nguyên lý tấn công Giao thức ARP là rất cần thiết và quan trọng trong hệ thống mạng của chúng ta, tuy nhiên nó lại không đề cập đến vấn đề xác thực nào cả. Khi một host nhận được gói tin ARP Reply, nó hoàn toàn tin tưởng và mặc nhiên sử dụng thông tin đó để sử dụng sau này mà không cần biết thông tin đó có phải trả lời từ một host mà mình mong muốn hay không. ARP không có cơ chế nào để kiểm tra việc đó cả và trên thực tế một host có thể 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 có thể triển khai các phương thức tấn công như: Man In The Middle, Denial of Service, MAC Flooding… 2.2.1.4 Một số cách tấn công ARP trong mạng LAN  Man in the middle Giả sử hacker muốn theo dõi host A gởi thông tin gì cho host B. Đầu tiên, hacker sẽ gởi gói ARP Reply đến host A với nội dung là địa chỉ MAC của hacker và địa chỉ IP của host B. Tiếp theo, hacker sẽ gửi gói ARP Reply tới host B với nội dung là MAC của máy hacker và IP của host A. Như vậy, cả hai host A và host B đều tiếp nhận gói ARP Reply đó và lưu vào trong ARP table của mình. Đến lúc này, khi host A muốn gửi thông tin đến host B, nó liền tra vào ARP table thấy đã có sẵn thông tin về địa chỉ MAC của host B nênsẽ lấy thông tin đó ra sử dụng, nhưng thực chất địa chỉ MAC đó là của hacker. Đồng thời máy tính của hacker sẽ mở chức năng gọi là 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 và không có cảm giác bị qua máy trung gian là máy của hacker. Trong trường hợp khác, hacker sẽ nghe lén thông tin từ máy bạn đến Gateway. Như vậy mọi hành động ra Internet của bạn đều bị hacker ghi lại hết, dẫn đến việc mất mát các 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 tấn công bằng cách gởi gói ARP Reply đến toàn bộ các host trong mạng với nội dung mang theo là địa chỉ IP của Gateway và địa chỉ MAC không hề tồn tại. Như vậy các host trong mạng tin tưởng rằng mình đã biết được MAC của Gateway và khi gửi thông tin đến Gateway, kết quả là gửi đến một nơi hoàn toàn không tồn tại. Đó là điều hacker mong muốn, toàn bộ các host trong mạng đều không thể đi ra Internet được.  MAC flooding Cách tấn công này cũng dùng kỹ thuật ARP Poisoning mà đối tượng nhắm đến là Switch. Hacker sẽ gửi những 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 và trở nên quá tải. Khi đó, Switch sẽ không đủ sức thể hiện bản chất Layer2 của mình nữa mà broadcast gói tin ra toàn bộ các port của mình. Hacker dễ dàng bắt được toàn bộ thông tin trong mạng của bạn. 2.2.1.5 Một số biện pháp phòng chống Có một số biện pháp để chống tấn công ARP trong mạng LAN  Khi hệ thống mạng nhỏ ta có thể gán MAC tĩnh cho từng máy. Khi đó địa chỉ IP và MAC sẽ gắn chặt với nhau, trên từng máy đều có địa chỉ MAC và IP của từng máy trong mạng nên sẽ không thể xảy ra trường hợp tấn công ARP  Sử dụng chức năng port security trên một số switch hỗ trợ chức năng này, khi đó trên một port trên switch chỉ cho phép một hoặc một số địa chỉ MAC hợp pháp. Khi kẻ tấn công dùng MAC không phù hợp, gói tin sẽ không thể đi qua được port này  Dùng 1 số tool sẵn có để chống ARP spoofing như (WinPcap4 và ArpSpoof , Xarp2.0, CainAble…) 2.2.2 Tấn công IP Spoofing 2.2.2.1 Giới thiệu chung IP Spoofing là một kiểu tấn công mà ở đó, attacker sẽ thay đổi địa chỉ nguồn của packet, có thể bằng một địa chỉ chưa sử dụng, có thể bằng một địa chỉ đang được sử dụng bởi một host tin cậy nào đó. Hình 2 - Mô hình tấn công IP spoofing Bằng việc sử dụng IP Spoofing, attacker có thể che dấu đi địa chỉ của bên gửi hoặc có thể giả dạng là một host khác. IP Spoofing dựa trên thực tế rằng trong giao tiếp giữa các host ở khoảng cách xa, packet sẽ được xử lý và định tuyến bởi router. Trong khi đó, các router, khi xử lý và định tuyến packet, sẽ không quan tâm đến địa chỉ nguồn của packet, mà chỉ quan tâm đến địa chỉ đích trong IP header. Địa chỉ nguồn chỉ được xét đến khi host nhận (ta tạm gọi là victim) muốn gửi phản hồi, mà khi đó, victim nhận được packet cũng sẽ không xác định được địa chỉ nguồn của packet là đúng hay sai. Khi nhận được packet với địa chỉ nguồn sai, victim sẽ gửi những packet phản hồi theo địa chỉ nguồn trong packet nhận được. Do đó, attacker cũng sẽ không nhận được các packet phản hồi đó. 2.2.2.2 Các kiểu tấn công IP Spoofing IP Spoofing thường được sử dụng cùng với một phương thức tấn công nào đó, khiến cho victim khó có thể nhanh chóng tìm ra được địa chỉ của attacker. Một số phương thức tấn công thường sử dụng IP Spoofing gồm có:  Man-in-the-middle Với kiểu tấn công này, attacker cố gắng lấy được những packet trong một kết nối nào đó giữa 2 người sử dụng. Sau đó, có thể sử dụng IP Spoofing cùng với những công cụ khác để lừa các host đang tham gia kết nối, trở thành điểm đến của các packet. Từ đó, attacker có thể biết được nội dung trao đổi giữa 2 host.  TCP Syn Flooding TCP Syn Flooding là một kiểu tấn công DoS (tấn công từ chối dịch vụ). Kiểu tấn công này lợi dụng phương thức three-way handshake của giao thức TCP để gửi rất nhiều Syn packet nhưng không gửi Ack packet để thiết lập kết nối. Các Syn packet được gửi đến victim sẽ được đưa vào backlog. Quá nhiều Syn packet đến mà không thưc hiện kết nối sẽ làm cho backlog của victim bị đầy, và không thể nhận các kết nối từ các host khác. Attacker sử dụng IP Spoofing trong TCP Syn Flooding, sẽ chọn các địa chỉ nguồn một cách ngẫu nhiên, qua đó, sẽ không có Ack packet từ những host đó, do những host đó không hề gửi Syn packet cho victim.  Smurf Attack Trong Smurf Attack, attacker sẽ gửi các bản tin ICMP đến một số lượng lớn các host khác với địa chỉ nguồn của packet là địa chỉ IP của victim. Khi nhận được bản tin ICMP từ attacker, các host đó sẽ gửi các bản tin ICMP response đến victim. Với một số lượng lớn các bản tin ICMP response nhận được, thiết bị của victim sẽ hoạt động chậm lại, xử lý các bản tin cũng như các tác vụ không được nhanh chóng hoặc thậm chí là bị crash. 2.2.2.3 Các bước thực hiện IP Spoofing Một phiên tấn công IP Spoofing có thể thực hiện theo các bước sau:  Đầu tiên, attacker sẽ chọn đối tượng mình muốn attacker (victim). Lấy được địa chỉ IP của victim  Tiếp theo đó, attacker sẽ tìm hiểu về các “trust relationship” của victim, qua đó, sẽ chọn lựa được host có “trust relationship” với victim, chính là host mà attacker sẽ sử dụng địa chỉ IP để thay thế địa chỉ của mình.  Bằng việc gửi các packet đã được spoof địa chỉ IP nguồn đến victim, attacker sẽ giả dạng được mình là “trusted host”. Hơn thế nữa, nếu có các công cụ cũng như các phương thức để tính toán được sequence number trong packet mà victim sẽ reply, attacker hoàn toàn có thể giả mạo “trusted host” trong toàn bộ phiên kết nối đó. Để tăng xác suất thành công, attacker sẽ cố gắng thiết lập các kết nối dựa theo các dịch vụ “address-based authentication”, xác thực dựa theo địa chỉ (không có user name và password).  Khi đã tiếp cận được victim thông qua phiên kết nối, attacker có thể thực hiện một số hành động gây hại như gửi mã độc, virus, Trojan, hoặc đánh cắp thông tin trên thiết bị của victim. Attacker cũng có thể để lại những “backdoor”, để có thể dễ dàng tiếp cận victim trong tương lại nếu cần thiết. 2.2.3 Tấn công DHCP Server 2.2.3.1 DHCP là gì ? DHCP (dynamic host configuration protocol): giao thức cấu hình địa chỉ động. Giao thức cung cấp phương pháp thiết lập các thông số cần thiết cho hoạt động của mạng TCP/IP giúp giảm khối lượng công việc cho quản trị hệ thống mạng. DHCP server là một máy chủ có cài đặt dịch vụ DHCP. Nó có chức năng quản lý sự cấp phát địa chỉ IP động và các dữ liệu cấu hình TCP/IP. Ngoài ra còn có nhiệm vụ trả lời khi DHCP Client có yêu cầu về hợp đồng thuê bao. DHCP client là dịch vụ có sẵn trên các máy trạm. Nó dùng để đăng ký, cập nhật thông tin về địa chỉ IP và các bản ghi DNS cho chính máy trạm đó. DHCP client sẽ gửi yêu cầu đến DHCP server khi nó cần đến 1 địa chỉ IP và các tham số TCP/IP cần thiết để làm việc trong mạng nội bộ và trên Internet. 2.2.3.2 Chức năng của DHCP Server Mỗi thiết bị trên mạng cơ sở TCP/IP phải có một địa chỉ IP duy nhất để truy cập mạng và các tài nguyên của nó. Không có DHCP, cấu hình IP phải được thực hiện một cách thủ công cho các máy tính mới, các máy tính di chuyển từ mạng con này sang mạng con khác, và các máy tính được loại bỏ khỏi mạng. Bằng việc phát triển DHCP trên mạng, toàn bộ tiến trình này được quản lý tự động và tập trung. DHCP server bảo quản vùng của các địa chỉ IP và giải phóng một địa chỉ với bất cứ DHCP client có thể khi nó có thể ghi lên mạng. Bởi vì các địa chỉ IP là động hơn tĩnh, các địa chỉ không còn được trả lại một cách tự động trong sử dụng đối với các vùng cấp phát lại. 2.2.3.4.Cách thức hoạt động DHCP  B1: máy chạm khởi động với địa chỉ IP rỗng cho phép liên lạc với DHCP Server bằng giao thức TCP/IP. Nó broadcast một thông điệp DHCP Discover chứa địa chỉ Mac và tên máy tính để tìm DHCP Server .  B2: nhiều DHCP Server có thể nhận thông điệp và chuẩn bị địa chỉ IP cho máy trạm, nó gửi thông điệp DHCP offer chứa địa chỉ Maccuar khách hang, địa chỉ IP offer ,subnet mask , địa chỉ IP của máy chủ và thời gian cho thuê đến các Client. Địa chỉ offer đước đánh dấu là “reserver “.  B3: khi Client nhận thông điêp DHCP offer và chấp nhận một trong các địa chỉ IP, Client sẽ gửi thông điệp DHCP Request để yêu cầu IP phù hợp cho DHCP thích hợp.  B4: cuối cùng DHCP Server khẳng định lại cới client bằng thông điệp DHCP Acknowledge. 2.2.3.5 Thực hiện tấn công DHCP Server Tuy có nhiều ưu điểm, nhưng giao thức DHCP hoạt động lại khá đơn giản, suốt quá trình trao đổi thông điệp giữa DHCP Server và DHCP Client không có sự xác thực hay kiểm soát truy cập. DHCP Server không thể biết được rằng nó đang liên lạc với một DHCP Client bất hợp pháp hay không, ngược lại DHCP Client cũng không thể biết DHCP Server đang liên lạc có hợp pháp không. Như vậy sẽ có hai tình huống xảy ra:  Khi DHCP Client là một máy trạm bất hợp pháp: Khi kẻ tấn công thỏa hiệp thành công với một DHCP Client hợp pháp trong hệ thống mạng, sau đó thực hiện việc cài đặt, thực thi một chương trình. Chương trình này liên tục gửi tới DHCP Server các gói tin yêu cầu xin cấp địa chỉ IP với các địa chỉ MAC nguồn không có thực, cho tới khi dải IP có sẵn trên DHCP Server cạn kiệt vì bị nó thuê hết. Điều này dẫn tới việc DHCP Server không còn địa chỉ IP nào để cho các DHCP Client hợp pháp thuê, khiến dịch vụ bị ngưng trệ, các máy trạm khác không thể truy nhập vào hệ thống mạng để truyền thông với các máy tính trong mạng. Trường hợp tấn công này chỉ làm cho các máy tính đăng nhập vào hệ thống mạng (sau khi bị tấn công) không thể sử dụng dịch vụ DHCP, dẫn đến không vào được hệ thống mạng. Còn các máy trạm khác đã đăng nhập trước đó vẫn hoạt động bình thường. Đây là kiểu tấn công từ chối dịch vụ DHCP dễ dàng nhất mà kẻ tấn công có thể thực hiện. Kẻ tấn công chỉ cần rất ít thời gian và băng thông là có thể thực hiện được cuộc tấn công này.  Khi DHCP Server là một máy chủ bất hợp pháp: Khi kẻ tấn công phá vỡ được các hàng rào bảo vệ mạng và đoạt được quyền kiểm soát DHCP Server, nó có thể tạo ra những thay đổi trong cấu hình của DHCP Server theo ý muốn. Kẻ tấn công có thể tấn công hệ thống mạng theo các cách sau: - Tấn công DoS hệ thống mạng: Kẻ tấn công thiết lập lại dải IP, subnet mask của hệ thống để các máy trạm hợp pháp không thể đăng nhập vào hệ thống mạng được, tạo ra tình trạng DoS trong mạng. - Tấn công theo kiểu DNS redirect: Kẻ tấn công đổi các thiết lập DNS để chuyển hướng yêu cầu phân dải tên miền của Client tới các DNS giả mạo, kết quả là Client có thể bị dẫn dụ tới các website giả mạo được xây dựng nhằm mục đích đánh cắp thông tin tài khoản của người dùng hoặc website có chứa các mã độc, virus, trojan... sẽ được tải về máy Client. - Tấn công theo kiểu Man-in-the-middle: Kẻ tấn công thay đổi Gateway mặc định trỏ về máy của chúng, để toàn bộ thông tin mà Client gửi ra ngoài hệ thống mạng sẽ được chuyển tới máy này thay vì tới Gateway mặc định thực sự. Sau khi xem được nội dung thông tin, gói tin sẽ được chuyển tiếp đến Gateway thực sự của mạng và Client vẫn truyền bình thường với các máy ngoài mạng mà người dùng không hề biết họ đã để lộ thông tin cho kẻ tấn công. 2.2 Mạng lập trình được (Software Define Network) Các giao thức mạng hiện nay ngày càng được hoàn thiện và hoạt động ổn định. Mặc dù vậy các giao thức mới vẫn không ngừng được nghiên cứu để đáp ứng với nhu cầu ngày càng cao của con người. Tuy nhiên có một khó khăn lớn khi nghiên cứu một giao thức mới là không có một môi trường mạng cụ thể để có thể kiểm nghiệm sự chính xác, tính đúng đắn và chứng minh nó hiệu quả thật hay không, với các mô hình mạng hiện tại thì tính khả chuyển và sự mềm dẻo gần như không có vì trong một mô hình mạng ta không thể tác động để điều khiển các thiết bị như mong muốn. Như vậy nảy sinh vấn đề là cần một mô hình mạng có tính mềm dẻo và khả chuyển cao hơn, cho phép thực hiện các thay đổi, tùy biến trong mạng mà không phụ thuộc vào cấu hình các thiết bị phần cứng đang sử dụng trên đó. Đây chính là mô hình của mạng lập trình được. Mạng lập trình được là công nghệ cho phép điều khiển hoạt động của mạng dựa trên việc điều khiển hoạt động của các switch, sử dụng các ngôn ngữ lập trình và có thể thường xuyên thay đổi bằng cách nạp các đoạn mã nguồn khác vào thay thế. Công nghệ mạng lập trình được có lợi thế to lớn mà công nghệ mạng hiện tại không có được. Đó chính là tính mềm dẻo, khả năng mở rộng và tính linh hoạt của mạng. Công nghệ mạng hiện nay không cho phép can thiệp vào hoạt động của các thiết bị mạng, hoạt động của các thiết bị này bị phụ thuộc hoàn toàn vào nhà sản xuất quy định. Chính vì thế, rất khó cho việc thay thế một giao thức cũ bằng các giao thức mới và thử nghiệm chúng trên các thiết bị thật. Công nghệ mạng lập trình được thì ngược lại, nó cho phép người lập trình có thể can thiệp vào hoạt động của thiết bị và qua đó điều khiển thiết bị hoạt động theo ý muốn. Việc này dễ dàng cho việc nghiên cứu cũng như triển khai các công nghệ mới vào trong mạng mà không cần thay đổi về phần cứng. Mạng lập trình được chính là một công nghệ mạng mang tính cách mạng và là tương lai của công nghệ mạng trong thời gian sắp tới. 2.3 Công nghệ OpenFlow 2.3.1 Tổng quan OpenFlow là một công nghệ mạng lập trình được. OpenFlow có những ưu điểm mà nền tảng mạng truyền thống như hiện nay không có được: - OpenFlow cho phép chạy mô phỏng các giao thức trên một mạng mô phỏng giống như trong thực tế. - OpenFlow dựa trên nguyên tắc của Ethernet switch, có chứa một bảng lưu trữ các luồng (OpenFlow Table) và cung cấp danh sách các API để thao tác với OpenFlow Table. - OpenFlow cũng là công cụ hữu hiệu để triển khai các mô hình thử nghiệm quy mô lớn như GENI (Global Environment for Network Innovation). 2.3.2 Kiến trúc openflow Hình 3 - Mô hình OpenFlow Kiến trúc chung của OpenFlow (Như Hình 2.2.2 bên trên) gồm hai thành phần chính: OpenFlow Switch, Controller. a. Thiết bị chuyển mạch (OpenFlow Switch)  Bảng định danh các luồng (Flow Table) Về mặt ý tưởng, OpenFlow dựa trên thực tế rằng các switch và router đều chứa các bảng mô tả các luồng trong mạng (Flow Table). Mặc dù Flow Table trên switch, router hoặc của các hãng khác nhau có thể khác nhau nhưng chúng cùng thực hiện các chức năng giống nhau là phục vụ cho hoạt động của các ứng dụng. Trên Flow Table có chứa định nghĩa các luồng thông tin trong mạng (Flow Entry), các Flow Entry chứa các tham số giúp điều khiển các luồng thông tin đi một cách đúng đắn và hợp lý trong mạng. Header Fields Bảng 1 - Counter Actions Cấu trúc Flow Table entry  Thành phần Header Fields Header Fields: đây là phần header của flow, phần này chứa các thông tin liên quan tới địa chỉ đích, địa chỉ nguồn, giao thức đang thực hiện trên flow. Chi tiết các thông tin như bảng dưới đây: In Port VLAN ID Bảng 2 - Các Ethernet SA DA IP Type SA D A TCP/ UDP Protocol Src port Dst port thành phần trong phần Header Fields của Flow Table entry - In port : cổng flow đi vào switch - VLAN ID : định danh của VLAN mà switch đang nằm trong - Ethernet SA/ Ethernet DA : địa chỉ MAC nguồn/ đích - Ethernet Type : loại gói tin Ethernet - IP SA/ IP DA : địa chỉ IP nguồn/ đích - IP Protocol : giao thức sử dụng - TCP/UDP Src port/ TCP/UDP Dst port : cổng nguồn/ đích TCP/UDP  Thành phần Counter Counter là thành phần thực hiện các chức năng thống kê trên một số yếu tố : theo bảng, theo flow, theo cổng, theo hàng đợi. Trong phạm vi đồ án, ta chỉ quan tâm tới thống kê theo flow. Bảng dưới đây mô tả về các trường thông kê theo flow: Tham số Counter Ý nghĩa Độ dài tham số (Tính theo bit) Received Packets Số gói nhận được 64 Received Bytes Số byte nhận được 64 Duration (seconds) Khoảng thời gian nhận tính theo giây 32 Duration (nanoseconds) Khoảng thời gian nhận tính theo nano 32 giây Thống kê theo flow Bảng 3 - Các thành phần trong trường Counter của Flow Table entry  Thành phần Actions Actions là trường chứa các mô tả tương tác điều khiển cho các flow. Nhờ có trường này mà các flow khi tới switch sẽ được xử lý tiếp. Nếu một gói tin không tìm thấy hành động cần thực hiện tiếp theo thì nó sẽ bị loại bỏ. Có một số hành động như sau: Tên Actions Ý nghĩa Chuyển tiếp gói tin( Forward) ALL Gửi gói tin ra tất cả các interface CONTROLLER Đóng gói và gửi lên controller LOCAL Gửi gói tin tới các switch cục bộ trong stack TABLE Áp dụng hành động trong Flow Table IN-PORT Gửi gói tin ra cổng vào NORMAL Xử lý gói tin sử dụng đường định tuyến hỗ trợ trên switch FLOOD Gửi gói tin theo minimum spanning tree mà không quan tâm tới interface đến Enqueue Chuyển gói tin tới hàng đợi theo cổng Drop Xóa một Flow Table entry Modify-field Sửa tham số trong Flow Table entry Bảng 4 - Một số Actions trong Flow Table entry  Openflow switch Trong mạng OpenFlow, có một thành phần quan trọng không thể nhắc thiếu là OpenFlow Switch. Do sự khác biệt cơ bản về phương thức hoạt động giữa kiến trúc mạng SDN và các kiến trúc mạng truyền thống nên các OpenFlow Switch có kiến trúc cũng như chức năng khác biệt hơn. Trong phần này, em sẽ giới thiệu về OpenFlow Switch và những thành phần chính của nó. OpenFlow Switch có hai loại: thiết bị cứng và thiết bị mềm. Thiết bị mềm là các thiết bị hỗ trợ chuyển mạch dùng trong việc mô phỏng và giả lập mạng. Có hai loại chính: OpenFlow Switch và OpenvSwitch. OpenVSwitch là một loại switch nhiều tầng được xây dựng với mục đích sử dụng trong những môi trường ảo hóa như điện toán đám mây. OpenVSwitch được xây dựng để có thể sử dụng trên nhiều nền tảng khác nhau, có thể sử dụng trong các server có nhiều các mạng hoặc sử dụng trực tiếp trên các switch thương mại. OpenVSwitch cung cấp cho người nhiều tính năng khác nhau để có thể quản lý tốt tài nguyên hệ thống
- Xem thêm -

Tài liệu liên quan