MicrosoftがSBOMを生成するツールを発表したが、その背景には「サプライチェーン攻撃」があるらしい。
サプライチェーン攻撃に関してはMicrosoft以外も取り組んでいて、そのうちのひとつであるGithubのブログを読んでみる。
2021年のLog4jやSolarwindsの事例が「サプライチェーン攻撃」をtop-of-mindに押し上げたという。
では、どういうことをしたのか。ちょっと長いので分けて書く。
箇条書きにすると
ということになる。
ちなみにSigstoreというのはコードに署名するための仕組みでLinux FoundationやGoogleなどがコミュニティに参加している。下の画像はSigstoreがどのように動作するかを示した画像だ。
さて、元のGithubのブログに戻る。
こうすることで本物(authentic)かどうかを検証(verify)するだけでなく、どこでビルドされたのかも検証できるようになる。
で、これはOpenSSF(Open Source Securiry Foundation)が策定しているSLSA3という基準に適合する。
SLSA(salsaとも呼ぶ?)は直訳すると「ソフトウェアのためのサプライチェーンレベル」で、tampering(改ざん)を防ぎ、integrity(完全性)を高め、パッケージやインフラを安全にするためのチェックリストであり、フレームワークというわけだ。
で、Githubが「SLSA 3になったよ」と言ってるのは、上の表のLevel3ということになる。
より詳細にはソースとビルドプラットフォームについて履歴をauditability(監査できること)を求めている。cross-buildのcontamination(汚染)のようなケースを想定しているようだ。
余談だがSLSAにはLevel 4というものもある。
ざっくり訳すと「2人でやれば安全だよね」ということらしい。ちょっと二度見してしまった。このドキュメント、Version 0.1なのだが、ずっとこのままだろうか。
どの企業も自分で安全だと主張するだけでなく、安全性のレベルを業界団体で決めて、その基準をクリアしに行くというマッチポンプ透明性のある取り組みが求められているということだろう。