Seyed K. Fayazbakhsh Vyas Sekar Minlan Yu Jeff Mogul

Slides:



Advertisements
Similar presentations
New Directions in Enterprise Network Management Aditya Akella University of Wisconsin, Madison MSR Networking Summit June 2006.
Advertisements

1 Resonance: Dynamic Access Control in Enterprise Networks Ankur Nayak, Alex Reimers, Nick Feamster, Russ Clark School of Computer Science Georgia Institute.
1 Resonance: Dynamic Access Control in Enterprise Networks Ankur Nayak, Alex Reimers, Nick Feamster, Russ Clark School of Computer Science Georgia Institute.
Justine Sherry*, Shaddi Hasan*, Colin Scott*, Arvind Krishnamurthy†,
Verifiable Network Function Outsourcing Seyed K. FayazbakhshMichael K. ReiterVyas Sekar 1.
Towards Software Defined Cellular Networks
Route Optimisation RD-CSY3021.
SDN Abstractions. In an SDN Ideal World, we want… multiple applications (Composition): – So, need to worry about sharing. – About isolation. Network policies.
Practical and Incremental Convergence between SDN and Middleboxes 1 Zafar Qazi, Cheng-Chun Tu, Luis Chiang Vyas Sekar Rui Miao Minlan Yu.
Toward Practical Integration of SDN and Middleboxes
SIMPLE-fying Middlebox Policy Enforcement Using SDN
Nanxi Kang Princeton University
Programmable Measurement Architecture for Data Centers Minlan Yu University of Southern California 1.
Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S.
OpenSketch Slides courtesy of Minlan Yu 1. Management = Measurement + Control Traffic engineering – Identify large traffic aggregates, traffic changes.
Toward Practical Convergence of Middleboxes and Software-Defined Networking Vyas Sekar Joint work with: Seyed Kaveh Fayazbakhsh, Zafar Qazi, Luis Chiang,
Practical and Incremental Convergence between SDN and Middleboxes 1 Zafar Qazi Cheng-Chun Tu Luis Chiang Vyas Sekar Rui Miao Minlan Yu.
Making Cellular Networks Scalable and Flexible Li Erran Li Bell Labs, Alcatel-Lucent Joint work with collaborators at university of Michigan, Princeton,
VeriCon: Towards Verifying Controller Programs in SDNs (PLDI 2014) Thomas Ball, Nikolaj Bjorner, Aaron Gember, Shachar Itzhaky, Aleksandr Karbyshev, Mooly.
SDN: Extensions Middleboxes 1 Ack: Vyas Sekar, Aaron Gember, Felipe Huici, Zafar Qazi.
Design and Implementation of a Consolidated Middlebox Architecture 1 Vyas SekarSylvia RatnasamyMichael ReiterNorbert Egi Guangyu Shi.
Software Defined Networking COMS , Fall 2013 Guest Speaker: Seyed Kaveh Fayazbakhsh Stony Brook University 11/12/2013: SDN and Middleboxes.
SDN and Openflow.
Scalable Flow-Based Networking with DIFANE 1 Minlan Yu Princeton University Joint work with Mike Freedman, Jennifer Rexford and Jia Wang.
1 A Policy-aware Switching Layer for Data Centers Dilip Joseph Arsalan Tavakoli Ion Stoica University of California at Berkeley.
Data Plane Verification. Background: What are network policies Alice can talk to Bob Skype traffic must go through a VoIP transcoder All traffic must.
The Middlebox Manifesto: Enabling Innovation in Middlebox Deployment 1 Vyas SekarSylvia RatnasamyMichael ReiterNorbert Egi Guangyu Shi.
Microsoft Virtual Academy Module 4 Creating and Configuring Virtual Machine Networks.
LISP, SDN, and OpenDaylight
SIMPLE-fying Middlebox Policy Enforcement Using SDN Zafar Ayyub Qazi Cheng-Chun Tu Luis Chiang Vyas Sekar Rui Miao Minlan Yu.
Windows Internet Connection Sharing Dave Eitelbach Program Manager Networking And Communications Microsoft Corporation.
Towards a Safe Playground for HTTPS and Middle-Boxes with QoS2 Zhenyu Zhou CS Dept., Duke University.
OpenFlow: Enabling Technology Transfer to Networking Industry Nikhil Handigol Nikhil Handigol Cisco Nerd.
Software-Defined Networks Jennifer Rexford Princeton University.
Programmable Networks: Active Networks + SDN. How to Introduce new services Overlays: user can introduce what-ever – Ignores physical network  perf overhead.
Bohatei: Flexible and Elastic DDoS Defense
Enforcing Network-Wide Policies in the Presence of Dynamic Middlebox Actions using FlowTags Seyed K. Fayazbakhsh *, Luis Chiang ¶, Vyas Sekar *, Minlan.
Extending SDN to Handle Dynamic Middlebox Actions via FlowTags (Full version to appear in NSDI’14) Seyed K. Fayazbakhsh, Luis Chiang, Vyas Sekar, Minlan.
TeraPaths TeraPaths: Establishing End-to-End QoS Paths through L2 and L3 WAN Connections Presented by Presented by Dimitrios Katramatos, BNL Dimitrios.
Programming Languages for Software Defined Networks Jennifer Rexford and David Walker Princeton University Joint work with the.
Aaron Gember, Theophilus Benson, Aditya Akella University of Wisconsin-Madison.
Improving Network Management with Software Defined Network Group 5 : z Xuling Wu z Haipeng Jiang z Sichen Wu z Aparna Sanil.
SIMPLE-fying Middlebox Policy Enforcement Using SDN
FlowTags: Enforcing Network-Wide Policies in the Presence of Dynamic Middlebox Actions Author: Seyed Kaveh Fayazbakhsh, Vyas Sekar, Minlan Yu and Jeffrey.
SIMPLE-fying Middlebox Policy Enforcement Using SDN Zafar Ayyub Qazi, Cheng-Chun Tu, Luis Chiang Vyas Sekar, Rui Miao, Minlan Yu Presenter : ChoongHee.
Header Space Analysis: Static Checking for Networks Broadband Network Technology Integrated M.S. and Ph.D. Eun-Do Kim Network Standards Research Section.
Fabric: A Retrospective on Evolving SDN Presented by: Tarek Elgamal.
Why Fabric? 1 Complicated technology/vendor/device specific provisioning for networks, especially heterogeneous network DC Network – STP, TRILL, SPB, VXLAN,
BUZZ: Testing Context-Dependent Policies in Stateful Networks Seyed K. Fayaz, Tianlong Yu, Yoshiaki Tobioka, Sagar Chaki, Vyas Sekar.
Atrium Router Project Proposal Subhas Mondal, Manoj Nair, Subhash Singh.
Preliminaries: EE807 Software-defined Networked Computing KyoungSoo Park Department of Electrical Engineering KAIST.
Software Defined Networking BY RAVI NAMBOORI. Overview  Origins of SDN.  What is SDN ?  Original Definition of SDN.  What = Why We need SDN ?  Conclusion.
Seyed K. Fayazbakhsh Vyas Sekar Minlan Yu Jeff Mogul
Programming SDN 1 Problems with programming with POX.
Road to SDN Review the main features of SDN
Xin Li, Chen Qian University of Kentucky
SDN challenges Deployment challenges
A Survey of Network Function Placement
The DPIaaS Controller Prototype
Martin Casado, Nate Foster, and Arjun Guha CACM, October 2014
Praveen Tammana† Rachit Agarwal‡ Myungjin Lee†
15-744: Computer Networking
of Dynamic NFV-Policies
Software Defined Networking (SDN)
Software Defined Networking (SDN)
DDoS Attack Detection under SDN Context
Programmable Networks
SDN + NetSec Vyas Sekar.
Chapter 11: Network Address Translation for IPv4
OpenSec:Policy-Based Security Using Software-Defined Networking
Presentation transcript:

