Re: [OPSAWG] MD Type attack (Was: Question regarding Proof of Transit draft)

"Sashank Dara (sadara)" <sadara@cisco.com> Wed, 20 July 2016 11:06 UTC

Return-Path: <sadara@cisco.com>
X-Original-To: opsawg@ietfa.amsl.com
Delivered-To: opsawg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5FFD912D537; Wed, 20 Jul 2016 04:06:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -15.808
X-Spam-Level:
X-Spam-Status: No, score=-15.808 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_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.287, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
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 4LAWZA0pNVD6; Wed, 20 Jul 2016 04:06:43 -0700 (PDT)
Received: from alln-iport-6.cisco.com (alln-iport-6.cisco.com [173.37.142.93]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B3E3212DB7C; Wed, 20 Jul 2016 04:06:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=12647; q=dns/txt; s=iport; t=1469012769; x=1470222369; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=FiKND2rxt+SLcN8J83DAM+qsRLyNgeaNXIuwQlaMsko=; b=DWa5pzC7ejkHsWsYzOuPxhqLD5aGO0+0IJmPsZPAOpzy10B8uO80x9Rr spt3eEBVwDQ0wuIRKmw2YsDkGvYjcgvvKeckOiY8hvhqmIiaBiSCH/+a7 jg9q9zWlvCeTYatRfFNZuBG2jIBtfjkMecUXtOqOwZD92XarSCvSwfW2B I=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0ADAgBDWo9X/40NJK1dgz9WfAa4UYF6IoV4AoEvOBQBAQEBAQEBZSeEXAEBBWcSDAQCAQgRBAEBAScHMhQJCAIEAQ0FG4gVDr1DAQEBAQEBAQEBAQEBAQEBAQEBAQEBFwWGKoRNhECFWwEEmSYBhhKIT485kB8BHjaCCxyBTG6GLisYAX4BAQE
X-IronPort-AV: E=Sophos;i="5.28,393,1464652800"; d="scan'208";a="300091954"
Received: from alln-core-8.cisco.com ([173.36.13.141]) by alln-iport-6.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 20 Jul 2016 11:06:08 +0000
Received: from XCH-RCD-009.cisco.com (xch-rcd-009.cisco.com [173.37.102.19]) by alln-core-8.cisco.com (8.14.5/8.14.5) with ESMTP id u6KB68Sb031600 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Wed, 20 Jul 2016 11:06:08 GMT
Received: from xch-aln-008.cisco.com (173.36.7.18) by XCH-RCD-009.cisco.com (173.37.102.19) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Wed, 20 Jul 2016 06:06:07 -0500
Received: from xch-aln-008.cisco.com ([173.36.7.18]) by XCH-ALN-008.cisco.com ([173.36.7.18]) with mapi id 15.00.1210.000; Wed, 20 Jul 2016 06:06:07 -0500
From: "Sashank Dara (sadara)" <sadara@cisco.com>
To: Tal Mizrahi <talmi@marvell.com>, "Carlos Pignataro (cpignata)" <cpignata@cisco.com>
Thread-Topic: MD Type attack (Was: Question regarding Proof of Transit draft)
Thread-Index: AQHR4mnR49sgJZJZWUWTXAMFLb5ExaAhZSqAgAACSoCAAAU6gIAAa+mA
Date: Wed, 20 Jul 2016 11:06:07 +0000
Message-ID: <D3B5511E.79148%sadara@cisco.com>
References: <859929d79ea24e1b9df0f3cdccd66d31@IL-EXCH02.marvell.com> <0cae48f5873c48dc8f5cd17e22a3e032@XCH-RCD-008.cisco.com> <32e24976a2974b5bac63f39eec6bfe18@IL-EXCH02.marvell.com> <D3B359A9.78D94%sadara@cisco.com> <36c193705f0a4443b57ac984ed29161e@IL-EXCH02.marvell.com> <D3B3BB93.78E19%sadara@cisco.com> <dbeafbf94c71487598f604cc2e6224b2@IL-EXCH02.marvell.com> <D3B3D716.78E9E%sadara@cisco.com> <30883664facc48a5b1c4030c8ee9c81e@IL-EXCH02.marvell.com> <e45909b5c7924e11a1702c2aee1253ea@XCH-RCD-008.cisco.com> <fe81bb4d38414067bbd78f65f8f7aae7@IL-EXCH02.marvell.com> <D3B4DE19.7903A%sadara@cisco.com> <c44cec107c6741c5a51872ecad5b1429@IL-EXCH02.marvell.com> <1BB247D3-A500-4D99-A970-2A2A42BFA1B5@cisco.com> <d875d34f2f014965a7670ee0c0e46094@IL-EXCH02.marvell.com> <16454292-3ADD-402A-AED6-CB785C5C833B@cisco.com> <c8349d20deed429a814a33553283de50@IL-EXCH02.marvell.com>
In-Reply-To: <c8349d20deed429a814a33553283de50@IL-EXCH02.marvell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/14.6.6.160626
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [72.163.210.134]
Content-Type: text/plain; charset="Windows-1252"
Content-ID: <371D2F1F0FD9B14C82534A1F21DAD3F1@emea.cisco.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/opsawg/XS111KITHGfgG0AOIDeDbWUJJGo>
Cc: "sfc@ietf.org" <sfc@ietf.org>, "opsawg@ietf.org" <opsawg@ietf.org>, "nvo3@ietf.org" <nvo3@ietf.org>, "draft-brockners-proof-of-transit@tools.ietf.org" <draft-brockners-proof-of-transit@tools.ietf.org>, "Frank Brockners (fbrockne)" <fbrockne@cisco.com>
Subject: Re: [OPSAWG] MD Type attack (Was: Question regarding Proof of Transit draft)
X-BeenThere: opsawg@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: OPSA Working Group Mail List <opsawg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/opsawg>, <mailto:opsawg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/opsawg/>
List-Post: <mailto:opsawg@ietf.org>
List-Help: <mailto:opsawg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/opsawg>, <mailto:opsawg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 20 Jul 2016 11:06:46 -0000

On 20/07/16, 3:39 PM, "Tal Mizrahi" <talmi@marvell.com> wrote:

>Hi Carlos,
>
>It all goes back to the threat model; which threats you want to address,
>and which ones you don't.
>
>The way I see it, roughly speaking there are 3 classes of threats (there
>ae probably other threats, but these are the basic ones):
>- Misroute / misconfiguration (not a security attack).
>- Attacker with no on-path access.
>- Man-in-the-middle (attacker *with* on-path access).
>
>It looks like the third threat (man-in-the-middle) is currently not
>addressed by POT.
>I certainly agree that this threat is the more difficult to implement of
>the three.

Thanks for such classification, we shall work on better threat modelling
and clarity in our next version.

Now , Can we put some concrete high level protocol names here that could
use POT and prone to MITM ?
Helps us understand the validity of the ³mix-and-match² attack you
described in a more concrete context.



>
>It would significantly clarify the picture if you specified in the draft
>which of the three classes you intend to address.
>
>Thanks,
>Tal.
>
>
>>-----Original Message-----
>>From: Carlos Pignataro (cpignata) [mailto:cpignata@cisco.com]
>>Sent: Wednesday, July 20, 2016 11:51 AM
>>To: Tal Mizrahi
>>Cc: Sashank Dara (sadara); Frank Brockners (fbrockne);
>>draft-brockners-proof-
>>of-transit@tools.ietf.org; sfc@ietf.org; opsawg@ietf.org; nvo3@ietf.org
>>Subject: Re: MD Type attack (Was: Question regarding Proof of Transit
>>draft)
>>
>>Hi, Tal,
>>
>>> On Jul 20, 2016, at 11:42 AM, Tal Mizrahi <talmi@marvell.com> wrote:
>>>
>>> Hi Carlos,
>>>
>>>
>>>> Let¹s step back a little ‹ the ³vulnerability² you are describing
>>>> comes with the assumption that a MIIT attacker can intercept a
>>>> packet, extract a TLV from the MD Type 2, drop the packet; then
>>>> intercept another packet (with the knowledge that it took a different
>>>> path, so maybe the attacker is using inband OAM as well :-), and
>>>> insert (or modify) a TLV within the content of the MD Type 2 within
>>>>the
>>content of NSH, within a specific packet.
>>>>
>>>> This sounds quite sophisticated.
>>>
>>> I am not sure I agree this is a 'sophisticated' attack.
>>> The attack does not require any cryptographic or algorithmic
>>>functionality,
>>and to that end it is very lightweight in terms of processing resources.
>>
>>Sorry if I was not clear ‹ I do not mean technological sophistication or
>>massive processing resources required. I mean access and operational one.
>>
>>>
>>> If this kind of attack is not within the scope here, then I would
>>>argue that
>>you don't need a cryptographic mechanism at all. All you need is a TLV
>>that
>>specifies the list of nodes. However, I believe that you did want to try
>>to
>>mitigate MITM attackers. Correct me if I am wrong.
>>>
>>
>>You seem to have missed quoting the important part of my response: "My
>>point is that what you seem to be describing is a generic threat use
>>case and
>>not a specific vulnerability.²
>>
>>Selectively dropping part of the response removes important context.
>>
>>> I fully agree that the threat model needs to be well-defined.
>>
>>The threat model for SFC MD, yes. Access to the POT comes with
>>assumptions.
>>
>>Thanks,
>>
>>‹ Carlos.
>>
>>> I hope you will elaborate more on the threat model in the next version
>>>of
>>the draft.
>>>
>>> Cheers,
>>> Tal.
>>>
>>>
>>>> -----Original Message-----
>>>> From: Carlos Pignataro (cpignata) [mailto:cpignata@cisco.com]
>>>> Sent: Wednesday, July 20, 2016 11:34 AM
>>>> To: Tal Mizrahi
>>>> Cc: Sashank Dara (sadara); Frank Brockners (fbrockne);
>>>> draft-brockners-proof- of-transit@tools.ietf.org; sfc@ietf.org;
>>>> opsawg@ietf.org; nvo3@ietf.org
>>>> Subject: MD Type attack (Was: Question regarding Proof of Transit
>>>> draft)
>>>>
>>>> Tal,
>>>>
>>>>> On Jul 20, 2016, at 6:30 AM, Tal Mizrahi <talmi@marvell.com> wrote:
>>>>>
>>>>> Hi Sashank,
>>>>>
>>>>>> [SD] The attack is valid only if the attacker can get away
>>>>>> bypassing a
>>>> service function/node.
>>>>>> For example, if the attacker bypasses a node and if POT determines
>>>>>> it did
>>>> not bypass is a valid attack on the system.
>>>>>
>>>>> I would phrase it this way: *Given* a packet that did not go through
>>>>> its
>>>> desired path, the attacker can easily make you think that it *did* go
>>>> through the desired path.
>>>>> Sounds like a very significant vulnerability.
>>>>>
>>>>> If a packet did not go through the firewall (for one reason or
>>>>> another), the
>>>> attacker will make you think that it did go through the firewall.
>>>>>
>>>>
>>>> Let¹s step back a little ‹ the ³vulnerability² you are describing
>>>> comes with the assumption that a MIIT attacker can intercept a
>>>> packet, extract a TLV from the MD Type 2, drop the packet; then
>>>> intercept another packet (with the knowledge that it took a different
>>>> path, so maybe the attacker is using inband OAM as well :-), and
>>>> insert (or modify) a TLV within the content of the MD Type 2 within
>>>>the
>>content of NSH, within a specific packet.
>>>>
>>>> This sounds quite sophisticated.
>>>>
>>>> Do you think that if an MIIT can have that surface of attack and
>>>> sophistication, they can mess up with other even more critical things?
>>>> Changing a Tenant ID, messing up with Policy Groups, etc?
>>>>
>>>> My point is that what you seem to be describing is a generic threat
>>>> use case and not a specific vulnerability. Engineering is about
>>>> trade-offs (i.e., solutions that have practical performance) and
>>>> about placing the solution in the most effective place.
>>>>
>>>> I¹m not deflecting but at the same time, let¹s understand the
>>>> assumptions you are making for this potential attack you describe, as
>>>> part of the threat analysis.
>>>>
>>>> Thanks,
>>>>
>>>> ‹ Carlos.
>>>>
>>>>> Cheers,
>>>>> Tal.
>>>>>
>>>>>
>>>>> From: Sashank Dara (sadara) [mailto:sadara@cisco.com]
>>>>> Sent: Wednesday, July 20, 2016 4:31 AM
>>>>> To: Tal Mizrahi; Frank Brockners (fbrockne);
>>>>> draft-brockners-proof-of-
>>>> transit@tools.ietf.org
>>>>> Cc: sfc@ietf.org; opsawg@ietf.org; nvo3@ietf.org
>>>>> Subject: Re: Question regarding Proof of Transit draft
>>>>>
>>>>>
>>>>>
>>>>> The POT replacement attack (1.) is not an attack on the integrity.
>>>>> It is an
>>>> attack on the path verification.
>>>>> This simple attack can cause the verifier to accept a packet that
>>>>> did not go
>>>> through the firewall SF (even though it should). I believe this is
>>>> exactly the problem you were aiming to address in this draft.
>>>>>
>>>>> [SD] The attack is valid only if the attacker can get away bypassing
>>>>> a service
>>>> function/node.
>>>>> For example, if the attacker bypasses a node and if POT determines
>>>>> it did
>>>> not bypass is a valid attack on the system.
>>>>>
>>>>> In the current state, there is no way an attacker can get away as we
>>>> determine the exact path the packet travelled (aim of the draft) .
>>>>> I reiterate that the verifier needs to handle what to do with the
>>>>> path
>>>> reconstructed !
>>>>> We could emphasize this in our next draft , but it would be beyond
>>>>> scope of
>>>> POT to determine what to do with the path constructed.
>>>>> IMO, It would be highly application specific.
>>>>>
>>>>>
>>>>> Regards,
>>>>> Sashank
>>>>>
>>>>>
>>>>>
>>>>> Thanks,
>>>>> Tal.
>>>>>
>>>>> From: Frank Brockners (fbrockne) [mailto:fbrockne@cisco.com]
>>>>> Sent: Tuesday, July 19, 2016 6:00 PM
>>>>> To: Tal Mizrahi; Sashank Dara (sadara); draft-brockners-proof-of-
>>>> transit@tools.ietf.org<mailto:draft-brockners-proof-of-
>>>> transit@tools.ietf.org>
>>>>> Cc: sfc@ietf.org<mailto:sfc@ietf.org>;
>>>> opsawg@ietf.org<mailto:opsawg@ietf.org>;
>>>> nvo3@ietf.org<mailto:nvo3@ietf.org>
>>>>> Subject: RE: Question regarding Proof of Transit draft
>>>>>
>>>>> Hi Tal,
>>>>>
>>>>> thanks for the summary. We'll provide more details on 2. Per my
>>>>> earlier
>>>> point - 1. is an interesting discussion, given that we don't claim to
>>>> provide integrity protection for the packet payload. Or in other
>>>>terms - to
>>be exact:
>>>> What POT provides is a proof that the POT-header/meta-data transited
>>>> all the required nodes. There is no association (and thus proof)
>>>> provided for the additional data carried along with the POT-header -
>>>> neither header nor payload. As a consequence, attacks which change
>>>> the packet payload won't be detected/mitigated. We'll explicitly
>>>> state this in the security considerations in the next rev of the
>>>>document.
>>>>> What we could consider is linking the RND number to CRC across the
>>>>> packet
>>>> payload or similar - but that way we'd restrict the applicability to
>>>> deployments where the packet payload isn't changed across the path
>>>> (which might not apply to certain deployment - e.g. WAN optimization /
>>compression schemes).
>>>>> Do you think it is worthwhile to provide a solution for a deployment
>>>>> which is
>>>> expected to not alter the packet payload?
>>>>>
>>>>> Thanks,
>>>>> Frank
>>>>>
>>>>> From: Tal Mizrahi [mailto:talmi@marvell.com]
>>>>> Sent: Dienstag, 19. Juli 2016 17:44
>>>>> To: Sashank Dara (sadara)
>>>> <sadara@cisco.com<mailto:sadara@cisco.com>>; Frank Brockners
>>>> (fbrockne) <fbrockne@cisco.com<mailto:fbrockne@cisco.com>>;
>>>> draft-brockners-
>>>> proof-of-transit@tools.ietf.org<mailto:draft-brockners-proof-of-
>>>> transit@tools.ietf.org>
>>>>> Cc: sfc@ietf.org<mailto:sfc@ietf.org>;
>>>> opsawg@ietf.org<mailto:opsawg@ietf.org>;
>>>> nvo3@ietf.org<mailto:nvo3@ietf.org>
>>>>> Subject: RE: Question regarding Proof of Transit draft
>>>>>
>>>>> Hi,
>>>>>
>>>>> To summarize my take on this thread:
>>>>> The proposed mechanism has two significant vulnerabilities that (in
>>>>> my
>>>> understanding) are currently not addressed:
>>>>>
>>>>> 1.       A man-in-the-middle can replace the POT of packet A with
>>>>>the POT
>>of
>>>> packet B.
>>>>>
>>>>> 2.       It is possible to replay POTs within a certain time window,
>>>>>whose
>>>> length is determined by the timestamp resolution.
>>>>>
>>>>> Sashank, thanks for agreeing to look into it further. I am looking
>>>>> forward to
>>>> your insights on this.
>>>>>
>>>>> Regards,
>>>>> Tal.
>>>>>
>>>>> Link to the draft:
>>>>> https://tools.ietf.org/html/draft-brockners-proof-of-
>>>> transit-01
>>>>>
>>>>>
>>>>>
>>>>> From: Sashank Dara (sadara) [mailto:sadara@cisco.com]
>>>>> Sent: Tuesday, July 19, 2016 12:20 PM
>>>>> To: Tal Mizrahi; Frank Brockners (fbrockne);
>>>>> draft-brockners-proof-of-
>>>> transit@tools.ietf.org<mailto:draft-brockners-proof-of-
>>>> transit@tools.ietf.org>; sfc@ietf.org<mailto:sfc@ietf.org>
>>>>> Subject: Re: Question regarding Proof of Transit draft
>>>>>
>>>>>
>>>>>
>>>>> I want to ask a simple question:
>>>>> If the attacker attaches the POT of packet A (indicating the path
>>>>> through
>>>> 1,3,5,6) to packet B, will the verifier accept packet B and believe
>>>> that its path was indeed (1,3,5,6)?
>>>>>
>>>>> [SD] If the verifier is programmed to just validate the POT meta
>>>>> data against
>>>> {1,3,5,6} then yes it accepts it.
>>>>> If the verifier is programmed to consult a policy database to cross
>>>>> check if
>>>> the reconstructed path {1,3,5,6} is as per the policies then no , it
>>>>drops it .
>>>>>
>>>>> But I see your point , that the parameters used in POT data donot
>>>>> consider
>>>> the path or node-ids etc . We shall discuss this internally and get
>>>>back.
>>>>>
>>>>> Also, We shall get back with more concrete numbers of the timestamp
>>>> resolution and cache sizes (or other better approaches).
>>>>>
>>>>> Thank you so much for all the inputs.
>>>>>
>>>>>
>>>>>
>>>>> From: Tal Mizrahi
>>>>> Sent: Tuesday, July 19, 2016 10:28 AM
>>>>> To: 'Sashank Dara (sadara)'; Frank Brockners (fbrockne);
>>>>> draft-brockners-
>>>> proof-of-transit@tools.ietf.org<mailto:draft-brockners-proof-of-
>>>> transit@tools.ietf.org>; sfc@ietf.org<mailto:sfc@ietf.org>
>>>>> Subject: RE: Question regarding Proof of Transit draft
>>>>>
>>>>> Dear Sashank,
>>>>>
>>>>> I really appreciate the quick and detailed responses.
>>>>>
>>>>>>>> Lets take correct path taken by Packet A  to be Path1 - (
>>>>>>>> 1,3,5,6) nodes
>>>
>