[Snort-devel] IDS fingerprinting techniques & Snort's FlexRe sponse...

Dragos Ruiu dr at ...40...
Wed Aug 22 14:11:03 EDT 2001


Hmm... a couple of points:

-First I am not overly alarmed by this kind of information leakage so I haven't spent 
 much time analyzing the problem carefully. Hence, my somewhat sarcastic attempt at 
 humor in this topic along with what I perceived as simpler solution... 
 (failed humor, noted :-)

-Second, I was just replying to the complaint that doing a full _random_
 ttl (not _pseudo-random_, as imho pseudo-random would not hide this information
 from an algorithmical and statistical analysis) is too labor intensive,
 which from my looking at crypto-grade randomizers I agree with. Unless
 you have an infinite improbability entropy generator kicking around that
 is, but mine's in the shop....

-Third, I dunno, I don't think this is a really big deal so I'm wondering why
 I'm extending this theoretical debate... prolly just being a an ornery techie. :-) 
 So maybe we are in violent agreement after all..

cheers,
--dr

On Wed, 22 Aug 2001 18:23:20 -0400 (EDT)
<tlewis at ...255...> wrote:

> Dragos, producing pseudo-random numbers, especially for such a small
> domain, is not nearly the herculean task which you make it out to be.
> If you are really worried about the problem, though, even random ttl's
> might not be good enough, as this still does not replicate the normal
> behaviour, and this it still can leak info.
> 
> Personally, I think that the answer is to drop packets rather than trying
> to fool the attacker into stopping.  If you had a flexible rule system,
> then you could drop packets whose ttl is >= the ttl required for it
> to get to the destination.  That way, traceroutes would go right up to
> the target of the attack and then die, with the attacker having no clue
> which box in the middle is doing the filtering.
> 
> Unless you're willing to put a lot of effort into closing all of these
> doors, it will remain easy to identify the IDS system, and the marginal
> return for this work will remain close to zero.  For that reason, I
> think that time is better spent on the more serious problems at hand
> that have a lower investment-payoff threshold.
> 
> --
> Todd Lewis
> tlewis at ...255...
> 
> On Wed, 22 Aug 2001, Dragos Ruiu wrote:
> 
> > 
> > Solution and best of both worlds:
> > 
> > Hypothetical problem: 
> > 
> > massive information hemmorhage through ttl of snort flexresp rst's....
> > 
> > Overly resource intensive solution: randomize them.
> > 
> > Better solution: cycle through a linear count of 20+x<->n+x for each successive
> >  response.  Solve problem of adding uncertainty about distance to ids location,
> >  without cpu intensity of gettign real entropy.  Preselect small random delta (x)
> >  to boundaries (20,n - where n is random too) of cycle range once at startup.
> > 
> > cheers,
> > --dr
> > 
> > 
> > On Tue, 21 Aug 2001 17:17:18 -0400
> > agetchel at ...358... wrote:
> > 
> > > Greetings!
> > > 	Of course slowing down packet generation is a bad thing, especially
> > > when trying to win packet races.  I'm concerned that this change would
> > > effect the reliability of Snort's FlexResponse, but will of course do
> > > vigorous testing after I make the change tonight.  Thanks for the code
> > > snippit.
> > > 
> > > Thanks,
> > > Abe
> > > 
> > > Abe L. Getchell - Security Engineer
> > > Division of System Support Services
> > > Kentucky Department of Education
> > > Voice   502-564-2020 ext. 225
> > > E-mail  agetchel at ...358...
> > > Web     http://www.kde.state.ky.us/
> > > 
> > > 
> > > > -----Original Message-----
> > > > From: Smith, Donald [mailto:Donald.Smith at ...530...]
> > > > Sent: Tuesday, August 21, 2001 4:40 PM
> > > > To: 'agetchel at ...358...'; Smith, Donald ; tliston at ...621...
> > > > Cc: snort-devel at lists.sourceforge.net; 'tliston at ...621...'
> > > > Subject: RE: [Snort-devel] IDS fingerprinting techniques & Snort's
> > > > FlexRe sponse...
> > > > 
> > > > 
> > > > -----BEGIN PGP SIGNED MESSAGE-----
> > > > Hash: SHA1
> > > > 
> > > > Tom Liston's the author and was planning on a new release soon.
> > > > 
> > > > Contact him for the NEW version.
> > > > tliston at ...621...
> > > > 
> > > > The old version is probably still here.
> > > > http://www.threenorth.com/LaBrea
> > > > 
> > > > And yes a list of valid webservers is given so that LaBrea can ignore
> > > > those port 80 -> valid web server packets.
> > > > 
> > > > TTL = 63 + (int) ( 192 * rand()/(RAND_MAX+1.0) ) 
> > > > 
> > > > will give you a psuedo random number between 64 and 255.
> > > > 
> > > > Of course don't to forget to seed your random number generator ( ONLY
> > > > 1
> > > > time) before using this.
> > > > 
> > > > Having shown you to do a "random" ttl realize random number
> > > > generation is expensive and WILL slow down any 
> > > > application that uses it. 
> > > > 
> > > > Donald.Smith at ...530... IP Engineering Security
> > > > 303-226-9939/0688 Office/Fax
> > > > 720-320-1537 cell
> > > > 
> > > > > -----Original Message-----
> > > > > From: agetchel at ...358... [mailto:agetchel at ...358...]
> > > > > Sent: Tuesday, August 21, 2001 2:24 PM
> > > > > To: Donald.Smith at ...530...; tliston at ...621...
> > > > > Cc: snort-devel at lists.sourceforge.net
> > > > > Subject: RE: [Snort-devel] IDS fingerprinting techniques & Snort's
> > > > > FlexRe sponse...
> > > > > 
> > > > > 
> > > > > Greetings!
> > > > > 	I'll work on some code to try and do this efficiently in
> > > > > FlexResponse tonight, unless of course someone doesn't beat 
> > > > > me to the punch.
> > > > 
> > > > > Anywho, just out of curiosity (and kind of off-topic for this 
> > > > > list), how
> > > > > does one identify a SYN coming in on port 80 that shouldn't 
> > > > > be there?  Would
> > > > > it be positioned much like an IDS, check a list of valid web 
> > > > > servers that
> > > > > has been predefined, and send a SYN-ACK out to anything that it
> > > > > sees a packet destined for that doesn't exist?  I did a search for
> > > > > this tool on-line, and didn't come up with anything.  If you have
> > > > > any 
> > > > > pointers to
> > > > > where I can read more about it, I would love to see 'em.  Oh, 
> > > > > and you don't
> > > > > want to know what kind of companies reside on "LaBrea" street in
> > > > > some cities... =)
> > > > > 
> > > > > Thanks,
> > > > > Abe
> > > > > 
> > > > > Abe L. Getchell - Security Engineer
> > > > > Division of System Support Services
> > > > > Kentucky Department of Education
> > > > > Voice   502-564-2020 ext. 225
> > > > > E-mail  agetchel at ...358...
> > > > > Web     http://www.kde.state.ky.us/
> > > > > 
> > > > > 
> > > > > > -----Original Message-----
> > > > > > From: Smith, Donald [mailto:Donald.Smith at ...530...]
> > > > > > Sent: Tuesday, August 21, 2001 12:09 PM
> > > > > > To: 'Burak DAYIOGLU'; snort-devel at lists.sourceforge.net
> > > > > > Cc: 'tliston at ...621...'
> > > > > > Subject: RE: [Snort-devel] IDS fingerprinting techniques &
> > > > > > Snort's FlexRe sponse...
> > > > > > 
> > > > > > 
> > > > > > -----BEGIN PGP SIGNED MESSAGE-----
> > > > > > Hash: SHA1
> > > > > > 
> > > > > > Something like 
> > > > > > TTL = 63 + (int) ( 192 * rand()/(RAND_MAX+1.0) ) 
> > > > > > 
> > > > > > will give you a psuedo random number between 64 and 255.
> > > > > > Of course don't to forget to seed your random number generator (1
> > > > > > time) before using this.
> > > > > > 
> > > > > > 
> > > > > > As for not bothering to send rst or icmp these methods do work
> > > > > > for many of the tools that
> > > > > > are currently being used to scan our networks. 
> > > > > > 
> > > > > > LaBrea by Tom Liston [tliston at ...621...] is currently 
> > > > > being used to
> > > > > > SLOW down the infection rate of the code red worm.
> > > > > > It sends syn/ack for every syn it sees that it shouldn't be
> > > > > > seeing.  
> > > > > > 
> > > > > > Until all hackers use prefected tools active defense works.
> > > > > > 
> > > > > > 
> > > > > > Donald.Smith at ...530... IP Engineering Security
> > > > > > 303-226-9939/0688 Office/Fax
> > > > > > 720-320-1537 cell
> > > > > > 
> > > > > > > -----Original Message-----
> > > > > > > From: Burak DAYIOGLU [mailto:dayioglu at ...287...]
> > > > > > > Sent: Tuesday, August 21, 2001 1:07 AM
> > > > > > > To: snort-devel at lists.sourceforge.net
> > > > > > > Subject: Re: [Snort-devel] IDS fingerprinting techniques &
> > > > > > > Snort's FlexResponse...
> > > > > > > 
> > > > > > > 
> > > > > > > agetchel at ...358... wrote:
> > > > > > > > traceroute into your network and determines that he's ten  
> > > > > > > hops away from
> > > > > > > > your border router, and receives packets which are 
> > > > > > > resetting his connection
> > > > > > > > that have a TTL of fifty-four (a TTL of sixty-four minus 
> > > > > > > ten hops for the
> > > > > > > > packet to get to you) then he knows that the IDS is sitting 
> > > > > > > on the other
> > > > > > > > side of your border router.  If he bypasses those 
> > > > > > > countermeasures, and is
> > > > > > > > still getting resets from a Snort box placed deep within 
> > > > > > > your network, he
> > > > > > > > can tell how far into your environment you have your second 
> > > > > > > tier IDS placed.
> > > > > > > > An attacker knowing your IDS placement is "bad thing".
> > > > > > > 
> > > > > > > Dynamic routing may result in different TTL's counted at each 
> > > > > > > time especially
> > > > > > > when the distance increases.
> > > > > > > 
> > > > > > > Your arguments are true. Counting TTLs to measure exact 
> > > > > > > distance is not
> > > > > > > generally accepted, which is one thing I hate.
> > > > > > > 
> > > > > > > Gateway systems decrease TTL "at least by one" depending on 
> > > > > > > the time it takes
> > > > > > > to process the packet. Still, I argue that exact TTL counting 
> > > > > > > should work because
> > > > > > > the processing power of ordinary gateway equipment has 
> > > > > > > improved so much that it
> > > > > > > ALWAYS takes less than a second.
> > > > > > > 
> > > > > > > Exact TTL counting cannot be used to measure distances in the 
> > > > > > > Internet (because
> > > > > > > of the existance of dynamic routing), but it is possible for 
> > > > > > > an IDS to measure
> > > > > > > its distance to hosts on the protected domain.
> > > > > > > 
> > > > > > > If an IDS can measure its distance from a protected host, it 
> > > > > > > cannot be fooled
> > > > > > > any more by TTL games (see Ptacek and Newsham for explanation 
> > > > > > > of the game).
> > > > > > > 
> > > > > > > Any counter-arguments to this suggestion? Measuring distances 
> > > > > > > between the NIDS
> > > > > > > and the protected hosts is easy if one has a passive 
> > > > > > > fingerprint plug-in with
> > > > > > > a good database of fingerprints. (I have one :)
> > > > > > > 
> > > > > > > >         Would it be a better solution to have Snort 
> > > > > > > randomly generate the
> > > > > > > > TTL of the packet when using FlexResponse?  Say to a number 
> > > > > > > between 64 and
> > > > > > > > 255?  This would at least keep the attacker guessing about 
> > > > > > > where your IDS is
> > > > > > > 
> > > > > > > Sending RST's or ICMP errors back to the attacker is 
> > > > > > > meaningless. A skilled
> > > > > > > attacker can easily discard such packets and attempt to 
> > > > > > > continue processing.
> > > > > > > It is best to send such active-response packets to the 
> > > > > > > protected domain
> > > > > > > only to close the protected-end of the communication. 
> > > > > > > However, we know that
> > > > > > > there are many people doing the reverse thing so I find your 
> > > > > > > proposition
> > > > > > > appropriate. Dynamically changing response packet properties
> > > > > > > with some randomness should be an easy trick for Marty.
> > > > > > > 
> > > > > > > Thanks.
> > > > > > > -- 
> > > > > > > Burak DAYIOGLU
> > > > > > > Phone: +90 312 2103379   Fax: +90 312 2103333
> > > > > > >        http://www.dayioglu.net
> > > > > > > 
> > > > > > > _______________________________________________
> > > > > > > Snort-devel mailing list
> > > > > > > Snort-devel at lists.sourceforge.net
> > > > > > > http://lists.sourceforge.net/lists/listinfo/snort-devel
> > > > > > > 
> > > > > > 
> > > > > > -----BEGIN PGP SIGNATURE-----
> > > > > > Version: PGP Personal Privacy 6.5.8
> > > > > > 
> > > > > > iQA/AwUBO4KKmkPxB2evAO3MEQKU7gCdFDzXlmBfh/z4kcVC8NF5uAGRax8AnR4V
> > > > > > bemDNDR6/ozXRwnfnVBiFR09
> > > > > > =08D6
> > > > > > -----END PGP SIGNATURE-----
> > > > > > 
> > > > > > _______________________________________________
> > > > > > Snort-devel mailing list
> > > > > > Snort-devel at lists.sourceforge.net
> > > > > > http://lists.sourceforge.net/lists/listinfo/snort-devel
> > > > > > 
> > > > > 
> > > > 
> > > > -----BEGIN PGP SIGNATURE-----
> > > > Version: PGP Personal Privacy 6.5.8
> > > > 
> > > > iQA/AwUBO4LJ7kPxB2evAO3MEQK6LACgw5rM6MtQFETzLq/zTgzliPtCGXsAoIaE
> > > > QX781zL/DJbpvJ7X2cZ3LTOh
> > > > =+y5T
> > > > -----END PGP SIGNATURE-----
> > > > 
> > > 
> > > _______________________________________________
> > > Snort-devel mailing list
> > > Snort-devel at lists.sourceforge.net
> > > http://lists.sourceforge.net/lists/listinfo/snort-devel
> > > 
> > 
> > _______________________________________________
> > Snort-devel mailing list
> > Snort-devel at lists.sourceforge.net
> > http://lists.sourceforge.net/lists/listinfo/snort-devel
> > 
> 
> 
> _______________________________________________
> Snort-devel mailing list
> Snort-devel at lists.sourceforge.net
> http://lists.sourceforge.net/lists/listinfo/snort-devel
> 




More information about the Snort-devel mailing list