FlowTags: Enforcing Network-Wide Policies in the Presence of Dynamic Middlebox Actions Seyed K. Fayazbakhsh Vyas Sekar Minlan Yu Jeff Mogul Hi today I am going to present a framework for extending SDN so that we can continue to effectively enforce policies even in the presence of dynamic middlebox actions such as NATs/proxies/Wan optimizers modifying traffic flows..

Middleboxes complicate policy enforcement in SDN Policy routing Access control Diagnostics Forensics Control Apps Logical view: Specify policy goals Admin Network OS Physical View A key advantage of SDN is the ability to logically specify some high level policy goal e.g., for routing or access control and then being able to enforce that in the data plane automatically. While this picture looks quite nice and there has been a lot of work fulfilling this vision, things get a bit murkier when you throw middleboxes like NATs, IDS, proxy etc into the picture .. The key challenge is that these bxes can dynamically modify traffic, sometimes depending on the past history of observed traffic, and such context may not be available to the SDN controller! Let us look at some simple examples to see why this is the case. Dynamic traffic-dependent modifications! e.g., NATs, proxies “Flow” Action … Data Plane

Example: Policy Routing H1: NAT  Firewall H2: NAT  IDS NAT IDS Firewall H1 Internet S1 S2 H2 Consider a very canonical middlebox specific policy routing example. Here we want traffic from host1 to go thru nat + firewall and traffic from host 2 to go thru nat/ids. The problem is that the NAT is going to dynamically modify srcips based on some proprietary logic. Thus its unclear how we can correctly setup forwarding Rules at S2 to direct the packets thru the right paths. How do we setup correct forwarding rules?

