Re: [Suit] How are firmware and firmware versions expressed in manifest?

Henk Birkholz <henk.birkholz@sit.fraunhofer.de> Sat, 06 June 2020 17:00 UTC

Return-Path: <henk.birkholz@sit.fraunhofer.de>
X-Original-To: suit@ietfa.amsl.com
Delivered-To: suit@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 766D93A0ECB for <suit@ietfa.amsl.com>; Sat, 6 Jun 2020 10:00:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
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, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 4C8IaSJvROIE for <suit@ietfa.amsl.com>; Sat, 6 Jun 2020 10:00:42 -0700 (PDT)
Received: from mail-edgeKA27.fraunhofer.de (mail-edgeka27.fraunhofer.de [153.96.1.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9851B3A0ECA for <suit@ietf.org>; Sat, 6 Jun 2020 10:00:40 -0700 (PDT)
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A2FsCAApy9te/xoHYZlmHQEBAQEJARI?= =?us-ascii?q?BBQUBQIFKAoF5gR+BMwqEGoNJjUCBAYh+kBWBKz0LAQEBAQEBAQEBBgEBIwo?= =?us-ascii?q?CBAEBAoFOgnQCgjYBJDgTAhABAQYBAQEBAQYEAgKGRAxCFgGCfEU4AQEBAQE?= =?us-ascii?q?BAQEBAQEBAQEBAQEBAQEBAQEBAQEBDwIfEkISJQEBHQEBAQECASMECwEFOAk?= =?us-ascii?q?FBwQJAhEEAQEBAgIjAwICISUBCAgGAQwBBQIBAYMiAYJLAw4fBQuUF5sDdn8?= =?us-ascii?q?zhAKBT4J+DWKBQIEOKgGMUA+BTD+BEScPgVxJBy4+gX4ggXsBEgFNgmiCYAS?= =?us-ascii?q?OYDMZA4JaoQ0kJCgHgVeBBYEFBAqDeI4xZYRZBQodgmg1iF2DNoEyBo1ijmU?= =?us-ascii?q?DghuMUJFAAgQCCQIVgWpmI3BNJIM4CUcXAg2QTBeBAwECgXWCU4hZcgI1AgY?= =?us-ascii?q?BBwEBAwl8iiWDYAGBDwEB?=
X-IPAS-Result: =?us-ascii?q?A2FsCAApy9te/xoHYZlmHQEBAQEJARIBBQUBQIFKAoF5g?= =?us-ascii?q?R+BMwqEGoNJjUCBAYh+kBWBKz0LAQEBAQEBAQEBBgEBIwoCBAEBAoFOgnQCg?= =?us-ascii?q?jYBJDgTAhABAQYBAQEBAQYEAgKGRAxCFgGCfEU4AQEBAQEBAQEBAQEBAQEBA?= =?us-ascii?q?QEBAQEBAQEBAQEBDwIfEkISJQEBHQEBAQECASMECwEFOAkFBwQJAhEEAQEBA?= =?us-ascii?q?gIjAwICISUBCAgGAQwBBQIBAYMiAYJLAw4fBQuUF5sDdn8zhAKBT4J+DWKBQ?= =?us-ascii?q?IEOKgGMUA+BTD+BEScPgVxJBy4+gX4ggXsBEgFNgmiCYASOYDMZA4JaoQ0kJ?= =?us-ascii?q?CgHgVeBBYEFBAqDeI4xZYRZBQodgmg1iF2DNoEyBo1ijmUDghuMUJFAAgQCC?= =?us-ascii?q?QIVgWpmI3BNJIM4CUcXAg2QTBeBAwECgXWCU4hZcgI1AgYBBwEBAwl8iiWDY?= =?us-ascii?q?AGBDwEB?=
X-IronPort-AV: E=Sophos;i="5.73,481,1583190000"; d="scan'208";a="22298868"
Received: from mail-mtas26.fraunhofer.de ([153.97.7.26]) by mail-edgeKA27.fraunhofer.de with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Jun 2020 19:00:35 +0200
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0DnBgD6ytte/1lIDI1mHAEBAQEBAQc?= =?us-ascii?q?BARIBAQQEAQFAgUoCgXkwbwNUMCwKhBqRCYEBiH6QFYFoCwEDAQEBAQEGAQE?= =?us-ascii?q?jCgIEAQGBUIJ0AoI0AiQ4EwIQAQEFAQEBAgEGBG2FWwxCFgGFGQEBAQECASM?= =?us-ascii?q?ECwEFOAkFBwQJAhEEAQEBAgIjAwICISUBCAgGAQwBBQIBAYMiAYJLAw4kC5Q?= =?us-ascii?q?emwN2fzOFUYJ9DWKBQIEOKgGMUA+BTD+BEScPgVxJBy4+gX4ggXsBEgFNgmi?= =?us-ascii?q?CYASOYDMZA4JaoQ0kJCgHgVeBBYEFBAqDeI4xZYRZBQodgmg1iF2DNoEyBo1?= =?us-ascii?q?ijmUDghuMUJFAAgQCCQIVgWoiQyNwTSSDOAlHFwINkEwXgQMBAoF1glOIWUE?= =?us-ascii?q?xAjUCBgEHAQEDCXyKJYNgAYEPAQE?=
X-IronPort-AV: E=Sophos;i="5.73,481,1583190000"; d="scan'208";a="114997275"
Received: from mailext.sit.fraunhofer.de ([141.12.72.89]) by mail-mtaS26.fraunhofer.de with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Jun 2020 19:00:32 +0200
Received: from mail.sit.fraunhofer.de (mail.sit.fraunhofer.de [141.12.84.171]) by mailext.sit.fraunhofer.de (8.15.2/8.15.2/Debian-10) with ESMTPS id 056H0U1E012419 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA256 bits=128 verify=NOT); Sat, 6 Jun 2020 19:00:30 +0200
Received: from [192.168.16.50] (79.234.115.101) by mail.sit.fraunhofer.de (141.12.84.171) with Microsoft SMTP Server (TLS) id 14.3.487.0; Sat, 6 Jun 2020 19:00:24 +0200
To: Hannes Tschofenig <Hannes.Tschofenig@arm.com>, Eliot Lear <lear@cisco.com>
CC: Michael Richardson <mcr@sandelman.ca>, Dick Brooks <dick@reliableenergyanalytics.com>, "suit@ietf.org" <suit@ietf.org>
References: <AM0PR08MB371631B7C1E6B50DCA29049AFA880@AM0PR08MB3716.eurprd08.prod.outlook.com> <8b6d01d639d0$62614150$2723c3f0$@reliableenergyanalytics.com> <AM0PR08MB37166AD36B5AA36EA7D7CA9BFA890@AM0PR08MB3716.eurprd08.prod.outlook.com> <20437.1591317129@localhost> <1076601d63b3a$d53f5d90$7fbe18b0$@reliableenergyanalytics.com> <BF5D5E46-4A7C-44A7-8554-5DE1E03A3F21@cisco.com> <AM0PR08MB3716C555048993639B14D76FFA860@AM0PR08MB3716.eurprd08.prod.outlook.com> <5820.1591393073@localhost> <AM0PR08MB3716939E832E5483CB8575EBFA870@AM0PR08MB3716.eurprd08.prod.outlook.com> <04B8CB97-9BB2-49CC-A3EB-875596C1B134@cisco.com> <AM0PR08MB371644959A30C6390D4EE480FA870@AM0PR08MB3716.eurprd08.prod.outlook.com>
From: Henk Birkholz <henk.birkholz@sit.fraunhofer.de>
Message-ID: <4dfd0498-85fb-fe94-11d5-66f1375126e8@sit.fraunhofer.de>
Date: Sat, 6 Jun 2020 19:00:24 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0
MIME-Version: 1.0
In-Reply-To: <AM0PR08MB371644959A30C6390D4EE480FA870@AM0PR08MB3716.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset="utf-8"; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-Originating-IP: [79.234.115.101]
Archived-At: <https://mailarchive.ietf.org/arch/msg/suit/IhTq7IN_APHSNBwPzgEQY_QOPdM>
Subject: Re: [Suit] How are firmware and firmware versions expressed in manifest?
X-BeenThere: suit@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Software Updates for Internet of Things <suit.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/suit>, <mailto:suit-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/suit/>
List-Post: <mailto:suit@ietf.org>
List-Help: <mailto:suit-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/suit>, <mailto:suit-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 06 Jun 2020 17:00:46 -0000

Hi all,

my comment preliminary about this is (as my previous comment seems to 
have been gobbled up by something) is basically this:

Yes. In summary (my previous, gobbled up comment was more elaborate):

* SBOM seems to be a sub-set of CoSWID, and
* a co-author of CosSWID is a member of the NTIA SBOM group.

Effectively, as I tried to post previously, I am looking at this:

> Performing program introspection for risks...
> *************** PROPERTIES *******************
> ----> Manufacturer : Microsoft
> ----> ProductCode : {B6B7DDDB-1FF6-47F6-AB32-457052610E19}
> ----> ProductName : PowerToys (Preview)
> ----> ProductVersion : 0.15.2
> *************** FILES AND COMPONENTS *******************
> ----> Executable; FileName:  ruguzy_l.exe|PowerToys.exe  in module:
> powertoys_exe
> ----> Executable; FileName:  h-ey7k2x.exe|PowerToysSettings.exe  in module:
> settings_exe
> ----> Executable; FileName:  syxida6a.dll|Notifications.dll  in module:
> notifications_dll

I am rather sure that CoSWID can represent exactly this sub-set of of 
application context. In general, CoSWID are more on the semantic 
inter-operational side of things (in contrast of SBOM). In essnece, 
CoSWID can express this SBOM context. The question here is (,I think), 
if SBOM efforts intend to go down into this lane of representation context.

We can talk more about this. But while CoSWID in fact incorporates the 
SBOM context, I wonder if the strict prescriptions of CoSWID are in fact 
appropriate for the rather loose context of expressiveness of SBOM.

If your target of SBOM is - effectually - resilient and reliable 
post-processing, then CoSWID is seems to be a viable candidate.

If your goal is to convey a rather unspecified set of software 
components via a loose set of attributes (which I think SBOM is all 
about today), CoSWID seems to be way too specific due to the 
corresponding goal of semantic interoperability. please correct me, if I 
am wrong here.

Viele Grüße,

Henk




On 06.06.20 12:03, Hannes Tschofenig wrote:
> Thanks, Eliot. This is very useful background on the terminology. I have 
> hear about this NTIA effort but didn’t follow it.
> 
> I am not surprised that you already wrote a draft about it. Thanks for 
> the pointer.
> 
> Ciao
> 
> Hannes
> 
> PS: I am still wondering how COSWID fits into all of this now.
> 
> *From:* Eliot Lear <lear@cisco.com>
> *Sent:* Saturday, June 6, 2020 11:04 AM
> *To:* Hannes Tschofenig <Hannes.Tschofenig@arm.com>
> *Cc:* Michael Richardson <mcr@sandelman.ca>ca>; Dick Brooks 
> <dick@reliableenergyanalytics.com>om>; suit@ietf.org; Henk Birkholz 
> <henk.birkholz@sit.fraunhofer.de>
> *Subject:* Re: [Suit] How are firmware and firmware versions expressed 
> in manifest?
> 
> The NTIA is conducting an effort relatied to this known as SBOM 
> (Software Bill of Materials).  They are in trials with healthcare 
> delivery organizations (HDOs) medical device manufacturers (MDMs) and 
> software providers, including people from the Linux Foundation.  There 
> are several different formats discussed, including Software ID Tags 
> (SWID) (ISO-19770) and Software Package Data Exchange (SPDX) which looks 
> very much like what you showed, Dick.  NTIA takes no position on what 
> formats are used.  NIST is planning to move toward SWID as they 
> transition away from the structure used in the National Vulnerability 
> Database (NVD).  I take no position on which of these formats is better, 
> so long as a downstream consumer can easily determine which format is 
> being presented ;-)
> 
> The goal of SBOM is to provide transparency throughout the supply chain 
> as to what is running on an IoT device.  SBOMs at a minimum are intended 
> to provide a manifest, and then optionally some additional stuff like a 
> dependency graph, licensing information, and maybe some additional 
> security attributes such as access requirements, and links assertions 
> about whether a particular component has a vulnerability or has been 
> patched.
> 
> The US FDA is planning to require SBOMs as a part of pre-sales 
> qualification.
> 
> There are great many open issues with regard to SBOMs, some of which 
> this group and the TEEP folk may wish to pursue.  The biggest issue is 
> around naming.  When referring to Java, is that com.sun.java or 
> com.oracle.java or does it matter?  When referring to a supplier, is 
> that IBM or Red Hat (or if it’s REALLY old software, Cygnus)?
> 
> A similar issue arises with versioning.  Is that openssl 1.0.1 version 
> patched or unpatched and how does one know?
> 
> Another issue is how an SBOM is retrieved.  What is its well known 
> location?  Does the BOM reside on the device, and is there an interface 
> to retrieve it?  If not, where else is it?  Is it even retrievable? 
>   Does it require permissions to do so if it resides at a vendor locale, 
> and if so, how is versioning managed?
> 
> This is the basis for draft-lear-opsawg-mud-sbom-00.txt that Scott Rose 
> from NIST and I put together, and would like to present at opsawg.  The 
> goal of that draft is simply a means o discovery to determine how to 
> retrieve an SBOM.  An example of how one would use this extension for an 
> on-the-box approach in its simplest form would be that the manufacturer 
> advertises a RESTful interface at /.well-known/sbom and returns its 
> favorite format (let’s say SPDX).  The back end interface could be as 
> simple as ‘cat /var/lib/dkpg/installed’ or perhaps a bit more complex 
> using a more secure interface to retrieve a signed manifest.
> 
> Anyway, I provide this information mostly without fully understanding 
> the context here, but it seems relevant, given the line of discussion. 
>   NTIA project information can be found at 
> https://www.ntia.doc.gov/SoftwareTransparency.
> 
> Eliot
> 
> 
> 
>     On 6 Jun 2020, at 10:19, Hannes Tschofenig
>     <Hannes.Tschofenig@arm.com <mailto:Hannes.Tschofenig@arm.com>> wrote:
> 
>     I think the BOM terminology is misleading because hardware is not
>     software. The bill of material to produce an IoT product typically
>     does not change (unless you desolder parts) while the software and
>     configuration will regularly change.
> 
>     Leaving that aside, I believe someone active in COSWID needs to
>     clarify what COSWID does. My understanding was that it documents the
>     software libraries on devices. Whether it would be " libcurl 1.0.2"
>     alone or all the libraries that are used to build "libcurl 1.0.2" is
>     a granularity question that the COSWID specs should / could also
>     answer. That's why I thought it would be useful to have it included
>     in the manifest (as supplementary information; as a severable field).
> 
>     If COSWID does not do this then someone needs to explain to me what
>     purpose it serves.
> 
>     Ciao
>     Hannes
> 
>     -----Original Message-----
>     From: Michael Richardson <mcr@sandelman.ca <mailto:mcr@sandelman.ca>>
>     Sent: Friday, June 5, 2020 11:38 PM
>     To: Hannes Tschofenig <Hannes.Tschofenig@arm.com
>     <mailto:Hannes.Tschofenig@arm.com>>
>     Cc: Eliot Lear <lear@cisco.com <mailto:lear@cisco.com>>; Dick Brooks
>     <dick@reliableenergyanalytics.com
>     <mailto:dick@reliableenergyanalytics.com>>;suit@ietf.org
>     <mailto:suit@ietf.org>; Saad EL JAOUHARI <saadeljaou@gmail.com
>     <mailto:saadeljaou@gmail.com>>; Henk Birkholz
>     <henk.birkholz@sit.fraunhofer.de
>     <mailto:henk.birkholz@sit.fraunhofer.de>>
>     Subject: Re: [Suit] How are firmware and firmware versions expressed
>     in manifest?
> 
> 
>     Hannes Tschofenig <Hannes.Tschofenig@arm.com
>     <mailto:Hannes.Tschofenig@arm.com>> wrote:
> 
>         FWIW I thought that COSWID would provide information about the
>         software
>         libraries on a device.
> 
> 
>     No, AFAIK, it just identifies the materials. (i.e. "libcurl 1.0.2")
> 
>     Assembling them into a BOM requires another process:
>       "curl 1.0.2" contains "libcurl 1.0.2", "curl-main",
>                             "libssl 1.1.1f", "glibc 2.19", "pcre 1.0.2"
> 
>     I could mis-understand though.
> 
>     --
>     ]               Never tell me the odds!                 | ipv6 mesh
>     networks [
>     ]   Michael Richardson, Sandelman Software Works        |    IoT
>     architect   [
>     ] mcr@sandelman.ca <mailto:mcr@sandelman.ca>
>     http://www.sandelman.ca/        |   ruby on rails    [
> 
>     IMPORTANT NOTICE: The contents of this email and any attachments are
>     confidential and may also be privileged. If you are not the intended
>     recipient, please notify the sender immediately and do not disclose
>     the contents to any other person, use it for any purpose, or store
>     or copy the information in any medium. Thank you.
> 
> IMPORTANT NOTICE: The contents of this email and any attachments are 
> confidential and may also be privileged. If you are not the intended 
> recipient, please notify the sender immediately and do not disclose the 
> contents to any other person, use it for any purpose, or store or copy 
> the information in any medium. Thank you.