セキュリティ
LFやLFプロジェクトに脆弱性を報告するには
私たち Linux Foundation (LF) は、多くの貢献者と共に、ファウンデーションやプロジェクトにおいて安全なソフトウェアの開発に取り組んでいます。また、私たちが使用するインフラやプロセスの安全性確保にも努めています。悲しいことに、間違いは起こり得ます。ですから、私たちが行っていることにセキュリティの脆弱性を発見したら、ぜひ私たちに教えてください!
LFのファウンデーションやプロジェクトが開発したソフトウェアや、私たちがソフトウェアを開発する方法にセキュリティの脆弱性を発見した場合は、そのファウンデーションやプロジェクトに直接、脆弱性報告のプロセスやポリシーを使って報告してください。そのようなプロセス/ポリシーの例としては、(アルファベット順に)FINOS、Kubernetes、Linuxカーネル、Yocto、Zephyrのものがあります。私たちのファウンデーションやプロジェクトのリストを自由に閲覧してください。
LFのインフラ(全体)またはLFのメインWebサイトのいずれかにセキュリティの脆弱性を見つけた場合は、security@linuxfoundation.org に個人的に報告してください。他の状況の脆弱性(Linuxカーネルや他のプロジェクトなど)の報告はそこに送らないでください。そのような報告には対応できません。プロジェクトの脆弱性については、関連するファウンデーションやプロジェクトに直接報告してください。
ガイダンス
脆弱性報告のプロセスは、多くの場合、ソース リポジトリのSECURITY.mdファイルなどに記述されています。このプロセスには通常、以下のいずれかが含まれます。
- security@DOMAIN(DOMAINはプロジェクトやファウンデーションのドメイン)に電子メールを送る。たとえば、Linuxカーネル セキュリティの脆弱性は、Linuxカーネル セキュリティ バグのページで説明されているように、security@kernel.org へ報告してください。"security" 以外のメールアドレスが推奨される場合もあります。
- プロジェクトがGitHubでホストされている場合は、GitHubのセキュリティ脆弱性を非公開で報告する機能を使います。非公開報告が有効になっている場合は、それを使ってください。
特定のLFプロジェクトが脆弱性の報告方法を明記していない場合は、そのプロジェクトを運営するファウンデーションに、そのプロセスを使って脆弱性を報告してください。また、LFのプロジェクトやファウンデーションが脆弱性の報告方法を明確にしていない場合は、そのプロセスを明確にするよう依頼してください。もしプロジェクトが報告に対して何の反応も示さない場合は、誤って見落とされている可能性もあるため、しばらくしてから何度か再送信してみてください。脆弱性を公表する前に、修正する時間を与えてください(多くの場合、最初の報告から最大90日間)。プロジェクトやファウンデーションがメンテナンスされていないとマークされている場合(「アーカイブ済み」や「放棄済み」など)、報告者は脆弱性を直接一般に報告することができますが、そのプロジェクトがすでにメンテナンスされていないとマークされていることも明確に記載する必要があります。
セキュリティ脆弱性を発見した脆弱性発見者(セキュリティ研究者)が、オープンソース ソフトウェア(OSS)プロジェクトへの脆弱性報告方法に詳しくない場合は、OpenSSFの「セキュリティ研究者がオープンソース ソフトウェア プロジェクトと脆弱性開示を調整するためのガイダンス」を参照してください。脆弱性を迅速に特定し、真の(悪用可能な)脆弱性であることを検証し、修正できるように、脆弱性に関する具体的な情報を提供しなければなりません。特に、ファジング ツールや静的解析ツールからのデータダンプは通常不十分であり、有効な脆弱性報告とはみなされません。プロジェクトやファウンデーションにバグ報奨金制度がある場合は、そのバグ報奨金制度で定義されているとおりに支払いが行われます(該当する場合)。それ以外の場合は、リソースが限られているため、脆弱性報告に対して報酬が支払われることを期待しないでください。脆弱性が公表された際に、報告者を公表するかどうかを報告の中で明確にしてください(通常、公表を希望されているものと想定しています)。
脆弱性がまだ公に広く知られていない場合、私たちのプロジェクトでは通常、修正期間(多くの場合、最長90日間)を設けて脆弱性を非公開で報告していただくようお願いしています。このような脆弱性が公に報告されると、メンテナーが修正作業に取り組んでいる間に攻撃者がソフトウェアを悪用する可能性があります。そのため、法律で義務付けられている場合を除き、プロジェクトが脆弱性を修正する時間を持つか、公開しても問題ないと判断されるまで、未知の脆弱性の詳細を公に報告したり、脆弱性を悪用する可能性のある人と情報を共有したりしないでください。
特定の脆弱性を修正するだけでなく、特定のファウンデーションやプロジェクトを改善する方法について具体的な推奨事項がある場合は、そのファウンデーションやプロジェクトと協力して、プロセスと結果の改善にご協力ください。
LFファウンデーションやLFプロジェクトの場合
LFファウンデーションのリーダーや、LFプロジェクトをメンテナンスしている方は、(1) 脆弱性の発見者(ユーザーやセキュリティ研究者など)が脆弱性を報告しやすいようにし、(2) 脆弱性の報告を受け取る準備ができるようにするための措置を講じてください。OpenSSF の「オープンソースプロジェクトのための調整された脆弱性開示プロセスを実装するためのガイド」は、そのための手助けになります。上述したように、脆弱性報告は、通常、security@YOUR_DOMAINや非公開の報告メカニズムに送られます。これをSECURITY.mdファイルとREADMEファイルに適宜記述してください。前述のとおり、脆弱性が公表された際には、発見者を公にクレジットしてください(発見者がクレジットの受け取りを希望していない場合は除く)。
また、脆弱性の可能性を低くすることも奨励します。たとえば、安全なソフトウェアを開発する方法を学ぶことや、脆弱性に対抗するためのプラクティスを利用することを奨励します(「より安全なソフトウェアを開発するための簡潔なガイド」、「オープンソース ソフトウェアを評価するための簡潔なガイド」、「OpenSSFセキュリティ スコアカード」、「OpenSSFベストプラクティス バッジ」などを参照してください)。LFの各ファウンデーションやプロジェクトは、その目的に照らして十分に安全なソフトウェアを開発し、攻撃(サプライチェーン攻撃を含む)に対抗するためのグッドプラクティスを適用し、継続的に改善するよう努めることが期待されています。
Linux Foundation はまた、オープンソース ソフトウェア(OSS)全般をさらにセキュアにするための取り組みも行っています。Open Source Security Foundation (OpenSSF) は、私たち全員が依存しているOSSのセキュリティを確保するための広範なイニシアチブです。詳しくは、OpenSSFをご覧ください。
受け入れられるアプローチ
セキュリティ研究に影響を与える可能性のある法律や規制があります。それらをよく理解し、疑問があれば弁護士に相談してください。Linux Foundation はあなたに法的なアドバイスを提供することはできませんので、適用される法律を遵守するのはあなたの責任です。脆弱性報告は、私たちのコミュニティやプロジェクトに依存するエコシステムへの貴重な貢献です。Linux Foundation は、私たちのプロジェクトで脆弱性分析を実施したり、私たちのプロジェクトに脆弱性を開示した人物(プロジェクトで定義されたプロセスを使用するなどして)に対して、法的措置を追求することはありません。
特定のファウンデーションやプロジェクトにおいて、あなたのセキュリティ研究に対するアプローチが受け入れられるかどうか懸念がある場合や不明な場合は、まずそのファウンデーションやプロジェクトのコミュニティに連絡してください。