I DPID It My Way! A Covert Timing Channel in Software-Defined - - PowerPoint PPT Presentation

i dpid it my way a covert timing channel in software
SMART_READER_LITE
LIVE PREVIEW

I DPID It My Way! A Covert Timing Channel in Software-Defined - - PowerPoint PPT Presentation

I DPID It My Way! A Covert Timing Channel in Software-Defined Networks Robert Kro sche, Kashyap Thimmaraju , Liron Schiff and Stefan Schmid IFIP Networking 2018 14-16 May, 2018, Zurich, Switzerland 1 Outline 1. Motivation 2. Covert


slide-1
SLIDE 1

I DPID It My Way! A Covert Timing Channel in Software-Defined Networks

Robert Krösche, Kashyap Thimmaraju, Liron Schiff and Stefan Schmid

IFIP Networking 2018 14-16 May, 2018, Zurich, Switzerland 1

slide-2
SLIDE 2

Outline

1. Motivation 2. Covert Timing Channel 3. CVE-2018-1000155 4. Conclusion

2

slide-3
SLIDE 3

Backdoors and Exploits

3

slide-4
SLIDE 4

Also Possible With SDN (Virtual) Switches! [SOSR’18]

4

slide-5
SLIDE 5

Malicious SDN Switches

5

slide-6
SLIDE 6

SDN Teleportation [EuroSP’17]

A New Attack in Software-Defined Networks

6

slide-7
SLIDE 7

SDN Teleportation: Violate Network Isolation

7

Department

  • f Research

Department

  • f Sales

SDN Controller

slide-8
SLIDE 8

SDN Teleportation: Violate Network Isolation

8

Department

  • f Research

Department

  • f Sales

SDN Controller

slide-9
SLIDE 9

The Teleportation Model

1) Switch to Controller 2) Controller to Switches 3) Destination Processing

9

10 11 10. .. 1) 2) 3)

slide-10
SLIDE 10

Teleportation Techniques

  • Out-of-band Forwarding
  • Flow (Re-)Configuration
  • Switch Identification

10

10 11 10. .. 1) 2) 3) Inherent to the OpenFlow specification

slide-11
SLIDE 11

Switch Identification Teleportation

  • OpenFlow Handshake
  • Switches use the same Data Path

Identifier (DPID) to the same controller

11

A Covert Timing Channel

slide-12
SLIDE 12

Switch Identification Teleportation

OpenFlow Messages

  • Hello
  • Features Request
  • Features Reply

12

Features Reply … DPID=1 ... Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10

slide-13
SLIDE 13

Switch Identification Teleportation

OpenFlow Messages

  • Hello
  • Features Request
  • Features Reply

13

Features Reply Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10 … DPID=1 ...

slide-14
SLIDE 14

Switch Identification Teleportation

OpenFlow Messages

  • Hello
  • Features Request
  • Features Reply

14

Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10 Disconnect 10.0.0.2 I could not connect with DPID=1, s1 sent me a “1”.

slide-15
SLIDE 15

Covert Timing Channel

15

slide-16
SLIDE 16

Challenges From One Bit to Multiple Bits

  • Synchronization

○ When to start? ○ How long to wait? ○ Did it start? ○ When to end?

  • Influence of the Controller

○ Load on the controller ○ Controller architecture ○ Path to the controller

16

slide-17
SLIDE 17

Challenges From One Bit to Multiple Bits

  • Synchronization

○ When to start? ○ How long to wait? ○ Did it start? ○ When to end?

  • Influence of the Controller

○ Load on the controller ○ Controller architecture ○ Path to the controller

17

Frame Structure SoF Bit Data Bit ... 1 1 1 1 1 1 1 End of Transmission

slide-18
SLIDE 18

Experimental Evaluation

18

slide-19
SLIDE 19

Effect of Timing Interval (∆)

19

slide-20
SLIDE 20

Effect of Frame Length (FL)

20

