DUICUO

オープンソースは本当に魅力的ですが、どの程度のリスクがあるのでしょうか?

ここ数年、オープンソース コミュニティは活況を呈しており、オープンソース ソフトウェア テクノロジは、オペレーティング システム、クラウド ネイティブ テクノロジ、人工知能、ビッグ データ、半導体、モノのインターネットなどの業界に本格的に進出しています。

データによれば、中国企業の 90% 以上がオープンソース テクノロジを使用しているか、使用を計画しています。

同時に、世界中で主要なオープンソース組織が出現し、大手テクノロジー企業がオープンソースエコシステムの構築に多大な人材を投入してきました。

しかし、オープンソースソフトウェアの発展に伴い、その量と影響力は増大し続けており、オープンソースリスクも出現しています。

オープンソース ソフトウェアを不適切に使用すると、世論が悪くなったり、企業に経済的損失が生じる可能性があります。

2021年12月、Douyinの海外版であるTikTokはTikTok Live Studioというアプリをリリースしたが、そのダウンロードページはすぐに削除された。

TikTokはこの件に対し、アプリがGPLライセンスに基づくオープンソースソフトウェアのソースコードを使用しながら、GPLライセンスで要求されているオープンソース化を怠ったため、GPLライセンスに違反したと反論した。

近年、TikTok のオープンソースソフトウェア規制違反のような事例が数多く発生しており、オープンソースコンプライアンスのリスクにつながっています。

しかし、オープンソースソフトウェアのリスクはそれだけではありません。一見無料で見えるオープンソースコードの下には、複数の隠れたリスクが潜んでいます。

1. オープンソースソフトウェアのリスク

一般的に言えば、オープンソース ソフトウェアのリスクは次の 4 つの側面から生じます。

  • セキュリティリスク

これらはさらに、オープンソースソフトウェア自体のセキュリティ上の脆弱性に起因するリスクと、現在大きな注目を集めているソフトウェアサプライチェーン攻撃によるリスクに分けられます。

Sonatype の 2021 年のレポートによると、人気のあるプロジェクトの 29% にサードパーティ ライブラリの既知のセキュリティ脆弱性が含まれています。つまり、ソフトウェア プロジェクトのほぼ 3 分の 1 に既知のセキュリティ脆弱性が含まれていることになり、セキュリティ脆弱性の蔓延が示されています。

ソフトウェアサプライチェーンにおけるセキュリティの問題は、検出が比較的困難です。

たとえば、Log4Shell と Spring4Shell は、2021 年から 2022 年にかけて非常に広範囲に影響を及ぼした 2 つのセキュリティ脆弱性でした。

このタイプのセキュリティ脆弱性の特徴は、サプライ チェーンの上流ソフトウェアを攻撃することで、多数の下流ソフトウェア アプリケーションに影響を及ぼす可能性があることです。

このような状況において、オープンソースソフトウェアのソースのセキュリティ管理は極めて重要です。しかし、オープンソースソフトウェアのサプライチェーンが直面する最大の課題は、企業自身がどのオープンソースソフトウェアを使用しているかを把握していないことです。大企業はオープンソースのコンプライアンスとガバナンスに注目し始めていますが、多くの中小企業はまだこの点を認識していません。

  • 法的リスク

これらのリスクは、ライセンス契約と特許関連のリスクにさらに分類できます。

一般的に使用されるライセンスには、GPL、LGPL、AGPL、MPL、MIT、BSD、Apacheなどがあり、それぞれバージョンが異なります。これらのライセンスは、利用条件に基づいて、コピーレフトライセンスとパーミッシブライセンスの2種類に大別されます。パーミッシブライセンスは、主にライセンスの使用、改変、配布に制限を課します。

現在、多くのオープンソースプロジェクトにはネストされたコンポーネントが含まれているため、内部ライセンスの競合が発生する可能性があります。コードコンポーネントを分析し、その基盤となるライセンスが競合しているかどうかを判断するには、専門知識が必要です。

オープンソース ライセンスの要件に準拠せず、オープンソース コンプライアンス義務を果たさない場合、侵害が発生し、申し立て、訴訟、製品の削除、評判の失墜などのリスクが発生する可能性があります。

