Open-Source Security の現状と未来:コミュニティとユーザーと政府は何を考えるべきか?

How to Navigate Open-Source Security Without Stifling Innovation

2024/02/08 InfoSecurity — Open-Source ソフトウェアのコードが、重要インフラを含むあらゆる部門で利用される規模を反映するかのように、各国政府におけるセキュリティへの関心が高まっている。Open-Source ソフトウェアの広範な利用と、それがもたらすリスクは、2021年12月に発見された悪名高い Log4j の脆弱性により証明された。その影響力は、グローバルで 58% の組織に及んだとされている。

ロンドンで開催された「State of Open Con 2024 (SOOCon24) において、Rust Foundation の CEO である Rebecca Rumbul は、Open-Source コミュニティおよびサイバー・セキュリティ業界と各国政府との対話は、3年前には行われていなかったと指摘した。しかし、いまでは定期的に開催されている。


しかし、この領域において、政府から出されるセキュリティに関する規定により、Open-Source ソフトウェアが提供する大きなメリットである、イノベーション/コスト/透明性が損なわれるという懸念が生じている。この件については、昨年の EU Cyber Resilience Act 草案に盛り込まれた条項への、コミュニティからの反対意見に集約されている。

ここでは、Open-Source ソフトウェアが提供するメリットに影響を与えることなく、そののセキュリティを強化する4つの方法を紹介していく。

1:政府は Open-Source の問題に適切に関与すべき

トップダウンの法制化は失敗の運命にある

SOOCon24 に登壇した何人かの講演者は、政府がコミュニティに対して法律を押し付けるだけでは、Open-Source のセキュリティを向上させる効果はなく、潜在的な損害を与えることになると主張した。

と言うのも、Open-Source ソフトウェア・コミュニティは、伝統的な組織におけるトップダウンの構造を持っていない。つまり、個人のエコシステムであり、その多くが余暇を利用して、コードを開発/保守しているのだ。

公的機関や民間企業で作成されたソフトウェアと比べると、SBOM (software bills of materials) や SDLC (software development lifecycle) のような管理は、Open-Source 開発では実施しにくい。

CISA (Cybersecurity and Infrastructure Security Agency) の Vulnerability Analyst である Victoria Ontiveros は、従来から政府におけるレベルでは、Open-Source エコシステムについて誤解があることを認めている。彼は、「我々は、Open-Source コミュニティとのコミュニケーション方法を変える必要がある」と述べている。

OpenSSF の General Manager である Omkhar Arasarantnam は、政府が適切な注意と配慮をもって、この問題に取り組むのであれば、Open-Source コミュニティ内には、耳を傾けセキュリティを改善しようという意欲が生じると述べている。Arasarantnam の主張は、最初から、コードを正しく構築することに重点を置くべきというものだ。彼は、「政治的な違いはさておき、技術的な正しさに集中しよう」と述べている。

Open-Source への取り組みでリードする英国と米国

特に米国と英国の規制当局の間では、Rust Foundation のような団体も含めて、Open-Source に働きかけようとする意欲が高まっている。

Rumbul は、「CISA のような機関が、私たちに反対するのではなく、私たちと協力しようという姿勢を見せてくれたことは、本当に心強いことだ」と述べている。

Rust Foundation は、Rust プログラミング言語と、それを使用する人々に対して、安全性/セキュリティ/持続可能性/健全性の面でコントリビュートする、独立型の非営利団体である。

さらに Rumbul は、EU Cyber Resilience Act (CRA) の関連条項を改善するために、EU が Open-Source コミュニティと協力したことを高く評価している。Open-Source コミュニティの著名なメンバーが署名した、公開書簡で警告されていたのは、文言が広範すぎるため、技術革新の能力が著しく阻害され、経済的に大きな影響を及ぼすという内容である。

Rumbul は、「現時点における CRA の状態は、昨年に初めて発表されたときと比べて、大幅に改善されている。このアプローチにより、政府は “すべての人の利益のために上手く規制する” ことを、それぞれの政府は可能にするだろう」と述べている。

OpenUK の CEO である Amanda Brock は、「米国と英国の政府は、エコシステムのニュアンスの理解に時間を費やした後に、規制措置を取っている。それは、EU が CRA の草案を作成したときに取った、トップダウンのアプローチとは対照的だ。明確になる前に法制化するのではなく、協議を重ね、物事の仕組みを理解することが必要だ」と述べている。

2:開発者とユーザーに対するサイバー・セキュリティ教育

開発者に対するセキュリティ・トレーニングの義務化