FL 7 SoF Bit Data Bits FL 14 FL 28

slide-21
SLIDE 21

Effect of Timing Interval (∆) and Frame Length (FL)

No load, M=64bytes, δof f set=5ms and check the conn. status at ∆/2

21

slide-22
SLIDE 22

Effect of Timing Interval (∆) and Frame Length (FL)

No load, M=64bytes, δof f set=5ms and check the conn. status at ∆/2

22

slide-23
SLIDE 23

Effect of Timing Interval (∆) and Frame Length (FL)

No load, M=64bytes, δof f set=5ms and check the conn. status at ∆/2

23

slide-24
SLIDE 24

Effect of Timing Interval (∆) and Frame Length (FL)

No load, M=64bytes, δof f set=5ms and check the conn. status at ∆/2

24

slide-25
SLIDE 25

Effect of Delay (δdelay) to Check

  • Conn. Status

25

slide-26
SLIDE 26

Effect of Delay (δdelay) to Check

  • Conn. Status

No load, M=64bytes, δof f set=5ms and check the conn. status at 2∆/3

26

slide-27
SLIDE 27

Effect of Load on the Controller

With load (20 switches trigger Packet-Ins following a Poisson distribution with λ=1), M=64bytes, δof f set=5ms and check the conn. status at 2∆/3

27

slide-28
SLIDE 28

Limitations, Detection and Mitigation

  • Uni-directional and no

error-correction in our prototype

  • System and network limitations, e.g.,

TCP connection establishment time

  • It is difficult to detect Teleportation

attacks as the (OpenFlow) messages are legitimate and within the switch-controller channel

  • We can deter Switch Identification

Teleportation by securing the OpenFlow handshake

28

slide-29
SLIDE 29

CVE-2018-1000155

  • Lack of authentication
  • Lack of authorization
  • Denial of service
  • Difficult to specify the outcome for a switch

ID collision at the controller in OpenFlow

29

  • Public disclosure made last week

○ http://www.openwall.com/lists/oss-security /2018/05/09/4 ○ https://www.theregister.co.uk/2018/05/10 /openflow_switch_auth_vulnerability/ ○ https://www.techrepublic.com/article/open flow-sdn-protocol-flaw-affects-all-versions- could-lead-to-dos-attack/

slide-30
SLIDE 30

CVE-2018-1000155: Proposed Mitigation

  • Unique TLS certificates for switches
  • White-list of switch DPIDs at controllers

[Gray et al.] and the respective switches’ public-key certificate identifier

  • A controller mechanism that verifies the

DPID announced in the OpenFlow handshake is over the TLS connection with the associated (DPID) certificate

○ ONOS has already patched, see https://github.com/opennetworkinglab/ono s/commit/f69e3e34092139600404681798 cebeefebcfa6c6 ○ Other controllers to follow

30

slide-31
SLIDE 31

CVE-2018-1000155: Proposed Mitigation

31

Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10 Dpid 1 - TLS cert s1 Dpid 2 - TLS cert s2 TLS cert s1 TLS cert s2

slide-32
SLIDE 32

CVE-2018-1000155: Proposed Mitigation

32

Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10 Dpid 1 - TLS cert s1 Dpid 2 - TLS cert s2 Dpid 1 Features Reply

slide-33
SLIDE 33

CVE-2018-1000155: Proposed Mitigation

33

Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10 Dpid 1 - TLS cert s1 Dpid 2 - TLS cert s2 Features Reply Dpid 1

slide-34
SLIDE 34

CVE-2018-1000155: Proposed Mitigation

34

Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10 Dpid 1 - TLS cert s1 Dpid 2 - TLS cert s2 S2 did not use authorized dpid over authenticated TLS channel!

slide-35
SLIDE 35

Conclusion

  • Introduced a novel covert timing

channel in Software-Defined Networks

  • A fundamental network security

requirement, isolation, can be violated in SDNs using our covert channel

  • Our prototype can achieve