特許に関しては、作成者/貢献者によって実施される特許が一つあり、潜在的な特許トラップを孕んでいる可能性があります。もう一つは、第三者による特許侵害のリスクです。さらに、商標権侵害や輸出規制に関連するリスクもあります。

  • 運用と保守のリスク

企業が独自にサポートできない場合、または営利企業の支援を受けられない場合、オープンソース プロジェクトの維持コストも非常に高くなります。

  • 供給途絶リスク

ロシア・ウクライナ紛争後、GitHubはロシアの開発者によるコードのダウンロードを禁止し、ロシアのアカウントからのコード投稿を削除しました。この「供給停止」事件は、世界中の開発者にとって警鐘となりました。

さらに、2022年1月には、Faker.jsの作者が自らのプロジェクトを故意に悪意を持って破壊し、「データベースを削除して逃走」しました。さらに、プログラムを無限ループさせる悪意のあるコードを挿入し、多くのアプリケーションをクラッシュさせ、オープンソースコミュニティに瞬く間に「衝撃」を与えました。

2. オープンソースソフトウェアのリスクに直面する

オープンソース ソフトウェアに関連するさまざまなリスクを考慮すると、企業や開発者はオープンソース テクノロジーを安全かつコンプライアンスに準拠して使用し、落とし穴を合理的に回避するにはどうすればよいでしょうか。

実際、オープンソースであろうとクローズドソースであろうと、本質的にはソフトウェアであり、セキュリティ上の脆弱性は存在します。リスクを恐れてオープンソースソフトウェアの使用を拒否することはできません。

そのため、業界の専門家は、オープンソースのセキュリティリスクに対処し、オープンソースソフトウェアのセキュリティを向上させるためのいくつかのソリューションを複数の観点から提案しています。

まず、オープンソースソフトウェアのサプライチェーン全体のセキュリティにもっと注意を払い、サプライチェーンの相対的に弱い点を特定し、これらの分野への投資を増やす必要があります。

中国情報通信研究院(CAICT)クラウドコンピューティング・ビッグデータ研究所オープンソース・ソフトウェアセキュリティ部門副部長のGuo Xue氏は、企業側で重要な鍵となる行動が3つあると考えています。

  • 対応するオープンソース セキュリティ管理プロセスとメカニズムを確立する。
  • すべてのコンポーネントを明確に把握するために、ソフトウェア資産を大胆に評価し、ソフトウェア項目別インベントリ (SBOM) を作成します。
  • 早期警告メカニズム、保守チーム、保守メカニズムを構築します。例えば、オープンソースソフトウェアの最新のアップデートやバージョンリリースを定期的に追跡し、現在使用しているバージョンにセキュリティ上の脆弱性がないか確認します。セキュリティ上の脆弱性が発見された場合は、速やかに対応するパッチを適用します。

第二に、オープンソースソフトウェアを使用する場合は、ソフトウェアを慎重に選択し、オープンソースライセンスの内容と条件に注意し、潜在的な法的リスクを回避する必要があります。

これに対応して、企業は社内で使用されているオープンソースソフトウェアのリストを特定し、対応するオープンソースライセンスと権利制約を明確にし、関連するコンプライアンスリスクを速やかに回避するための健全なメカニズムを確立する必要があります。

同時に、オープンソース ライセンスの拡散を防ぐために分離メカニズムが使用されます。

たとえば、MPL ライセンスのコードを使用する場合は、ライセンスの感染を避けるために、そのライセンスのコードを別のファイルに配置する必要があります。LGPL ライセンスのコードの場合は、そのライセンスのライブラリを動的にリンクして呼び出すことで分離を実現できます。

現在、中国の多くの大規模および中規模企業は、オープンソースのコンプライアンス問題に対処するために専用のオープンソース ガバナンス オフィスを設立しています。

上海安市情報技術有限公司のシニアソリューションアーキテクトである朱仙曼氏によると、実際のビジネスアプリケーションでは、Apache は商用アプリケーションに適しており、法的リスクも比較的低いが、AGPL と SSPL は多くの企業で一般的に禁止されているとのことです。

