new sbom - auto · 2020. 7. 27. · modern software systems involve increasingly complex and...

50
SBOM An Update on Efforts for Transparency in the Software Supply Chain Allan Friedman, PhD National Telecommunications & Information Administration US Department of Commerce [email protected] @allanfriedman

Upload: others

Post on 17-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

SBOMAn Update on Efforts for Transparency in the

Software Supply ChainAllan Friedman, PhD

National Telecommunications & Information AdministrationUS Department of Commerce

[email protected] @allanfriedman

Page 2: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

How many organizations can answer:

Am I potentially affected by $vulnerabilty

Page 3: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

Should I pay attention or clean out my inbox?

• Transparency helps markets across the supply chain• Why aren’t we already doing this?

• Public Policy Context

• Progress in NTIA’s open, cross—sector, global SBOM work

• The what, the why, and the how

• Current, ongoing work

• The automotive perspective• How you can get involved

Page 4: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

4

Page 5: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality
Page 6: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality
Page 7: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

Where did we get the idea of paying attention to the supply chin?

Page 8: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

So what about software?

Page 10: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

10

Page 11: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

11

Page 12: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

Produce Software

Choose Software

Operate Software

Three perspectives across the supply chain

Page 13: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

• Monitor for vulnerabilities in components• Better manage code base & minimize bloat• Execute white-list or black-list practices• Prepare and respond to end-of-life contingencies• Know and comply with license obligations• Provide an SBoM for customers

Use Cases: Producing software

Page 14: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

• Identify known vulnerabilities• More targeted security analysis• Compliance• EOL awareness• Verify sourcing & supplier claims• Understand software integration• Market signal of secure

development process.

Use Cases: Choosing software

Page 15: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

• Vulnerability management

• Better understanding of operational risks

• Real time data on components in assets

• Improved understanding of potential exploitability

• Enable potential non-SW mitigations

Use Cases: Operating Software

Page 16: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

So why aren’t we doing this?

Page 17: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

Some people already tried…

Page 18: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality
Page 19: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

It’s hard.It’s hard.

Page 20: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

A market failure?

Page 21: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

Enter your friends, the Feds

Page 22: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

Cross sectorEn

tire

Supp

ly c

hain

Open sourceMiddlewareCommercial SW

EmbeddedCustomers

NTIA’s open, transparent, consensus based processes bring together diverse stakeholders can catalyze real progress across the ecosystem.

NTIA’s Process on Software Component Transparency

Page 23: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

The Bigger Picture - Broader Policy Context

• Supply Chain focus• CISA Supply Chain Risk Management Task Force• Federal Acquisition Security Council• Extensive DOD work

• Regulators• FDA pre-market guidance for medical devices.• HHS and healthcare• NHTSA

• Global landscape of concern

Page 24: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

• Regulation

• Source code disclosure

• Standards Development

• Solving all supply chain issues

What the NTIA process is not doing

Page 25: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

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.

The problem to be solved

Source: Framing Software Component Transparency: Establishing a Common Software Bill of Material

Page 26: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

• Harmonization• Amplification & routinization• Extensions & innovation

Page 27: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

• Clear appreciation across sectorson the potential value of transparency

• Consensus on• The broad scope of the problem• Focus on a baseline SBOM• Machine-readability of the solution• Modularity and Scalability

• Resources: ntia.gov/SBOM

What is an SBOMWhy should we SBOM How do we SBOM Can we SBOM today?

Making progress

Page 28: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

What is an SBoM?

Page 29: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

A toy example

29

AcmeAppliance

v1.1

BingoBufferv2.1

Bob’sBrowser

v2.2

Carol’sCompressionEngine v3.1

Included in

Included in

Included in

unknown

partialroot

known

Page 30: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

A toy example

30

AcmeAppliance

v1.1

BingoBufferv2.1

Bob’sBrowser

v2.2

Carol’sCompressionEngine v3.1

Included in

Included in

Included in

unknown

partialroot

known

Known Unknowns

Page 31: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

Software Components

SupplierComponent

NameVersionHash

Page 32: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

How many levels deep?

Must include all top-level includes.Should ask for includes’ SBOMs.

Ideally makes a best-effort for all known components.

Page 33: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

Why should we SBoM?

Page 34: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality
Page 35: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

Natural Selection in the SW ecosystem

Page 36: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

How do we SBoM?

Page 37: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

Two formats to implement SBOMSPDX 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.

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 38: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

Implementing core SBOM fields

Page 39: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

Translation between formats• We have identified the common elements.• A ‘multilingual’ ecosystem does not offer too many challenges• Rather than pick a winner, we will build out guidance to support

both formats with effective interoperability.

Page 40: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

40

HealthcareProof of Concept

Page 41: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

Next steps• Refining and extending the model

• Software namespace• Mechanism for sharing SBOM data• Vulnerability vs Exploitability• High assurance: integrity, pedigree, provenance• Cloud & containers• Dock with other efforts around supply chain

• Tooling for automation• What tools exist today?• What tools do we need?

• Awareness and adoption• Get the message to the community• Draft contract language• Further demonstrations in different sectors

Page 42: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

Challenge: Software Naming

Page 43: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

Challenge: Sharing SBOM data

Page 44: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

Challenge: Vulnerability vs Exploitability

44

Vendors can communicate risk (or the lack thereof) with their customers.

We need to enable this process.

Challenge:

Vulnerability vs.

Exploitability

Page 45: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

Category Type Description

Author during Build

Build Document is automatically created as part of building an artifact and contains information about the build.

Author after Creation

Manual A person will manually fill in the information

Audit Tool A source code analysis or audit tool will generate the document by inspection of the artifact and any associated sources.

Consume View Be able to understand the contents in human readable form (picture, figures, tables, text.). Use to support decision making & business processes.

Diff Be able to compare two documents of a given formation and clearly see the differences. For instance, comparing between two versions of a piece of software.

Analyze Be able to import a document into

Transform Translate Change from one file type to another file type while preserving the same information.

Merge Multiple sources of documents can be merged together for analysis and audit puproses

Tool integration

Support use in other tools by APIs, libraries.

Taxonomy for Classifying SBOM Tools

Page 46: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality
Page 47: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

Opportunity:Proofs of concept

Page 48: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

Considerations for the Auto Sector

• Longer supply chain: more players, and more lead time

• Concerns about public disclosures

• Who needs this data today?• Potential of a trusted third party• Where is the data in the

organization?• Regulatory future

Page 49: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

Transparency

Page 50: New SBOM - Auto · 2020. 7. 27. · Modern software systems involve increasingly complex and dynamic supply chains. Lack of systemic transparency into the composition and functionality

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

• Cross-sector supply-chain driven approach • What a Software Bill of Materials is• Why it can help across the supply chain• How we can implement it

• Sectors and orgs can shape their own future through Proof-of-Concept exercises

• Ongoing work needs your help to build and use SBOM data

Get involved in the NTIA process!Contact: [email protected]: ntia.gov/SBOMJoin the conversation @allanfriedman #SBOM

To recap…

Software Bill of Materials#SBOMntia.gov/sbom