Re: [OPSAWG] 2nd try: how many SBOMs do we need to locate and discover?

Dick Brooks <dick@reliableenergyanalytics.com> Wed, 14 April 2021 16:10 UTC

Return-Path: <dick@reliableenergyanalytics.com>
X-Original-To: opsawg@ietfa.amsl.com
Delivered-To: opsawg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0B47A3A1565 for <opsawg@ietfa.amsl.com>; Wed, 14 Apr 2021 09:10:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level:
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=messagingengine.com
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 jyD6tZJimr_d for <opsawg@ietfa.amsl.com>; Wed, 14 Apr 2021 09:10:44 -0700 (PDT)
Received: from wforward2-smtp.messagingengine.com (wforward2-smtp.messagingengine.com [64.147.123.31]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5F3593A1566 for <opsawg@ietf.org>; Wed, 14 Apr 2021 09:10:44 -0700 (PDT)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailforward.west.internal (Postfix) with ESMTP id 0775C166C; Wed, 14 Apr 2021 12:10:41 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Wed, 14 Apr 2021 12:10:42 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :reply-to:subject:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm2; bh=UUxVa6s2FEv5zJfiNEM75GxQpL6rQ mcLwN2ECd9m3HY=; b=jIqRb/Llp+/BF3rVKxqr+tmxhGxUzZVGoTGXUDsjHQ8qJ PmGCMWAO+GXD3A8Do3qLtW0aGoUeUne6YlwkOERG5avjrl5H2M/Py+YnXdfli/VL 0YI5bKvDOqDi2Mq37xw9hJgkMvqMCDHJFd1CgrNZXH2oejx2zqJHOCJC+CLPLNF4 NFXNZdReLrLwhehPC8ooEN0BotOfEtRpL6HDGdd2K5HycHZTfP/AgXvxDSRDs7zo mlEPiR49sp3M5SlvCOc3LfGlAF17rQpyNcCsPZ3hYteZpKwgYkbHnuJ6AAqMB9oI 5qQi4Z06xGgXZbk39Uzta/Vj6MVMJtgGUFE5ATBlw==
X-ME-Sender: <xms:ABR3YKTEdd-QLr5sMiQcXO0ATQ4u7PwQIftxUir9Q58ZK3lOTRlAXQ> <xme:ABR3YPwt9rogK74_2TdeM5V7Q_TzWx-klowemt_QKsv9tx7PlI8HvBwaoH2Gr3CAz b-cyTG2rvgkAe0M3w>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudeluddgleelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne gfrhhlucfvnfffucdlqddutddmnecujfgurheprhfhvfhfjgfuffhokfggtgfgofhtseht qhhgtddvtdejnecuhfhrohhmpedfffhitghkuceurhhoohhkshdfuceoughitghksehrvg hlihgrsghlvggvnhgvrhhghigrnhgrlhihthhitghsrdgtohhmqeenucggtffrrghtthgv rhhnpeevheetleevueeiueffgeeugfdtudevtdfhteeuiedthfellefgvdektedvueffhe enucffohhmrghinhepnhhishhtrdhgohhvpdhrvghlihgrsghlvggvnhgvrhhghigrnhgr lhihthhitghsrdgtohhmnecukfhppedvudeirdduleefrddugedvrddvvdenucevlhhush htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpeguihgtkhesrhgvlhhi rggslhgvvghnvghrghihrghnrghlhihtihgtshdrtghomh
X-ME-Proxy: <xmx:ABR3YH1U0qsKFKAPxZE1x2p4SHegCteFovr0AxYtdYMYaZOslRI9MQ> <xmx:ABR3YGCzla78HzSa94LFUzKQyf4K2MuctdURZl9eR6Li7Mn636WblQ> <xmx:ABR3YDhkqa1S9R09roenLagbNT_K9E2Vw5V782ePvnIIQb6Apx2ckQ> <xmx:ARR3YOufVMdQv0sprNE0kvElZ_7AZ4CpLq8CJrs6cRuUzMBcOF4oFC4jKtI>
Received: from Warp9 (unknown [216.193.142.22]) by mail.messagingengine.com (Postfix) with ESMTPA id C4140108005F; Wed, 14 Apr 2021 12:10:40 -0400 (EDT)
Reply-To: dick@reliableenergyanalytics.com
From: Dick Brooks <dick@reliableenergyanalytics.com>
To: 'Eliot Lear' <lear=40cisco.com@dmarc.ietf.org>, 'opsawg' <opsawg@ietf.org>
References: <70EA8ACD-B546-43A1-BC8C-A34B30A8FA4F@cisco.com>
In-Reply-To: <70EA8ACD-B546-43A1-BC8C-A34B30A8FA4F@cisco.com>
Date: Wed, 14 Apr 2021 12:10:37 -0400
Organization: Reliable Energy Analytics LLC
Message-ID: <03e201d73148$b7f349e0$27d9dda0$@reliableenergyanalytics.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AQG6mEx6PhZQW9C8EPdgkyruA5hffartWT7g
Content-Language: en-us
Archived-At: <https://mailarchive.ietf.org/arch/msg/opsawg/9l2REhaC4JMADw-cXlqE_PDmIL8>
Subject: Re: [OPSAWG] 2nd try: how many SBOMs do we need to locate and discover?
X-BeenThere: opsawg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: OPSA Working Group Mail List <opsawg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/opsawg>, <mailto:opsawg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/opsawg/>
List-Post: <mailto:opsawg@ietf.org>
List-Help: <mailto:opsawg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/opsawg>, <mailto:opsawg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Apr 2021 16:10:51 -0000

Hi Eliot,

This information is being provided as justification to support multiple SBOM's that may be required to conduct a comprehensive software supply chain risk assessment. I propose adding a new component level data element, called SBOMURL at the component level  to enable discovery and access to a SBOM object to provider context needed to conduct a more extensive vulnerability search 

I encountered this issue when testing SAG-PM (TM).

Scenario: A new openssl bug is reported and I perform a software risk assessment using an SBOM that I know contains openssl; https://nvd.nist.gov/vuln/detail/CVE-2021-3450 a NIST NVD search of the filenames listed in the SBOM fails to detect the newly reported vulnerability, resulting in a false negative result.

An "extrapolated" SBOM , created by SAG-PM (TM) using the binary installation package,  lists the components that are present in the software package being analyzed, including these two entries for openssl:

It's impossible to know that these two components are part of the openssl package, from the filename information in the installation file. This is where an SBOMURL "tag", associated with each file, could provide the missing context.

FileName: libeay32.dll
SPDXID: SPDXRef-c752fdaa-b140-46ab-a564-2934d73c790d
FileType: BINARY
FileChecksum: SHA1: 731d2a30790eece1f7ef54dd3e7774d65c09a298
LicenseConcluded: NOASSERTION
LicenseInfoInFile: NOASSERTION
FileCopyrightText: NOASSERTION

FileName: ssleay32.dll
SPDXID: SPDXRef-8381311b-8222-4ae7-a2d6-0c7815d92514
FileType: BINARY
FileChecksum: SHA1: 731d2a30790eece1f7ef54dd3e7774d65c09a298
LicenseConcluded: NOASSERTION
LicenseInfoInFile: NOASSERTION
FileCopyrightText: NOASSERTION



A NIST NVD vulnerability scan on the software components listed in the SBOM fails to detect the newly reported openssl CVE; see NVD results below:

----->Searching NISTNVD using: https://services.nvd.nist.gov/rest/json/cves/1.0?keyword=libeay32.dll
---------->Total NIST NVD Vulnerabilities Found:  2
CVE: ID: CVE-2019-12572 CVSS: 7.8  Description:  A vulnerability in the London Trust Media Private Internet Access (PIA) VPN Client 1.0.2 (build 02363) for Windows could allow an authenticated, local attacker to run arbitrary code with elevated privileges. On startup, the PIA Windows service (pia-service.exe) loads the OpenSSL library from %PROGRAMFILES%\Private Internet Access\libeay32.dll. This library attempts to load the C:\etc\ssl\openssl.cnf configuration file which does not exist. By default on Windows systems, authenticated users can create directories under C:\. A low privileged user can create a C:\etc\ssl\openssl.cnf configuration file to load a malicious OpenSSL engine library resulting in arbitrary code execution as SYSTEM when the service starts.
Press Enter to continue vulnerability search, s to skip to next component or q to exit:
CVE: ID: CVE-2019-19741 CVSS: 7.8  Description:  Electronic Arts Origin 10.5.55.33574 is vulnerable to local privilege escalation due to arbitrary directory DACL manipulation, a different issue than CVE-2019-19247 and CVE-2019-19248. When Origin.exe connects to the named pipe OriginClientService, the privileged service verifies the client's executable file instead of its in-memory process (which can be significantly different from the executable file due to, for example, DLL injection). Data transmitted over the pipe is encrypted using a static key. Instead of hooking the pipe communication directly via WriteFileEx(), this can be bypassed by hooking the EVP_EncryptUpdate() function of libeay32.dll. The pipe takes the command CreateDirectory to create a directory and adjust the directory DACL. Calls to this function can be intercepted, the directory and the DACL can be replaced, and the manipulated DACL is written. Arbitrary DACL write is further achieved by creating a hardlink in a user-controlled directory that points to (for example) a service binary. The DACL is then written to this service binary, which results in escalation of privileges.


----->Searching NISTNVD using: https://services.nvd.nist.gov/rest/json/cves/1.0?keyword=ssleay32.dll
---------->Total NIST NVD Vulnerabilities Found:  1
CVE: ID: CVE-2010-5232 CVSS: 6.9  Description:  Untrusted search path vulnerability in DivX Plus Player 8.1.0 allows local users to gain privileges via a Trojan horse ssleay32.dll file in a certain directory.  NOTE: the provenance of this information is unknown; the details are obtained solely from third party information.
Press Enter to continue vulnerability search, s to skip to next component or q to exit:

Thanks,

Dick Brooks

Never trust software, always verify and report! ™
http://www.reliableenergyanalytics.com
Email: dick@reliableenergyanalytics.com
Tel: +1 978-696-1788

-----Original Message-----
From: OPSAWG <opsawg-bounces@ietf.org> On Behalf Of Eliot Lear
Sent: Wednesday, April 14, 2021 11:41 AM
To: opsawg <opsawg@ietf.org>
Subject: [OPSAWG] 2nd try: how many SBOMs do we need to locate and discover?

It seems that my mail system ate my first attempt at this.

One of the questions I raised in the opsawg meeting was how many SBOMs we would need to be able to retrieve.  I am looking for use cases where there would be more than one.  To me, I think the place to look is around VMs and containers, where the SBOM might be internalized.  But that’s just one model. Another model would be that the container SBOM is hierarchically incorporated into the overall device SBOM.  If that is done by reference, then I guess we get more than one.  And every time we try to define what a device is at the IETF we seem to get burned if the model is not flexible.

Thoughts?

Eliot