[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Issue #83: Generation of ICMP responses for inbound packet requiring IPSEC protection



At 14:40 +0200 2/20/04, Tero Kivinen wrote:
>Stephen Kent writes:
>>  So, if we don't adopt this proposal, each inbound, non-IPsec packet
>>  that does not match an explicit bypass OR drop entry in the SPI-I
>>  cache, triggers a check of the SPD-I. But if we adopt the proposal,
>>  then every packet that is dropped, even if in response to an explicit
>>  SPD-I cache entry, requires an SPD-S search.
>
>Or the SPD-I cache entry can have information whether the ICMP will
>need to be sent or not.

That might be a good alternative, but it's not at all what the 
proposed text said, and I thought your argument was that I had 
dismissed the proposed text without cause.  This constitutes a 
different proposal.  Not saying we can't consider it but just being 
clear about the scope.

>
>>  you are right, in that I misunderstood the proposal. The searches are
>>  triggered only for dropped traffic. But, that still imposes an
>>  additional burden, as noted above.  also, the proposed text requires
>>  that we be prepared to send an ICMP. At this point the proposed text
>>  has allowed an attacker to cause a receiver to do a lot more work
>>  than we currently do, and it could even turn the receiver into a DoS
>>  source, by having it generate ICMP messages based on bogus source IP
>>  addresses. Yes, the text called for this to be configurable, but we
>>  should be aware that this allows a careless admin at site A to turn
>>  his IPsec device into an ICMP generator that will affect Site C,
>>  which strikes me as a bad idea, in general.
>
>Thats why the sending of ICMP (or any other error messages) must be
>rate limited (not per entry/peer, but per gateway), and the rate limit
>must be configurable. The careless admin can do quite a lot of other
>things, he might even have boxes root password as "root" and allow
>attackers to use the machine as an attack box :-)

yes, but assurance issues like that have always been outside the 
scope of what we specify in a standard.  this is different in that we 
are creating a feature that otherwise would not be present and which 
can be be mismanaged to the detriment of others.  again, I'm not 
saying the WG can't do this, but rather that the analogy you make it 
not quite parallel.

>I do not think we can protect the careless adminstrators compeltely.
>We as an implementators can but sensible defaults to those limits, and
>for example disallow setting the limit too high (i.e. set the maximum
>limit which can be configured to 10 ICMP messages / second and default
>to 1 ICMP message / second).

it's not the careless admin we are protecting, but rather protecting 
others from the carelessness of that admin.

>  > I do not understand your example. How does one specify an SPD entry
>>  that says put this traffic on an SA IF the SA exists, but don't
>>  create one otherwise and just send the traffic in the clear?
>
>This is the setup which is mostly used for opportunistic cases, i.e.
>if you have SA up you use it, if you don't you can send the traffic
>clear, or you can even try to create SA, and if it fails you send it
>in clear.

Sorry, but my comment still stands, i.e., I do not recall ANY way to 
specify such behavior via the SPD in 2401. This is something to which 
I do object, i.e., a fundamentally new access control behavior, not 
consistent with the long standing definition of what the SPD does.

>This kind of setup can be used for normal web-traffic etc, where you
>actually do not normally need to create IPsec SAs, but if you happen
>to have SA up, you can use it (it does not cause any harm either).

it makes behavior non-deterministic, which is generally a bad thing 
from a security perspective.

>  > I don't
>>  think the SPD has ever been described in a way that would allow such
>>  behavior.
>
>Might be true, but there are implemenations which support this kind of
>operations.

Then they are non-complaint.

>  > >If we get ICMP in those cases it will be clear from the Host B side
>  > >that when the adminstrator sees from the logs that it have received
>>  >ICMP telling that communication adminstratively prohibited that there
>>  >is something wrong with setup, not in the network (which usually is
>>  >the first one to blame in this cases).
>>
>>  But the admin can't trust the source address for the ICMP messages,
>>  so if he acts on them he is subject to spoofing. I agree that under
>>  the right circumstances this feature could be a debugging aid, but it
>>  also could be an attack tool.
>
>The initiator will most likely simply log the ICMP and do nothing more
>based on that. That will be enough to help debugging.
>
>>  That's a fair suggestion. the WG should ask whether the debugging
>>  benefits that might accrue warrant a SHOULD or a MAY, vs. the added
>>  performance hit for dropped traffic and the potential DoS concerns I
>>  cited.
>
>I think now that we should say it is MAY.

I think our discussion shows at least two things, neither of which 
lead me to the same conclusion :-)

	- the proposed text is defective in some respects
	- some of the supporting analysis is based on a change to the semantics
	  of the SPD, which I think is WAY out of scope for this discussion

Steve