Skip to content

[MS5] SBOM Support & Security #1707

@grobmeier

Description

@grobmeier

This milestone aims to harden Log4j and its satellite projects (logging-parent, log4j-tools, log4j-scala, etc.) against software supply chain attacks. Implementation tasks are detailed below.

Consult to security experts

We had meeting with Kamal Kothyari on 2023-10-13. Discussion topics and action points are as follows:

Software Bill of Materials (SBOM)

SBOMs are crucial in determining the impact surface of software against vulnerabilities. They capture an inventory of software components and services and their dependency relationships. This is essential for risk identification in the face of software supply chain attacks.

Our research yielded that there are two industry standards for SBOM specification in the market:

An extensive comparison of both alternatives is published by Sonatype, the company behind Maven Central, Nexus, etc. According to our understanding, both standards are well-established and feature-rich. That said, SPDX is more focused on license compliance, whereas CycloneDX is on more component identity. We decided to proceed with CycloneDX.

We had several discussions with @hboutemy (a member of cyclonedx-maven-plugin maintainers and Apache Maven PMC) and @stevespringett (creator of DependencyTrack and the chair of CycloneDX SBOM standard) and also a video call on 2023-11-03. They generously helped us to clarify various implementation details. This work resulted in several improvements to the existing tooling too;

Implemented Log4j-related tasks:

Where is SBOM?

SBOM is streamlined by logging-parent, and hence its complete documentation is accessible in its website. In a nutshell, all deployed Maven artifacts are accompanied by a CycloneDX SBOM file. (For example, see this sbom.xml from log4j-api.) Produced SBOMs are enriched with vulnerability-assertion references to a CycloneDX Vulnerability Disclosure Report (VDR) that Apache Logging Services uses for all projects it maintains. This VDR is accessible through the following URL: https://logging.apache.org/cyclonedx/vdr.xml To the best of our knowledge, Apache Logging Services is the very first ASF project that has ever published a VDR file!

Static code analysis

In #1705 and #1706, we integrated various static code analysis tools into the code base. In this milestone, we reviewed security-related findings from generated reports.

Transparent communication for users

Indirectly related to security, we have added an "Activity Monitor" to showcase the activity of our modules. All commits related to the activity monitor can be found in a separate branch:
https://github.com/apache/logging-site/commits/activity-monitor

In addition to better communication, we had to improve the website structure and now use Jekyll as our main website-building system for faster turnaround.

Metadata

Metadata

Assignees

Labels

STF-MilestonesMilestones funded by the Sovereign Tech Fund

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions