[Dots] AD Review of draft-ietf-dots-architecture-14

Roman Danyliw <rdd@cert.org> Thu, 09 January 2020 21:30 UTC

Return-Path: <rdd@cert.org>
X-Original-To: dots@ietfa.amsl.com
Delivered-To: dots@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 11A0512081C for <dots@ietfa.amsl.com>; Thu, 9 Jan 2020 13:30:16 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cert.org
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 1lUIB3zWg0Nv for <dots@ietfa.amsl.com>; Thu, 9 Jan 2020 13:30:12 -0800 (PST)
Received: from taper.sei.cmu.edu (taper.sei.cmu.edu [147.72.252.16]) (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 A4D8212080F for <dots@ietf.org>; Thu, 9 Jan 2020 13:30:12 -0800 (PST)
Received: from delp.sei.cmu.edu (delp.sei.cmu.edu [10.64.21.31]) by taper.sei.cmu.edu (8.14.7/8.14.7) with ESMTP id 009LUBXs013598 for <dots@ietf.org>; Thu, 9 Jan 2020 16:30:11 -0500
DKIM-Filter: OpenDKIM Filter v2.11.0 taper.sei.cmu.edu 009LUBXs013598
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cert.org; s=yc2bmwvrj62m; t=1578605411; bh=tEhymZuRjLrHMlepqxEHovlsxOR45ehB640/UFMuI+s=; h=From:To:Subject:Date:From; b=OEkeCLPOclzqW/Z/gZ9eMszM1eBim5ABcE7Yy/JatcA8GBZMzfGvOqPXUNesZTfSj ihQTU7OiDHgdOZIAbhZUVZoy2nzyxJ4oQEcZJsq7ynX+N52wZv+4qHbMPJ1NBDD7Fd 1g34t7bRwvlOgVoVZLT4KQcfDTL+GmausNTAsp5o=
Received: from CASSINA.ad.sei.cmu.edu (cassina.ad.sei.cmu.edu [10.64.28.249]) by delp.sei.cmu.edu (8.14.7/8.14.7) with ESMTP id 009LU9gx010567 for <dots@ietf.org>; Thu, 9 Jan 2020 16:30:09 -0500
Received: from MARCHAND.ad.sei.cmu.edu ([10.64.28.251]) by CASSINA.ad.sei.cmu.edu ([10.64.28.249]) with mapi id 14.03.0468.000; Thu, 9 Jan 2020 16:30:09 -0500
From: Roman Danyliw <rdd@cert.org>
To: "dots@ietf.org" <dots@ietf.org>
Thread-Topic: AD Review of draft-ietf-dots-architecture-14
Thread-Index: AdXHMmoiRx3D3KUrRUiecOSiRVyATg==
Date: Thu, 09 Jan 2020 21:30:09 +0000
Message-ID: <359EC4B99E040048A7131E0F4E113AFC01E7100170@marchand>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.64.22.6]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/dots/OYih3c2_mAhHUIBrPKhZevECCc4>
Subject: [Dots] AD Review of draft-ietf-dots-architecture-14
X-BeenThere: dots@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "List for discussion of DDoS Open Threat Signaling \(DOTS\) technology and directions." <dots.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dots>, <mailto:dots-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dots/>
List-Post: <mailto:dots@ietf.org>
List-Help: <mailto:dots-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dots>, <mailto:dots-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 09 Jan 2020 21:30:16 -0000

Hello!

The following is my AD review of draft-ietf-dots-architecture-14:

** Section 1.2.  Per "In this architecture, DOTS clients and servers communicate using DOTS signaling ...", is this definition too narrow?  Per the guidance in Section 1.1.2 to use RFC8612 definitions, which says that "DOTS signal:  [is a] A status/control message transmitted over the authenticated signal channel ..." the text seems to ignoring the data channel.

** Section 1.2.  Along the same line, the next sentence, "As a result of signals from the DOTS client ...", seems to also present a very narrow example of what the signal channel might do (let alone the data channel).  I'm not sure how much this sentence adds to clarifying the scope as suggested by the section title.

** Section.  1.3 Per "The signal and data channels are loosely coupled, and may not terminate on the same DOTS server", it seems help to clarify the obvious that how these signals would be synchronized is out of scope.

** Section 2.  Figure 3.  Is this figure (i.e., the JSON example) normative?  This seems like a detail best left to the data channel spec (and omitted from this document).

** Section 2.  Per:
Note that while it is possible to exchange the above information
   before, during or after a DDoS attack, DOTS requires reliable
   delivery of this information and does not provide any special means
   for ensuring timely delivery of it during an attack.  In practice,
   this means that DOTS deployments should not rely on such information
   being exchanged during a DDoS attack.

It seems to me that there is guidance missing here.  If the first sentence says that this information can be exchanged before, during or after an attack, but don't count on it during the attack.  The second sentence reiterates the point that during an attack it will be unreliable, is a statement to the effect that necessary configuration must be made prior to the attack also needed?

** Section 2.1  Per "It is not until this point that the mitigation service is available for use.", this closing point about a mitigation service follows from the previous description.  However, I wanted to point out, the notion of a "mitigation service" being available after a fully configured DOTS client is not a construct previously used in the document or the terminology.  It's likely worth relating it to the previously defined terms like mitigator.

** Section 2.1.  To avoid confusion on terms (i.e., from HTTP), perhaps replace s/basic authorization/authorization/.

** Section 2.2.2.  Per "For a given DOTS client (administrative) domain, the DOTS server needs to be able to determine whether a given target  resource is in that domain.", what is a "target resource" isn't clear.  I think it is meant to be the resource that is the target of the attack (that the DOTS client is signaling about).  Also, the idea that DOTS clients have "domains" is a new concept here that needs clarification.

** Section 2.2.2. Per "The DOTS server enforces authorization of DOTS clients' signals for mitigation.", no objection.  Is there a complementary statement to make the data channel?

** Section 5.  Per "Any attacker with the ability to impersonate ...", this paragraph clearly describes in the impact of impersonation.  However, the suggested mitigations read like requirements.  Instead of trying to list them again, I would recommend explicitly citing the relevant requirements from Section 2.4 of the RFC8612 and noting that need for conformance to these security mechanisms.

** Section 5.  Per "Similarly, received data at rest SHOULD be stored with a satisfactory degree of security.", I would recommend explaining why the data should be secured. Perhaps:
OLD: 
Similarly, received data at rest SHOULD be
   stored with a satisfactory degree of security.

NEW (or something like it):
Similarly, as the received data may contain network topology, telemetry, threat, or preconfigured mitigation information which could be considered sensitive in certain environment, it SHOULD be protected at rest per required local policy.

** Section 5.  Per "As many mitigation systems employ diversion to scrub attack traffic, operators of DOTS agents SHOULD ensure DOTS sessions are resistant to Man-in-the-Middle (MitM) attacks.", I'm not following the link between the mitigation systems re-routing traffic with DOTS agents resisting MitM attack.  What actions should be agents be taking?

** Section 5.  Per:
   Any attack targeting the availability of DOTS servers may disrupt the
   ability of the system to receive and process DOTS signals resulting
   in failure to fulfill a mitigation request.  DOTS agents SHOULD be
   given adequate protections, again in accordance with best current
   practices for network and host security.

-- The first sentence talks about "DOTS servers".  The second talk about protecting "DOTS agents".  What's the role in the DOTS clients in this guidance?
-- Shouldn't the protections afforded to the DOTS agents be a mandatory (MUST)?

** Editorial Nits:
-- Section 1.  Editorial. s/for help defending/for help to defend/
-- Section 3.2.5.  Typo. s/deployements/deployments/