Subject: Re: [Panic] notes on Panic Draft

From: "Waltermire, David A. (Fed)" <[email-masked]>
Date: Thu, 10 Aug 2017 14:43:01 +0000

Panos,

I’d like to address your statement below about SWID tags. While we have a number of non-network vendors that are producing SWID tags, we do not have network vendors adopting yet. Much of the previous adoption of SWID tags has been driven by software licensing use cases. Vendors have adopted SWID tags in part because it helps them to know how much of their software is deployed across a given enterprise when performing license audits. At the same time, SWID tags provide software manageability to enterprises that need to know what software and patches are installed, if that software has been tampered with, and that the software has come from the actual supplier. The last point also helps vendors address counterfeit software and software distributions containing malware.

At NIST we are promoting SWID tags because SWID tags use a single data format that can provide information supporting multiple operational and security use cases simultaneously. They have a clear role in managing software licenses, detecting installed software (and patches/updates), identifying vulnerable software, managing secure configurations, and preventing the execution of malicious code on devices. All of these use cases apply to network devices. I talk with network device customers and they have similar concerns as other device users. They have troubles keeping the software on their network devices up-to-date. They have difficulties identifying if they have vulnerable software installed on their network devices.

SWID tags can be generated when building a software distribution package, which means after the initial investment into integrating SWID tags into the build and packaging system, all built software can have a SWID tag that is automatically generated. So why not support SWID tags if they will help with these things?

Regards,
Dave

From: Panic [mailto:[email-masked]] On Behalf Of Panos Kampanakis (pkampana)
Sent: Friday, July 28, 2017 11:40 AM
To: Jessica Fitzgerald-McKay <[email-masked]>; Guy Fedorkow <[email-masked]>
Cc: [email-masked]
Subject: Re: [Panic] notes on Panic Draft

Hi Jess,

To try to address two questions:

> I would like a sense of how widely implemented they are for network device software and operating systems. Anyone have any insight there?

I am not aware of any network vendors that use SWID tags.

> 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?

I can’t speak for all vendors, but Cisco has been using IDevIDs in their products for some time and more platforms are adopting it. The private key for the 802.1AR cert is stored in a secure storage chip (similar TPM) so the IDevID cannot be compromised. I applaud adopting a secure immutable identity or better a subsequently acquired LDevID to authenticate the reported data from the endpoint. Fallback or additional auth mechanisms will also be necessary for other usecases though.

Rgs,
Panos

From: Panic [mailto:[email-masked]] On Behalf Of Jessica Fitzgerald-McKay
Sent: Wednesday, July 26, 2017 2:46 PM
To: Guy Fedorkow <[email-masked]<mailto:[email-masked]>>
Cc: [email-masked]<mailto:[email-masked]>
Subject: Re: [Panic] notes on Panic Draft

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 <[email-masked]<mailto:[email-masked]>> 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: http://nvlpubs.nist.gov/nistpubs/ir/2016/NIST.IR.8060.pdf) 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 (https://www.trustedcomputinggroup.org/wp-content/uploads/Server_Discovery_And_Validation_v1_0r19-PUBLIC-REVIEW.pdf). 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
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/panic

---

From: Guy Fedorkow <[email-masked]>
Date: Sun, 13 Aug 2017 23:22:43 +0000

Hi Dave,
  I can’t say anything about what my employer is doing on this topic, but I will say that we’ve spent quite a bit of time in Trusted Computing Group on analyzing the use of signed SWID tags to convey version identification information from network vendors to attestation systems.  I’m not aware of other alternatives that come as close to solving the problem.

  If anyone is interested, it might be good to plug into the TCG work and make sure you think the result will work!

  Thanks
/guy fedorkow

From: Waltermire, David A. (Fed) [mailto:[email-masked]]
Sent: Thursday, August 10, 2017 10:43 AM
To: Panos Kampanakis (pkampana) <[email-masked]>; Jessica Fitzgerald-McKay <[email-masked]>; Guy Fedorkow <[email-masked]>
Cc: [email-masked]
Subject: RE: [Panic] notes on Panic Draft

Panos,

Regards,
Dave

To: Jessica Fitzgerald-McKay <[email-masked]<mailto:[email-masked]>>; Guy Fedorkow <[email-masked]<mailto:[email-masked]>>

Hi Jess,

Rgs,
Panos

Hi Dave, Jessica,

  *   software name and
  *   software version,

---

From: "Waltermire, David A. (Fed)" <[email-masked]>
Date: Mon, 14 Aug 2017 21:41:51 +0000

Guy,

Thanks. I have been working on connecting with the TCG work. It would be useful to get more discussion on this topic here as well from TCG members.

I believe Henk, who I am co-authoring the CoSWID draft, has been active in the TCG WGs on this topic. We are defining CoSWID in IETF SACM an alternate serialization to the SWID tag XML format to support devices that may require a smaller tag footprint.

https://datatracker.ietf.org/doc/draft-ietf-sacm-coswid/

This model is expected to be equal in the information it can capture as compared to ISO SWID tags, supporting all of the same use cases as an alternate serialization. Aside from these two efforts, I haven’t found anything else like them. This has been after looking around extensively and talking with many different groups about SWID tags and software asset management. All I have found are some proprietary solutions that address narrow/limited use cases.

Regards,
Dave

From: Guy Fedorkow [mailto:[email-masked]]
Sent: Sunday, August 13, 2017 4:40 PM
To: Waltermire, David A. (Fed) <[email-masked]>; Panos Kampanakis (pkampana) <[email-masked]>
Cc: [email-masked]; Jessica Fitzgerald-McKay <[email-masked]>; Bill Sulzen (bsulzen) <[email-masked]>; Jim Duncan <[email-masked]>; Seth Ross <[email-masked]>; Laffey, Tom (HPE Networking ATG) <[email-masked]>; Schmidt, Charles M. <[email-masked]>; Henk Birkholz <[email-masked]>
Subject: RE: [Panic] notes on Panic Draft

Hi Dave,

  If you’re interested, it might be good to plug into the TCG work and make sure we don’t make any mistakes!  Let me know if contacts would help.

  Thanks
/guy

To: Panos Kampanakis (pkampana) <[email-masked]<mailto:[email-masked]>>; Jessica Fitzgerald-McKay <[email-masked]<mailto:[email-masked]>>; Guy Fedorkow <[email-masked]<mailto:[email-masked]>>

Panos,

Regards,
Dave

Hi Jess,

Rgs,
Panos

Hi Dave, Jessica,

  *   software name and
  *   software version,