企業がオープンソースプロジェクトをリリースする際に、商用化後に商用版とコミュニティ版の両方を保持したい場合、GPLに類似したライセンスを選択することがあります。これにより、オープンソースに関するユーザーの意見、つまりフィードバックを収集し、商用版を改良することができます。一方で、プロジェクトが直接無料で利用されることを望まない企業もあります。

さらに、国家レベルでもオープンソースコンプライアンスに徐々に注目するようになり、オープンソース技術に関する法律や規制が導入されています。

例えば、2021年には中国人民銀行や中国サイバースペース管理局など5つの部門が共同で「金融業界におけるオープンソース技術の応用と開発の規制に関する意見」を発表し、金融機関がオープンソース技術を安全かつ管理可能でコンプライアンスに準拠した方法で使用するためのガイダンスと規制を提供しました。

「意見」では、金融機関による評価システムの構築と改善を促進すること、金融機関がオープンソース技術の著作権、特許、商標、宣言のコンプライアンスを事前に確認し、オープンソース技術間の依存関係を特定して法的紛争を回避することを支援すること、金融機関が緊急対応計画を策定することを支援すること、金融機関が契約または協定を通じてオープンソース技術プロバイダーの義務と責任を明確にし、オープンソース技術のサプライチェーンの管理を強化することを支援することが明確に述べられています。

3つ目に、企業自体にオープンソースソフトウェアをサポートする能力がない場合は、商業的な背景を持つ企業を選択し、そのサービスを購入することをお勧めします。

企業はこれらの企業と法的契約を締結し、SLAや問題解決のタイムラインに関するコミットメントを表明することができます。これらのオープンソースソフトウェアプログラムを提供する企業は、サプライチェーンの堅牢性を高める役割を果たしています。

最後に、供給の混乱は避けられないため、中国企業は事前に計画を立てる必要がある。

オープンソース自体は地理的に制限されていませんが、オープンソースを実施する主体は通常は商業主体であり、その所在地の地域の輸出管理法やその他の制裁の対象となります。

現在、よく知られているオープンソース ソフトウェア グループのほとんどは米国に拠点を置いており、一部のライセンスでは、管轄裁判所は米国の裁判所であり、準拠法は米国の法律であると規定されています。

これらの事実は、オープンソース ソフトウェアが米国の輸出規制の影響を受けることを思い出させます。

この観点から、企業は社内コードリポジトリを構築し、そこに依存しているものを保存することができます。将来、海外のオープンソースホスティングプラットフォームにアクセスできなくなった場合でも、バックアップソースコードプールからこれらのコードを入手することができます。

長期的な視点から見ると、オープンソースの世界は相互依存的です。エコシステムにおいては、エコシステムの上位に位置する者が相互依存の影響に耐える能力を持っています。

現在、中国はオープンソースコードへの貢献度において世界第2位です。

中国のテクノロジー企業は米国のオープンソースコードホスティングプラットフォームの重要な顧客となっており、中国は現在、米国に次いで世界で2番目に多いGitHubユーザーを抱えている。

中国はオープンソース技術の最大の受益国の一つであると同時に、最大の貢献国の一つにもなりつつあり、その影響力の拡大によりオープンソース供給の途絶のリスクが軽減されるだろう。

同時に、国家政府も独自のオープンソースコミュニティとプラットフォームの構築を主導し、「オープンソースエコシステムの育成」という特別な活動を実施し、ハイレベルの基盤の構築を調整し、優れたオープンソースプロジェクトを生み出し、我が国独自のオープンソースエコシステムを構築しています。

3. 結論

オープンソースのリスクは決して単純な問題ではありません。オープンソースソフトウェアのリスク管理は、実際にはソフトウェア開発と利用プロセスにおける様々な役割を担うソフトウェアエコシステム管理プロセスです。

双方は、できるだけ早くオープンソースのセキュリティコンプライアンスに関する意識を高め、オープンソースのリスクを未然に防ぐために、オープンソースのリスクガバナンスに関する国際的なベストプラクティスに従う必要があります。