こんにちは、吉田行男です。今回は、「オープンソースのサプライチェーン」についてのさまざまな情報をご紹介したいと思います。
Sonatypeが「State of the Software Supply Chain」レポートを公開
このレポートは、米国Sonatype社が調査したオープンソースのサプライチェーンの実態を調べたレポートで、今年で8回目となる年次報告書です。対象のエコシステムは、Java(Maven Central)、JavaScript(npmjs)、Python(PyPI)、.NET(nuget)の4つで、今回のレポートでは、下記の5項目について、報告されています。
- ソフトウェア サプライ チェーンの継続的な成長と根強いセキュリティの懸念
- プロジェクトに最適な依存関係を選択するための洞察
- 開発者の行動と推奨事項
- 賢明なサプライ チェーン管理と、成熟度に対する認識と現実の比較
- 国際レベルでの現在および今後の規制状況
オープンソースの供給と需要、そしてセキュリティ
現在、オープンソースの供給量は2桁のペースで増加していて、止まる気配がありません。下記のグラフにあるようにダウンロード量は加速度的に増加していて、この4つのエコシステム合計で3兆ダウンロードを超えると予測されています。特にJavaScriptのダウンロード量は急激に増えています。特にJavaScriptのエコシステムは、2022年には2021年の4つのエコシステムの合計とほぼ同数のダウンロードを予測しています。
Ecosystem | Total Projects | Total Project Versions | 2022 Annual Request Volume Estimate | YoY Project Growth | YoY Download Growth | Average Versions Released per Project |
Java (Maven) | 492k | 9.5M | 675B | 14% | 36% | 19 |
JavaScript (npm) | 2.06M | 29M | 2.1T | 9% | 32% | 14 |
Python (PyPI) | 396K | 3.7M | 179B | 18% | 41% | 9 |
.NET (NuGet) | 321K | 4.7M | 96B | -5% | 23% | 15 |
Totals / Avgs | 3.3M | 47M | 3.1T | 9% | 33% | 14 |
表1. 2022年のソフトウェアサプライチェーン統計
また、エコシステムの成長率という視点では、図2に見られるように2020年にNuGetが大規模な成長を遂げましたが、その後は横ばいになっています。とはいえ、平均では前年比30%をキープしていることを考えるとまだまだ、オープンソースの採用のペースは衰える気配はないと考えても良いと思います。
個別のエコシステムの状況については、レポートに記述されていますので、ご覧ください。
公開リポジトリのOSSを狙った悪意のある攻撃が前年比で633%増加
次にオープンソースのセキュリティに関するレポートです。
Sonatype社によると、OSSを狙った悪意のある攻撃が、2022年には、前年の633%となる88,000件をこえるインスタンスを検知しています。2019年以降からのデータを見ても、ソフトウェアサプライチェーン攻撃は、年平均742%増に相当しており、これは、政府および業界主導の取り組みを強化する必要性があることを示しています。これらの取組みについては、後ほどご紹介したいと思います。
このように、攻撃が増えていることにそれぞれのエコシステムでも対応を図っていて、例えば、GitHubでは2022年2月にnpmのメンテナーの上位100人に2要素認証を要求し、乗っ取りを防ぐ対策をとっています。
各国の取組み状況
昨年の2月と5月の米国の大統領令によって、サプライチェーンのセキュリティに対する取り組みが進んできたわけですが、ここからは米国を含む各国でどのように取り組みが進んでいるかをご紹介したいと思います。
米国では、2022年1月に予算管理局(the Office of Management and Budget (OMB))が、「Moving the US Government Toward Zero Trust Cybersecurity Principles」という覚書を発行し、この覚書の中で、政府機関が特定のサイバーセキュリティの基準と目標を達成するための期限を 2024 年度末に設定しました。
また、2022年5月にNIST(米国国立標準技術研究所)は、サードパーティ製ソフトウェアの取得、使用、および保守に関連する「サプライチェーンにおけるソフトウェアセキュリティ」で、追加の包括的なガイダンスを提示しました。このガイダンスには、ソフトウェア部品表 (SBOM)、ベンダーのリスク評価、オープンソースソフトウェアの管理および脆弱性管理のプラクティスにまたがる推奨される概念と機能も含まれています。
このガイダンスで強調されている持続的な機能には以下のようなものがあります。
- 脆弱なコンポーネント、特にオープンソースを含むコンポーネントを特定するバイナリソフトウェア構成分析 (SCA)
- 開発者が使用するオープンソースソフトウェアの1つまたは複数のレポジトリおよび/またはライブラリを設定し、維持すること。
2022年9月にOMBは別の覚書「Enhancing the Security of the Software Supply Chain through Secure Software Development Practices(セキュアソフトウェア開発の実践によるソフトウェアサプライチェーンのセキュリティ強化)」を発行しました。この覚書は、「国家のサイバーセキュリティの改善に関する大統領令」を指針とし、連邦政府のシステムやベンダーが共通のサイバーセキュリティ基準を満たすソフトウェアを利用するという同令の要求に従う方法について、さらなる指針を示すものです。
OMBの覚書は、“安全なソフトウェア開発基準に準拠したソフトウェアのみを使用すること、ソフトウェア開発者と組織のための自己証明書を作成すること、新しい脆弱性が発見されたときに連邦政府が迅速にセキュリティギャップを特定できるようにすること “を組織に指示するものです。つまり、ソフトウェアベンダーは、自社製品のセキュリティを保証し、自社のソフトウェアがNISTが発行した2つの文書に概説されているセキュリティのベストプラクティスに従って開発されていることを自己証明する必要が出てきたのです。2つの文書とは、2021年2月発行の「Secure Software Development Framework(SSDF)」と、2022年2月発行の「Software Supply Chain Security Guidance」になります。
2022年9月、2022年“Securing Open Source Act of 2022“法が上院に提出され、連邦社会におけるオープンソースの戦略的重要性が強調され、CIOは “対象となる各機関におけるオープンソースソフトウェアの安全な利用を阻害するのではなく、可能にすべき “と指摘されました。さらに、この法律は、ソフトウェアコンポーネントのリスク評価の枠組みを公開し、「連邦政府機関が直接または間接的に使用する」オープンソースソフトウェアコンポーネントの評価を実施することに関連する期限を課しています。また、同法は、オープンソースソフトウェアコミュニティ内の民間企業、非営利団体、および個人との関わりを指示しています。
このように米国では、政府が主導する形でオープンソースに対する取り組みを進めています。
カナダでは、2022/6に“指定事業者のサプライチェーンや第三者の製品・サービスの使用に関連するリスクも含め、あらゆる組織的なサイバーセキュリティのリスクを管理すること ”を義務化されていますが、まだまだ、攻撃が増加すると予想している人は多いものの、サードパーティのサイバーおよびプライバシーのリスクを完全に理解していると言える人は少なく、大きな課題となっています。
また英国では、2021年に政府が、サプライ チェーンのセキュリティに関する見解を求める呼びかけを行い、国のサイバーレジリエンスイニシアチブを開始しました。2022年2月に” National Cyber Security Strategy 2022”を発表。特にサプライチェーンの脆弱性を懸念事項として挙げています。この戦略では、デジタル、文化、メディア、スポーツ省 (DCMS) に、国家サイバー セキュリティ センター (NCSC) と連携して、ネットワークおよび情報システム (NIS) 規制の実施を具体的に課しています。
この他の国々でもさまざまな取り組みをしていますので、興味のある方は、本レポートをお読みいただけると幸いです。
著者:
吉田 行男
2000年ごろからメーカー系SIerにて、Linux/OSSのビジネス推進、技術検証、OSS全般の活用を目指したビジネスの立ち上げに従事。社内外でOSS活用に関する講演、執筆活動を行ってきた。2019年から独立し、さまざまな会社や団体の顧問として活動。OSSの活用やコンプライアンス管理などを支援している。