Re: [IPsec] [Last-Call] Secdir last call review of draft-ietf-ipsecme-rfc8229bis-06

"touch@strayalpha.com" <touch@strayalpha.com> Tue, 31 May 2022 16:15 UTC

Return-Path: <touch@strayalpha.com>
X-Original-To: ipsec@ietfa.amsl.com
Delivered-To: ipsec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 64C40C14CF10; Tue, 31 May 2022 09:15:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.325
X-Spam-Level:
X-Spam-Status: No, score=-1.325 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=strayalpha.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UEDzNkJ_SAFX; Tue, 31 May 2022 09:15:03 -0700 (PDT)
Received: from server217-1.web-hosting.com (server217-1.web-hosting.com [198.54.114.226]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E419BC157B49; Tue, 31 May 2022 09:14:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=strayalpha.com; s=default; h=To:References:Message-Id:Cc:Date:In-Reply-To: From:Subject:Mime-Version:Content-Type:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=kRPfs8HpUzzsrxCN3qChmO+YaGAm5moY/+ZMIyi2DzM=; b=ggM+B2qFy/9w4Vl1tGmdwHZowo lGwUlrIo5JiJGJVHTfvb7OugnF5fyovHWNbLS6XDY2LxyWCVD1r2EpySwDOsQ6daOSXC7XQ7r+aGs gnWWjHgSGQW0pN2DpVShRhGyXutnGHVZ70XZjHBWLtDJykjc467uWzFyZL0MElcAEJFIV6g9/PuwH yik7pn5BRhwjkcvnaICTb7woMSvsaOh0bSDH/BW+B8g19fCi25iRGKDPjUbkUlFROUScRMyKVisCd UKbZGAsVSI8Oj3UL9FgFqhzdEqc5j/2cN90AgREpwRr5RFQeCtTt4BnsXKiL7d9zCJrFfTbR+aV/f FZDjSzpw==;
Received: from cpe-172-114-237-88.socal.res.rr.com ([172.114.237.88]:55356 helo=smtpclient.apple) by server217.web-hosting.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from <touch@strayalpha.com>) id 1nw4Vp-003whG-Rg; Tue, 31 May 2022 12:14:34 -0400
Content-Type: multipart/alternative; boundary="Apple-Mail=_CBC8CD06-9EAE-4F61-A422-CFEC801E5211"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.100.31\))
From: "touch@strayalpha.com" <touch@strayalpha.com>
In-Reply-To: <08f601d874df$92e94600$b8bbd200$@elvis.ru>
Date: Tue, 31 May 2022 09:14:27 -0700
Cc: Tero Kivinen <kivinen@iki.fi>, Christian Huitema <huitema@huitema.net>, secdir@ietf.org, draft-ietf-ipsecme-rfc8229bis.all@ietf.org, ipsec@ietf.org, last-call@ietf.org
Message-Id: <9B91AA45-7AFA-4968-BBD1-7AB98B3B6982@strayalpha.com>
References: <165377251630.6282.16767658545384357479@ietfa.amsl.com> <077301d8741b$c0fe9b40$42fbd1c0$@elvis.ru> <25237.6715.619617.181961@fireball.acr.fi> <80DC0FE1-6C58-4E0A-A9C4-795469B520B5@strayalpha.com> <08f601d874df$92e94600$b8bbd200$@elvis.ru>
To: Valery Smyslov <svan@elvis.ru>
X-Mailer: Apple Mail (2.3696.100.31)
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server217.web-hosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - strayalpha.com
X-Get-Message-Sender-Via: server217.web-hosting.com: authenticated_id: touch@strayalpha.com
X-Authenticated-Sender: server217.web-hosting.com: touch@strayalpha.com
X-Source:
X-Source-Args:
X-Source-Dir:
X-From-Rewrite: unmodified, already matched
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipsec/7cKzQqq9cVANCQs2xNE0adkE3XY>
Subject: Re: [IPsec] [Last-Call] Secdir last call review of draft-ietf-ipsecme-rfc8229bis-06
X-BeenThere: ipsec@ietf.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: Discussion of IPsec protocols <ipsec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipsec>, <mailto:ipsec-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipsec/>
List-Post: <mailto:ipsec@ietf.org>
List-Help: <mailto:ipsec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipsec>, <mailto:ipsec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 31 May 2022 16:15:07 -0000

