Re: draft-zourzouvillys-sip-via-cookie

Adam Roach <[email protected]>
Newsgroups gmane.ietf.sip
Message-ID <[email protected]>
Theo Zourzouvillys wrote:
> On Tue, Feb 24, 2009 at 5:12 PM, Adam Roach <[email protected]> wrote:
>
> Hi Adam,
>
> Thank you for the feedback;
>
>   
>> With this fact in mind, It's not clear to me how the
>> proposed extension overcomes the described problem. To wit:
>>
>> *snip*
>>
>>  5. This continues according to the response retransmission rules of
>>     RFC 3261 until all 11 responses have been sent.
>>
>> So the 11-to-1 amplification attack doesn't appear to be fixed by this
>> mechanism, assuming the attacker makes a rather modest attempt to succeed.
>>     
>
> The key here is that the 4XX response to a request without a cookie is
> sent by the next hop statelessly, and doesn't cause a server
> transaction to be created (and thus no re-transmits); as per 4.3, para
> 4:
>
>    If a request is received from an IP address that could be spoofable
>    (i.e, any request received from the general internet), and that
>    request is going to have a server transaction created for it, and the
>    top via field contains a cookie parameter, then the server SHOULD
>    generate a new cookie for this source and generates a 4XX response,
>    and place the cookie value into the cookie parameter of the top via
>    field before sending the response statelessly.
>   

Ah -- "statelessly" means something very different to you than it does 
to me. I think you need to explicitly call out that you're proposing a 
modification to the basic INVITE transaction model defined in RFC 3261 
for this new response.

This, combined with prohibiting provisional responses, would seem to 
have the desired effect.

>> Also, consider longer proxy chains. For example:
>>
>>  Note that a 4XX response MUST trigger an ACK to be sent as per normal
>>  SIP processing rules.  The generated ACK MUST contain the cookie
>>  parameter copied from the 4XX response.
>>
>> Keeping in mind that ACK messages triggered by non-2XX responses are
>> hop-by-hop, this falls down when you have a proxy between the UAC and the
>> server sending the 4XX. The intervening proxy may not implement this
>> extension, so you can't rely on it doing anything special with the ACK
>> (unless you define a Proxy-Require, which pretty much renders the extension
>> undeployable).
>>     
>
> In the case a previous hop doesn't support this draft, then the server
> sending the 4XX would know that the client didn't support the cookie
> anyway, because the request's top via header didn't contain an empty
> "cookie" parameter. Although the copying-to-the-ACK is not there for
> any reason other than diagnostic purposes right now - although
> arguably the server sending the 4XX can also set the To tag to contain
> any data it wanted to store so could be removed.
>   

It sounds like you're currently setting this up so that it can't work 
transitively -- that is, if you have a chain of proxies, some of them 
compliant to this behavior, others that aren't, then any proxy past a 
non-compliant one can't check return routability. That seems like an 
artificial limitation. If you had some other way of indicating support 
by a client that could be checked by every proxy in the chain, then you 
could perform routability checks all the way back to the client 
regardless of intervening older proxies.

/a
_______________________________________________
Sip mailing list  https://www.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [email protected] for questions on current sip
Use [email protected] for new developments on the application of sip
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.