Skip to content

Commit 147434d

Browse files
committed
feat: add provenance page
1 parent 72681c7 commit 147434d

File tree

7 files changed

+82
-43
lines changed

7 files changed

+82
-43
lines changed

docs/compliance/SLSA.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
---
2+
slug: "/slsa-supply-chain-levels-compliance-for-software"
3+
---
4+
15
# SLSA Compliance
26

37
**Supply-Chain Levels for Software Artifacts**, or **SLSA** _(pronounced "salsa")_, is a security framework providing guidance on building and delivering software securely.

docs/software-supply-chain-security/index.mdx

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ Supply chain attacks are not a new concept. A well-known example is the Trojan h
3333
3434
But hidden within the horse were Greek soldiers, who emerged at night to open the gates for their army, leading to Troy's fall. The Greeks didn't attack directly; they exploited trust in the "supply."
3535
36+
Supply chain attacks have become more sophisticated over time, but are still regular occurrences around the world on a daily basis. Think counterfeit goods, tampered machinery and materials, to name just a few.
37+
3638
In software, supply chain attacks work similarly: attackers corrupt a trusted source or process, leading to widespread compromise. As a consumer, how can you be certain that the software you receive hasn't been tampered with along the way?
3739
3840
## Shifting Left: Evolution of Attacks
@@ -45,19 +47,21 @@ Over time, attackers have shifted their focus further up the chain. Instead of t
4547
4648
In parallel, they employ broader tactics like ransomware, data breaches, and intellectual property theft, disrupting supply chains and rendering organizations unable to deliver their products or services.
4749
50+
One example of a recent supply chain attack was the SolarWinds hack in 2020. Hackers infiltrated the build process of SolarWinds' Orion software (a popular IP network management tool) and added malware to an update, causing customers who trusted in SolarWinds to install the malware unknowingly.
51+
4852
:::info[Did You Know?]
4953
5054
1 in 5 data breaches is a software supply chain attack.
5155
5256
:::
5357
54-
This raises a critical question: **What if the code you trust the most is what makes your systems vulnerable?**
58+
These events raise a critical question: **What if the code you trust the most is what makes your systems vulnerable?**
5559
56-
In many cases, there’s no guarantee that the software we run is the same as the software we built. This gap creates opportunities for attackers to exploit.
60+
In many cases, there is no guarantee that the software we run is the same as the software we built. This gap creates opportunities for attackers to exploit.
5761
5862
### Who is involved in a supply chain?
5963
60-
If your organization provides products or services to others, your organization is part of the supply chain. Imagine making a pizza:
64+
If your organization provides products or services to others, your organization is part of the supply chain. Imagine the steps involved in making a pizza:
6165
6266
1. A farmer grows tomatoes.
6367
2. A factory turns tomatoes into sauce.
@@ -66,21 +70,19 @@ If your organization provides products or services to others, your organization
6670
5. A pizzeria assembles the ingredients into a pizza.
6771
6. The pizza is delivered to your door.
6872
69-
Each step involves different participants, each contributing to the final product. If any part of this process is disrupted or tampered with, the quality and safety of the pizza are at risk.
73+
Each step involves different participants, each contributing to the final product. If _any_ part of this process is disrupted or tampered with, the quality and safety of the pizza are at risk. Software supply chains don't operate all that differently. Let's take a closer look in the next section.
7074
7175
### Software Supply Chains
7276
73-
Software supply chains operate similarly to traditional supply chains. Here's a simplified view:
77+
A **software supply chain** is an interconnected network of people, processes, software libraries, firmware, and technologies used in the creation, development, publication, production, and distribution of digital products. The primary difference to general supply chain security is the software or firmware development and its distribution.
78+
79+
Here is a simplified view of a software supply chain:
7480
7581
```mermaid
7682
flowchart LR
7783
Source-->Build
7884
Build-->Deploy
7985
Deploy-->Monitor
80-
click Source callback "Tooltip for a callback"
81-
click Build "#" "This is a tooltip for a link"
82-
click C call callback() "Tooltip for a callback"
83-
click D href "#" "This is a tooltip for a link"
8486
8587
```
8688

@@ -89,4 +91,4 @@ flowchart LR
8991
3. **Deploy**: Delivering software to customers or systems.
9092
4. **Monitor**: Observing software in production to detect issues.
9193

92-
Traditionally, cybersecurity focused on "Source" and "Monitor." However, incidents like Log4Shell have demonstrated the need to secure the entire chain—especially build and deployment processes.
94+
Traditionally, the world has focused on "Source" and "Monitor." However, incidents like Log4Shell have demonstrated the need to secure the entire chain—especially build and deployment processes.
Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
---
2-
draft: true
2+
slug: "/what-is-software-provenance-and-why-is-it-important-for-security"
33
---
44

