+ All Categories
Home > Documents > Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of...

Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of...

Date post: 02-Aug-2021
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
56
Software Bill of Materials Progress towards Transparency in the SW Supply Chain 1 Allan Friedman, PhD Director of Cybersecurity Initiatives, National Telecommunications and Information Administration, US Department of Commerce [email protected] @allanfriedman
Transcript
Page 1: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

Software Bill of MaterialsProgress towards Transparency

in the SW Supply Chain

1

Allan Friedman, PhDDirector of Cybersecurity Initiatives,

National Telecommunications and Information Administration, US Department of Commerce

[email protected] @allanfriedman

Page 2: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

Paying Attention vs. Checking email

2

Tracking and communicating third party components in software and IoT with a “software bill of materials” can • Improve and communicate secure development practices• Help enterprise customers protect themselves• Foster better markets for secure products

The US Department of Commerce has convened an open and consensus-driven multistakeholder process to develop a shared vision around SBOM and software transparencyStakeholders have drafted documents reviewing the what, the why, and the how.

Page 3: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).
Page 4: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).
Page 5: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

We understand the role of a list of ingredients.

5

Analogies

Page 6: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

6

Analogies

Page 7: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

7

In the manufacturing world, we track parts and components used in assembly to understand the manufacturing and maintenance process.

Page 8: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

8

Analogies

Page 9: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

July2017

8

310

4Study found credentials online affecting publishing access to 14% of npm repository. +79,000 packages.

Malicious npm Packages “typosquatted” (40 packages for 2 weeks. Collecting env including npmpublishing credentials).

1

10 Malicious Python packages

Basic info collected and sent to Chinese IP address

2

Golang go-bindata github id deleted and reclaimed.

5

ssh-decorator Python Module stealing private ssh keys.7

npm event-stream attack on CoPay.11

Sep2017

Homebrew repository compromised.

9

Jan2018

Feb2018

Mar2018

6

Aug2018

Conventional-changelog compromised and turned into a Monero miner.

Blog: “I’m harvesting credit card numbers and passwords from your site. Here’s how.”

Backdoor discovered in npm get-cookies module published since March.

Unauthorized publishing of mailparser.

Gentoo Linux Repository Compromised.

Malicious Eslint discovered to be stealing npm credentials.

Aug2017

Oct2017

Nov2017

Dec2017

Apr2018

May2018

Jun2018

Jul2018

Sep2018

Oct2018

Nov2018

Dec2018

No longer just an “emerging” riskSoftware Supply Chain Attacks

Image by Sonatype

Page 10: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

300+ Backdoored Github Libraries

10

Page 11: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

300+ Backdoored Github Libraries

11

Page 12: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

12

Why don’t we do this today?

Page 13: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

Enter: Your Friends, the Feds

13

Page 14: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

The Multistakeholder Model

Multistakeholder Characteristics

Open to all Stakeholders

Bottom up process

ConsensusDrivenTransparent

Accountable

Open, transparent, consensus based processes that bring together diverse stakeholders can catalyze real progress across the ecosystem.

Page 15: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

15

Page 16: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

16

Page 17: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

The problem to be solved

17

Page 18: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

The problem to be solved

18

Modern software systems involve increasingly complex and dynamic supply chains.

Page 19: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

The problem to be solved

19

Modern software systems involve increasingly complex and dynamic supply chains.

Lack of systemic transparency into the composition and functionality of these systems contributes substantially to cybersecurity risk as well as the costs of development, procurement, and maintenance.

Page 20: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

The problem to be solved

20

Modern software systems involve increasingly complex and dynamic supply chains.

Lack of systemic transparency into the composition and functionality of these systems contributes substantially to cybersecurity risk as well as the costs of development, procurement, and maintenance.

In our increasingly interconnected world, risk and cost impact not only individuals and organizations directly but also collective goods like public safety and national security.

Page 21: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

How a transparency solutioncan help

21

• Enhancing the identification of vulnerable systems and the root cause of incidents

Page 22: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

How a transparency solutioncan help

22

• Enhancing the identification of vulnerable systems and the root cause of incidents

• Identifying suspicious or counterfeit software components

Page 23: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

How a transparency solutioncan help

23

• Enhancing the identification of vulnerable systems and the root cause of incidents

• Identifying suspicious or counterfeit software components

• Reducing unplanned and unproductive work

Page 24: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

How a transparency solutioncan help

24

• Enhancing the identification of vulnerable systems and the root cause of incidents

• Identifying suspicious or counterfeit software components

• Reducing unplanned and unproductive work

• Supporting more informed market differentiation and component selection

Page 25: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

How a transparency solutioncan help

25

• Enhancing the identification of vulnerable systems and the root cause of incidents

• Identifying suspicious or counterfeit software components

• Reducing unplanned and unproductive work• Supporting more informed market

differentiation and component selection• Reducing duplication of effort by

standardizing formats across multiple sectors

Page 26: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

26

• Harmonization• Amplification & routinization• Extensions & innovation

Page 27: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

Making progress

27

• Clear appreciation across sectors on the potential value of transparency– The broad scope of the

problem– Machine-readability of the

solution– Focus on a minimum viable

solution with extensions.

Page 28: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

What is an SBOM?

28

Page 29: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

29

The “minimum viable” SBOM

• Identity of Component• (Sufficient

uniqueness)• Relationship

between components

• Extensions

Page 30: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

Naming is Hard

30

Page 31: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

Feature Support

