Re: [Panic] notes on Panic Draft

Adam Montville <> Fri, 28 July 2017 11:34 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id D5A30131FD3 for <>; Fri, 28 Jul 2017 04:34:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Mn04EPc2HAZ1 for <>; Fri, 28 Jul 2017 04:34:00 -0700 (PDT)
Received: from ( [IPv6:2607:f8b0:4001:c06::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id BB0C912009C for <>; Fri, 28 Jul 2017 04:33:59 -0700 (PDT)
Received: by with SMTP id g13so88699744ioj.5 for <>; Fri, 28 Jul 2017 04:33:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=mkCNiP/ODz3ugCq76V+oFEa7z5pIM3jHT12EGmcaFkI=; b=WXqob/DE8gE2LZev4s486yIt2vqkq5qvB+VJ657ncJDvWEXxBMOi7qt+Ix/RcL3cBW HIzMM5j2yxKiKvOtNyPXW6B2em49MsKFPYrBY+I+k2B74DF6tLLtgyDVMcley+0ej7oc GZO5DfH0P4s4E6JRJNOQbtChut9rk0wlyZAHshShthYU5LlJ/HTXYBFjazkh9bfC4xn/ 5zsJgr58PU394ly3TBBWadbKq05wljn3t3v/5z0NCsfHFoitXBKVwEryXHT9kYDZ7nIH UOyWHPefPMNH0TjLsTalO8EpTy2NTpOVvQZoIZQpySvkyekQXr6LxEZznWNBU4uXWYXF F/8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=mkCNiP/ODz3ugCq76V+oFEa7z5pIM3jHT12EGmcaFkI=; b=VNjgpmFa3CheaAVxfK8TXNuNvs6dnYhSJAjUfNtWANE/Nb8KYMlAH8ZXY2oRFajeMC +6lWzqGm8tE05CEsOCEQ+zzzjnohs0Ym8Qcc9yqz52BripiPXSe1tQNBFCi1ZhXaeTf4 fbFUKQvHRbqwSIgbg5KZzq5MzoQ63FdTeOpbH/phKHP2D7YJiEVNB5NE8eSWasC6NdpU 8IgJaxmwxBQPTUSbOqZ3i1TTVwuTD/vXjBGcQCsJRYUN5TYLamXrtBM+cPz4R6yXenf/ 534krgfjdEpNESjR5/qeSBD7MA3U7qrncNvLWyVxkZ15c5q3Eqi9kDFXwMpaONuUFjsJ FmUw==
X-Gm-Message-State: AIVw113S4n5wuZOB8dXWx43bOatv1egS5dfcTIVRi/BgQUkR56yGTgpu Mbaf0m0wBVxEPXSDlX9omKYdJvdVAw==
X-Received: by with SMTP id b62mr4850114ioe.142.1501241638967; Fri, 28 Jul 2017 04:33:58 -0700 (PDT)
MIME-Version: 1.0
References: <> <> <> <>
In-Reply-To: <>
From: Adam Montville <>
Date: Fri, 28 Jul 2017 11:33:47 +0000
Message-ID: <>
To: Jessica Fitzgerald-McKay <>, Guy Fedorkow <>
Content-Type: multipart/alternative; boundary="001a1140f3c09cdfa405555f0e02"
Archived-At: <>
Subject: Re: [Panic] notes on Panic Draft
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "Posture Assessment Through Network Information Collection \(panic\)" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 28 Jul 2017 11:34:04 -0000

Thanks for sharing that link, Jess. I had seen the article when the Journal
was published. When considering that there are further downstream uses of
collected information, I'm wondering what the value is of, in effect,
having two points of evaluation: Compliance Server and Evaluators.

Before getting into this, I do want to point out that I believe we are on
the same wavelength with respect to the outcome: We want a cooperative
"ecosystem" of capabilities (very likely implemented by multiple vendors)
to increase the efficacy of enterprise security programs. I say that at the
risk of overstating your views, but I think that's about right.

Consequent to our hackathon efforts, I'd call your attention to [1]
generally (our current write-up on approach and outcomes) and [2] (the last
diagram on that first page at [1]). Because the data collected is
ultimately destined to support a widely-scoped security program, it may
make more sense to go for the wider data sharing problem more immediately
in the solution's architecture. In a sense, the Compliance Server described
in your article is one that serves, in reality, multiple purposes: One
component (StrongSwan in the hackathon effort) is part of a SACM Collector,
and the other component is an evaluator and datastore. It may make sense to
decouple those multiple purposes, so that the Compliance Server portion of
the ECP solution becomes a consumer of collected information, just like any
other evaluator.

There may be no reason (other than limited bandwidth in this wider
community) one approach should be excluded in favor of another.

All that said, I, too, am very interested in gaining additional feedback
from others on this list, the SACM list, and/or the MILE list.

Kind regards,




On Thu, Jul 27, 2017 at 11:49 AM Jessica Fitzgerald-McKay <>; wrote:

> Adam et al.,
> Yes, there are a lot of places where sacm, panic and mile overlap. If you
> haven't read it, check out this (shamelessly self-promoted) article:
> It describes my point of view of how these efforts intersect. I'd love
> feedback on it.
> Thanks,
> Jess
> On Wed, Jul 26, 2017, 4:55 PM Adam Montville <>;
> wrote:
>> Hi everyone.
>> It's really good to see additional interest in this subject area! I
>> encourage you to review the existing ongoing work in the SACM working group
>> - specifically the requirements draft (hopefully through IESG soon; see
>> [1]), one of the drafts under adoption consideration (Endpoint Compliance
>> Profile: draft-haynes-sacm-ecp) [2], and a data model proposal for carrying
>> SACM statements (YANG subscribed notifications via SACM Statements:
>> draft-birkholz-sacm-yang-content; see [3]).
>> After a successful hackathon in Prague, we are redoubling our efforts on
>> several of the topics with which PANIC appears to be concerned.  While not
>> all of the work PANIC may imply should necessarily be done in the SACM
>> group, I would suggest that those of us interested in PANIC look toward
>> current working group drafts as well as those being considered for adoption
>> as potentially viable approaches to the PANIC problem.
>> Our SACM-related hackathon efforts are mostly documented at [4]. (Note
>> that there were two SACM-related efforts, though only one was exclusive to
>> SACM.) We have designs for the next hackathon to integrate these two
>> related efforts (which may help answer the question about the link between
>> posture server and data store), which could look something like the diagram
>> at the bottom of that page (also at [5]).
>> Of course, there may be little-to-no overlap between what SACM has been
>> attempting to accomplish and what PANIC would like to ultimately achieve.
>> Kind regards,
>> Adam
>> [1]
>> [2]
>> [3]
>> [4]
>> [5]
>> On Wed, Jul 26, 2017 at 1:46 PM Jessica Fitzgerald-McKay <
>>>; wrote:
>>> Thanks for the feedback, Guy. Responses in-line. I have more questions
>>> than answers, and I'd like others on the list to weigh in. Looking forward
>>> to hearing from everyone.
>>> On Fri, Jul 21, 2017 at 5:18 PM, Guy Fedorkow <>;
>>> wrote:
>>>> Hi Dave, Jessica,
>>>>   Thanks for updating the PANIC draft…  I think it’s starting to take
>>>> shape!
>>>>   It seems that the next step in moving this forward might be to
>>>> outline the kind of information we want to retrieve from the endpoints.
>>>> I’d assume you’d want some kind of info to identify the device –
>>>> manufacturer, serial number, etc, plus something that shows the software
>>>> revision of the relevant modules.  Could that be something like a set of
>>>> SWID tags?
>>> ​Personally, I would be delighted if software load could be captured in
>>> a SWID tag. Failing that, I would like to be able to collect a swid-like
>>> set of information from​ the network device. I took a look at NISTIR 8060
>>> (which you can read here:
>>> and it looks
>>> like-- ignoring data about the tag itself, like tagID, entity information
>>> about the tag creator, etc--  required fields for a primary tag are:
>>>    - software name and
>>>    - software version,
>>> which should be easy enough to collect on their own.
>>> But, SWID tags offer additional information that could be useful to us.
>>> Evidence and payload fields, for instance, can be used to communicate file
>>> hashes that comprise the software. Tag signatures could allow us to have
>>> move trust in the entity that created the tag (for example, a tag from the
>>> software vendor is potentially more trust worthy than one created by a
>>> third party). And SWIDs allow us to easily communicate what patches are
>>> installed on the product, which is necessary for vulnerability and
>>> compliance assessments.
>>> All things considered, I'd like to use SWID tags. I would like a sense
>>> of how widely implemented they are for network device software and
>>> operating systems. Anyone have any insight there?
>>>   It might be good to pattern the device information on IEEE 802.1AR.
>>>> Using a cryptographic ID might not be a ‘must’, but it’s probably a
>>>> desirable option, so making sure it would fit might be helpful.
>>> 802.1ar requires installation ​
>>> ​of an IDevID, from which many LDevIDs can be created. I'm happy to geek
>>> out on the added security of cryptographic IDs, but, can we talk though the
>>> workflow of getting the initial IDevID installed (who would be responsible
>>> for that? Do network equipment vendors use IDevIDs today? If not, could the
>>> device owner install one without a lot of hassle?)​.
>>> Also, secure though 802.1ar is, it often has no relation to any
>>> observable device identities on the network. I'm thinking about a behavior
>>> monitoring use case here, in which I notice a device behaving in an
>>> unexpected manner, and want to investigate it's posture while I figure out
>>> what is going on. Is there a way to gather many identities from an network
>>> device using netconf/yang?
>>>>   It might be good to add a note saying whether the draft should extend
>>>> to virtualized devices, e.g., NFV instances.  I’d assume that it should,
>>>> but that might make identity a bit more complicated.
>>> ​In section 3 of the draft, we say "​Virtualized network functions are
>>> currently considered in scope". Of course, I worded it that way because I,
>>> too, am concerned about whether their inclusion makes our solution overly
>>> complicated. Are there any netconf experts that can speak to this concern?
>>>>   On the topic of scope, I suppose it might be good to say if “Things”,
>>>> as in IoT, are in scope or not.  I can’t guess if that has an impact on the
>>>> technical spec, but there certainly could be an impact on implied scaling
>>>> needs, and it might help remind readers that figuring out what’s running in
>>>> the IoT is a getting to be a big problem.
>>> ​Agreed that IoT is a problem. Do many "Things" that compose the
>>> Internet of Things implement netconf?​ It's such a broad space, I worry
>>> that some "Things" could handle netconf, and others (things like "smart
>>> dust", etc.) couldn't handle the added weight.
>>>>   The diagram in the front of the draft shows an interconnect between
>>>> Posture Server and Data Store…  seems like there could be some complicated
>>>> transactions across that link…  Do you think there’s existing practice that
>>>> could be used for this?
>>> ​Sadly, I know of nothing we could easily point to and say "that is the
>>> protocol we will use for server-datastore communication". But, what I do
>>> not know could fill volumes. Maybe others have ideas where we can start?
>>> ​
>>>>   The draft also mentions methods that Endpoints can use to find
>>>> Posture servers.  I wonder if Zeroconf or some kind of DHCP trick might
>>>> work for this?
>>> ​Zeroconf is an option. TCG has some prior art here (
>>> I am happy to consider all viable options.​
>>>>   Finally, in Security Considerations, I wonder if there should be
>>>> something about how much we do or don’t trust the endpoint to report its
>>>> Information truthfully. The combination of 802.1AR and signed SWID tags
>>>> might help with a way to assess the reliability of the information.
>>> ​Agreed, I will add that to the next revision. ​
>>>>   Great start, let’s try to start breaking down some of the top-level
>>>> topics to get to the next level of requirements.
>>>> Thx,
>>>> /guy
>>>> _______________________________________________
>>>> Panic mailing list
>>>> _______________________________________________
>>> Panic mailing list