[nasr] Re: [saag] Re: NASR BOF Follow-Up

Eric Rescorla <ekr@rtfm.com> Wed, 16 April 2025 02:27 UTC

Return-Path: <ekr@rtfm.com>
X-Original-To: nasr@mail2.ietf.org
Delivered-To: nasr@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id AA8DB1CB7D24 for <nasr@mail2.ietf.org>; Tue, 15 Apr 2025 19:27:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=rtfm-com.20230601.gappssmtp.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NbGWo22LMZxh for <nasr@mail2.ietf.org>; Tue, 15 Apr 2025 19:27:37 -0700 (PDT)
Received: from mail-yw1-x112e.google.com (mail-yw1-x112e.google.com [IPv6:2607:f8b0:4864:20::112e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id DDAF61CB7D13 for <nasr@ietf.org>; Tue, 15 Apr 2025 19:27:37 -0700 (PDT)
Received: by mail-yw1-x112e.google.com with SMTP id 00721157ae682-6ef9b8b4f13so55941977b3.2 for <nasr@ietf.org>; Tue, 15 Apr 2025 19:27:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20230601.gappssmtp.com; s=20230601; t=1744770457; x=1745375257; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=JtxeIOCOGbG+Wen2IJ12VlMX4HZAcfvZ/0wooZ4bDV0=; b=1Cm8/mBJktwCpZ3qIcWQ/LwVpdjHNwCISueyYYQBe/hDjDTJFkx2mCHCYX434e6o3D 3auAZAwdjnKsIEo937xyQ8NZx14rtVQx5omyQjxTJz0bYJaVIBlsmxg4fNsypsBSPdD+ SGVVQj84Xx/059Oe1psgxXHnj+YVG+4mLUcIsQl9HLKh8rRZG8l/R0wlkBAV98DCzXWk AZp6QSeOSPXOMiFi0DxhM38zibxv4HXNS8Bviqois6bCYg9ZLvvBA/H6XVrMZmzhYFWa 8Hkk8dmm61IoziPcnF64tskMWZsJFn3ywOQyAk7D3xq9ORzh/da4EYPFvVu6eawEWhKg 2H2A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744770457; x=1745375257; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=JtxeIOCOGbG+Wen2IJ12VlMX4HZAcfvZ/0wooZ4bDV0=; b=grcYyqP1jYXpq2nvSwglc7/S7z9/VOT2kxH61acJaYlDISXp+1rVgiuTSxQWY68JOi wUoC8u/R86EZhHNGUtzX2XshLL5Py/mr+THYNMb7izia/lyLlTKxQnGAt7pQO1OqkH/A o2y71rOWckvI0oqGjAE31GrMEEf+dHJGqt/AnUeWayaPQSJCYkV8pjgQ71CbQ3/cDjmB VBigICFr4N7h6VF1sp072CpAOHlH7UL3ROe9UwSfuL45a3dh0f99XFBSdvujUJP7euO7 b6mpZhOxLwQvYm7nyLg9ZUj6JWPfSRPALFB9wbdHmqGfZxAiaG5EmHr79ZGPBd6GxqqH 1D6A==
X-Forwarded-Encrypted: i=1; AJvYcCX8CEiD0YtvJSNiX3z5EMAkogLwdM+OM/b3iDLdDJS3BQ7RsuDk/56/lP8jI8/CdVgVnGPI@ietf.org
X-Gm-Message-State: AOJu0YyimP+mWhtOm20sBD1/eyciiOgdWGHbXcUOHRWhRzKrhfVO2wxi 6Gzl3gU8qBWSHHAhh0rBblsxmCjmtwyzVUSUVnDLKDPTrwwfqncOq40AqgPwTmThGp8ZfPUZ97a hR3lQDI63vJudW2lVjId66AqvkM0LVhZbQeXdYg==
X-Gm-Gg: ASbGncvIKQ3/y3S4bl03ZJlr2fYAsU0fM2/HzvZUwI8yB0ctjdEFEECvcMxAASNyqIH 5TPv7cqLh0qWFvZyx/2+Seml/8L0kyymrPNtZnm2noLLNXBB0u2F4ZM9lUqrqc5XDL43t2TuTl6 9fxuvmSEY7jjhM/mU60cpXulQL
X-Google-Smtp-Source: AGHT+IH3W268aagfAzLuII/1hbRi9vnP7Bn6uyrh5kRfUCQbmcDp7UjnvEaFJ1QhurY+s+p6PfX6tq/OLTh6gVZ/ZAo=
X-Received: by 2002:a05:690c:25ca:b0:702:d54:dd28 with SMTP id 00721157ae682-706b338ebb3mr1632067b3.32.1744770457265; Tue, 15 Apr 2025 19:27:37 -0700 (PDT)
MIME-Version: 1.0
References: <11730e71-f409-bbaf-9bc1-4f88d207bcab@ietf.contact> <CABcZeBMDg9cFGtf6AMwSiq3ZnZnrvwoAc7TjD0Ftq-JC8jWusQ@mail.gmail.com> <d3de69d6-f46b-fe0c-b6dc-8180864bd9b0@ietf.contact> <CABcZeBO15H=+ds0deqvtOzKvX+JvFzCn2pht3fcKYcp7df=UFw@mail.gmail.com> <52b08a1b-45e2-b03b-a0a8-12e55b56bfa8@ietf.contact> <CABcZeBOwZ3=pz=Xz1D3YwJ6_svTidt5azWDFnTwexsE508rmkA@mail.gmail.com> <ee313d5a-967b-c434-804c-097e4777ca20@ietf.contact> <CABcZeBP7-A52XPghkCWa7f15Xa1UvoHKujhNPzvoH+cP+McSWQ@mail.gmail.com> <Z_mZqmJs8Su1Tt2Y@faui48e.informatik.uni-erlangen.de> <CABcZeBMK5kBN2YG4Xev5CTVyk00BXAUWa4P_Ov9Q7K+-b1B5Pw@mail.gmail.com> <Z_3RJP3GUWBIlmqS@faui48e.informatik.uni-erlangen.de>
In-Reply-To: <Z_3RJP3GUWBIlmqS@faui48e.informatik.uni-erlangen.de>
From: Eric Rescorla <ekr@rtfm.com>
Date: Tue, 15 Apr 2025 19:27:00 -0700
X-Gm-Features: ATxdqUGjh9pUdK9IUvUz5stPL7xcRDwMs4kxUIdcO95L9PRTOAAYKIy56jBZZuc
Message-ID: <CABcZeBMF5hPv53On_-VdU7mr9qN48m9x80t6whTHFnNRgSnTPA@mail.gmail.com>
To: Toerless Eckert <tte@cs.fau.de>
Content-Type: multipart/alternative; boundary="000000000000520e0f0632dc07f8"
Message-ID-Hash: GTOZWZZDIYXFD47LN4B3SWNMQ2LGRYWG
X-Message-ID-Hash: GTOZWZZDIYXFD47LN4B3SWNMQ2LGRYWG
X-MailFrom: ekr@rtfm.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Henk Birkholz <henk.birkholz@ietf.contact>, Richard Barnes <rlb@ipv.sx>, Meiling Chen <chenmeiling@chinamobile.com>, "Liuchunchi(Peter)" <liuchunchi@huawei.com>, "nasr@ietf.org" <nasr@ietf.org>, IETF SAAG <saag@ietf.org>, Luigi Iannone <ggx@gigix.net>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [nasr] Re: [saag] Re: NASR BOF Follow-Up
List-Id: Network Attestation for Secure Routing <nasr.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/nasr/-mGg3dj148yiCUwotmtcDAv6VOI>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nasr>
List-Help: <mailto:nasr-request@ietf.org?subject=help>
List-Owner: <mailto:nasr-owner@ietf.org>
List-Post: <mailto:nasr@ietf.org>
List-Subscribe: <mailto:nasr-join@ietf.org>
List-Unsubscribe: <mailto:nasr-leave@ietf.org>

On Mon, Apr 14, 2025 at 8:23 PM Toerless Eckert <tte@cs.fau.de> wrote:

> On Fri, Apr 11, 2025 at 03:50:04PM -0700, Eric Rescorla wrote:
> > On Fri, Apr 11, 2025 at 3:37 PM Toerless Eckert <tte@cs.fau.de> wrote:
> > > Which part of my prior answer was unclear ?
> >
> > It's not so much that it was unclear as that I didn't find it persuasive.
>
> Well, if you don't raise a technical concern against an answer, that's not
> helpfull.
> And "non persuasive" is not a technical concern. But i guess what you
> wrote below is
> attempting to express the technical challenge you see.
>

You seem to be operating under the assumption that I'm somehow
required to go back and forth with you indefinitely as long as you're
willing to argue. That's not how this works. The proponents of some
project have the burden to build consensus and it's perfectly reasonable
for others to timebox that interaction.


> But the fact that multiple *mutually distrusting* parties are involved is
> > the source of the problem. If you are the person managing the devices,
> then,
> > yes, you can have a small number of known good configurations and
> > readily check that the deployed configurations are OK (mostly).
>
> Firstly: The "number of known good configurations" is a red herring. Where
> did that come from ?
>

It's a point I raised in the meeting that I don'tthink has ever been
adequately
addressed.


The config file could be a MByte large. One will work with cryptographic
> hashes of
> the config.


This is irrelevant to my point one way or the other.



> Yes, 99% of the config is irrelevant to assessment, so the NASR
> mechanics needs to unnecessary re-assess config changes that are
> irrelevant.
> But that can easily be optimized:
>
>   First run the file of interest is eg: "show conf everything".
>   Then the NASR logic looks at whats relevent. For example only a subset
>   of interfaces and routing entries. And issues a request for a file
>   that contains only that subset "show conf int e0 e7 e13; show conf
> routing X.Y.0.0/16"
>   With such an optimiation, NASR logic would need to re-assess confidence
>   in desired operations only when relevant config changes happen.
>

"NASR logic" is doing a lot of work here. Actually writing that logic
requires
examining every single configuration directive to determine which ones
are security relevant. Has someone done that exercise? If so, please
point me to it.

> But the situation with NASR is totally different: you need to consume
> other
> > people's configurations and verify if they are OK, and you don't get to
> > control them to minimize your variation.
>
> Verifying "other people's" config such as "show config all" is something
> that
> support personal in vendors has done for decades. Including me. Its not
> that
> hard to automate (with todays tools... 30 years back it was not ;-).
>

As I've been trying to explain, this is a different thing, roughly
comparable to mechanically determining that a piece of code
does what it's supposed to do. That's different from just looking
at specific things to see if they're right. As an analogy, when I
have a piece of code that's misbehaving, I first look at the
defect in the obvious places, but if I need to verify that code
behaves correctly, I need to look at unobvious places as well.



> As explained above, it is not about about minimizing variations. It is
> about avoiding
> re-assessment unnecessarily when there are only irrelevant
> config/operational changes.
>

And as I said, knowing what irrelevant is part of the problem.



> > So, no, I don't think what you have written above provides much in the
> > way of evidence that this is practical.
>
> Please tell me what additional evidence you would like to see beond the
> above
> explanations. I am sure that the NASR team would be happy to provide more
> exemplary evidence too, but only when it was clear upfront what the actual
> "accept" criteria are on your side - because it is impossible to have a
> technical argument purely against "i am not convinced" (without further
> explanation).
>

I've already explained what I'm looking for a number of times, but perhaps
I should be more explicit:

A demonstration or at least evidence that it's practical to take actual
router
configurations produced by other people and mechanically verify the specific
semantic properties of interest. To try to short-circuit a lot of back and
forth, what
you have above "show conf <...>" is insufficient because we need to know
that there are no other directives which could affect these processes.

What would I find persuasive here? I could imagine a number of things, but
probably the best would be, as I said above:

- Some set of predicates we wanted to verify about a network element
- A written analysis of all the configuration directives in some production
system
  and which ones could impact those predicates.


-Ekr