RE: A paper by Amit Klein (Trusteer): "OpenBSD DNS Cache Poisoning and Multiple O/S Predictable IP ID Vulnerability"



The paper
(http://www.trusteer.com/docs/OpenBSD_DNS_Cache_Poisoning_and_Multiple_OS_Predictable_IP_ID_Vulnerability.pdf)

describes how to predict IP ID of various (BSD style) operating systems.
This can be used for "blind TCP data injection" The latter term is a
technique described by Michal Zalewski, and the paper references 2
BugTraq submissions by Zalewski that nicely explain this concept. These
are (from the paper):

[27] “A new TCP/IP blind data injection technique?” (BugTraq mailing
list post),
Michal Zalewski, December 10th, 2003
http://www.securityfocus.com/archive/1/347130

[28] “Breaking the checksum (a new TCP/IP blind data injection technique)”
(BugTraq mailing list post), Michal Zalewski, December 14th, 2003
http://www.securityfocus.com/archive/1/347556

The idea is (pardon me for any simplification or inaccuracy) to use
fragmentation in TCP communication in order to inject a fragment (rather
than a complete TCP datagram). For this, you need to devise a fragment
with the same checksum as the one you replace (this is easy if you can
predict the content of the fragment you replace, as discussed in the
second item). But you also need to predict the IP ID used throughout the
datagram fragments. And this is where the paper findings come in handy.

HTH,
-Amit


-----Original Message-----
From: Tim Newsham [mailto:newsham@xxxxxxxx]
Sent: Wednesday, February 06, 2008 19:48
To: Amit Klein
Cc: bugtraq@xxxxxxxxxxxxxxxxx
Subject: Re: A paper by Amit Klein (Trusteer): "OpenBSD DNS
Cache Poisoning and Multiple O/S Predictable IP ID Vulnerability"

> Interestingly enough, OpenBSD uses a flavor of this PRNG
for another
> field, this time the IP fragmentation ID, part of the
OpenBSD kernel
> network stack. The analysis carries out quite similarly to
show that
> OpenBSD's IP ID is predictable as well, which gives way to O/S
> fingerprinting, idle-scanning, host alias detection,
traffic analysis,
> and in some cases, even to TCP blind data injection.

Can you expound upon the blind TCP injection allowed by IP ID
prediction?

> Amit Klein
> CTO Trusteer

Tim Newsham
http://www.thenewsh.com/~newsham/





Relevant Pages

  • Re: Snort exploits
    ... This should correct the issues that fragroute induces. ... We still do that but also alert on overlapping fragments. ... older TCP retransmission chaff (snort's TCP segment reassembly ... older IP fragment duplicates (snort's IP fragment reassembly seems ...
    (Bugtraq)
  • Re: OID_TCP_TASK_OFFLOAD question
    ... Well, right, TCP packets will not fragment at sender because there is no ... you just send up to the MTU limit. ... a TCP segment usually fits in a single network packet at the ...
    (microsoft.public.development.device.drivers)
  • Re: Sockets: How to force recv of unknown data size (all data)
    ... >>this mean the packet gets splitted into two sends? ... TCP will typically fragment in MSS-sized packets ... >to opinions held by my employer, ...
    (comp.unix.programmer)
  • Re: Sockets: How to force recv of unknown data size (all data)
    ... TCP will almost *always* fragment in MSS-sized packets, ... Path MTU, and most Internet backbone links have 1500 MTU's. ...
    (comp.unix.programmer)
  • Re: 8159 bytes takes 20 ms, 8160 bytes takes 200 ms?
    ... look for Nagle algorithm in TCP ... > this is what etheral shows, a packet with ack and push flag set, and win2k ... > Header length: 20 bytes ... > Fragment offset: 0 ...
    (microsoft.public.win32.programmer.networks)

Quantcast