policy routing using process level identifiers
play

Policy Routing using Process-Level Identifiers IEEE International - PowerPoint PPT Presentation

Policy Routing using Process-Level Identifiers IEEE International Symposium on Software Defined Systems April 4th, 2016, Berlin, Germany Oliver Michel, Eric Keller Networking and Security Research Group Network Policies 2 Network Policies


  1. Policy Routing using Process-Level Identifiers IEEE International Symposium on Software Defined Systems April 4th, 2016, Berlin, Germany Oliver Michel, Eric Keller Networking and Security Research Group

  2. Network Policies 2

  3. Network Policies Load Balancing 2

  4. Network Policies Address Translation 2

  5. Network Policies Intrusion Detection 2

  6. Network Policies Firewalling 2

  7. Limited Identifiers Ethernet IP TCP/UDP 3

  8. Limited Identifiers Ethernet Source Destination EtherType IP TCP/UDP 3

  9. Limited Identifiers Ethernet Source Destination EtherType IP Source Destination Protocol DSCP ECN TCP/UDP 3

  10. Limited Identifiers Ethernet Source Destination EtherType IP Source Destination Protocol DSCP ECN TCP/UDP Source Destination 3

  11. Why fine-grained identifiers? • Uniquely identifying user sessions BLOCK LDAP User Peter cn=Peter Pan, ou=CS, o=UColorado 4

  12. Why fine-grained identifiers? • Uniquely identifying user sessions BLOCK LDAP User Peter cn=Peter Pan, ou=CS, o=UColorado MAC IP 4

  13. Why fine-grained identifiers? • Uniquely identifying user sessions BLOCK LDAP User Peter cn=Peter Pan, ou=CS, o=UColorado UID MAC IP 4

  14. Why fine-grained identifiers? • Uniquely identifying user sessions BLOCK LDAP User Peter cn=Peter Pan, ou=CS, o=UColorado Controller UID MAC IP LDAP 4

  15. Why fine-grained identifiers? • Isolating vulnerable software 5

  16. Why fine-grained identifiers? • Isolating vulnerable software 6

  17. Why fine-grained identifiers? • Isolating vulnerable software $ openssl sha1 /usr/sbin/httpd SHA1(/usr/sbin/httpd)=5fdbdb587fce265656fd3e2960a6293262efedb7 6

  18. Why fine-grained identifiers? • Isolating vulnerable software $ openssl sha1 /usr/sbin/httpd SHA1(/usr/sbin/httpd)=5fdbdb587fce265656fd3e2960a6293262efedb7 Executable Fingerprint 6

  19. Why fine-grained identifiers? • Isolating vulnerable software $ openssl sha1 /usr/sbin/httpd SHA1(/usr/sbin/httpd)=5fdbdb587fce265656fd3e2960a6293262efedb7 Executable Fingerprint Controller 6

  20. Fine-Grained Information user space Process Process operating system Network Interface IP/MAC 7

  21. Fine-Grained Information user space Process Process Port operating system Network Interface IP/MAC 7

  22. Fine-Grained Information user space Process Process PID Port operating system Network Interface IP/MAC 7

  23. Fine-Grained Information user space Process Process PID GID Port operating system Network Interface IP/MAC 7

  24. Fine-Grained Information user space Process Process PID GID UID Port operating system Network Interface IP/MAC 7

  25. Fine-Grained Information user space Process Process PID GID UID Port operating cgroups system Network Interface IP/MAC 7

  26. Fine-Grained Information user space Process Process PID GID UID Port operating cgroups system open files Network Interface IP/MAC 7

  27. Fine-Grained Information user space Process Process PID GID UID Port operating cgroups system open files exe fingerprint Network Interface IP/MAC 7

  28. Fine-Grained Information user space Process Process operating PID GID UID cgroups open files exe fingerprint system Network Interface IP/MAC MAC Destination MAC Source EtherType IP Source IP Destination Protocol network TCP/UDP Source TCP/UDP Destination 8

  29. Fine-Grained Information user space Process Process operating system Network Interface IP/MAC MAC Destination MAC Source EtherType IP Source IP Destination Protocol network TCP/UDP Source TCP/UDP Destination PID GID UID cgroups open files exe fingerprint 8

  30. Benefiting Scenarios • Uniquely identifying user sessions • Isolating vulnerable software 9

  31. Benefiting Scenarios • Uniquely identifying user sessions • Isolating vulnerable software • Identifying services 9

  32. Benefiting Scenarios • Uniquely identifying user sessions • Isolating vulnerable software • Identifying services • Quality of Service 9

  33. Benefiting Scenarios • Uniquely identifying user sessions • Isolating vulnerable software • Identifying services • Quality of Service • Forensic Analysis 9

  34. PRPL \ ˈ p ə r-p ə l\ Policy Routing using Process-Level Identifiers

  35. PRPL Overview 11

  36. PRPL Overview controller 11

  37. PRPL Overview Distributing and configuring Policy controller 11

  38. PRPL Overview Distributing and configuring Policy controller 11

  39. PRPL Overview Tagging Packets Distributing and configuring Policy controller 11

  40. PRPL Overview Tagging Packets Forwarding Distributing and configuring Policy controller 11

  41. Tagging • Insert a custom header containing a token associated with some policy Ethernet IP TCP/UDP 12

  42. Tagging • Insert a custom header containing a token associated with some policy Ethernet IP TCP/UDP 12

  43. Tagging • Insert a custom header containing a token associated with some policy Ethernet PRPL IP TCP/UDP 12

  44. Tagging • Insert a custom header containing a token associated with some policy 3 2 b i t s Ethernet 0x12d4f7e3 PRPL IP TCP/UDP 12

  45. Tagging user domain Process Host admin domain Policy Controller 13

  46. Tagging user domain Process Host admin domain PRPL Agent Policy Controller 13

  47. Tagging user domain Process Host admin domain PRPL Agent request communication stream Policy Controller 13

  48. Tagging user domain Process Host admin domain PRPL Agent request communication obtain token stream Policy Controller 13

  49. Tagging user domain Process Host classify/mark tag/forward configure admin domain PRPL Agent request communication obtain token stream Policy Controller 13

  50. Forwarding • Programmable Hardware 
 [Kangaroo INFOCOM ’10, SDN Chip SIGCOMM ’13, Intel FM6000 switch silicon] • Dataplane Forwarding Model in P4 [SIGCOMM CCR 2014] 14

  51. Forwarding PRPL token action drop 0x a4..23 reroute 0x d3..42 • Programmable Hardware 
 [Kangaroo INFOCOM ’10, SDN Chip SIGCOMM ’13, Intel FM6000 switch silicon] • Dataplane Forwarding Model in P4 [SIGCOMM CCR 2014] 14

  52. Forwarding PRPL token action drop 0x a4..23 reroute 0x d3..42 • Programmable Hardware 
 [Kangaroo INFOCOM ’10, SDN Chip SIGCOMM ’13, Intel FM6000 switch silicon] • Dataplane Forwarding Model in P4 [SIGCOMM CCR 2014] 14

  53. Implementation 15

  54. Implementation • Linux on-board tools: iptables, custom routing, tunnel devices 15

  55. Implementation • Linux on-board tools: iptables, custom routing, tunnel devices • P4: Matching on token 15

  56. Implementation • Linux on-board tools: iptables, custom routing, tunnel devices • P4: Matching on token • Prototype • P4 behavioral model • tag based on uid • forward or drop 15

  57. Implementation 200 TCP throughput [ Mbit / s ] 150 100 direct transmission 50 using PRPL 0 200 400 600 800 1000 1200 1400 packet size [ Bytes ] • No performance penalty for packets < 200 Bytes 16

  58. Future Work and Conclusion 17

  59. Future Work and Conclusion • Network Management can greatly benefit from fine- grained process-level information 17

  60. Future Work and Conclusion • Network Management can greatly benefit from fine- grained process-level information • System Architecture and Prototype enabling packet processing based on such information 
 17

  61. Future Work and Conclusion • Network Management can greatly benefit from fine- grained process-level information • System Architecture and Prototype enabling packet processing based on such information 
 • Future work: expansion beyond current examples, more complex policies 17

  62. Source Code https://github.com/nsr-colorado/prpl 18

  63. Backup Slides

  64. Future Work • Study feasibility of more complex policy scenarios • Granularity of Tokens • Controller - Agent Interface • Proactive vs. reactive configuration • Trust in tagging process 20

  65. Tagging 25 minimum token size [ bits ] 20 15 500 servers 2000 servers 10 10000 servers 5 1 5 10 50 100 number of policy rules per host ( log. ) • Token sizes between 16 bits and 32 bits sufficient even for large networks 21

  66. Programmable Hardware • new custom ASICs can achieve such flexibility at terabit speeds [Kangaroo INFOCOM ’10, SDN Chip SIGCOMM ’13, Intel FM6000 switch silicon] • some switches are more programmable than others: • FPGA (Xilinx, Altera, Corsa) • NPU (Ezchip, Netronome) • CPU (OVS, …) 22

  67. P4 Language • P4 program configures forwarding behavior (abstract forwarding model) • express serial dependencies (e.g. ARP/L3 Routing) • P4 compiler translates into a target-specific representation • OF can still be used to install and query rules once forwarding model is defined 23

  68. P4 Forwarding Model / Runtime Switch Parser Match/Action Tables Egress Queues Packet Metadata 24

  69. P4 Forwarding Model / Runtime L2L3.p4 Switch Parser Match/Action Tables Egress Queues Packet Metadata 24

Recommend


More recommend