bottlerocket-os / bottlerocket-os/bottlerocket

Improvements to measuring Bottlerocket settings to PCR 8

Open
#4,872 0 comments 0 reactions 0 assignees View on GitHub
status/needs-triage type/enhancement
Dominant language
Rust
Stars
9.7k
Forks
586
Avg merge
1d 11h
Merged PRs (30d)
11

Description

**What I'd like:**

Bottlerocket measures OS settings into PCR 8 via rottweiler. It currently excludes `settings.network.hostname` and `settings.updates.seed`:

https://github.com/bottlerocket-os/bottlerocket-core-kit/blob/b76210536e1f19f8922d1fa1854c43adae7a97bd/sources/rottweiler/src/system.rs#L164-L179

I would like more control over what OS settings are measured into PCR 8 with the ultimate goal of making PCR 8 predictions viable via [pcrsys](https://github.com/bottlerocket-os/twoliter/tree/develop/tools/pcrsys).

- [ ] Add `settings.measurement.excluded-settings` to variants with the `encrypted-storage` feature enabled
- [ ] Add optional PCR prediction to `pcrsys` when provided input user data TOMl

**Any alternatives you've considered:**

Keep the status quo

Contributor guide

Open the contributing guide

Research direction

Start with rottweiler's sources/rottweiler/src/system.rs around lines 164-179 to understand the current PCR 8 exclusions, then inspect the pcrsys tool and its user data TOML input. Define the measurement exclusion setting for encrypted-storage variants and optional PCR prediction; done means both requested checklist items are implemented and predictions reflect the supplied settings.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
operating-systems, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.