unidirectional throughput of 20bps with ~90% accuracy

  • CVE-2018-1000155 DoS, lack of

authentication and authorization, and covert channel in OpenFlow

35

slide-36
SLIDE 36

Contact

Kashyap Thimmaraju Email: kash@sect.tu-berlin.de Web: www.fgsect.de/~hashkash Fingerprint: 5FFC 5589 DC38 F6F5 CEF7 79D8 A10E 670F 9520 75CD

36

slide-37
SLIDE 37

References

1. [SOSR’18] K. Thimmaraju, B. Shastry, T. Fiebig, F. Hetzelt, J.-P. Seifert, A. Feldmann, S. Schmid,” in Proc. ACM Symposium on SDN Research (SOSR), 2018. 2. [EuroSP’17] K. Thimmaraju, L. Schiff, and S. Schmid, “Outsmarting network security with sdn teleportation,” in Proc. IEEE European Security & Privacy (S&P), 2017. 3. [Gray et al.] N. Gray, T. Zinner, and P. Tran-Gia, “Enhancing sdn security by device fingerprinting,” In Proc. IFIP/IEEE International Symposium on Integrated Network Management (IM), May 2017. 4. [Dover] J. M. Dover, “A denial of service attack against the open floodlight sdn controller,” Dover Networks, Tech. Rep., 2013. [Online]. Available: http://dovernetworks.com/wp-content/uploads/ 2013/12/OpenFloodlight-12302013.pdf 5. [Secci et al.] S. ​Secci,​ ​K.​ ​Attou,​ ​D. ​C. ​Phung, S.​ ​Scott-Hayward,​ ​D. ​Smyth,​ S. ​Vemuri​ and ​You​ ​Wang​, “ONOS​ ​Security​ ​and​ ​Performance​ ​Analysis: Report​ ​No.​ ​1” ONOS, 2017. 6. [SNBI] https://wiki.opendaylight.org/view/SNBI_Architecture_and_Design 7. [USE] https://wiki.opendaylight.org/images/2/23/Odl-usc-2014_11_20.pdf

37

slide-38
SLIDE 38

Backup

38

slide-39
SLIDE 39

Threats of Switch Id Teleportation

  • Stealing private keys
  • MITM future traffic
  • Fake vpn gateway
  • Send control messages as part of a botnet
  • Surveillance
  • Exfiltration from air-gapped networks with same controller
  • Violate network isolation, fundamental requirement.
  • Physical isolation via disconnected data planes
  • Communication via controller across disconnected data planes
  • Why break isolation is bad?
  • Break in non-obvious way

○ Fundamental security property broken ○ Physically separated

  • Isolation is most basic and required in a network
  • With examples of isolation properties violated

39

slide-40
SLIDE 40

A More Recent Incident with Cisco

40

slide-41
SLIDE 41

Software-Defined Networks (SDN)

41

Traditional Networks Software-Defined Networks Distributed Control Plane, hard to manage Logically Centralized Control Plane, easy to manage

slide-42
SLIDE 42

Teleportation and OOBF

42

slide-43
SLIDE 43

Teleportation Poses Several Threats

  • Bypass security mechanisms

○ Circumvent Firewalls and Intrusion Detection Systems

  • Eavesdrop

○ Modify the content of packets in transit

43

EuroSP’17 focused on Out-of-band Forwarding

slide-44
SLIDE 44

Teleportation Poses Several Threats

  • Bypass security mechanisms

○ Circumvent Firewalls and Intrusion Detection Systems

  • Eavesdrop

○ Modify the content of packets in transit

44

  • Exfiltration

○ Violate physical/logical network isolation ○ Transmit confidential information, e.g., RSA private keys

  • Attack coordination

○ Send/Receive command and control messages from a Bot master

Networking’18 focuses on Switch Identification EuroSP’17 focused on Out-of-band Forwarding

slide-45
SLIDE 45

Out-of-band Forwarding