55
# Provenance
6+
7+
In the context of software, **provenance** refers to the origin or source of the code. It aims to answer questions like, _Where did this code or system come from? Who wrote it? Who built it? Has it been changed over time? Who verified it?_
8+
9+
These kind of questions are tantamount to risk management and ensuring the integrity of our systems, because when you know exactly where a particular piece of software comes from, you are in a much greater position to identify trusted sources and potential risks.
10+
11+
Provenance is an important factor in software supply chain security, and a key element of [compliance](/category/compliance), where regulations (e.g. GDPR, HIPAA) may require organizations to track and document software origins to ensure proper data handling and security.
12+
13+
## How does provenance work?
14+
15+
We can incorporate provenance into our software delivery lifecycle using a variety of approaches, but the most common being a version control system, or VCS, like git or Mercurial. A VCS tracks changes in code and show who made what changes and when.
16+
17+
**Digital signatures** are becoming increasingly relevant in this space, as they provide developers and organizations the ability to sign software releases to prove authenticity (for example, using vendor agnostic tools like <a href="https://sigstore.dev" rel="nofollow" target="_blank">Sigstore</a>).
18+
19+
[SBOMs](/what-is-an-sbom-software-bill-of-materials-and-why-does-it-matter) are detailed lists of all the components and dependencies in a software project, which can also aid in providing the transparency required for provenance.
20+
21+
In addition, there are specific provenance tracking tools available, with two of the most popular being [in-toto](https://in-toto.io/) and [SLSA](/slsa-supply-chain-levels-compliance-for-software).

docs/software-supply-chain-security/sboms.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
sidebar_position: 2
3-
slug: "/sbom-software-bill-of-materials"
3+
slug: "/what-is-an-sbom-software-bill-of-materials-and-why-does-it-matter"
44
---
55
import { Scrollycoding } from "/src/components/scrollycoding";
66

docusaurus.config.ts

Lines changed: 19 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -97,24 +97,24 @@ const config: Config = {
9797
footer: {
9898
style: "dark",
9999
links: [
100-
{
101-
title: "Docs",
102-
// items: [
103-
// {
104-
// label: "Tutorial",
105-
// to: "/docs/category/security-fundamentals",
106-
// },
107-
// ],
108-
},
109-
{
110-
title: "Community",
111-
items: [
112-
{
113-
label: "Stack Overflow",
114-
href: "https://stackoverflow.com/questions/tagged/supply-chain-security",
115-
},
116-
],
117-
},
100+
// {
101+
// title: "Docs",
102+
// items: [
103+
// {
104+
// label: "Tutorial",
105+
// to: "/docs/category/security-fundamentals",
106+
// },
107+
// ],
108+
// },
109+
// {
110+
// title: "Community",
111+
// items: [
112+
// {
113+
// label: "Stack Overflow",
114+
// href: "https://stackoverflow.com/questions/tagged/supply-chain-security",
115+
// },
116+
// ],
117+
// },
118118
{
119119
title: "More",
120120
items: [
@@ -146,16 +146,11 @@ const config: Config = {
146146
{
147147
type: "docSidebar",
148148
sidebarId: "tutorialSidebar",
149-
position: "left",
149+
position: "right",
150150
label: "Learning",
151151
},
152152
// {to: '/blog', label: 'Blog', position: 'left'},
153153
// { href: "/resources", label: "Resources", position: "left" },
154-
{
155-
href: "https://github.com/securesign/trusted-foundations",
156-
label: "GitHub",
157-
position: "right",
158-
},
159154
],
160155
},
161156
prism: {

src/css/custom.css

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ body {
3939
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
4040
}
4141

42-
4342
.footer--dark {
4443
--ifm-footer-background-color: #212427;
4544
}
@@ -48,7 +47,6 @@ body {
4847
margin-top: 5em;
4948
}
5049

51-
5250
/* Make the screen narrower for easy reading */
5351
@media (min-width: 1416px) {
5452
.main-wrapper {
@@ -63,13 +61,37 @@ body {
6361
max-width: 1360px;
6462
}
6563

64+
h1, h2, h3, h4, h5, h6 {
65+
font-family: "IBM Plex Mono", serif;
66+
}
6667

67-
.docusaurus-mermaid-container {
68-
text-align: center;
68+
h1 {
69+
font-size: 2rem;
6970
}
7071

71-
h1, h2, h3, h4, h5, h6 {
72-
font-family: "IBM Plex Mono", serif;
72+
h2 {
73+
font-size: 1.8rem;
74+
}
75+
76+
h3 {
77+
font-size: 1.5rem;
78+
}
79+
80+
h4 {
81+
font-size: 1.2rem;
82+
}
83+
84+
h5 {
85+
font-size: 1.1rem;
86+
}
87+
88+
h6 {
89+
font-size: 0.9rem;
90+
text-transform: uppercase;
91+
}
92+
93+
.docusaurus-mermaid-container {
94+
text-align: center;
7395
}
7496

7597
.ibm-plex-mono-thin {

src/pages/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ function HomepageHeader() {
2323
<div className={styles.buttons}>
2424
<Link
2525
className="button button--secondary button--lg"
26-
to="#"
26+
to="/software-supply-chain-security"
2727
>
2828
Software Supply Chain Security in 5min ⏱️
2929
</Link>

0 commit comments

Comments
 (0)