Re: [v6ops] draft-ietf-6man-grand : saving lookups

"Pascal Thubert (pthubert)" <pthubert@cisco.com> Sat, 08 August 2020 11:38 UTC

Return-Path: <pthubert@cisco.com>
X-Original-To: v6ops@ietfa.amsl.com
Delivered-To: v6ops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A5E953A0B9F; Sat, 8 Aug 2020 04:38:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.598
X-Spam-Level:
X-Spam-Status: No, score=-9.598 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, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 header.b=fJtbtkQH; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=h/g0cEXX
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 GqCb1vdeHfEp; Sat, 8 Aug 2020 04:38:48 -0700 (PDT)
Received: from alln-iport-3.cisco.com (alln-iport-3.cisco.com [173.37.142.90]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 91B063A0B9C; Sat, 8 Aug 2020 04:38:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=27790; q=dns/txt; s=iport; t=1596886728; x=1598096328; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=foqMYDwccmjbVtRYhJBkyz/z5TkdkuIUhp0JS5rbhEI=; b=fJtbtkQH31fZPEDVGlHObc61qKglgtOT6MLKoBnGMj69PF38wz15Z58t PEi/8cxzT2RKQmtZIQk54GpamYAgEUi874XzVOjA5WQNAmRxijIA1bwt/ wStiYM/U52IVwEvuS5394eKh8DX2+h260zFTEfy9SybCjmQJt8p5Lxmpb Y=;
X-IPAS-Result: A0DiAQCIjS5f/4sNJK1gGwEBAQEBAQEBBQEBARIBAQEDAwEBAUCBSoFSUQdvWC8shDWDRgONUYECiQWOX4FCgREDVQsBAQEMAQEYCwoCBAEBhEwCF4IfAiQ4EwIDAQEBAwIDAQEBAQUBAQECAQYEbYVcDIVxAQEBAwEBARAREQwBASoCCwEEBwQCAQYCDgMEAQEBAgIREgMCAgIfBgsUAQIBBQgCBA4FGweDBAGCSwMOIAEOmDOQaAKBOYhhdoEygwEBAQWBMwEDAg5BQoJ6DQuCDgMGgQ4qgnCCUhI5QoEBgnSCLh0agUE/gRABJxyBT0k1PoIaQgEBAgEBFX8JJRkmGYJYM4Itj0EjIg4DgmiiW1AKgmKIY4V6hj+EfQMegn2JWIUxjgyMcI97gmSNboQlAgQCBAUCDgEBBYFqIzeBIHAVGiEqAYI+UBcCDVeNSAwXg06FFIVCdAI1AgYBBwEBAwl8j3wBAQ
IronPort-PHdr: 9a23:Ey2qnh3nGvsmF9XqsmDT+zVfbzU7u7jyIg8e44YmjLQLaKm44pD+JxWGu6dii1jGWYid4PVB2KLasKHlDGoH55vJ8HUPa4dFWBJNj8IK1xchD8iIBQyeTrbqYiU2Ed4EWApj+He2YkdSH8n6ahvZpXjhpTIXEw/0YAxyIOm9E4XOjsOxgua1/ZCbYwhBiDenJ71oKxDjpgTKvc5Qioxneas=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.75,449,1589241600"; d="scan'208";a="516424761"
Received: from alln-core-6.cisco.com ([173.36.13.139]) by alln-iport-3.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 08 Aug 2020 11:38:46 +0000
Received: from XCH-RCD-002.cisco.com (xch-rcd-002.cisco.com [173.37.102.12]) by alln-core-6.cisco.com (8.15.2/8.15.2) with ESMTPS id 078Bck7a009909 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Sat, 8 Aug 2020 11:38:46 GMT
Received: from xhs-rtp-003.cisco.com (64.101.210.230) by XCH-RCD-002.cisco.com (173.37.102.12) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sat, 8 Aug 2020 06:38:46 -0500
Received: from xhs-rtp-002.cisco.com (64.101.210.229) by xhs-rtp-003.cisco.com (64.101.210.230) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sat, 8 Aug 2020 07:38:45 -0400
Received: from NAM12-BN8-obe.outbound.protection.outlook.com (64.101.32.56) by xhs-rtp-002.cisco.com (64.101.210.229) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Sat, 8 Aug 2020 07:38:45 -0400
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BvzlEfF2dZH89tLavRKncYs4gl5HjYQ6AbO0LrYwd6dELO9bp7yl/sWs13vCrbtRQxbNwXQ12qUtf1G4jEgac5Sme4mqJmOVZGhEGYvqQWq1HI3cY2YxZ3I/QpCVJ67lbuOrR+J/KkBCfiZZ0arkJoCX8a1QKXuY72+7+ItvvcL/gcTZARM+FCdOxZWs5rApn5cE8FUEVjmgXnePjH1iCX/7Pry1BnIFjbDvHEWlYgT9oi3682DymI3doYPEdTWSGHfxBu482nagYrch7MDKx8MGf/lU7eVFbFJvUXwzW0VDQPy+JlZRxQl5RnOU2afa39AttWKVUSrls/C0/UOmDw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=foqMYDwccmjbVtRYhJBkyz/z5TkdkuIUhp0JS5rbhEI=; b=gFr0NhoyiF36SXHpr+U1SUa/8aLS5GKo52Lp7xOIk3OwOkUnqmT1If1AJEE6clnZEg7p5IGgWUmYM5fw0J+TOGv8p8nv7lfQ6GW2QzgzqWAi9DCXCDcExm0t+KLOhiSnkxDOGJfkIldcUlxPfvjmuxzaB8LER1GKeqH9bKLEDTsDJldYrfZgeTlHA4ocMLSiVPo+BjMRuEWfxrJDCTJ08ex0zDMUOgk5K6OgA3+QEpmhW8EX6oi/Fu6dte4T9nkKAkf5xPPNFVv7jap9nkLpjYTa+8j/2WyIRUuzsPyNusP4LKAobdWWSD7EdmR/QOFmB6AHefWO+SyQZTFaMigKRg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com; s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=foqMYDwccmjbVtRYhJBkyz/z5TkdkuIUhp0JS5rbhEI=; b=h/g0cEXXmRs74bGhrz4Eq79D4lh0gNtXV0Lj02OmYmf0CbziAR4FSyJAIWIBPDIHNbmzIpRa6ZCkBorW4sM2jcRIREGU4Odtj6EA3eEkxUZ8A4fGG8R5395rtzsHuvafONdnVA75mectsFqr0ZMzzeE+QdBO5FE1ojnJBKl98Js=
Received: from MN2PR11MB3565.namprd11.prod.outlook.com (2603:10b6:208:ea::31) by MN2PR11MB3917.namprd11.prod.outlook.com (2603:10b6:208:135::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3261.15; Sat, 8 Aug 2020 11:38:43 +0000
Received: from MN2PR11MB3565.namprd11.prod.outlook.com ([fe80::a53e:5801:92cc:3204]) by MN2PR11MB3565.namprd11.prod.outlook.com ([fe80::a53e:5801:92cc:3204%5]) with mapi id 15.20.3261.022; Sat, 8 Aug 2020 11:38:43 +0000
From: "Pascal Thubert (pthubert)" <pthubert@cisco.com>
To: Jen Linkova <furry13@gmail.com>
CC: Jen Linkova <furry@google.com>, IPv6 Operations <v6ops@ietf.org>, 6man <ipv6@ietf.org>
Thread-Topic: [v6ops] draft-ietf-6man-grand : saving lookups
Thread-Index: AQHWZ1aaeJpnUJSV20aes48tEhFRoKkr72qAgABfnoCAAcz6gIAABkFS
Date: Sat, 08 Aug 2020 11:38:43 +0000
Message-ID: <8B923F28-899B-4CE5-A3EB-B82E9E74A9B8@cisco.com>
References: <96fa6d80137241dd9b57fcd871c8a897@huawei.com> <CAFU7BARePzdeU5DFgoOWyrF0xZCj67_xkC2t8vMN2nH0d8aUig@mail.gmail.com> <37e2a7110f6b423eba0303811913f533@huawei.com> <CAKD1Yr1BJTAfp4PE+DY1yxeMm64kHetqBGYc5iaqZd3u0XrWpA@mail.gmail.com> <E176B084-24E1-434D-B15C-F364F64807BB@cisco.com> <CAFU7BASpHVTQ5SuNsdNu70ejZDnpVuPUaig+0_C=6q+mDQDFXA@mail.gmail.com> <BYAPR11MB355844AED3BA019B671797DDD8490@BYAPR11MB3558.namprd11.prod.outlook.com>, <CAFU7BATuCN1rE=H9v0vv84UKKE7zD+LtRqh48Zf7hHN+sSGQJw@mail.gmail.com>
In-Reply-To: <CAFU7BATuCN1rE=H9v0vv84UKKE7zD+LtRqh48Zf7hHN+sSGQJw@mail.gmail.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: google.com; dkim=none (message not signed) header.d=none;google.com; dmarc=none action=none header.from=cisco.com;
x-originating-ip: [2a01:cb15:25e:cc00:8c82:75ad:151f:a345]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 5247095a-da88-4411-a0b4-08d83b8f9ae8
x-ms-traffictypediagnostic: MN2PR11MB3917:
x-microsoft-antispam-prvs: <MN2PR11MB3917630B0D5AC31CFCC49960D8460@MN2PR11MB3917.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: jwC4uuWqs7Cu1UoPU/9SYSKhy6HLNnmvqwtV2k7/02Eg0R+3kCsPlbqJkwz9vW5nS5vJMiEODMlTOZlxUHfg2ibSv+wfyKEALkf4YrKFB89qXpVHhorCWCRoKCXmKbdE701A5pki27nTS9ETLMy5wKVXC7DCNEnikG3aA6Agx4WsnNQa+8opulXby15N5X4oozwl9PUyPBbfJp/mYbV5geZtsuHTwFxnTUim0Knuw1i26fbQXZiSvuyIKKq6WEjNc07Y+VHmcVPCjfCwO1DkDfAxeX3s6JB27io+S2aUwbAw9kffTMoKfF1igrcLifBb3ZebzB1K5PXTZGJskxm8ubifjR2xN7mlfOCRlZjlOf1Kvtvlqwj6/Ka5qJxzGi5hssmn2B4P3jjhTsdJuqfDaQ==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB3565.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(366004)(346002)(376002)(396003)(39860400002)(136003)(30864003)(66556008)(66446008)(66476007)(64756008)(478600001)(76116006)(91956017)(33656002)(66946007)(966005)(5660300002)(316002)(6512007)(2616005)(6506007)(6486002)(66574015)(186003)(8676002)(83380400001)(71200400001)(6916009)(86362001)(53546011)(8936002)(54906003)(36756003)(2906002)(4326008)(579004); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: Bd8fVgOgaNwfNvivnJb5sQ5Uq20HiOBc1BVb5lyi1WVJknUID7ZIyUM+pUPUCXzofcqleetW+QBtUjFkIqORtoFDrzJR52OAxJJnM5depnRADP8Sc16YPmu+IASCQ8R0clwSQbxcqKWnfhvBGAjUkSqD+SKjwVhFtQ3pKW5YJbcx6hrayno4CeVyEgiFWVeSp1o1UwS23VQ8n7ogIzFSZPM1jBZT2BvjKLzEGZladpyp5E6a4+anSDVcQLsSCue7hFwrNEpEOgbV5mTrZaKXIc3tUss7m7lNpyz6JpayOkNvn9lEnV407sSP0WeJ+HTSLWkXB69Ds6b+0k36AZYdYjn8DaPOhdspRk7Q5PftIxu05xZhdPWxGfVCVGbROIDFAUkL7HvuaFYU/DmAtf1L7Q7kgmsUMEdSvXp58rnlmbUsaYKfWyL9bMBu85ZFp9tfuOT9LJpyrfhnYua47T8Yy/KpE1aRnM8lk53WLjST/F/r2zhYH8mpdr6y85xOalURfdzLHbhRzcRNMi8C2H2b/LZH7hlWenchkbcQ81jAPwvshgMp8nKr9Wq4H4KAgonKn+mIDnYXtht5KfURPIpoeumRtTpX9a4Dq2HWLOCWxX907aWqcBNIK/y8ZmHll7ygcX5vcqDyX9nT11z6JRqpi1lKYOiKOCTFupSeVcPBWNXPsa0Ma9UlIoJ/7cIZ7XToCwXUw6GN7NupZW4pQW3Vew==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB3565.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5247095a-da88-4411-a0b4-08d83b8f9ae8
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Aug 2020 11:38:43.6185 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: fu0wEUIagxx1A03FCyecFcE7eQeIllxwli+ixDUNEdiCHOrmUiyt8sfQUUh+yVDTuLMEbQCs7+QOHaoFxJu6jw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3917
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.37.102.12, xch-rcd-002.cisco.com
X-Outbound-Node: alln-core-6.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/TiFBNtmbF9f4OXK5DGnsfZrcGRo>
Subject: Re: [v6ops] draft-ietf-6man-grand : saving lookups
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: v6ops discussion list <v6ops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/v6ops>, <mailto:v6ops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/v6ops/>
List-Post: <mailto:v6ops@ietf.org>
List-Help: <mailto:v6ops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/v6ops>, <mailto:v6ops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 08 Aug 2020 11:38:52 -0000



Regards,

Pascal

> Le 8 août 2020 à 13:17, Jen Linkova <furry13@gmail.com> a écrit :
> 
> On Fri, Aug 7, 2020 at 6:33 PM Pascal Thubert (pthubert)
> <pthubert@cisco.com> wrote:
>> I'm effectively describing the behavior of the host when the prefix is not on-link, in combination with GRAND. Together, they can mostly eliminate multicast lookup., which is, well, grand.
> 
> There is one catch here, I'm afraid. I might be mistaken but AFAIK
> hosts are able to cache more packets while doing address resolution
> than routers.
> So if hosts start sending all traffic to onlink-destinations and the
> router does not have the NC entry for that address, then we are back
> to the original problem of 'all packets but the very first one is
> dropped' but at the bigger scale.

True, Jen.

That’s probably ok if that packet is just the original SYN. 

Still we’d want to avoid that situation. Maybe the host should renew the NCE in the router periodically ?

> 
>> As I read it, the L bit when reset indicates an address from that prefix is not signaled to be reachable on the multicast domain. IOW It may or may not be reachable. So the RFC 4861 address resolution may not work, better not use it. Instead pass the packets to the router to route beyond the broadcast domain.
>> 
>> So yes, one quick and dirty way to get there would be to RECOMMEND that the prefix is advertised as not on-link (L=0) in general. We get the correct operation, but then this defeats the semantics of the bit, doesn't it?
> 
> Does it? I don't think so... Setting L=1 means 'addresses in that
> prefix are considered on-link', so if the address does not exist in
> the NC, the host needs to send an NS for that address. L=0 means 'if
> you haven't received an explicit indication that the address is
> onlink, don't use Neighbor Discovery for that address but use your
> default route instead'. Isn't it what you want?
> 

Yes, I want the same host behavior but for another reason.

> We also need to take into account reliability of redirects here..
> Anyway, just to confirm - it doesn't look like your suggestion changes
> anything for this draft, right? Possible optimisations built on top of
> GRAND can be described separately..

True too, Jen. Depends how much benefit we want to derive from the spec.

Keep safe,

Pascal

> 
>>> -----Original Message-----
>>> From: Jen Linkova <furry13@gmail.com>
>>> Sent: vendredi 7 août 2020 04:04
>>> To: Pascal Thubert (pthubert) <pthubert@cisco.com>
>>> Cc: Jen Linkova <furry@google.com>; IPv6 Operations <v6ops@ietf.org>;
>>> 6man <ipv6@ietf.org>
>>> Subject: Re: [v6ops] draft-ietf-6man-grand : saving lookups
>>> 
>>> HI Pascal,
>>> 
>>> Sorry for not responding, vacation..
>>> 
>>> It looks to me that what you are suggesting can be achieved by setting L bit to
>>> zero in PIOs. In that case hosts would send all traffic to routers and upon
>>> receiving a redirect would learn that the given destination is actually on-link.
>>> Or am I missing anything?
>>> 
>>> On Sat, Aug 1, 2020 at 2:21 AM Pascal Thubert (pthubert)
>>> <pthubert=40cisco.com@dmarc.ietf.org> wrote:
>>>> 
>>>> Hello Jen
>>>> 
>>>> Since the router is prepopulated, it knows the ND resolution before hosts
>>> do.
>>>> 
>>>> So say a third party host has traffic to send and the prefix is online. It will
>>> store one packet and multicast a lookup to the snma of this node. It will drop
>>> the other packets.
>>>> 
>>>> An alternate behavior in a network where GRAND is enabled could be to
>>> start by forwarding the packets to the router in case of aN ND cache miss.
>>>> 
>>>> If the router already has an NCE there will not be a lookup at all. The router
>>> will redirect immediately and relay the packets in the meantime. No delay, no
>>> loss. And no multicast...
>>>> 
>>>> If the router does not have a cache, it will do the NS lookup. And eventually
>>> redirect anyway if the traffic continues. Same overall cost, with the benefit
>>> that the router now has the cache ready in case yet another host needs it.
>>>> 
>>>> Overall benefits day 1, incrementally useful as GRAND gets deployed.
>>>> 
>>>> Cherry on the cake: the router may be more SAVI-savvy than this host so it
>>> may redirect to the real first-come node.
>>>> 
>>>> What do you think?
>>>> 
>>>> Pascal
>>>> 
>>>> Le 30 juil. 2020 à 12:37, Lorenzo Colitti
>>> <lorenzo=40google.com@dmarc.ietf.org> a écrit :
>>>> 
>>>> 
>>>> I think the fact is that ND is inherently insecure from on-link attacks. If
>>> security is desired, then it needs to be provided in other ways, such as via
>>> SEND or SAVI. But it's also not particularly desirable to provide security at this
>>> layer. Traffic snooping is not very useful (not zero utility, but difficult to use
>>> well) when all traffic is encrypted, and on-link DoS attacks just aren't very
>>> useful these days given that many devices have a variety of connectivity
>>> options.
>>>> 
>>>> On Thu, Jul 30, 2020 at 5:05 PM Vasilenko Eduard
>>> <vasilenko.eduard@huawei..com> wrote:
>>>>> 
>>>>> Then it is not logical for me:
>>>>> Many people understand that "Unsolicited NA" is a big security hole
>>>>> per se, But instead of fixing it (may be even deprecate - should be
>>>>> investigated) Additional functionality is building on top of it.
>>>>> It would additionally challenge this security problem resolution in the
>>> future!
>>>>> 
>>>>> Again: "Unsolicited NA" with Override bit set - is a disaster now..
>>>>> IMHO: it is better to prohibit "Unsolicited NA". Let's wait timers for the
>>> case of MAC address change on legitimate host.
>>>>> May be we could think about other solutions.
>>>>> But if additional functionality would be built on top of "Unsolicited NA" -
>>> less options would be available ("deprecate" would be not a choice anymore).
>>>>> 
>>>>> If something is ill - it should be cured first - bodybuilding make sense only
>>> after this.
>>>>> 
>>>>> Jen, I have not understood below why you did mention RA Guard. Intruder
>>> does not need it. He just claim (by Unsolicited NA) that his MAC is connected
>>> to GUA of victim.
>>>>> Intruder could claim it every 5 seconds to keep cache in STALE state (for
>>> the case of very careful vendor implementation of ND).
>>>>> As you mentioned - no help from MLD snooping on switches - it would be
>>> enough to just listen to DAD. Switch could not help in principle.
>>>>> The first modified DNS response would convert traffic flow to bi-directional
>>> for Intruder.
>>>>> 
>>>>> Ed/
>>>>> -----Original Message-----
>>>>> From: Jen Linkova [mailto:furry13@gmail.com]
>>>>> Sent: 30 июля 2020 г. 5:07
>>>>> To: Vasilenko Eduard <vasilenko.eduard@huawei.com>
>>>>> Cc: 6man <ipv6@ietf.org>; v6ops@ietf.org
>>>>> Subject: Re: I-D Action: draft-ietf-6man-grand-01 - additional
>>>>> security concerns
>>>>> 
>>>>> On Thu, Jul 30, 2020 at 5:56 AM Vasilenko Eduard
>>> <vasilenko.eduard@huawei.com> wrote:
>>>>>> You did ask a feedback yesterday about severity of 7sec security hole that
>>> has very low probability.
>>>>>> I have intention here to show that probability is 100%, 7sec could be
>>> prolonged to forever, and the final result is the full interception of innocent
>>> host traffic by intruder (successful "man-in-the-middle").
>>>>>> 
>>>>>> Pre-request for success:
>>>>>> - no multicast snooping (MLD) and filtering on a switch, that is
>>>>>> perfectly possible
>>>>>> - Intruder should be already on the same subnet (gained control
>>>>>> over other host by exploiting of different vulnerability)
>>>>>> - intruder should suppress DAD on Intruder's controlled host (is
>>>>>> Windows firewall capable to filter out DAD?)
>>>>>> - We assume that we are talking about the future when this draft is
>>>>>> used by majority of nodes (victim should use it)
>>>>>> 
>>>>>> Procedure:
>>>>>> Intruder's controlled host does listen to all-routers multicast address
>>> (ff02::2).
>>>>>> As soon as it would eavesdrop unsolicited NA from victim node (probably
>>> after boot) - Intruder would immediately (a few milliseconds) duplicate NA in
>>> router's direction, but with 2 changes: (1) his LLA (MAC); (2) Override bit set.
>>>>>> Intruder has time only up to the point that response to victim's traffic
>>> would be returned from the Internet (from tens of milliseconds to many
>>> seconds if victim would not start sending immediately), - but it is enough time:
>>> local communication should be faster.
>>>>>> Theoretically, RetransTimer should be imposed on unsolicited NA (section
>>> 7.2.6), but low chances that this timer is checked on receiving side (router),
>>> because RetransTimer is specified for transmission side.
>>>>>> According RFC 4681 section 7.2.5 clause II: O bit set should not just
>>> rewrite ND cache, but additionally mark ND record as REACHABLE. According
>>> to section 7.2.6: " The Override flag (for unsolicited NA) MAY be set to either
>>> zero or one". Despite it contradicts to the logic of the whole RFC 4681 (O bit
>>> should not be set in unsolicited NA - it is mentioned in a few places of RFC
>>> 4681). But because section 7.2.5 and section 7.2.6 clearly permit to use
>>> Override flag - higher probability that particular implementation would not
>>> just rewrite LLA on router, but additionally put it into REACHABLE..
>>>>>> Intruder could be sure that at least STALE state would be created
>>> according to section 7.2.5 clause I, - this ND record would be against his LLA
>>> anyway.
>>>>>> After receiving return traffic (if it was created as STALE, not REACHABLE) -
>>> router would ask intruder about reachability (solicited NS-NA) - intruder would
>>> confirm his LLA - it would finally put ND cache record into REACHABLE.
>>>>> 
>>>>> 1) the 7 seconds corner case was for 'preventing address collision for
>>> Optimistic DAD', not for any intentional attacks case. Because:
>>>>> 2) What you are describing could be done today, now, anytime w/o the
>>> changes described in the draft. If there is no MLD snooping then the intruder
>>> would see the DAD packet from the victim, so it would know the victim
>>> address anyway  - no reason even to join ff02::2. Now all the attacker needs to
>>> do is to keep sending NA with S=1, O=1 - hoping that when the first packet of
>>> the return flows arrive and the router creates an INCOMPLETE entry and sends
>>> an NS, the attacker's packet would come before the victim's NA. Done, the
>>> entry is changed to REACHABLE, all traffic goes to the attacker.
>>>>> Actually even simpler. The attacker does not need to deal with timing.
>>>>> Let's say the router has an NC entry for the victim address in any other
>>> state than INCOMPLETE. The attacker sends an NA with S=1, O=1, Target
>>> address = the victim's IPv6 address, the TLLA = the attacker MAC address.
>>> Done. The router updates the cache entry and changes it to REACHABLE state.
>>>>> 
>>>>> There is nothing new here. We have the same issue with ARP - the attacker
>>> can override ARP entry on the router.
>>>>> 
>>>>>> That's it: upstream traffic of victim host is going to router, traffic back is
>>> going through Intruder.
>>>>>> I have consulted with penetration tests professional (these are people
>>> with the same qualification as hackers but they play on legal side): what he
>>> would be doing next? He said that he would return traffic to legitimate host -
>>> victim should not see performance degradation. He would collect cookies and
>>> some other valuable information. He would finally see DNS response, change
>>> it and redirect everything to himself on the permanent basis - he does want to
>>> see both directions of victim exchange. He has qualified Man-in-the-middle as
>>> full fiasco - it does open many opportunities for him. He has mentioned very
>>> good feature of this draft that there is no any interruption for victim's traffic
>>> flow, no any excessive traffic to victim, that is very rear benefit for hacker's
>>> tool.
>>>>> 
>>>>> For all that doom and gloom the attacker would also need to see the traffic
>>> *from* the victim. Assuming the network has RA Guard in place it would be a
>>> bit harder. If the network does not have RA Guard our poor victim has much
>>> bigger problems already.
>>>>> 
>>>>>> What to do about it?
>>>>>> 1. Potentially it is possible to do RPF-like check for Source LLA addresses.
>>> Upstream traffic from victim's SLLA would not be in ND cache - such traffic
>>> could be discarded. It is better to block communication than permit intruder
>>> to exploit vulnerability.
>>>>> 
>>>>>> 2. Increase RetransTimer and ask receiver side (router) to check on
>>> sending side delay between ND record override (for the same SLLA). But how
>>> long should be the timer? Host could wait a lo-o-o-ng time before it would
>>> request 1st information from internet. It would decrease probability, but
>>> would not completely eliminate attack vector.
>>>>>> 
>>>>>> My proposition for this draft is disruptive:
>>>>>> I believe that ND is very complicated (some could say "fragile") - it is
>>> better not to touch it.
>>>>>> Additionally I do not like to wait till all hosts would refresh to new draft
>>> (to get new functionality).
>>>>> 
>>>>> Well, only hosts which want to connect to the network faster need to
>>> implement this. So host OS developers have pretty good incentive here.
>>>>> Please keep in mind that the proposed behavior is not currently prohibited.
>>> We are not changing any MUST NOT to anything else. All we are doing is to
>>> making some recommendations more explicit.
>>>>> 
>>>>>> I propose to change only router behavior: check Source LLA (MAC) for
>>> every packet, if this SLLA is absent in ND cache - then request solicited NS-NA
>>> immediately. It would probably resolve faster than traffic would return from
>>> the internet.
>>>>> 
>>>>> Have you checked the problem statement draft?
>>>>> https://datatracker.ietf.org/doc/html/draft-ietf-v6ops-nd-cache-init-
>>>>> 03#section-3.7
>>>>> specificatlly?
>>>>> What you are proposing does make sense, however it would not help in
>>> case of multiple routers. Also I recall some people having strong opinions on
>>> performance implications.
>>>>> 
>>>>>> Effectively I do proposed the same SLLA RPF that is needed to fix current
>>> solution, but:
>>>>>> - without any modification to host OSes
>>>>>> - without any modification of standard (it is local recommendation
>>>>>> for router, NS-NA is exactly the same from RFC 4681, NA is unicast
>>>>>> - it is important for security)
>>>>>> - without any risk to break ND fragile algorithm
>>>>>> - it could be optional, or even configurable on the router as
>>>>>> "value add feature" in competitive tender Because it is just best practice
>>> recommendation - may be it make sense to move it to "v6ops"?
>>>>> 
>>>>> See
>>>>> https://datatracker.ietf.org/doc/html/draft-ietf-v6ops-nd-cache-init-
>>>>> 03
>>>>> 
>>>>>> PS: Looking to the above - unsolicited NA should be really delayed by
>>> additional big timer (not by RetransTimer that is used for solicited NS/NA) and
>>> checked on receiver side - this modification of standard is really needed to
>>> close Unsolicited NA vulnerability.
>>>>>> Somebody said on the call that it is already a feature of some OS
>>> (Android?) - it is bad: it means that this OS is already vulnerable.
>>>>> 
>>>>> I was saying that some routing platforms have this already implemented.
>>> Search for 'glean' here:
>>>>> https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipv6_basic/configur
>>>>> ation/15-e/ip6b-15-e-book/ip6-nd-cache-mgmt.html
>>>>> 
>>>>> AFAIK there are implementations which are also prepopulating NC from
>>> DAD packets but I can not find you a reference right now.
>>>>> 
>>>>>> From: ipv6 [mailto:ipv6-bounces@ietf.org] On Behalf Of Jen Linkova
>>>>>> Sent: 27 июля 2020 г. 7:49
>>>>>> To: 6man <ipv6@ietf.org>
>>>>>> Subject: Re: I-D Action: draft-ietf-6man-grand-01.txt
>>>>>> 
>>>>>> Hello,
>>>>>> 
>>>>>> The -01 version addresses comments received (thanks everyone who
>>> provided feedback). Also, Section 3 (Avoiding Disruption) has been expanded
>>> and discussed a corner case when two devices start using the same address
>>> almost at the same time (the second device configures an optimistic address
>>> after the rightful owner sent some packets but before the return traffic
>>> arrives).
>>>>>> Feedback on the updated section 3.3
>>>>>> (https://tools.ietf.org/html/draft-ietf-6man-grand-01#section-3.3) is very
>>> much appreciated.
>>>>>> 
>>>>>> On Sun, Jul 26, 2020 at 10:14 AM <internet-drafts@ietf.org> wrote:
>>>>>>> 
>>>>>>> 
>>>>>>> A New Internet-Draft is available from the on-line Internet-Drafts
>>> directories.
>>>>>>> This draft is a work item of the IPv6 Maintenance WG of the IETF.
>>>>>>> 
>>>>>>>        Title           : Gratuitous Neighbor Discovery: Creating Neighbor
>>> Cache Entries on First-Hop Routers
>>>>>>>        Author          : Jen Linkova
>>>>>>>        Filename        : draft-ietf-6man-grand-01.txt
>>>>>>>        Pages           : 12
>>>>>>>        Date            : 2020-07-25
>>>>>>> 
>>>>>>> Abstract:
>>>>>>>   Neighbor Discovery (RFC4861) is used by IPv6 nodes to determine the
>>>>>>>   link-layer addresses of neighboring nodes as well as to discover and
>>>>>>>   maintain reachability information.  This document updates RFC4861
>>> to
>>>>>>>   allow routers to proactively create a Neighbor Cache entry when a
>>> new
>>>>>>>   IPv6 address is assigned to a node.  It also updates RFC4861 and
>>>>>>>   recommends nodes to send unsolicited Neighbor Advertisements
>>> upon
>>>>>>>   assigning a new IPv6 address.  The proposed change will minimize the
>>>>>>>   delay and packet loss when a node initiate connections to off-link
>>>>>>>   destination from a new IPv6 address.
>>>>>>> 
>>>>>>> 
>>>>>>> The IETF datatracker status page for this draft is:
>>>>>>> https://datatracker.ietf.org/doc/draft-ietf-6man-grand/
>>>>>>> 
>>>>>>> There are also htmlized versions available at:
>>>>>>> https://tools.ietf.org/html/draft-ietf-6man-grand-01
>>>>>>> https://datatracker.ietf.org/doc/html/draft-ietf-6man-grand-01
>>>>>>> 
>>>>>>> A diff from the previous version is available at:
>>>>>>> https://www.ietf.org/rfcdiff?url2=draft-ietf-6man-grand-01
>>>>>>> 
>>>>>>> 
>>>>>>> Please note that it may take a couple of minutes from the time of
>>>>>>> submission until the htmlized version and diff are available at
>>> tools..ietf.org.
>>>>>>> 
>>>>>>> Internet-Drafts are also available by anonymous FTP at:
>>>>>>> ftp://ftp.ietf.org/internet-drafts/
>>>>>>> 
>>>>>>> 
>>>>>>> -----------------------------------------------------------------
>>>>>>> --- IETF IPv6 working group mailing list ipv6@ietf.org
>>>>>>> Administrative
>>>>>>> Requests: https://www.ietf.org/mailman/listinfo/ipv6
>>>>>>> -----------------------------------------------------------------
>>>>>>> ---
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> --
>>>>>> SY, Jen Linkova aka Furry
>>>>>> 
>>>>>> -------------------------------------------------------------------
>>>>>> - IETF IPv6 working group mailing list ipv6@ietf.org Administrative
>>>>>> Requests: https://www.ietf.org/mailman/listinfo/ipv6
>>>>>> -------------------------------------------------------------------
>>>>>> -
>>>>> 
>>>>> 
>>>>> 
>>>>> --
>>>>> SY, Jen Linkova aka Furry
>>>>> _______________________________________________
>>>>> v6ops mailing list
>>>>> v6ops@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/v6ops
>>>> 
>>>> _______________________________________________
>>>> v6ops mailing list
>>>> v6ops@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/v6ops
>>>> 
>>>> _______________________________________________
>>>> v6ops mailing list
>>>> v6ops@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/v6ops
>>> 
>>> 
>>> 
>>> --
>>> SY, Jen Linkova aka Furry
> 
> 
> 
> --
> SY, Jen Linkova aka Furry