August 30, 2004 at 10:37 pm #4868
Ok. Who has worked with increasing the randomization of the tcp initial sequence numbers? or worked with randomizing the IP identification field?
Background: TCP initial sequence numbers are somewhat randomized by most operating systems to help prevent session hijacking. Unfortunately, the randomization is not incredibly strong in most cases, and also they generally increment in a positive manner. As for the IP identification field, the common practice is to implement it as a counter, though that is not defined by any RFC. Making it a counter allows outside users to determine approximately how many computers are on your internal network and which ones are currently active. It is better if that number is randomized. You want to have a unique number in the field because it is used possilbly later for rebuilding fragmented packets. I suspect that anyone that is good at building NAT applications would be close to being able to randomizing these fields. Unfortunately, though I am a network engineer, I have never written anything close to a NAT application. Point me in the right direction please.September 2, 2004 at 9:33 am #5612
not worked with ‘random’ seq field but i have heard about the use of strange atractors – they are part of choas theory and show patterns in disorder or order in disorder. A graph showing the strange attractor shows a line that follows a pattern but never repeats the same path twice and leeps from negative to posative at ‘random’ intervals. Could be useful.
Kris,September 7, 2004 at 4:48 pm #5613
Thanks krisleech, the randomization you are talking about is a little further than even I was looking for. We just want to randomize the initial sequence numbers, not all the sequence numbers. Let me give you some stats from our research to show you what we a looking for. The following is 2 lists of initial sequence numbers seen by a target destination. The first is a list of ISNs (initial sequence numbers) seen from a normal Microsoft windows 2000 host directly connected. Note there is some randomizaiton. The second is with a PIX 525 inline between the source (2 windows 2000 hosts) and the destination (the same target host). The PIX greatly improved the randomization of the ISNs. These should highlight the differences and level of randomization we would like to see:
1.BASELINE (no firewall involved, just Microsoft’s native randomizing)
15. PIX firewall – future reference ethereal capture c:temppix2.txt
FIREWALL INSIDE INTERFACE SAW: 245852646 (from comp1)
246488339 (from comp1)
247409802 (from comp1)
247997942 (from comp1)
248683549 (from comp1)
DESTINATION SAW the following ISNs in order, for the above packets:
– no comparison right? The PIX, in it’s state table, runs its own list of sequence numbers which allows it to greatly improve randomization. That is what we are looking for using Winpkfilter. Well that, and the randomization of the IP id field, which is simple compared to ISNs.
Does anyone have a copy of a program in which they have manipulated tcp/ip fields that works, that we could get a copy of? Thank you.
You must be logged in to reply to this topic.