Example: Dynamic Dependence Web ACL: Block H2  xyz Proxy H1 Get xyz.com Cached response Response Internet To make matters worse, the actions of the middelbox may depend on stateful semantics -- for instance consider the example where we have a proxy and an web access control device .. And we want to block access from Host2 to xyz.com .. The trouble of course is that the proxy may return a cached response to H2 that violates our intent of blocking its access to xyz.com. Note that this is orthogonal to the previous examples .. There we didn’t have to worry abt traffoc dependent actions. Get xyz.com S1 S2 H2 Cached response Cached responses may violate policy

Strawman Solutions Careful placement? (i.e., manual) May not always be feasible Consolidating middleboxes? (e.g., CoMb) Just “punting” the problem Inferring flow mappings? (e.g., SIMPLE) Hard to reason about accuracy + high overhead The previous examples showed the diff ways in which mboxes can mess up our ability to implemente policies correctly. At first glance, there appear to be some seemingly natural strawman solutions to this problem .. . For instance, may we can make sure mboxes are placed to avoid such conflicts – e.g., run ids before nat?. The problem is that there are cases where there is no feasible placement and morever this manual/error prone – goes against the sdn philosophy of logical/physical decoupling Another option is to cosoldate –e.g., if we run both proxy and webacl on the same box then presumably we can avoid such problems? Thing is that this isnt really solving the problem .. That consolidated box wll have some shim policy routing layer that needs to address this Another idea is why don’t we correlate the incoming/outgoing traffic – its not reloiable especially not all mboxes follow a pkt in pkt out semantics. The key here is that none of these solutions are really tackling the root of the problem – the lack of visilibut into middlebox specific context – what mappings what internal modifications it did etc. Add more text to this slide .. Key missing piece: Lack of “visibility” into middlebox context

FlowTags: High-level Idea Middleboxes “help” with the lack of visibility Add FlowTags to packets to bridge gaps NAT gives IP mappings; Proxy gives cache hit/miss Middleboxes “produce” + “consume” FlowTags Switches only “consume” FlowTags Our high-level idea with this work is to essentially address the root of the problem rather than some ad hoc workarounds. Our vision is a world where middelboxes also embrace SDN and help with the lack of bisibilty . Specifixlaly they add what we call “FlowTags” to the packet headers to bridge the gaps in our visiligyt. e.g., in our examples the nat will give private-public ip mappings or the proxy may expose cache hit/miss state in the header Note that middleboxes are both producers and consumers of flowtags -- they generate them and use them to implement their semantics Switches are passive consumers and use this in their forwarding logic.