開発者に対するセキュリティ・トレーニングの欠如は、Open-Source のソフトウェア開発の際に、確実に取り込むべき Security-by-Design の原則の適用を阻むものとなっている。

Rumbul は、 「コードを学ぶとき、セキュリティは大きな要素ではない。開発者に対する教育は、さまざまなソースから提供されるべきであり、また、継続的なプロセスになる必要がある。

これは教育システムから始まる。2023年、CISA の Director である Jen Easterly は、コンピュータ・サイエンスのコースワークの標準的な要素として、大学における教育にセキュリティを取り込むよう呼びかけている。

OSSF (Open Source Security Foundation) のような業界団体も、開発者向けに無料のセキュリティ教育を提供している。

さらに Rumbul は、「コードにセキュリティを組み込むプロセスは、可能な限りシームレスにすべきだ。私たちが、Rust エコシステムで行おうとしているのは、余分なステップや規定を排除しながら、必要なツール/プロセス/自動化を開発することだ」と説明している。

組織は Open-Source 利用のリスクを理解する必要がある

Open-Source のセキュリティに関する教育は、開発者だけではなく、ユーザーに対して行われるべきだ。つまり、ユーザー組織は、Open-Source コードの使用に伴うリスクと、それを軽減する方法を確実に理解する必要がある。

CISA の Victoria Ontiveros は、「米国政府は、水道施設などの重要インフラで使用される。Open-Source ソフトウェアの安全確保を優先している。我々は、重要インフラ業界と協力し、彼らが Open-Source に依存していることを理解し、そこから生じるリスクを管理する方法を知る必要がある」と述べている。

2023年10月に米国政府は、重要インフラ環境の OT (operational technology) における、Open-Source ソフトウェアの安全確保に関するガイダンスを発表した。

OpenSSF の Arasarantnam は、「ユーザー組織が認識すべきことは、Open-Source コードの脆弱性から、セキュリティ・インシデントが発生する可能性である。したがって企業は、インシデントに対処するための、十分に実践された、退屈しない方法を確立する必要がある」と付け加えている。

3:Open-Source コードの透明性を高める

Cisco の Head of Open Source である Stephen Augustus によると、「Open-Source セキュリティは、開発者が何かを書き留める文化により、大幅に強化される」とのことだ。

そこに書き留められる情報には、依存関係/ライブラリ・リリース時期/連絡可能なメンテナの有無などが含まれる。

そうすれば、ユーザー組織の自社ソフトウェア開発において、特定の Open-Source コードを使用する際に、セキュリティ中心の適切な決定が下されるようになるだろう。

Augustus は、「ローカルなところから始めて、あるものが良い依存関係であるかどうか、人々が考察できるような、仕事のためのナレッジベースを構築してほしい」と述べた。ソフトウェア・コンポーネントの起源を示す SBOM は重要である。その情報に基づいて、リスク管理の意思決定を行うことができる。誰もが見つけられる場所に SBOM を置くことで、将来のユーザーが、すべての情報に基づいて意思決定できるようになる」と付け加えている。

4:Open-Source セキュリティのオーナーシップとは?

エンドユーザーにも責任がある

Open-Source エコシステムにおける、すべての利害関係者は、セキュリティのオーナーシップを持つべきであり、開発者だけが管理するような状況を期待すべきではない。

OpenSSF の Arasarantnam は、「何百万人もの人々のために、ソフトウェアをパッケージ化するのであれば、母なる自然に頼るのではなく、高い確実性が必要となる。その一方でユーザー組織は、Open-Source コミュニティから得られる無料のコードから利益を得ている。その結果として、セキュリティ上の問題が発生した場合には、その責任を負う必要がある」と指摘している。

政府は Open-Source のエコシステムに財政的支援を行うべき

各国の政府は、Open-Source ソフトウェアの世界最大の消費者であるため、エコシステムを財政的に支援すべきである。

Rust Foundation の Rebecca Rumbul は、「政府における特別な責任とは、Open-Source セキュリティのベストプラクティスを先導し、エコシステムのセキュリティ維持に資金を提供することである。政府に期待するのは、規制を行うだけではなく、私たちがやっている仕事に対する財政的な支援である」と述べている。

OpenUK の Amanda Brock は、「そのためには、政府の各部門において、Open-Source ソフトウェアへの理解が深まる必要がある。Open-Source ソフトウェアは、インフラストラクチャの根幹をなすものである。したがって、迅速なスピードアップが、政府の各部門に求められている」と述べている。