31

Page 32: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

32

SBOM as a graph

SW

Comp2Comp1

Page 33: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

33

Being Clear about Opacity

SW

Comp2Comp1 Comp2

?

Page 34: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

Data about data

34

• I built this set of SBOM datavs

• This is SBOM data from someone else.

SW

Comp2Comp1SBOM SBOM

Page 35: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

Why should we use an SBOM?

35

Page 36: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

A supply chain perspective

36

Page 37: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

A supply chain perspective

37

Supplier selection

Supply selection

Supply vigilance

Page 38: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

38

Capturing Stories

Each of these offers unique perspectives on the current and potential value of transparency.

We would love to have your perspective!

Page 39: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

A supply chain perspective

39

Writer/Maker

Acquirer/Purchaser

Operator/Maintainer

Page 40: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

How do we SBOM?

40

Page 41: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

Recall…

41

Page 42: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

42

FORTUNATELY, WE HAVE SOME EXISTING TOOLS THAT WE CAN USE FOR SBOM DATA

Not a Standards Development process

Page 43: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

Software Package Data Exchange (SPDX)

43

SPDX® is an open standard for communicating software bill of material information (including components, licenses, copyrights, and security references). The SPDX specification is developed by the SPDX workgroup, which is hosted by The Linux Foundation. The grass-roots effort includes representatives from more than 20 organizations—software, systems and tool vendors, foundations and systems integrators—all committed to creating a standard for software package data exchange formats.

Page 44: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

SPDX Example

44

https://github.com/spdx/spdx-spec

# Document Header SPDXVersion: SPDX-2.1 DataLicense: CC0-1.0 SPDXID: SBOMDOCUMENT DocumentName: SBOM-Proof-of-concept DocumentNamespace: http://example.comCreated: 2018-12-18Y22:11:34Z CreatorComment: <text> This document was created as a proof-of-concept </text>

# PackagesPackageName:alsa-confSPDXID: yocto/[email protected] PackageVersion: 1.1.0 PackageDownloadLocation: NOASSERTION FilesAnalyzed: false PackageLicenseConcluded: NOASSERTION PackageLicenseDeclared: NOASSERTION PackageCopyrightText: NOASSERTION

PackageName:alsa-conf-baseSPDXID: yocto/[email protected] PackageVersion: 1.1.0 PackageDownloadLocation: NOASSERTION FilesAnalyzed: false PackageLicenseConcluded: NOASSERTION PackageLicenseDeclared: NOASSERTION PackageCopyrightText: NOASSERTION

PackageName:alsa-libSPDXID: yocto/[email protected]: 1.1.0 PackageDownloadLocation: NOASSERTION FilesAnalyzed: false PackageLicenseConcluded: NOASSERTION PackageLicenseDeclared: NOASSERTION PackageCopyrightText: NOASSERTION Relationship: yocto/[email protected] PACKAGE_OF yocto/alsa-lib@Relationship: yocto/[email protected] PACKAGE_OF yocto/[email protected].…

Page 45: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

Software Identification (SWID)

45

SWID tags record unique information about an installed software application, including its name, edition, version, whether it is part of a bundle and more. SWID tags support software inventory and asset management initiatives. The structure of SWID tags is specified in international standard ISO/IEC 19770-2:2015.

Page 46: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

SWID tag example

46

<SoftwareIdentity name="alsa-conf" tagId="yocto/[email protected]" version="1.1.0"/><SoftwareIdentity name="alsa-conf-base" tagId="yocto/[email protected]" version="1.1.0"/><SoftwareIdentity name="alsa-lib" tagId="yocto/[email protected]" version="1.1.0">

<Link href="swid:yocto/[email protected]" rel="requires"/><Link href="swid:yocto/[email protected]" rel="requires"/>

</SoftwareIdentity>

...

Page 47: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

Rather than pick a winner, we will build out guidance to support both formats with effective interoperability.

47

WE HAVE IDENTIFIED THE COMMON ELEMENTS.A ‘BILINGUAL’ ECOSYSTEM DOES NOT OFFER TOO MANY CHALLENGES

Translation between formats

Page 48: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

Related efforts in the ecosystem

48

• Software Heritage Index• Package URL (Purl)• OpenChain• CPE

Page 49: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

49

HealthcareProof of Concept

Page 50: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

50

Open questions to figure out together

Page 51: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

51

Obstacles to obtaining SBOM data?

Page 52: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

52

Vendors Customers

Transparency

Mechanisms of sharing

SBOM data?

Page 53: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

Challenge: Vulnerability vs

Exploitability

53

Vendors can communicate risk (or the lack thereof) with their customers. We need to enable this process.

Vulnerability vs.

Exploitability

Page 54: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

Next steps

54

• Drafts of “minimum viable” by late June for feedback.

• After “minimum viable”– Extensions of data for use cases– Tooling– Awareness and Adoption

Page 55: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

To recap…

55

• Tracking third party components can help understand and address a wide range of risks across the entire ecosystem

• An ongoing, open process convened by NTIA is bringing together experts to address:– What a Software Bill of Materials is– Why it can help across the supply chain– How we can implement it

• Next steps will focus on tooling and extensions • Get involved in the NTIA process!

– Contact [email protected]– @allanfriedman

Page 56: Software Bill of Materials Progress towards Transparency in the … · 2019. 5. 29. · bill of material information (including components, licenses, copyrights, and security references).

Thank You!

[email protected]

56


Recommended