tcp ip tcp
play

TCP/IP: TCP Network Security Lecture 7 Eike Ritter Network - PowerPoint PPT Presentation

TCP/IP: TCP Network Security Lecture 7 Eike Ritter Network Security - Lecture 7 1 TCP spoofing Alice trusts Bob (e.g., logins on Alice are allowed with no password if TCP connection comes from host Bob) Mallory wants to impersonate


  1. TCP/IP: TCP Network Security Lecture 7 Eike Ritter Network Security - Lecture 7 1

  2. TCP spoofing • Alice trusts Bob (e.g., logins on Alice are allowed with no password if TCP connection comes from host Bob) • Mallory wants to impersonate Bob when opening a TCP connection to Alice Steps • – M kills B (e.g., flooding) – M sends SYN segment to A with source IP address set to B’s IP address – A sends a SYN/ACK to B, with its initial sequence number I A – M completes the 3-way handshake, with ACK set to I A + 1 • M eavesdrops A’s response containing I A [we know how to do this] • M guesses the correct I A value (“blind spoofing”) [we will focus on this] Eike Ritter Network Security - Lecture 7 2

  3. TCP spoofing Described in R. T. Morris, A Weakness in the 4.2BSD UNIX TCP/IP • Software Used by Kevin Mitnick attack in his attack against the San Diego • Supercomputer Center Addressed by S. Bellovin, RFC 1984, Defending Against Sequence • Number Attacks – Set initial sequence number to the timer prescribed originally + the value of a cryptographic hash function of each connection: ISN = M + F(localhost, localport, remotehost, remoteport) – It is vital that F not be computable from the outside, so it is keyed with with some secret data • True random number • Per-host secret and boot time of the machine – Thus, each connection is given a separate sequence number space That’s the theory, at least • Eike Ritter Network Security - Lecture 7 3

  4. Initial sequence number revisited How about the actual implementations? • Are the different OSes correctly implementing initial sequence number generators? – How do you test it? – Michal Zalewski looks at this problem in Strange Attractors and TCP/IP Sequence • Number Analysis and the follow-up study One Year Later Derive properties of ISN generators by observing the generated ISNs (instead of, • say, looking at their implementation) For example: 4293832719, 3994503850, 4294386178, 134819, 4294768138 • 191541, 4294445483, 4294608504, 4288751770, 88040492, ... Phase space analysis to visualize hidden dependencies • Represent a sequence of ISNs in a 3-d space: – x[t] = seq[t] - seq[t-1] y[t] = seq[t-1] - seq[t-2] z[t] = seq[t-2] - seq[t-3] Look for unexpected regularities in this space (“attractors”) – Use attractor to build “Spoofing Sets”, i.e., likely values for the next ISN – Eike Ritter Network Security - Lecture 7 4

  5. Linux 2.2 Eike Ritter Network Security - Lecture 7 5

  6. Windows 2000 Eike Ritter Network Security - Lecture 7 6

  7. Windows 98 Eike Ritter Network Security - Lecture 7 7

  8. Cisco IOS - before Eike Ritter Network Security - Lecture 7 8

  9. Cisco IOS - after Eike Ritter Network Security - Lecture 7 9

  10. TCP hijacking We saw: TCP spoofing + address-based authentication = attacker wins • – What if authentication is performed by other means, e.g., password-based? – Attacker needs a more powerful attack Attacker waits for TCP connection to be established and then creates a • desynchronized state on both ends of the connection – Two points cannot communicate Then creates acceptable packets for both ends • – At this point, attacker completely controls the connection Performed by using spoofed TCP segments to • – Insert data in the streams – Reset an existing connection (denial of service) First described in • L. Joncheray, “Simple Active Attack Against TCP” Eike Ritter Network Security - Lecture 7 10

  11. TCP hijacking • Scenario: attacker wants to inject data into existing TCP connection between two hosts – Think of telnet connection between A and B – M wants to hijack connection to inject commands that will be executed on B • Attacker waits until the connection to hijack is “quiet” – All the sent data has been acknowledged • Attacker injects data into the stream (“desynchronization”) – echo “+ +” > ~/.rhosts – Source IP is spoofed to A’s IP address – SEG.SEQ = last ACK from the server – SEG.ACK = last SEQ from the server • Datagram is acceptable and will be processed by the server Eike Ritter Network Security - Lecture 7 11

  12. TCP hijacking • What happens next? • Server sends ACK to A – Remember: attacker is spoofing A’s address – SRV.ACK = M • Client receives segment, notices it is out of order, and sends ACK with the “right” sequence number – CLN.ACK = N (N < M) • Server receives segment, notices it is out of order, and sends ACK with the “right” sequence number – SRV.ACK = M • . . . • “Ack storm” Eike Ritter Network Security - Lecture 7 12

  13. ACK storm 172.16.48.2.1026 > 172.16.48.1.23: P 1015112:1015133(21) ack 4056578923 172.16.48.1.23 > 172.16.48.2.1026: . seq 4056578923 ack 1015133 172.16.48.2.1026 > 172.16.48.1.23: . seq 1015112 ack 4056578923 172.16.48.1.23 > 172.16.48.2.1026: . seq 4056578923 ack 1015133 172.16.48.2.1026 > 172.16.48.1.23: . seq 1015112 ack 4056578923 172.16.48.1.23 > 172.16.48.2.1026: . seq 4056578923 ack 1015133 172.16.48.2.1026 > 172.16.48.1.23: . seq 1015112 ack 4056578923 172.16.48.1.23 > 172.16.48.2.1026: . seq 4056578923 ack 1015133 172.16.48.2.1026 > 172.16.48.1.23: . seq 1015112 ack 4056578923 172.16.48.1.23 > 172.16.48.2.1026: . seq 4056578923 ack 1015133 172.16.48.2.1026 > 172.16.48.1.23: . seq 1015112 ack 4056578923 172.16.48.1.23 > 172.16.48.2.1026: . seq 4056578923 ack 1015133 172.16.48.2.1026 > 172.16.48.1.23: . seq 1015112 ack 4056578923 172.16.48.1.23 > 172.16.48.2.1026: . seq 4056578923 ack 1015133 172.16.48.2.1026 > 172.16.48.1.23: . seq 1015112 ack 4056578923 172.16.48.1.23 > 172.16.48.2.1026: . seq 4056578923 ack 1015133 172.16.48.2.1026 > 172.16.48.1.23: . seq 1015112 ack 4056578923 Eike Ritter Network Security - Lecture 7 13

  14. Fixing the ACK storm • How to prevent/stop? • Disable the client so that it does not reply to server’s ACKs • Resynchronize – Send “null data” to client so that it resyncs with the server – In telnet, NOP commands • Just wait – ACKs that carry no data are not retransmitted if lost – ACK storm will congest the network – So eventually, ACKs will be lost • ARP spoofing – Spoofs client so that server ACKs only reach the attacker Eike Ritter Network Security - Lecture 7 14

  15. SYN flooding • Denial of service attack • Attacker sends a SYN packet • Victim replies with SYN/ACK segment – Internally, the victim allocates resources to keep track of the half-open connection – “Transmission Control Block” (TCB) – In practice, some memory • Attacker does not send ACK • The victim has limited number of available TCBs to keep track of the half-open connection – When limit is reached, it will not accept any other connection • Can the attacker easily hide (spoof) its source address? Eike Ritter Network Security - Lecture 7 15

  16. SYN flooding defenses • How would you protect from this attack? • Filtering – To block spoofed packets • Increase the length of the queue storing half-open connections • Recycle existing half-open connections when the limit is reached and new connections arrive • Reduce the SYN-RECEIVED timeout – Time waited between receiving a SYN and recycling the resources allocated to this connection • Do not allocate any state at all for a received SYN – SYN cookie Eike Ritter Network Security - Lecture 7 16

  17. SYN cookie • Encode the connection state in the initial sequence number and/or other fields (e.g., the Timestamp option) • Set ISN to t | m | s – t: timestamp – m: MSS – s: result of crypto function on server address and port, client address and port, t • When ACK is received – Recover the ISN (ACK – 1) – Check t against current timestamp and check that it is close enough – Recompute s and check that it is valid – Decode m Eike Ritter Network Security - Lecture 7 17

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend