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

Re: Should CPE allow all IPsec through? Was: Re: CPEs



On 9 jan 2008, at 2:07, Fred Baker wrote:

It seems to me that there is an excellent attack in this. If I know that a given address (perhaps found in the envelope of an email I have observed) is populated and attempt to open an IPsec session, I consume some amount of computing resource. If I do that a lot, I can consume a large quantity of computing resource. I can obviously also consume other resources including bandwidth of various kinds.

Bandwidth is not an issue: under normal circumstances, the bandwidth between the ISP and the CPE is the bottleneck, so filtering by the CPE doesn't help against an attacker trying to fill up the available bandwidth.

I suppose it's possible that an attacker gets to use up CPU resources on the receiving system, but only if that system has an IPsec implementation that doesn't have any protection against that. There are two types of IPsec packets (well, three really): the UDP port 500 IKE/ISAKMP protocol for setting up security associations and the data packets that are signed and/or encrypted (ESP or AH). If there has been no SA negotation and no SAs have been created through some other mechanism, the SPI in the ESP or AH packets won't match existing state so the packets will be rejected without much work on the receiver's part. So the only avenue of attack is IKE/ISAKMP. I'm not intimately familiar with that, but it seems to me that a non-server host would know who it wants to communicate with in advance, and reject any SA establishment attempts from entities that present identities that don't match those that are expected.

The spam analogy doesn't apply here for several reasons. First of all, spam goes to servers. If you are sitting at a random IPv6 address, the chances of a spammer contacting you to deliver spam are incredibly tiny. (I don't even think they bother to scan the IPv4 address space for places to deliver spam.) Apart from that, the reason that spam exists is that it gets seen by people and leads to separation of a user from his money in one way or another in a small percentage of all cases. Spurious IPsec packets don't do that.

The reason to not want IPsec to go through stateful firewalls can be either:

1. DoS risks
2. Penetration risks

I can't definitively say that those two risks round down to zero, but I am fairly confident that if there is a single protocol that we can allow through safely, IPsec is that protocol. It would be helpful to hear from IPsec experts and vendors of OSes with IPsec, though.