Subject: [tsvwg] Attacks using NAT bindings

From: Christian Huitema <[email-masked]>
Date: Fri, 12 Nov 2021 08:48:37 -0800

At the mike in the WG, I mentioned the attack surface enabled by support 
for NAT bindings and re-bindings. I did not see this class of attacks 
discussed in the security section of draft-ietf-tsvwg-natsupp-23.

The basic attack is to spoof a NAT rebinding. The attacker sends a 
message to one of the endpoints to make it believe that either its own 
NAT binding have changed, or the binding of the peer endpoint. The 
attacker can use that to either disrupt the connection, or insert itself 
in the middle of the connection. There are three kinds of such 
adversary: on path, on the side but seeing a copy of the traffic, and 
off path. On path adversaries can of course already disrupt the 
connection, so the security analysis should focus on "side" and "off 
path" adversaries. Can attacks be mounted by an off path adversary that 
just guesses some of the parameters of the connection? Can attacks be 
mounted by an on side adversary that sees the traffic and can inject its 
own packets?

I am no expert in SCTP, but it seems that some of the mechanisms defined 
in the draft could be used to mount such attacks. I am looking 
specifically to the "handling of missing state" considerations. It seems 
that "on the side" adversaries could spoof the ERROR messages sent by 
SCTP aware NATs, and may be able to spoof ASCONF chunks sent to endpoints.

It would be nice to either mitigate these attacks somehow, or at least 
document them in the security considerations.

-- Christian Huitema