日立製作所 中村 雄一
OpenSSFとは
OpenSSF(Open Souce Security Foundation)とは、2020年に設立されたThe Linux Foundation傘下の団体であり、「OSSのセキュリティ全般(OSSの開発側, OSSを使う側双方)」を活動のスコープとしています。2021年末のlog4jのインシデントを受けサプライチェーンセキュリティにおけるOSSの懸念が高まり、米国政府の要請で、OpenSSFがOSSセキュリティ実行計画(10 streams)を取りまとめ、メンバ加入や活動が加速しています。特に注目すべきプロジェクトをいくつか紹介します。
-
OpenSSF Best Practice Badge
OSSプロジェクトが準拠すべきベストプラクティスを定めており、ベストプラクティスを満たしたOSSプロジェクトにBadgeと呼ばれるロゴを授与しています。2023年12月9日現在、6445ものOSSプロジェクトにBadgeが授与されています。 -
SLSA(Supply chain Levels for Software Artifacts)
ソフトウェアサプライチェーンにおける、ソフトウェア開発から実装までのプロセスに注目して、どの段階でも「確実に真正であること=第3者によって破壊されていないこと」を実証することで、すべてのプロセスが意図された通りに開発、ビルド、パッケージ、デプロイされたことを確認するためのフレームワークです。OSSの開発のみならず、OSSを用いたソフトウェア開発全般が意図されています。SLSAに準拠した開発では、パッケージがどのように構築されたかを示すprovenance(来歴)を作成し、パッケージ利用者が、パッケージ構築時に不正が行われていないことを確認できるようにします。 -
Sigstore
ソフトウェアを署名・検証するためのツールです。ソフトウェア以外にもSBOMやSLSAのprovenanceの署名にも使われます。類似のツールとの大きな違いは、OpenID Connectの認証サーバを用いた、キーレス署名に対応しているところです。キーレス署名により、署名鍵の管理の手間がなくなります。
OpenSSF Day Japan 2023で発表されたアップデート
2023年12月4日にOpenSSF Day Japanが開催されました。基調講演では、OpenSSFの代表であるOmkhar Arasaratnamさんより、OpenSSFの最新のアップデートが発表されました。以下に、主なアップデートを紹介します。
-
Secure Software Development guideline principle(SSDGP)
セキュアなソフトウェア開発の10の原則が、ソフトウェア開発プロジェクトにおける誓約書の形でまとめられています。ソフトウェア開発プロジェクトは本原則に署名し公開することで、セキュリティを十分に考慮することをプロジェクト内外にアピールすることができます。 -
CVE Numbering Authority Guide
CVE(Common Vulnerabilities and Exposures)では、脆弱性の開示のプロセスを定めており、脆弱性の識別子を発行するプロセス定められています。本ガイドでは、OSSのプロジェクトがCVEの脆弱性識別子を発行する機関になるための手順を解説しています。 -
Compiling Options Hardening Guide for C and C++
C/C++言語のコンパイラは、生成されたバイナリを攻撃されにくくするための機能を有しています。本ガイドでは、そのような機能を有効に活用するため、コンパイラのオプションを解説しています。 -
Souce Code Management Guide
GithubやGitlabのようなソースコード管理プラットフォームを使う際のセキュリティ上の留意点をまとめたガイドです。 -
Malicious packages repository
悪意のあるソフトウェアに、有名なパッケージと類似の名前を命名し、開発者のtypoを通じて、悪意のあるソフトウェアが混入するケースが多発しています。Malicious packages repositoryでは、そのような悪意のあるパッケージの報告を受け付け、悪意のあるパッケージのリストをまとめています。
OpenSSF Day Japan 2023では、この他にもOpenSSFに関連した最新の取り組みが発表されました。資料が公開されているセッションもありますので、興味のある方はこちらを参照ください。