Re: [IPsec] WGLC on draft-ietf-ipsecme-ddos-protection-04

Tommy Pauly <tpauly@apple.com> Fri, 04 March 2016 18:03 UTC

Return-Path: <tpauly@apple.com>
X-Original-To: ipsec@ietfa.amsl.com
Delivered-To: ipsec@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BED931A7012 for <ipsec@ietfa.amsl.com>; Fri, 4 Mar 2016 10:03:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.091
X-Spam-Level:
X-Spam-Status: No, score=-4.091 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, T_DKIM_INVALID=0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id L8mq85s6vqjn for <ipsec@ietfa.amsl.com>; Fri, 4 Mar 2016 10:03:48 -0800 (PST)
Received: from mail-in7.apple.com (mail-out7.apple.com [17.151.62.29]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0E3D61A700E for <ipsec@ietf.org>; Fri, 4 Mar 2016 10:03:48 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; d=apple.com; s=mailout2048s; c=relaxed/simple; q=dns/txt; i=@apple.com; t=1457114627; x=2321028227; h=From:Sender:Reply-To:Subject:Date:Message-id:To:Cc:MIME-version:Content-type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-reply-to:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=k8pH/CpGO/sjaPTGho33u9FXNU4zUJMu5kgj6P/5ebA=; b=lxWRlvmj4OV77phw+3s+g5rklR9plYR7x+Q4ncGqgLhe24w17xL29+Fe8PObLyL5 hwRo+XigLeTy0ewuOlyAjRzzF6xhvixmMt0stvHmoWyQlLx8ywFHfOsa4SNMPZEM GniO6jlYtL/V//mAFsAcaXIRI+WKuFvT6u/jxo2Pj27N28TN0h6JN6xK7Dyn4uQ+ 5ASx4ZWPvvuPgVlDX5lmBSPTml6b9XcKBPtkn/owkJKODADiKp/+KxrDwl3Bsgv7 IpSulboL5ihbsZviTtoZ86+vArTpRjlifRXq/ymln4D8RWRvEDhZgNqxIPolF/ND bVPo9sp0wraymR3NWQTXNQ==;
Received: from relay6.apple.com (relay6.apple.com [17.128.113.90]) by mail-in7.apple.com (Apple Secure Mail Relay) with SMTP id 32.91.25552.30EC9D65; Fri, 4 Mar 2016 10:03:47 -0800 (PST)
X-AuditID: 11973e16-f79bc6d0000063d0-b2-56d9ce0383a5
Received: from chive.apple.com (chive.apple.com [17.128.115.15]) (using TLS with cipher DHE-RSA-AES128-SHA (128/128 bits)) (Client did not present a certificate) by relay6.apple.com (Apple SCV relay) with SMTP id F3.89.18091.30EC9D65; Fri, 4 Mar 2016 10:03:47 -0800 (PST)
Received: from [17.226.23.78] (unknown [17.226.23.78]) by chive.apple.com (Oracle Communications Messaging Server 7.0.5.35.0 64bit (built Mar 31 2015)) with ESMTPSA id <0O3J00GQO0UAGV20@chive.apple.com> for ipsec@ietf.org; Fri, 04 Mar 2016 10:03:47 -0800 (PST)
Sender: tpauly@apple.com
Content-type: multipart/alternative; boundary="Apple-Mail=_81DA9EB0-8845-4079-9B7F-66F268556CE6"
MIME-version: 1.0 (Mac OS X Mail 10.0 \(3169\))
From: Tommy Pauly <tpauly@apple.com>
In-reply-to: <EBE443B3-3EE6-47FC-B459-A3C6585AB3F9@gmail.com>
Date: Fri, 04 Mar 2016 10:03:47 -0800
Message-id: <CB618816-2A4E-492A-B385-CAFD80DC2B07@apple.com>
References: <BY1PR09MB03587C3829A33D76ECE8EF1BF0BB0@BY1PR09MB0358.namprd09.prod.outlook.com> <CADnPsE-RfHiRdof82CPokYXXVaEa74ssXw2XQ5v7hYpdFYQ7=Q@mail.gmail.com> <alpine.LFD.2.20.1603041020030.29534@bofh.nohats.ca> <A9AD397B-49C3-48AA-BB09-E23E907F1194@apple.com> <EBE443B3-3EE6-47FC-B459-A3C6585AB3F9@gmail.com>
To: Yoav Nir <ynir.ietf@gmail.com>
X-Mailer: Apple Mail (2.3169)
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrOLMWRmVeSWpSXmKPExsUi2FAYpct87maYwZkPchb7t7xgc2D0WLLk J1MAYxSXTUpqTmZZapG+XQJXxsFZf9gLLgVW7Lqwjq2BcY1rFyMnh4SAicSt5YvYIGwxiQv3 1oPZQgJ7GSWu7JSFqZm28itTFyMXUHwak8S7lwsYIZwuJolfd9qAMhwcwgISEpv3JII0MAsk SXT9W8sEYvMK6Et0tk1kBLGFBZwkbqx8DhZnE1CROP5tAzOIzSlgK3HmwRx2EJtFQFWie8Z8 sPnMAs2MEtMWvmOGGGQjsffnGqgrDjFJbN04mQUkISKgJHH4yldmiFNlJV5d38MGUiQhMIVN 4sC6N8wTGIVnIblqFpKrIOLaEssWvmaGsDUl9ncvZ8EU15Do/DaRdQEj2ypGodzEzBzdzDxz vcSCgpxUveT83E2MoJiYbie2g/HhKqtDjAIcjEo8vDcarocJsSaWFVfmHmKU5mBREufdLAQU EkhPLEnNTk0tSC2KLyrNSS0+xMjEwSnVwMg0pemQdXRSksm+7/b8RlO0vm+4dXTZKbPrt9PC 1V78u/nr3ZLqff4PH33m2rNcvInHMFKwQnG1Sk6sec7rT6LCGi7vXoWqGidPm9iTcz1H0G8y i/O1GYbT5ves/DKdeUpd/O0rbouqLaLnJ3n1HZuzfAaPTGPV5+rOsJcHErRP8Czq5je47KzE UpyRaKjFXFScCABezqfiagIAAA==
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrNLMWRmVeSWpSXmKPExsUi2FDMr8t87maYQf9dPov9W16wOTB6LFny kymAMYrLJiU1J7MstUjfLoEr4+CsP+wFlwIrdl1Yx9bAuMa1i5GTQ0LARGLayq9MELaYxIV7 69m6GLk4hASmMUm8e7mAEcLpYpL4dacNqIqDQ1hAQmLznkSQBmaBJImuf2vBmnkF9CU62yYy gtjCAk4SN1Y+B4uzCahIHP+2gRnE5hSwlTjzYA47iM0ioCrRPWM+2HxmgWZGiWkL3zFDDLKR 2PtzDRPE4kNMEls3TmYBSYgIKEkcvvKVGeJUWYlX1/ewTWAUmIXkkFlIDoGIa0ssW/iaGcLW lNjfvZwFU1xDovPbRNYFjGyrGAWKUnMSK830EgsKclL1kvNzNzGCg7gwagdjw3KrQ4wCHIxK PLw3Gq6HCbEmlhVX5h5ilOBgVhLhXbv7ZpgQb0piZVVqUX58UWlOavEhRmkOFiVxXrMTV8OE BNITS1KzU1MLUotgskwcnFINjHwmOVmB8VIfP4RwN1ncSqiKulXRfVrow85X3YyHJsiG+U9J 7PHseMMxxc/osPjsnYcnvLJM0F/Wzlf2RnA1h2zYglUTgx/OeVwS/kjl315llaeGtx7+j7OX yLScfj1Q85zRnom1c9tiVtQXr7hrvi7FYcndI0anDmtMtPnitts7/Pu5141y5UosxRmJhlrM RcWJANH2imBeAgAA
Archived-At: <http://mailarchive.ietf.org/arch/msg/ipsec/4rNO4PBmw4rEl8IicrfUJKDY9AE>
Cc: "ipsec@ietf.org WG" <ipsec@ietf.org>, Paul Wouters <paul@nohats.ca>, "Waltermire, David A. (Fed)" <david.waltermire@nist.gov>
Subject: Re: [IPsec] WGLC on draft-ietf-ipsecme-ddos-protection-04
X-BeenThere: ipsec@ietf.org
X-Mailman-Version: 2.1.15
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: Fri, 04 Mar 2016 18:03:49 -0000

> On Mar 4, 2016, at 9:32 AM, Yoav Nir <ynir.ietf@gmail.com> wrote:
> 
>> 
>> On 4 Mar 2016, at 7:02 PM, Tommy Pauly <tpauly@apple.com> wrote:
>> 
>> Hello Dave,
>> 
>> I tend to agree with Paul that I find it unlikely, from an implementor’s standpoint, that many Initiators will choose to implement the puzzle logic, especially ones that are running on mobile devices. It is unlikely that the phones will be able to solve the puzzles quickly enough to beat out botnets, and it would be hard to justify the battery consumption necessary. That being said, the document does a very good job of explaining the problem space, and the other parts of its solution (rate-limiting and suggesting session resumption) make good sense. Perhaps there can be more focus on how a responder can best protect itself if indeed the majority of its clients do not support puzzles?
>> 
>> One question on section 7.1.2:
>> 
>> If the received message contains a PUZZLE notification and doesn't
>>  contain a COOKIE notification, then this message is malformed because
>>  it requests to solve the puzzle, but doesn't provide enough
>>  information to do it.  In this case the Initiator SHOULD resend
>>  IKE_SA_INIT request.  If this situation repeats several times, then
>>  it means that something is wrong and the IKE SA cannot be
>>  established.
>> 
>> I am concerned that the suggestion for the initiator reacting to malformed IKE_SA_INIT packets is to send more traffic to the responder. The responder should not legitimately send a PUZZLE notification without a COOKIE notification, since this would be invalid. If the initiator sees this, it can either assume that (a) the responder’s implementation is out of spec, or (b) some malicious third party is deliberately modifying the unencrypted packet. In the first case, trying to send the IKE_SA_INIT again would be in vain; in the second case, we have provided a way for a third party to cause initiators to send more traffic to the responder, thus providing an attack vector. What are your thoughts on this?
> 
> A proper responder would not send a malformed packet. An attacker could send a malformed response immediately after the initiator sends the request. By the time the initiator gets the real responder’s response, it has lost state. 
> 
> That is why it is always a good idea (not just in this context) for the initiator to ignore malformed responses until the timeout is reached.

That makes sense. The wording, however, could imply that the Initiator should resend the request as if in response to the malformed packet. Based on your comment, the Initiator should wait for the usual amount of time before retrying, rather than immediately retrying the packet. It may be useful to clarify this in the text.

Thanks,
Tommy

> 
> Yoav