Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MS5] SBOM Support & Security #1707

Closed
11 tasks done
grobmeier opened this issue Aug 16, 2023 · 4 comments
Closed
11 tasks done

[MS5] SBOM Support & Security #1707

grobmeier opened this issue Aug 16, 2023 · 4 comments
Assignees
Labels
STF-Milestones Milestones funded by the Sovereign Tech Fund

Comments

@grobmeier
Copy link
Member

grobmeier commented Aug 16, 2023

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.

@grobmeier grobmeier added the STF-Milestones Milestones funded by the Sovereign Tech Fund label Aug 16, 2023
@grobmeier grobmeier self-assigned this Aug 16, 2023
vy added a commit to apache/logging-parent that referenced this issue Oct 18, 2023
@ppkarwasz
Copy link
Contributor

Discussion related to SBOM:

@vy vy self-assigned this Oct 19, 2023
vy added a commit that referenced this issue Oct 20, 2023
vy added a commit to apache/logging-log4j-tools that referenced this issue Oct 20, 2023
vy added a commit to apache/logging-log4j-transform that referenced this issue Oct 20, 2023
vy added a commit to apache/logging-log4j-scala that referenced this issue Oct 20, 2023
@ppkarwasz
Copy link
Contributor

The problem with the distribution link was reported in CycloneDX/cyclonedx-maven-plugin#245

vy added a commit to apache/logging-log4j-jmx-gui that referenced this issue Oct 22, 2023
vy added a commit to apache/logging-log4j-jmx-gui that referenced this issue Oct 22, 2023
vy added a commit to apache/logging-log4j-kotlin that referenced this issue Oct 22, 2023
@ppkarwasz
Copy link
Contributor

We should also consider including a VEX and/or VDR report.

These could double the information we already provided in the Github "Security" tab. For example we could dismiss:

vy added a commit to apache/logging-site that referenced this issue Oct 31, 2023
vy added a commit to apache/logging-site that referenced this issue Oct 31, 2023
vy added a commit to apache/logging-site that referenced this issue Oct 31, 2023
vy added a commit to apache/logging-site that referenced this issue Oct 31, 2023
vy added a commit to apache/logging-site that referenced this issue Oct 31, 2023
vy added a commit to apache/logging-site that referenced this issue Oct 31, 2023
vy added a commit to apache/logging-site that referenced this issue Oct 31, 2023
vy added a commit to apache/logging-site that referenced this issue Oct 31, 2023
vy added a commit to apache/logging-site that referenced this issue Oct 31, 2023
vy added a commit to apache/logging-site that referenced this issue Oct 31, 2023
ppkarwasz added a commit that referenced this issue Nov 3, 2023
The XSLT adds an external reference of type 'vulnerability-assertion' to
all the components in the `org.apache.logging.log4j` group.

It also adds a `serialNumber` and converts the SBOM to version 1.5.

Part of #1707.
vy added a commit that referenced this issue Nov 6, 2023
vy added a commit that referenced this issue Nov 6, 2023
vy added a commit that referenced this issue Nov 6, 2023
vy added a commit to apache/logging-site that referenced this issue Nov 8, 2023
vy added a commit to apache/logging-site that referenced this issue Nov 8, 2023
vy added a commit to apache/logging-site that referenced this issue Nov 8, 2023
vy added a commit that referenced this issue Nov 8, 2023
vy added a commit to apache/logging-site that referenced this issue Nov 9, 2023
@grobmeier
Copy link
Member Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
STF-Milestones Milestones funded by the Sovereign Tech Fund
Projects
None yet
Development

No branches or pull requests

3 participants