OpenFlow Messages

  • Packet-in
  • Packet-out
  • (Flow-mods)

45

Packet-in Packet-out

slide-46
SLIDE 46

Message Sequence Pattern

46

slide-47
SLIDE 47

Switch Identification Teleportation

OpenFlow Messages

  • Hello
  • Features Request
  • Features Reply

47

TCP Handshake Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10

slide-48
SLIDE 48

Switch Identification Teleportation

OpenFlow Messages

  • Hello
  • Features Request
  • Features Reply

48

Transport Connection Established Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10

slide-49
SLIDE 49

Switch Identification Teleportation

OpenFlow Messages

  • Hello
  • Features Request
  • Features Reply

49

Hello Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10

slide-50
SLIDE 50

Switch Identification Teleportation

OpenFlow Messages

  • Hello
  • Features Request
  • Features Reply

50

Hello Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10

slide-51
SLIDE 51

Switch Identification Teleportation

OpenFlow Messages

  • Hello
  • Features Request
  • Features Reply

51

Features Request Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10 Tell me your Features, e.g., ID, Ports, etc.

slide-52
SLIDE 52

Switch Identification Teleportation

OpenFlow Messages

  • Hello
  • Features Request
  • Features Reply

52

Features Reply … DPID=1 ... Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10

slide-53
SLIDE 53

Switch Identification Teleportation

OpenFlow Messages

  • Hello
  • Features Request
  • Features Reply

53

OpenFlow Connection Established Switch from IP 10.0.0.1 has DPID=1 Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10

slide-54
SLIDE 54

Switch Identification Teleportation

OpenFlow Messages

  • Hello
  • Features Request
  • Features Reply

54

TCP Handshake Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10

slide-55
SLIDE 55

Switch Identification Teleportation

OpenFlow Messages

  • Hello
  • Features Request
  • Features Reply

55

Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10 Transport Connection Established

slide-56
SLIDE 56

Switch Identification Teleportation

OpenFlow Messages

  • Hello
  • Features Request
  • Features Reply

56

Hello Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10

slide-57
SLIDE 57

Switch Identification Teleportation

OpenFlow Messages

  • Hello
  • Features Request
  • Features Reply

57

Hello Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10

slide-58
SLIDE 58

Switch Identification Teleportation

OpenFlow Messages

  • Hello
  • Features Request
  • Features Reply

58

Features Request Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10

slide-59
SLIDE 59

Switch Identification Teleportation

OpenFlow Messages

  • Hello
  • Features Request
  • Features Reply

59

Features Reply Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10 … DPID=1 ...

slide-60
SLIDE 60

Switch Identification Teleportation

OpenFlow Messages

  • Hello
  • Features Request
  • Features Reply

60

Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10 Switch from IP 10.0.0.2 has DPID=1?!

slide-61
SLIDE 61

Switch Identification Teleportation

OpenFlow Messages

  • Hello
  • Features Request
  • Features Reply

61

Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10 Disconnect 10.0.0.2 I could not connect with DPID=1, s1 sent me a “1”.

slide-62
SLIDE 62

OpenFlow Handshake

62

slide-63
SLIDE 63

Switch Identification Teleportation

With ONOS

63

slide-64
SLIDE 64

OpenFlow Handshake

64

slide-65
SLIDE 65

State Transition Model

65

slide-66
SLIDE 66

Receiver Sender

State Transition Model

66

slide-67
SLIDE 67

Transition Delays

67

slide-68
SLIDE 68

Transition Delays

1. δs : The time the sender takes to send a binary bit value 2. δr : The time the receiver takes to receive a binary bit value 3. δsc : The time to transition from the Idle state to the OpenFlow-established state 4. δdc : The time to move from the OpenFlow-established state to OpenFlow-disconnected state 5. δof f set: A timeout value the receiver waits before it sets the controller 6. δof -deny : The time to move from OpenFlow-established to OpenFlow-disconnected when the connection is denied 7. δdelay : A timeout value the receiver waits before it checks the OpenFlow connection status 8. δchk -conn : The time the receiver takes to determine a 0 or 1 by checking the OpenFlow connection status 9. δws = ∆ − δs : A timeout value the sender waits before moving from the OpenFlow-established state to OpenFlow-disconnected 10. δwr = ∆ − δr : A timeout value the receiver waits before moving from the OpenFlow-disconnected state to the Idle state

