Re: IDS: Snort detecting distributed syn floods

From: James Eaton-Lee (james.mailing_at_gmail.com)
Date: 01/24/05

  • Next message: Marc Heuse: "DIMVA 2005 - Final Call for Papers"
    To: Mike Frantzen <frantzen@nfr.com>
    Date: Mon, 24 Jan 2005 17:53:00 +0000
    
    

    On Mon, 2005-01-24 at 11:50 -0500, Mike Frantzen wrote:
    > That isn't a purely valid assumption. TCP allows for reliable data
    > transport between hosts. But it doesn't guarantee reliable transport
    > between applications. Just because a host has completed the 3whs does
    > not mean the application serving the port is alive (it could be swapped
    > out permanently, the listen backlog may be full, it might be in the
    > process of dumping core...)
    >
    > When you do protocol design that uses TCP as a transport layer you have
    > to build in messages over the TCP to indicated "upness" or "message
    > received". e.g. just because the host ACKd the data does not mean the
    > actual application has processed it or will ever process it.

    Yup - but at the same time, I find it highly unlikely that every
    programmer has considered this in his or her use of TCP - part of my
    reason for inquiring is that - in borderline cases like this where a
    network appliance's behaviour isn't strictly 'correct' (or 'normal') -
    coding which is a little sub-par can often fall down. I didn't mean to
    imply that any mission-critical application which assumes 100%
    reliability of TCP is coded based on a set of valid assumptions!

    That said, as you're probably coming from a domain owned by a company
    selling products which secure businesses, however technically correct
    you are, if your technically correct product causes breakage because of
    the shoddy (or borderline) coding of a business's software package, the
    implementation of said technically correct product is still a bad move
    for the business, no matter how good/well coded it is! 'Valid' and 'Good
    for Business' (or 'Practical') are frequently quantified in very much
    different ways, and can sometimes prove somewhat difficult to reconcile!

    > The achilles heal of syn-proxying are the TCP options. When the
    > firewall/IPS doing the syn-proxying spoofs the SYN|ACK as if it came
    > from the server it can not predict the actual TCP options the real
    > server would use. There are hacks to cache and re-use the server's last
    > "Maximum Segment Size" option and to allow the timestamp option to work
    > (for round-trip time estimation). But there is no good way to get TCP
    > MD5 Signatures to work with a syn-proxy. Hint: that means BGP is pretty
    > much screwed unless you're willing to trust the syn-proxy with the key.

    Hadn't mentally approached the issue in quite that way; although I
    suppose that this serves an excellent example to my point - although in
    this case, the issues (MSS/MD5 sigs) are slightly different to the point
    I'd raised (applications incorrectly assuming the up-ness of a
    destination host based on the successful negotiation of the three-way
    handshake), the basic principle is much the same.

     - James.

    --------------------------------------------------------------------------
    Test Your IDS

    Is your IDS deployed correctly?
    Find out quickly and easily by testing it with real-world attacks from
    CORE IMPACT.
    Go to http://www.securityfocus.com/sponsor/CoreSecurity_focus-ids_040708
    to learn more.
    --------------------------------------------------------------------------


  • Next message: Marc Heuse: "DIMVA 2005 - Final Call for Papers"

    Relevant Pages

    • current git kernel crashes UML system during boot
      ... Checking for host processor cmov support...Yes ... TCP reno registered ... IRQF_DISABLED is not guaranteed on shared IRQs ... Initialized stdio console driver ...
      (Linux-Kernel)
    • Re: [PATCH] x86, hweight: Fix UML boot crash
      ... Kernel command line: root=98:0 ... Checking for host processor cmov support...Yes ... TCP: Hash tables configured ... # Enable WiMAX (Networking options) to see the WiMAX drivers ...
      (Linux-Kernel)
    • Re: [PATCH] x86, hweight: Fix UML boot crash
      ... Checking for host processor cmov support...Yes ... TCP reno registered ... Kernel panic - not syncing: ... # Enable WiMAX (Networking options) to see the WiMAX drivers ...
      (Linux-Kernel)
    • Re: Multi line consolidation
      ... 172.16.147.325.http: tcp 823 ... Host: svr99 ... regexp and start of the replacement string, and the third is the end of the ...
      (comp.lang.awk)
    • re: xhost: cannot connect to X server
      ... clients can connect from any host ... When I telnet from a Slackware client to the remote host running Lenny + ... accept incoming TCP + X ... removed KDE and installed Gnome, ...
      (Debian-User)