Re: [Dots] draft-ietf-dots-filter-control: acl updates

<mohamed.boucadair@orange.com> Thu, 16 May 2019 09:42 UTC

Return-Path: <mohamed.boucadair@orange.com>
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 3E2BC120227 for <dots@ietfa.amsl.com>; Thu, 16 May 2019 02:42:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.588
X-Spam-Level:
X-Spam-Status: No, score=-2.588 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, UNPARSEABLE_RELAY=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 Zr2V_R5cIVnk for <dots@ietfa.amsl.com>; Thu, 16 May 2019 02:42:24 -0700 (PDT)
Received: from orange.com (mta136.mail.business.static.orange.com [80.12.70.36]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6C84C1200F6 for <dots@ietf.org>; Thu, 16 May 2019 02:42:23 -0700 (PDT)
Received: from opfednr07.francetelecom.fr (unknown [xx.xx.xx.71]) by opfednr24.francetelecom.fr (ESMTP service) with ESMTP id 454RKT4dQPz22CR; Thu, 16 May 2019 11:42:21 +0200 (CEST)
Received: from Exchangemail-eme6.itn.ftgroup (unknown [xx.xx.13.89]) by opfednr07.francetelecom.fr (ESMTP service) with ESMTP id 454RKT45GKzFpXZ; Thu, 16 May 2019 11:42:21 +0200 (CEST)
Received: from OPEXCAUBMA2.corporate.adroot.infra.ftgroup ([fe80::e878:bd0:c89e:5b42]) by OPEXCAUBM44.corporate.adroot.infra.ftgroup ([::1]) with mapi id 14.03.0439.000; Thu, 16 May 2019 11:42:21 +0200
From: mohamed.boucadair@orange.com
To: "Konda, Tirumaleswar Reddy" <TirumaleswarReddy_Konda@McAfee.com>, Jon Shallow <supjps-ietf@jpshallow.com>, "dots@ietf.org" <dots@ietf.org>
Thread-Topic: [Dots] draft-ietf-dots-filter-control: acl updates
Thread-Index: AdUKY25JElmJGCHmS8ShhhzPTbwDWQAiEOEwAADsrXAAASuPAAAAMZ+AAAPexwAAAwLWgAAFQgYAAAGTE4AAAFEQgAAc2w2wAAT6jIAABQKmsAAAYttQ
Date: Thu, 16 May 2019 09:42:20 +0000
Message-ID: <787AE7BB302AE849A7480A190F8B93302EA7F0A0@OPEXCAUBMA2.corporate.adroot.infra.ftgroup>
References: <787AE7BB302AE849A7480A190F8B93302EA7DAAF@OPEXCAUBMA2.corporate.adroot.infra.ftgroup> <BYAPR16MB279089B075158BFF8C8B2E5FEA090@BYAPR16MB2790.namprd16.prod.outlook.com> <787AE7BB302AE849A7480A190F8B93302EA7E01D@OPEXCAUBMA2.corporate.adroot.infra.ftgroup> <7f1f7363-11d0-9acd-32a5-ba9fc92cf433@nttv6.jp> <787AE7BB302AE849A7480A190F8B93302EA7E072@OPEXCAUBMA2.corporate.adroot.infra.ftgroup> <00e801d50b04$54db4a90$fe91dfb0$@jpshallow.com> <787AE7BB302AE849A7480A190F8B93302EA7E37B@OPEXCAUBMA2.corporate.adroot.infra.ftgroup> <018f01d50b25$682183a0$38648ae0$@jpshallow.com> <787AE7BB302AE849A7480A190F8B93302EA7E684@OPEXCAUBMA2.corporate.adroot.infra.ftgroup> <01b401d50b2c$f8deb870$ea9c2950$@jpshallow.com> <BYAPR16MB2790B812CB96CAE3AD9E990DEA0A0@BYAPR16MB2790.namprd16.prod.outlook.com> <787AE7BB302AE849A7480A190F8B93302EA7EF08@OPEXCAUBMA2.corporate.adroot.infra.ftgroup> <BYAPR16MB279042E222FE4283F29B481EEA0A0@BYAPR16MB2790.namprd16.prod.outlook.com>
In-Reply-To: <BYAPR16MB279042E222FE4283F29B481EEA0A0@BYAPR16MB2790.namprd16.prod.outlook.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.114.13.247]
Content-Type: multipart/alternative; boundary="_000_787AE7BB302AE849A7480A190F8B93302EA7F0A0OPEXCAUBMA2corp_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/dots/8Ib4IJBZtT-alIMaylvXPeCkQBo>
Subject: Re: [Dots] draft-ietf-dots-filter-control: acl updates
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, 16 May 2019 09:42:30 -0000