Some notes below...

> On May 31, 2022, at 4:14 AM, Valery Smyslov <svan@elvis.ru> wrote:
> 
> Hi Joe,
>  
> From: touch@strayalpha.com [mailto:touch@strayalpha.com] 
> Sent: Monday, May 30, 2022 10:57 PM
> To: Tero Kivinen
> Cc: Valery Smyslov; Christian Huitema; secdir@ietf.org; draft-ietf-ipsecme-rfc8229bis.all@ietf.org; ipsec@ietf.org; last-call@ietf.org
> Subject: Re: [Last-Call] Secdir last call review of draft-ietf-ipsecme-rfc8229bis-06
>  
> On May 30, 2022, at 12:25 PM, Tero Kivinen <kivinen@iki.fi <mailto:kivinen@iki.fi>> wrote:
>>  
>> I think we need to add text explaining how to detect when the TCP
>> length framing gets messed up by attacks, and how to recover (i.e.,
>> close down the TCP channel and recreate the TCP channel). 
>  
> The impact of RSTs can be limited for this purpose by recommending RFC5961 for these connections.
>  
>           I’ve added a reference to RFC 5961.
>  
>           Currently the new text in the Security considerations looks like:
>  
>    TCP connections are also susceptible to RST and other spoofing
>    attacks [RFC4953].  This specification makes IPsec tolerant of sudden
>    TCP connection drops, but if an attacker is able to tear down TCP
>    connections, IPsec connection's performance can suffer, effectively
>    making this a DoS attack.
>  
>    TCP data injection attacks have no effect on application data since
>    IPsec provides data integrity.  However, they can have some effect,
>    mostly as a DoS attack:
>  
>    o  if an attacker alters the content of the Length field that
>       separates packets, then the receiver will incorrectly identify the
>       margins of the following packets and will drop all of them or even
>       tear down the TCP connection if the content of the Length field
>       happens to be 0 or 1 (see Section 3)
>  
>    o  if the content of an IKE message is altered, then it will be
>       dropped by the receiver; if the dropped message is the IKE request
>       message, then the initiator will tear down the IKE SA after some
>       timeout, since in most cases the request message will not be
>       retransmitted (as advised in Section 6.2) and thus the response
>       will never be received
>  
>    o  if an attacker alters the non-ESP marker then IKE packets will be
>       dispatched to ESP and sometimes visa versa, those packets will be
>       dropped
>  
>    o  if an attacker modifies TCP-Encapsulated stream prefix or
>       unencrypted IKE messages before IKE SA is established, then in
>       most cases this will result in failure to establish IKE SA, often
>       with false "authentication failed" diagnostics
>  
>    [RFC5961] discusses how TCP injection attacks can be mitigated.
>  
>    Note, that data injection attacks are also possible on IP level (e.g.
>    when IP fragmentation is used) resulting in DoS attack even if TCP
>    encapsulation is not used.  On the other hand, TCP injection attacks
>    are easier to mount than the IP fragmentation injection attacks, because
>    TCP keeps a long receive window open that's a sitting target for such
>    attacks.
>  
>    An attacker capable of blocking UDP traffic can force peers to use
>    TCP encapsulation, thus degrading the performance and making the
>    connection more vulnerable to DoS attacks.  Note, that attacker
>    capable to modify packets on the wire or to block them can prevent
>    peers to communicate regardless of the transport being used.


Overall, that’s good, but….

>  
>  
> But if even data injection has the same impact, it’d be much better to see if there’s a way to recover “sync” in the byte stream rather than expecting a new connection.
>  
>           TCP connections can be closed and re-open – I don’t think this is a big problem if IKE SA survives.

Not huge, but a lot bigger than native IPsec - and that’s the issue. See my other note about re-sync.

>           The real problem is when IKE SA (and all Child SAs) is teared down as result of attack.
>           This can happen when IKE message is corrupted or incorrectly parsed as a result of data injection attack.
>  
>           Currently the draft says that there is no need to retransmit the request message in case of TCP (with SHOULD NOT).
>           We can add a note that implementations MAY retransmit messages to mitigate a possibility of data injection attacks.
>  
>           Regards,
>           Valery.
>  
>  
>  
> Joe
>  
> -- 
> last-call mailing list
> last-call@ietf.org
> https://www.ietf.org/mailman/listinfo/last-call