サプライチェーンを安全に
はじめに
---------------------------------------
2021年5月12日に米国のバイデン大統領は、「国家のサイバーセキュリティ改善に関する大統領令」(*1)に署名しました。一連のセキュリティ事件(SolarWinds社の大規模な情報漏えい事件やColonial Pipeline社のサイバー攻撃など)を受けて発表されたものになります。この大統領令には、連邦政府および連邦政府と連携する民間業者が満たすべき高度なセキュリティ基準が7つの側面から示されており、その中に「ソフトウェアのサプライチェーンのセキュリティの強化」という項目が含まれています。
もう少し詳しく紹介すると『各製品のソフトウェア部品表(SBOM(Software Bill of Materials))を購入者に直接または公開ウェブサイトで提供すること』を要求しており、『製品の一部に使用されているオープンソースソフトウェアの完全性と出所を、実行可能な範囲で確保し、証明すること。』が必要となります。
要するに、「SBOMの作成及び公開が近い将来義務化される」ということになります。
このように大統領令の中で、セキュリティ確保のためには、オープンソースをどのように管理するかということが、大きな課題になってくると考えなければいけません。この解決策のひとつとして、2020/12/16にI SO/IEC 5230:2020で国際規格として承認された「OpenChain」があります。
OpenChainプロジェクトとは︖
---------------------------------------
このプロジェクトは、2013年にARM, Qualcomm, Samsung, SanDisk および Wind Riverが設立したThe Linux Foundationの傘下のプロジェクトです。このプロジェクトでは、OSSが信頼性と一貫性のあるコンプライアンス情報とともに提供される、「ソフトウェアサプライチェーンの実現」を目的としています。このプロジェクトの会員資格には、The Linux Foundationの会員企業が参加できるプラチナ会員とコミュニティ会員があります。プラチナ会員には、ARM、BMW、BOSCHや日本のトヨタ自動車、富士通、日立など21社がなっています。コミュニティ会員は、だれでも参加することできます。
このプロジェクトの活動の成果として、2016年に「OpenChain1.0」の仕様書が完成しましたが、あくまでも議論のたたき台という位置づけで、この仕様書をベースにさまざまな企業から意見を募り、2018年4月に事実上の正式バージョンとなる「OpenChain1.2」を発表しました。2019年1月時点では、この「OpenChain1.2」に基づいて、約20の企業が認証されていました。その後、ISO規格としての認証を受けるべき準備を始めました。
また、上記のプラチナ会員に複数の日本企業が参加したことをきっかけに日本語で情報交換できる場所を創るために、2017年12月にソニー、トヨタ、日立の3社が中心となって「OpenChain Japan WG」を設立しました。
OpenChainの仕様は︖
---------------------------------------
このProjectでは、OSSライセンス遵守に関する仕様「仕様(Specification)」、カリキュラム「教育(Curriculum)」、自己認証プログラム「適合(Conformance)」を提供していますが、ここからは、この仕様についてご紹介したいと思います。
仕様は、大きく6項目の要求事項で構成されており、内容も広範囲にわたっています。
- 「プログラムの基盤」
まず、OSSに対するその組織のポリシーを作成し、文書化することを求められます。また、その文書化したポリシーがその組織内で周知徹底されることも求められます。組織全体でOSSに対してどのように対応するのかということを全員が理解していないと、このOSSのコンプライアンスは、成立しないということを表しています。OSSポリシーについては、Linux Foundationのサイトにある「企業のためのオープンソース ガイド(*2)」が公開されているので、参考にすると良いと思います。
次にそのポリシーに従って推進するための組織を作り、それぞれの役割に対応したメンバーを特定し、責任と明確にすることを求めています。また、このプログラムの参加者がそれぞれの役割に必要なスキルを有しているかを確認する必要があり、そのための教育やトレーニングの記録なども求められます。
このプログラムでは、適用範囲を規定することができます。会社全体でも構いませんし、それぞれのプロジェクト単位でも構いません。もちろん、会社全体としての方針が優先されるべきだとは思いますが、それぞれのプロジェクト独自のルールを作成し、運用することが可能になっていますので、柔軟に対応できると思います。
次に、組織はユースケースに応じてOSSライセンスの義務、制約、および権利についてレビューし、文書として記録するプロセスを定める必要があります。このOSSライセンスのレビューは、組織にとって非常に重要な業務ですが、慣れていない組織にとっては難易度が高い業務なので、注意が必要です。 - 「関連業務の定義と支援」
外部からの問い合わせに効果的に対応するプロセスの保持や手段の公開が求められます。また、それぞれのタスクに十分な人材が配置されていることを求められています。 - 「オープンソースコンテンツの見直しと承認」
SBOMの作成を求められます。このOSSの情報交換用フォーマットとしてSPDX(Software Package Data Exchange)(*3)が存在します。また、このSPDXを簡易化したSPDXLite(*4)というフォーマットもあります。各種ツールを活用することで、SBOMの作成工程を自動化できますので、適切にツールを選定し、活用することをお勧めします。
次にそれぞれのユースケースでライセンスの対応に関する手続きについて規定されています。共通的なユースケースとして「バイナリ形式での頒布」、「ソースコード形式での頒布」など 6 種類が列挙されていますが、「リストはすべてを網羅しているわけではなく、またすべての使用事例が適用されるわけでもないこと」と記述されており、必要に応じて、個別のケースについては、検討しなければなりません。 - 「コンプライアンス関連資料の作成と配布」
ソースコードや帰属告知、著作権表示等の必要なすべての情報・ドキュメントが、ソフトウェアと共に頒布されるためのプロセスについて定義されていることを求めています。ただし、「商業的に妥当な努力」という表現もあり、合理的な範囲で手段を講じていれば良いと思いますが、安易な妥協をしてはいけないので、最大限の努力をする必要があります。また、保存期間についても、「ソフトウェアの最終提供以降、適切な期間 、あるいは確認ライセンスの要求事項によって定められた期間(どちらか長い方)」を求められています。 - 「オープンソースコミュニティ活動への理解」
ここでは、コミュニティへのコントリビューション(貢献)について定義されています。組織としてコントリビューションを許可している場合は、そのコントリビューションポリシーも文書化する必要があり、そのプロセスも明確にしておく必要があります。気をつけなければいけないこととしては、当然のことながら、自らの組織にとって、不利益にならないことであるとか、知的財産権を侵害しないことが前提となります。 - 「仕様要求事項の遵守」
ここでは、OpenChain仕様の適合について定義されており、この仕様のすべての要求事項に対して、適合して初めて「適合」であって、その一部では意味がないというが記述されています。
また、この要求事項への適合の有効期限は18か月であると定義されています。したがって、18か月以内に適合認証を再び取得する必要があります。
OpenChainの適合は︖
---------------------------------------
OpenChain プロジェクトでは、仕様の適合認証は「自己認証」と「第三者認証」のいずれかの方法で実施できます。「自己認証」については、Webページが用意されているので、そこから認証が可能です。また、第三者認証を行う認証機関は、OpenChainプロジェクトのページに案内があるので、そちらを参照ください。
今後への期待
---------------------------------------
今回国際標準化されたことにより、OpenChainプロジェクトが目指す「OSSが信頼性と一貫性のあるコンプライアンス情報とともに提供される、ソフトウェアサプライチェーンの実現」に近づいたことになります。今後ますます、OSSの活用が増えていく中で、このような取り組み「正しく使う」という意識が広がることを期待したいと思います。
認証のために多くのドキュメントを作成することになりますが、これらは、無償/有償のさまざまなツールを活用することで、効率的に作成することができます。認証の単位も会社全体でなくても、チームの単位でも可能なので、ぜひこれらツールを活用して認証を受けてみてはいかがでしょうか︖
(*1)Executive Order on Improving the Nation’s Cybersecurity
https://www.whitehouse.gov/briefing-room/presidential-actions/2021/05/12/executive-order-on-improving-the-nations-cybersecurity/
(*2) https://www.linuxfoundation.jp/resources/open-source-guides/
(*3)https://spdx.github.io/spdx-spec/
(*4)https://spdx.github.io/spdx-spec/appendix-VIII-SPDX-Lite/
※本文中記載の会社名、商品名、ロゴは各社の商標、または登録商標です。
Tips集のご案内
テクマトリックスでは、開発企業としてOSSと上手につきあうための「OSS活用Tips集 – シーズン2」を提供しています。
「資料ダウンロードはこちら」から、ホワイトペーパーを一括でダウンロードできます。
1.「OSS最新動向-コロナに負けないオープンソース」
2.「オープンソースSBOMが必要な理由とは!」
3.「ソフトウェアイノベーションはOSSから、コンテナ・AI技術がイノベーションを牽引」
4.「OSSと上手に付き合う方法~攻めは最大の防御なり~」
5.「OSSと上手に付き合う方法~サプライチェーンを安全に~」
6.「ISO/IEC 5230で変わる?OSSコンプライアンス対策」
7.「著作権トロールとは?」