Subject: RE: [SAFE] Bar BoF

From: "Dan Wing" <[email-masked]>
Date: Wed, 26 Sep 2007 16:22:17 -0700

> Thanks to everyone that attended.  I was surprised at the large
> turnout (24 people) and the level of interest -- this gives me the
> encouragement to continue pushing this work forward.  Major action
> items I took from the bar BoF were:
>
>   1. "why will SAFE succeed where other IETF NAT 
>      protocols not succeeded"
>   2. charter text for Vancouver

I integrated (1) and (2) into the BoF request for the Vancouver meeting,
below.  

Comments welcome; it is perhaps a bit aggressive and I would like assistance
in adjusting the tone.

-d

-----

ICE and its companion protocol STUN have been successfully deployed on
the Internet for NAT traversal.  ICE and STUN have several characteristics
which contribute to their success:

  1. incremental deployment.  ICE and STUN are functional without any
     modifications to existing NATs.
  2. nested NATs.  ICE and STUN work when there are multiple NATs
     between a host and the Internet.
  3. topology unaware.  ICE and STUN are not configured with
     information about NATs, firewalls, or their locations -- only
     with the IP address of a server on the Internet.
  4. simple security model.  If a host behind a NAT is allowed to send
     a packet across the NAT, it is allowed to receive a response.
  5. works on routed networks, which allows operation in both
     enterprise networks and home networks.

Other NAT traversal protocols do not share these characteristics,
which hinders their widespread deployment.  Specifically,

  * incremental deployment is not possible with MIDCOM, NSIS-NSLP,
    UPnP, or Bonjour.  With all of these protocols, both the NAT
    and the endpoint have to support the same protocol.
  * nested NATs are not possible with UPnP or Bonjour.
  * topology awareness is required of MIDCOM.
  * security must be established between the controlling entity
    and the NAT for MIDCOM and NSIS-NSLP.
  * Both UPnP and Bonjour use broadcast packets which don't work
    well on routed networks.

However, a drawback of ICE/STUN is its chatty keepalive traffic,
which is a result of STUN not knowing the binding lifetime of its
on-path NATs.  This chattiness causes a burden on servers and
consumes network bandwidth, which is especially critical on wireless
networks.  It is desirable to reduce this chattiness while still
retaining the important characteristics of STUN and ICE.

This BoF is intended to discuss one proposed technique,
draft-wing-behave-nat-control-stun-usage, which nearly eliminates
STUN's keepalive chatter and still preserves the desirable
characteristics of STUN/ICE.

The purpose of this BoF is to create a working group for this effort.

Agenda:
  Introduction, Agenda ....................................  5
  Summary of existing NAT traversal techniques ............ 40
   (UPnP, NAT-PMP/Bonjour, MIDCOM techniques, NSIS-NSLP, ICE)
  draft-wing-behave-nat-control-stun-usage ................ 40
  Q&A ..................................................... 25
                                                    ----------
                                                    total: 110

_______________________________________________
SAFE mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/safe

---

From: "Dan Wing" <[email-masked]>
Date: Wed, 26 Sep 2007 16:23:54 -0700

...
> I was reminded of another:
> 
>   4. Implementation statements from NAT vendors.

I haven't been able to get contacts into Netgear; if someone has a contact at
Netgear they are willing to share, in order to move STUN Control forward, I
would appreciate the help.

I have sent mail to a contact in Juniper (still awaiting a reply) and expect
to soon make some headway into Checkpoint.

-d

---

From: "Dan Wing" <[email-masked]>
Date: Wed, 26 Sep 2007 16:37:24 -0700

>   3. Dan needs to describe the security attack 
>      that is avoided with BOOTNONCE

This had caused some confusion in Chicago.  Let me explain the attack and see
how the I-D could be improved.

The attack is this:

1. A host uses STUN normally and uses STUN-Control normally and successfully
to communicate with their NAT.  The end host learns their NAT's BOOTNONCE
value.

2. An attacker manages to acquire their NAT's public IP address.  This could
occur due to DHCP lease expiration, or some malicious action by the attacker.

3. The attacker installs a STUN server on that public IP address.  

4. The host needs a new NAT binding for a new phone call.  The host sends a
STUN request to the STUN server embedded in its outer-most NAT's IP address.
However, this IP address is now owned by the attacker.  

5. The attacker's STUN server replies with a STUN response.  This STUN
response points to an IP address that the attacker also owns.

6. The host uses the STUN response (provided by the attacker) in its SDP.

7. The attacker can view traffic traversing the IP address owned by the
attacker.

The BOOTNONCE attribute prevents this specific attack because in step (1), a
unique value is returned to the host in the BOOTNONCE attribute.  The attacker
would need to return that same value in step (5).  However, the attacker had
no way to know that value.  As described in
draft-wing-behave-nat-control-stun-usage-03, the client IP address is included
in this hash.  By including the client IP address in the hash, for an attacker
to be successful with this attack, the attacker would have to first connect to
the network behind the NAT (using 802.11, for example), acquire the same
NATted IP address as the victim's host and then acquire the same public IP
address as the victim's NAT.

Thoughts?

-d