68

slide-69
SLIDE 69

Boundary Conditions

69

slide-70
SLIDE 70

Experiments

Measured the accuracy using Levenshtein distance

1. Effect of timing interval (∆) 2. Effect of frame length (FL) 3. Effect of delay in conn. Status (δdelay) 4. Effect of load on the controller 5. Effect of message length (M)

70

slide-71
SLIDE 71

Timing Diagram

71

slide-72
SLIDE 72

Effect of Timing Interval (∆) and Frame Length (FL)

No load, M=64bytes, δof f set=5ms and check the conn. status at ∆/2

72

slide-73
SLIDE 73

Effect of Timing Interval (∆) and Frame Length (FL)

No load, M=64bytes, δof f set=5ms and check the conn. status at ∆/2

73

slide-74
SLIDE 74

Effect of Timing Interval (∆) and Frame Length (FL)

No load, M=64bytes, δof f set=5ms and check the conn. status at ∆/2

74

slide-75
SLIDE 75

Timing Diagram

75

slide-76
SLIDE 76

Timing Diagram

76

Done too soon (Delta/3)

slide-77
SLIDE 77

Timing Diagram

77

Done later (2Delta/3)

slide-78
SLIDE 78

OOBF Throughput

78

slide-79
SLIDE 79

Out-of-band Forwarding Throughput

79

slide-80
SLIDE 80

Accuracy and Error Analysis

80

slide-81
SLIDE 81

Effect of Delay (δdelay) to Check

  • Conn. Status

No load, M=64bytes, δof f set=5ms and check the conn. status at ∆/3

81

slide-82
SLIDE 82

Effect of Delay (δdelay) to Check

  • Conn. Status

No load, M=64bytes, δof f set=5ms and check the conn. status at ∆/3

82

slide-83
SLIDE 83

Miss Start Bit Error: noLoad, 2.0d

83

slide-84
SLIDE 84

Miss Start Bit Error: noLoad, 2/3d

84

slide-85
SLIDE 85

Miss Start Bit Error: withLoad, 2.0d

85

slide-86
SLIDE 86

Miss Start Bit Error: withLoad, 2/3d

86

slide-87
SLIDE 87

End of Message Error: noLoad, 2.0d

87

slide-88
SLIDE 88

End of Message Error: noLoad, 2/3d

88

slide-89
SLIDE 89

End of Message Error: withLoad, 2.0d

89

slide-90
SLIDE 90

End of Message Error: withLoad, 2/3d

90

slide-91
SLIDE 91

Why TLS is Insufficient

91

slide-92
SLIDE 92

Switch Identification Teleportation

OpenFlow Messages

  • Hello
  • Features Request
  • Features Reply

92

Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10 Switch from IP 10.0.0.2 has DPID=1?!

slide-93
SLIDE 93

Switch Identification Teleportation

OpenFlow Messages

  • Hello
  • Features Request
  • Features Reply

93

Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10 Switch from IP 10.0.0.1 had DPID=1 first!

slide-94
SLIDE 94

Switch Identification Teleportation

OpenFlow Messages

  • Hello
  • Features Request
  • Features Reply

94

Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10 Disconnect Switch from IP 10.0.0.2!

slide-95
SLIDE 95

Switch Identification Teleportation

OpenFlow Messages

  • Hello
  • Features Request
  • Features Reply

95

Switch s1 10.0.0.1 Switch s2 10.0.0.2 Controller c1 10.0.0.10 I could not connect with DPID=1, s1 sent me a “1”.