FlowTags Architecture Overview Control Apps Existing Interfaces e.g., OpenFlow Controller FlowTags API FlowTags Enhanced Middleboxes Config SDN enabled Switches FlowTable “decouple” Analaogous to SDN apis like openflow, we envision new flowtags api that will programmatically install tag-related rules in these mboxes. finally we need analogous control apps for tag rule generation and policy verification .. e.g., NAT exposes mappings Proxy gives hit/miss state IDS uses tags to disambiguate

FlowTags Southbound API FlowTags Controller FlowMatch, Action RqstTag(Pkt,Context) FlowMatch, {Tags} RqstAction(Pkt + Tags) TagsActionTable H1 TagsFlowTable Proxy ACL S2 S1 Pkt Let us look a bit more in depth at what this new southbound api may look like .. Let us consider this example topology where we have a proxy in conjunction with the access control device. As we discussed earlier mboxes are both produces/consumers – in this case the proxy is a producer that has the tagsflowtable and the acl is the consusumer which has an actions table . Let us assume both are empty. When a proxy receives a pkt and processes it, it queries the conrtoller for the tag addition rule – here it will give addl contexst such as cache hit.miss state to the controller. The controller then returns a flowmach pattern and the tags that need to be added .. Which may be reused for future pkts as well . The proxy adds this tag to the pkt. When the acl device receives the pkt with the tag, it sends a msg to the controller to request a suitable set of action rules – e.g., block/drop this pkt or fwd it and the controler again installs a flowmatch pattehr with an action. Pkt w/ Tags Internet H2 8

Policy Implementation via FlowTags Policy: Block H2  xyz TagsFlowTable TagsActionTable H1, MISS  1 H1, HIT  2 H2, MISS  3 H2, HIT  4 Tag Src Action 4 H2 Block H1 Proxy ACL S2 S1 Internet Let us walk through an end to end example combining some of the things we have seen .. Suppose our policy here is to block host2 from accessing xyz and ratelimit wan bandwidth for all srces. As discussed the problem here is two fold .. The src that we see at S2 will be the proxy ip second, if there is a cached response it may bypass the acl device. So in this case we need tags to disambiguate both srces and provide hit/miss information. In this case the tagflowtable on the proxy will map these scenarios with some encoded tags. The forwarding rules of S1/S2 will now use tag information in addition to traditional flow match/interface fields to decide where to steer this pkt. Finally. When we come to the ACL/ratelimiting deivce, it has actions corresponding to the various scenars – for tags 1 hich are misses from host 1it will just do rate limitn. For tag 4, it will implement blocking w/o ratelimitng and for tag3 it will do both. Note that tag2 will not even be seen at acl since it’s a hit from H1. Input Tag Out Proxy 2 H1 1,3,4 S2 Input Tag Out S1 1,3,4 ACL 4 1,3 Internet H2

FlowTags Proof-of-Concept Using Squid (> over 100,000 lines of code) About 30 lines of code to add FlowTags support Manually identify code chokepoints Validated use-cases with examples As a proof of concept we have initially modified squid to add flowtags support .. We do this by identifying code chokepoints where we need to add the relevant Hooks and we have validated the examples in this tlak and a few more in the paper.

Conclusions Middleboxes make policy enforcement hard Dynamic modifications are hard to account for FlowTags can make “flow context” visible Minimal modifications to middleboxes No changes to switch/switch APIs Enabler for new verification and forensic tasks Simpler HSA; Dynamic policies; Correlating logs Early promise, but many challenges remain E.g., How many bits? Automatic patches? Control apps? To summairze the motivation for this work is that the dynamic modifications by mboxes make it hard to implement policies efficiently .. Its a bit weird because policy compliance is in fact a key driver for mbox adoptin. Our vision is to have a clean mechanism to address this visibility gaps rather than ad hoc heuristics … we emvision adding flowtags will impose minimal changes To mboxes .. And moreoever no changes to exisitng sdn switches and their apis. The overall vision here is tha such a mechanism can be an anabler for new policy verification and forensic functions and potentially simplify existing SDN tools as well .. Our proof of concept and examples are promising but we have quite a disance to go before this is “real” -- there are many challenges that we don’t quite know how to adrdress eyet – do we hae enough space with exsting header bits, how do we utomaitclaly patch this support into exisitng mvox software? How do we syamteically model the dynamic actions to genertate tagging rulets etc.