Re-,

The signal channel spec says the following:

“CoAP 4.xx codes are some sort of invalid requests (client errors).”

and


“The error response code 5.03 (Service Unavailable) is
   returned if the DOTS server has erred or is incapable of performing
   the mitigation.”

The main concern is the unfairness for rejecting a mitigation because of acls. This is problematic for initial requests with acls as rightfully mentioned by Jon.

I do think this is solved with the proposal below. 5.03 will be OK, then.

Cheers,
Med

De : Konda, Tirumaleswar Reddy [mailto:TirumaleswarReddy_Konda@McAfee.com]
Envoyé : jeudi 16 mai 2019 11:20
À : BOUCADAIR Mohamed TGI/OLN; Jon Shallow; dots@ietf.org
Objet : RE: [Dots] draft-ietf-dots-filter-control: acl updates

No, 4.22 error is also at the server side, please see https://tools.ietf.org/html/rfc8132

Unprocessable request:  This situation occurs when the payload of a
      FETCH request is determined to be valid (i.e., well-formed and
      supported) but the server is unable to or is incapable of
      processing the request.  The server can return a 4.22
      (Unprocessable Entity) CoAP error.

Cheers,
-Tiru

From: mohamed.boucadair@orange.com <mohamed.boucadair@orange.com>
Sent: Thursday, May 16, 2019 12:51 PM
To: Konda, Tirumaleswar Reddy <TirumaleswarReddy_Konda@McAfee.com>; Jon Shallow <supjps-ietf@jpshallow.com>; dots@ietf.org
Subject: RE: [Dots] draft-ietf-dots-filter-control: acl updates


CAUTION: External email. Do not click links or open attachments unless you recognize the sender and know the content is safe.


________________________________
Hi Tiru, all,

The error is at the server side, so 4.22 is not appropriate here.

What about recommending against including acl attributes in an initial request or when the client adjusts the mitigation scope? Once a mitigation without acls is successfully placed, the client can then send a new request with the same mitigation scope but with acl attributes. Any failure reported by the server will be then linked to the acl instructions.

5.03 will be returned if a failure is encountered to process a request with acls.

Cheers,
Med

De : Konda, Tirumaleswar Reddy [mailto:TirumaleswarReddy_Konda@McAfee.com]
Envoyé : jeudi 16 mai 2019 06:43
À : Jon Shallow; BOUCADAIR Mohamed TGI/OLN; dots@ietf.org<mailto:dots@ietf.org>
Objet : RE: [Dots] draft-ietf-dots-filter-control: acl updates

