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

Re: tunnel protocols (draft-ietf-v6ops-cpe-simple-security-03)



On Sep 1, 2008, at 14:37, Mark Smith wrote:
[...]
Note the text doesn't specify a direction for these tunnelled protocols:
"Therefore, this document recommends the
  DEFAULT operating mode for residential IPv6 simple security is to
  permit all virtual private networking tunnel protocols to pass
  through the stateful filtering function.  These include IPsec
  transport and tunnel modes as well as other IP-in-IP protocols."
[...]
This is the informative text in Section 2.2 of the Overview, whereas  
the Detailed Recommendations are split between sections 3.2.4 and  
3.2.5.  I think it would be more helpful if you were to address your  
concerns about sections 3.2.4 first, and 3.2.5 separately if necessary.
[...]
This would seem to me to allow unsolicited inbound tunnel encapsulated traffic from any source, via any of the stateless over- IPv6 tunnelling protocols or methods. I don't think that's very good security at all, going slightly higher level than my earlier example, here's the attack:
(1) purchase a banner add on a popular webpage, with the  
advertisement image coming from your server, and use that to record  
valid and current global unicast IPv6 addresses.
(2) attack those recorded addresses. Bypass all the v6 CPE security  
measures specified in this draft by sending your malicious packets  
inside an IPv6 in IPv6 or GRE in IPv6 tunnel.
With luck, the end-node has its own firewalling, and I think that is  
fairly likely. The concern I have is that the CPE devices that will  
be built to this draft will have a big "security" sticker on the  
box, and yet it is so easy to bypass if we continue to permit all  
unsolicited inbound stateless tunnelling protocols. If people see a  
big "security" sticker on their CPE they may turn off their end-node  
security, "because they don't need it anymore."
[...]
Having thought long and hard about the problem, I confess to not  
viewing VPN protocols as a particularly important attack surface to  
guard for residential networks.  I think interior nodes configured as  
vulnerable tunnel endpoints can be expected to be uncommon on  
residential networks and limited only to those nodes where an  
administrator has solicited inbound flows by some out-of-band method  
invisible to any CPE firewall gateway.  They are not very likely to be  
present as a result of naïve user misconfiguration or the deployment  
of ubiquitous-and-buggy legacy applications.
Requiring applications using tunnel protocols to use authentication  
where it otherwise isn't needed adds complexity without providing any  
*real* additional security.  Some peer-to-peer applications, i.e.  
those which do not require parties to authenticate with one another  
until some time after unauthenticated communications have been  
ongoing, will be given a perverse incentive to initiate with with  
contrived anonymous credentials just to recover the transparency lost  
to residential CPE filters that block unauthenticated inbound tunnel  
flows.
At this point, what have you done?  You've just shifted the attack  
scenario above so that it looks like this:
(1) purchase a banner add on a popular webpage, with the advertisement  
image coming from your server, and use that to record valid and  
current global unicast IPv6 addresses.
(2) attack those recorded addresses. Bypass all the v6 CPE security  
measures specified in this draft by sending your malicious packets  
inside a tunnel using the well-known anonymous credentials widely used  
by P2P applications for legitimately bypassing CPE simple security  
measures.
In considering the recommendations in section 3.2.5, the IPv6  
residential CPE simple security design team considered DEFAULT limits  
on inbound IPsec and IKE flows, e.g. allowing only authenticated flows  
or denying all inbound tunnel flows altogether, and came to rough  
consensus that it couldn't be done in a way that A) would be  
sufficiently simple for residential users, i.e. zero configuration,  
and B) would provide any real improvement in the minimum baseline  
security for the lowest common denominator of residential users,  
without C) gravely damaging the utility of the public Internet for  
everyone.
Do you agree with the design team that breaking IKE and IPsec  
altogether by DEFAULT isn't acceptable?
If you don't break authenticated IKE and IPsec by DEFAULT, then a  
specialization of the attack I describe above will still be possible,  
and CPE router firewalls will not be in any position to guard against  
it.  Conversely, *unless* you break authenticated IKE and IPsec by  
DEFAULT, then restricting all other flows will only serve as a  
perverse incentive to use a contrived anonymous authentication in IKE  
and IPsec (instead of the more appropriate and standards track BTNS)  
when bypassing CPE simple security, because that's the only reliable  
and legitimate way to initiate secure communications with residential  
endpoints.
In fact, as BTNS is currently specified, limiting inbound flows only  
to IPsec and authenticated IKE might still not reduce the attack  
surface significantly.  You'd have to specifically recommend breaking  
BTNS with an IKE-layer filter, and even that would only stop the  
*standard* method of anonymous authentication, not any of the non- 
standard ones that would surely arise as legitimate methods of  
bypassing CPE simple security.
In simple terms: it may turn out that the attack scenario under  
discussion here cannot be addressed effectively in the long term  
except by blocking inbound tunnel protocols *altogether*, including  
IPsec and IKE, yet the price to pay for any mechanisms we recommend  
now is a recurring one stretching indefinitely into the future for as  
long as a significant fraction of the residential networks have CPE  
deployed that follows the practice in this draft.
Is preserving the utility of inbound IKE and IPsec across residential  
site boundaries really a controversial idea?  Does the working group  
believe that IKE and IPsec are flawed because they don't rely on  
middleboxes to allow only "trustworthy" exterior nodes to initiate key  
exchange and security associations with interior nodes?  The design  
team didn't believe so.
The design team also considered leaving inbound IKE and IPsec  
unrestricted by DEFAULT while recommending stricter limits on other  
inbound tunnels, but we were unpersuaded that the substantial loss of  
network transparency would be an acceptable price to pay for the  
meager reduction in attack surface area associated with them.  Others  
may disagree with the design team on that decision, and their opinions  
are welcome in the working group discussion.
We don't believe we have been chartered to challenge the utility of  
IPsec and IKE for exterior nodes initiating secure communications with  
interior nodes protected by residential CPE simple security, and we  
have taken care not to do so.  The rest of our decisions relevant to  
this discussion follow from that one.
To summarize, what you see above is the line of reasoning that led the  
design team to specify sections 3.2.4 and 3.2.5 as they are in the  
current draft.  Are there objections to the detailed recommendations?


--
james woodyatt <jhw@apple.com>
member of technical staff, communications engineering