Introducing the SLSA framework
Introducing the SLSA framework
Preserving the integrity of the code has always been a concern. However, events such as the SolarWinds hack have encouraged organizations such as the Cybersecurity and Infrastructure Security Agency (CISA) to release guidelines to minimize the risk of attacks against the software supply chain.
In parallel, the open-source community and the technology industry are also joining forces in this regard. Proof of this is the SLSA framework, a set of incremental security guidelines that aim to help defend against hacks in the software supply chain.
Codenotary is not just fully aware of the SLSA framework but provides crucial functions for our customers to comply with all SLSA levels.
What is SLSA?
According to its development team, SLSA (Supply chain Levels for Software Artifacts) is a “security framework from source to service, giving anyone working with software a common language for increasing levels of software security and supply chain integrity“. However, SLSA promises to be much more.
The SLSA framework, proposed by Google and inspired by its Borg Binary Authorization framework, has been developed in collaboration with the Open Source Security Foundation (OpenSSF) to formalize the criteria related to software supply chain integrity. This standardization of criteria, if you like, aims to protect each stage of the software development lifecycle.
SLSA and supply chain integrity
While the idea behind SLSA sounds promising, you may be wondering how I can use this framework to increase the security of the software supply chain?
The first thing to understand about the SLSA framework is that it is not a certification (at least not yet) but rather a series of security guidelines. These guidelines consist of 4 levels that are directed to the different phases of the software supply chain.
- SLSA 1. The most basic level consists of automating the build process and generating a metadata file (known as provenance) with crucial information such as the build process, top-level source, and dependencies. While this metadata is not sufficient to ensure the safety of artifacts, it does at least provide risk managers with a high-level view of the potential risks they face.
- SLSA 2. This level requires that the source code be hosted in a service that supports version control and generates an authenticated provenance. In addition, it is essential for this level that there is an immutable reference that points to each change in the repository. With these two simple steps, the authenticated provenance makes it very difficult for an attacker to modify the software, to the point that the build service can be considered safe.
- SLSA 3. You can think of this level as an extension of SLSA 2. This is because the source and build platforms must meet stricter security standards that guarantee a more reliable and detailed source audit. Some of the values that should be included in each revision history include author of the change, uploader, reviewer (s), and timestamp. This care to the integrity of the build process makes it easier to prevent sophisticated attacks such as cross-build contamination for example.
- SLSA 4. Currently, this is the maximum level of protection of the SLSA framework. In addition to meeting all the requirements of the previous levels, SLSA 4 consists of a two-person review of all changes as well as reproducibility of the build process. Other requirements include an immutable history of changes and unlimited retention of code changes.
Since the SLSA framework is a work in progress, the requirements for each level may vary to include additional best practices. An updated list of requirements is available in the project documentation.
Implementing these levels of protection does not have to be a daunting task.
Codenotary offers you a platform with an innovative immutable ledger technology that guarantees a trusted supply chain thanks to its tamperproof provenance SBOM. For more information, please contact us.