DOTS signal channel protocol does not support handling of partial failures because of the complexity. If the filtering rules cannot be updated, the request should be rejected with appropriate error message (e.g. 4.22 (Unprocessable Entity), https://tools.ietf.org/html/rfc8132)

Cheers,
-Tiru

From: Dots <dots-bounces@ietf.org<mailto:dots-bounces@ietf.org>> On Behalf Of Jon Shallow
Sent: Wednesday, May 15, 2019 8:16 PM
To: mohamed.boucadair@orange.com<mailto:mohamed.boucadair@orange.com>; dots@ietf.org<mailto:dots@ietf.org>
Subject: Re: [Dots] draft-ietf-dots-filter-control: acl updates


CAUTION: External email. Do not click links or open attachments unless you recognize the sender and know the content is safe.


________________________________
Hi Med,

Interesting question – certainly the DOTS signal server should be properly communicating with the DOTS data server, but I guess there can be a failure here.

I think to reject a PUT that is the first mitigation request, but includes an Acl-List with a 5.03 could be unfair – the DOTS client would need to get taught that it needs to send a new PUT (+mid) without the Acl-List if it gets a 5.03 – which could be for a whole host of reasons.

Could we send back some sort of conflict code (i.e. failure code) in this case to be a bit more flexible?

Regards

Jon

From: Dots [mailto: dots-bounces@ietf.org<mailto:dots-bounces@ietf.org>] On Behalf Of mohamed.boucadair@orange.com<mailto:mohamed.boucadair@orange.com>
Sent: 15 May 2019 15:37
To: Jon Shallow; dots@ietf.org<mailto:dots@ietf.org>
Subject: Re: [Dots] draft-ietf-dots-filter-control: acl updates

Re-,

The draft does not include any text about the response to a PUT because we assume that we don’t change the base spec.

One related point, we may need to be specific about the behavior of the server, e.g., when it can do the mitigation but fails (for some reason) to apply the filter update. Should we discard the request with 5.03 or should we allow for some flexibility by accepting the mitigation but without the filter update?

Cheers,
Med

De : Jon Shallow [mailto:supjps-ietf@jpshallow.com]
Envoyé : mercredi 15 mai 2019 15:52
À : BOUCADAIR Mohamed TGI/OLN; dots@ietf.org<mailto:dots@ietf.org>
Objet : RE: [Dots] draft-ietf-dots-filter-control: acl updates

Hi Med,

I think that covers it.  Now I have access to my emails, it was the PUT that I was thinking about, not the GET.

Regards

Jon

From: Dots [mailto: dots-bounces@ietf.org<mailto:dots-bounces@ietf.org>] On Behalf Of mohamed.boucadair@orange.com<mailto:mohamed.boucadair@orange.com>
Sent: 15 May 2019 12:22
To: Jon Shallow; dots@ietf.org<mailto:dots@ietf.org>
Subject: Re: [Dots] draft-ietf-dots-filter-control: acl updates

Re-,

Noted. Thanks.

With regards to your second point, we do have the following in the draft:

   If, during an active mitigation, the 'activation-type' is changed at
   the DOTS server (e.g., as a result of an external action) for an ACL
   bound to a DOTS client, the DOTS server notifies that DOTS client
   with the change by including the corresponding ACL parameters in an
   asynchronous notification (the DOTS client is observing the active
   mitigation) or in a response to a polling request (Section 4.4.2.2 of
   [I-D.ietf-dots-signal-channel]).

Do we need to say more?

Cheers,
Med

De : Jon Shallow [mailto:supjps-ietf@jpshallow.com]
Envoyé : mercredi 15 mai 2019 11:56
À : BOUCADAIR Mohamed TGI/OLN; kaname nishizuka; Konda, Tirumaleswar Reddy; dots@ietf.org<mailto:dots@ietf.org>
Objet : RE: [Dots] draft-ietf-dots-filter-control: acl updates

Hi Guys,

I concur with (2).

I think that we have the ‘mid’ wrap properly covered (more likely to occur now with lots of ‘tweaks’ to the mitigation when trying out different acl-lists).

With (2) changing the activation-types, it is possible that some packets may not get through, and so an activation-type may be in an unexpected state.  I know  that we encourage regular monitor of the status of a mitigation (by signal channel observing), but  am unable to find as to whether acl-list etc. is returned on signal channel GET response (there are no GET signal channel response examples).  There was discussion about this on the mailing list, but it did not get a final resolution.

Regards

Jon

From: Dots [mailto: dots-bounces@ietf.org<mailto:dots-bounces@ietf.org>] On Behalf Of mohamed.boucadair@orange.com<mailto:mohamed.boucadair@orange.com>
Sent: 15 May 2019 09:05
To: kaname nishizuka; Konda, Tirumaleswar Reddy; dots@ietf.org<mailto:dots@ietf.org>
Subject: Re: [Dots] draft-ietf-dots-filter-control: acl updates

Re-,

Thank you for sharing your thoughts.

-00 allows to use both a new or existing ‘mid’. With (2) taken into account, we need the following change:

OLD:

   A DOTS client may include acl-* attributes in a mitigation request
   having a new or an existing 'mid'.  When acl-* attributes are to be
   included in a mitigation request with an existing 'mid', the DOTS
   client MUST repeat all the other parameters as sent in the original
   mitigation request (i.e., having that 'mid') apart from a possible
   change to the lifetime parameter value.

NEW:
   During an attack time, DOTS clients may include 'acl-list', 'acl-
   name', and 'activation-type' attributes in a mitigation request.
   This request may be the initial mitigation request for a given
   mitigation scope or a new one overriding an existing request.  In
   both case, a new 'mid' MUST be used.

   As the attack evolves, DOTS clients can adjust the 'activation-type'
   of an ACL conveyed in a mitigation request or control other filters
   as necessary.  This can be achieved by sending a PUT request with a
   new 'mid' value.

Cheers,
Med

De : kaname nishizuka [mailto:kaname@nttv6.jp]
Envoyé : mercredi 15 mai 2019 09:59
À : BOUCADAIR Mohamed TGI/OLN; Konda, Tirumaleswar Reddy; dots@ietf.org<mailto:dots@ietf.org>
Objet : Re: [Dots] draft-ietf-dots-filter-control: acl updates

Hi Tiru, Med,

I agree with Tiru.

> FWIW, the changes to implement (2) can be seen at:
>
> https://github.com/boucadair/filter-control/blob/master/wdiff%20draft-ietf-dots-signal-filter-control-00.txt%20draft-ietf-dots-signal-filter-control-01.pdf
>
Could you specify where it is?
(2) is taken account as the current version of the draft allows to include acl attributes in requests with new ‘mid’s.

regards,
Kaname
On 2019/05/15 16:28, mohamed.boucadair@orange.com<mailto:mohamed.boucadair@orange.com> wrote:
Hi Tiru,

Agree.

Looking forward to hear  more.

FWIW, the changes to implement (2) can be seen at:
https://github.com/boucadair/filter-control/blob/master/wdiff%20draft-ietf-dots-signal-filter-control-00.txt%20draft-ietf-dots-signal-filter-control-01.pdf

Cheers,
Med

De : Konda, Tirumaleswar Reddy [mailto:TirumaleswarReddy_Konda@McAfee.com]
Envoyé : mercredi 15 mai 2019 09:11
À : BOUCADAIR Mohamed TGI/OLN; dots@ietf.org<mailto:dots@ietf.org>
Objet : RE: draft-ietf-dots-filter-control: acl updates

I don’t think approach (1) is a good idea because of out of order delivery of packets. Further, the anti-relay detection technique in DTLS uses sliding windows procedure. An MITM can possibility cache and drop the packets from the client, and replay the cached packets that fall within the sliding window. For instance in the below example, the server could receive packets in the order T0, T4, T1, T2.

Monotonically increasing ‘mid’ is the only defense against this mechanism, and I don’t think the signal channel draft needs any update.

Cheers,
-Tiru

From: Dots <dots-bounces@ietf.org><mailto:dots-bounces@ietf.org> On Behalf Of mohamed.boucadair@orange.com<mailto:mohamed.boucadair@orange.com>
Sent: Tuesday, May 14, 2019 8:14 PM
To: dots@ietf.org<mailto:dots@ietf.org>
Subject: [Dots] draft-ietf-dots-filter-control: acl updates


CAUTION: External email. Do not click links or open attachments unless you recognize the sender and know the content is safe.


________________________________
Hi all,

The current version of the draft allows to include acl attributes in requests with new or existing ‘mid’s. By “existing mid’, we meant an existing request which does not include acl attributes when the request was initially created. For such requests, the activation-type of the same acl can be changed as the attack evolve or even control other ACLs. This is supposed to be covered by this text:

   When acl-* attributes are to be
   included in a mitigation request with an existing 'mid', the DOTS
   client MUST repeat all the other parameters as sent in the original
   mitigation request (i.e., having that 'mid') apart from a possible
   change to the lifetime parameter value.

For example:
T0: R(mid)
T1: R(mid, acl1, activation-type=value1)
T2: R(mid, acl2, activation-type=value2)
T3: R(mid, acl1, activation-type=value2)
T4: R(mid)
...

Now, if acl attributes are included in a request with a new mid, we need to specify how activation-type (and acl-list in general) can be updated. We do have two options:


  1.  Update the draft with this NEW text:


   If 'acl-list', 'acl-name', and 'activation-type' attributes are

   included in the initial mitigation request (that is, a mitigation

   request with a new 'mid'), the DOTS client may update the

   'acl-list' as an active attack evolves.  To do so, the DOTS

   client MUST repeat all the other parameters as sent in the original

   mitigation request apart from a possible change to the 'acl-list’

   and the lifetime parameter values.

   And the signal channel spec as follows:


   For a mitigation request to continue beyond the initial negotiated

   lifetime, the DOTS client has to refresh the current mitigation

   request by sending a new PUT request..  This PUT request MUST use the

   same 'mid' value, and MUST repeat all the other parameters as sent in

   the original mitigation request apart from a possible change to the

   lifetime parameter value or other changes to attributes defined in future extensions.

                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

For example:
T0: R(mid, acl1, activation-type=value1)
T1: R(mid, acl2, activation-type=value2)
T2: R(mid, acl1, activation-type=value2)
..



  1.  Require a new mid each time a client has to insert acl attributes.

For example:
T0: R(mid0)
T1: R(mid1, acl1, activation-type=value1)
T2: R(mid2, acl2, activation-type=value2)
T3: R(mid3, acl1, activation-type=value2)
...


Thoughts?

Cheers,
Med



_______________________________________________

Dots mailing list

Dots@ietf.org<mailto:Dots@ietf.org>

https://www.ietf.org/mailman/listinfo/dots