Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Jan 2000 15:21:25 -0800 (PST)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        Warner Losh <imp@village.org>
Cc:        Darren Reed <avalon@coombs.anu.edu.au>, brett@lariat.org (Brett Glass), security@FreeBSD.ORG
Subject:   Re: stream.c worst-case kernel paths 
Message-ID:  <200001212321.PAA64674@apollo.backplane.com>
References:  <200001210417.PAA24853@cairo.anu.edu.au>   <200001210642.XAA09108@harmony.village.org>

next in thread | previous in thread | raw e-mail | index | archive | help
:: Yes.  RFC 793, figure 11, page 35, describes the prescribed behaviour.
:
:You are allowed to drop the RST in high load situations, are you not?
:The remote end must be robust enough to deal with that and
:retransmit.  A simpleminded solution would be to randomly drop RSTs
:when under attack, since that would statitically result in bad
:conncetions being disconnected in a reasonable amount of time, but
:still save resources...
:
:Warner

    Yes, you can theoretically drop any packet and still adhere to the protocol,
    but at the cost of odd degredation cases occuring on the remote end (such as
    the remote end taking a longer amount of time figuring out that you've
    rebooted).  Therefore it should only be done when absolutely necessary.

    The ICMP_BANDLIM code does precisely this:  It detects a potential attack 
    and limits the response to it.  The current ICMP_BANDLIM code is limited
    to two cases:

	(1) ICMP responses
	(2) TCP packets sent to bad ports

    It would take perhaps ten seconds to extend the mechanism to cover other TCP
    RST cases but the above two cases usually handle the vast majority of 
    these sorts of attacks so if this exploit code is stopped cold by ICMP_BANDLIM,
    we're done.  If it isn't then we spend a few seconds extending the cases
    covered by ICMP_BANDLIM and we are done.  

    Either way this is not a big deal.  Lobotomizing TCP is not necessary.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-security" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200001212321.PAA64674>