paint-brush
昨年のオープンソースの脆弱性が専門家のセキュリティに対する考え方を変えた@davidivus
330 測定値
330 測定値

昨年のオープンソースの脆弱性が専門家のセキュリティに対する考え方を変えた

David Kirichenko9m2025/02/02
Read on Terminal Reader

長すぎる; 読むには

xz Utils 事件は、何が危険にさらされているかを示す恐ろしい例でした。
featured image - 昨年のオープンソースの脆弱性が専門家のセキュリティに対する考え方を変えた
David Kirichenko HackerNoon profile picture

オープンソース ソフトウェアはどこにでもあり、ほぼすべての最新アプリケーションで使用されていますが、直面するセキュリティ上の課題はますます深刻化しています。ボランティアのバックボーンに依存しているため、脆弱性により、悪意のあるハッカーと国家機関の両方によるサイバー攻撃の主なターゲットになっています。xz Utils バックドア攻撃の危機は、オープンソース セキュリティがいかに脆弱であるかを浮き彫りにしています。オープンソース ツールは民間企業と政府の両方にとって不可欠であるため、民間部門と公共部門からのさらなる投資が必要になります。


インターネットのクラウドソーシングされたコードの多くは、悪意のある人物や国家による侵入に対して脆弱です。オープンソースソフトウェアは「インターネットの中心」であり、主に少数のボランティアによって維持されているため、企業や政府にとって大きなセキュリティリスクとなっています、とエコノミスト誌は報告しています。オープンソースソフトウェアは、コストが低いため、デジタルインフラストラクチャ全体に広く導入されています。デジタル世界全体に埋め込まれているそのインフラストラクチャは、さまざまな敵国国家による攻撃を受けています。


GitHub の開発者関係担当副社長であるマーティン・ウッドワード氏は以前、「オープンソース ソフトウェアは、世界のソフトウェアの 99% の基盤です」 と述べています。アプリケーションの約 97% がオープンソース コードを利用しており、企業の 90% が何らかの形でオープンソース コードを取り入れたり使用したりしています。

オープンソースセキュリティにおける昨年の成果

xz Utils 事件は、何が危険にさらされているかを示す恐ろしい例です。2024 年 3 月 29 日、Microsoft のソフトウェア エンジニアである Andres Freund 氏は、「Linux オペレーティング システムの一部であるソフトウェアに隠されたバックドアを偶然発見しました。」このバックドアは、改ざんされた xz Utils のリリース tarball から来たもので、影響を受けるバージョンを使用しているシステムへの不正アクセスを可能にしました。侵害されたソース コードは、Linux システムのオープン ソース データ圧縮ユーティリティである xz Utilsのものでした。ニューヨーク タイムズ紙は、エンジニアが「歴史的なサイバー攻撃になる可能性」を防いだと書いています。


xz Utils はオープンソース ソフトウェアであるため、そのコードは公開されており、変更内容は誰でも確認できます。しかし、このオープン性は特に巧妙な方法で悪用されました。攻撃はリリース tarball (ソフトウェア リリースのバージョンの圧縮アーカイブ ファイル) 内のコードのみを対象とし、リポジトリのメイン ブランチはそのまま残しました。この巧妙な戦術により、侵害の検出が困難になりました。開発者の注意深さと幸運がなければ、この攻撃は大規模な被害をもたらし、世界中の無数のシステムに侵入していた可能性があります。


Jia Tan という開発者がプロジェクトに有益なコードを提供し始め、徐々に信頼を獲得していきました。その後、時間の経過とともに、悪意のある人物がマルウェアを密かに持ち込みました。xz Utils バックドア攻撃の最も驚くべき要素の 1 つは、悪意のあるコードが一見無害な git コミットを通じて導入されたことです。xz Utils ソース コードを直接変更する代わりに、マルウェアはバイナリ テスト ファイル内の x86_64 オブジェクト コードとして隠され、XZ 解凍のエッジ ケースの単体テストに偽装されていました。 攻撃の背後にいると疑われているロシアの対外情報機関 SVR は、SolarWinds 攻撃の背後にある情報機関と同じです。


この事件は孤立したものではありません。オープンソース プロジェクトは、コードが公開されているため、国家関係者にとって魅力的なターゲットです。このオープン性はコラボレーションには最適ですが、攻撃者がコードとその更新を簡単に調査できるようにもなります。オープンソースは、グローバル インフラストラクチャで重要な役割を果たしています。2023 年の Lineaje のレポートでは、今日のソフトウェアの 70% がオープンソースであり、オープンソース ソフトウェア コンポーネントの 82% が「本質的に危険」であることが明らかになりました。残念ながら、オープンソースは広く使用されているため、その脆弱性はさらに危険になっています。


Lineaje などのレポートでは、リスクが強調されています。オープンソース コンポーネントの 82% は、メンテナンスが不十分、コードが古い、またはセキュリティ上の欠陥があるために危険であると考えられています。これらのプロジェクトの多くは、リソースが限られている小規模なチームや個人のボランティアによって運営されているため、攻撃に対して脆弱です。

AIがより大きな役割を果たす方法

これらのリスクにさらに拍車をかけているのが、大規模言語モデル (LLM) の台頭です。LLMは、デバッグやワークフローの自動化などのタスクで開発者を支援しますが、悪用される可能性もあります。攻撃者は LLM を使用してオープンソース コードの脆弱性を迅速に分析し、悪用可能な欠陥を見つけやすくします。また、これらの AI ツールは、説得力のあるフィッシング メッセージやオープンソース プロジェクトへの偽の貢献を作成することもできるため、悪意のある人物を見つけるのが難しくなります。LLM は人間のやり取りを模倣できるため、フィッシングや自動化できるその他の攻撃ベクトルを通じて、悪意のあるコードが気付かれずに侵入する可能性が高くなります。


リスクはあるものの、LLM はオープンソースのセキュリティを向上させる機会も提供します。しかし、企業が予算なしでオープンソース コードで LLM ベースのアナライザーを実行することに投資する可能性は低いため、コストがかかりすぎる可能性があるため、バランスを取る必要があります。たとえば、AI システムはコードベースの疑わしい変更をフラグ付けしたり、貢献者の行動の異常なパターンを検出したりできます。 オープンソース LLM は、「複雑なサイバーセキュリティの課題を解決するために限界を押し広げ、日々拡大している開発者コミュニティの急成長の恩恵も受けます。」


しかし、防御を強化する同じ技術が武器化される可能性もあります。オープンソースの LLM をサーバーまたはクラウド環境に導入すると、適切なセキュリティ制御が実施されていない場合、モデルまたはモデルが処理する機密データへの不正アクセスのリスクが生じます。悪意のある行為者は、トレーニング データまたはモデル自体を改ざんし、有害なコードやバイアスを挿入して、誤解を招くコンテンツや悪意のあるコンテンツを作成する可能性があります。さらに、適切に保護されていないLLM は、生成されたテキストまたはモデルのアーキテクチャを標的とした攻撃を通じて、機密情報を漏らす可能性があります。


かつては xz Utils などのツールを使用して単一のリポジトリで実現していたものが、今後数年間で 1 人の個人が高度な GenAI テクノロジーを活用して数百に拡張できるようになるでしょう。そして、この変化はすでに始まっている可能性があります。参入障壁は劇的に下がり、国家レベルのリソースや極度の献身を必要とするものから、大量生産できるものへと移行しました。今後数年間で、リポジトリへの小規模またはマイナーな更新の大部分が GenAI によって生成されるようになることは十分にあり得ます。


有意義で高品質な開発への貢献は依然として別の課題ですが、メンテナーの役割も変化する可能性があります。積極的にコードに貢献する熟練した開発者ではなく、単調な作業を管理し、役に立つイメージを示すことに優れたメンテナーが、より複雑または革新的なタスクを少数の熱心な開発者グループに任せるようになるかもしれません。

AIが信頼を揺るがす

従来のフィッシング攻撃は、企業の内部ディレクトリを入手し、重要な個人、または彼らが信頼する個人をターゲットにすることに重点を置いています。NPM の広範な依存関係エコシステムは公開されており、攻撃者は異なる角度から攻撃を行うことができます。攻撃者は、特定のパッケージの少数のメンテナーを特定し、問題のバックログを評価し、その情報を使用して、修正を提供したり支援を提供したりすることで役に立ちそうなボットを展開できます。これにより、信頼を獲得し、開発プロセスに自らを埋め込むための手段が生まれます。


最も優れた偽の身元は、ソーシャルメディアの投稿、学業成績などを通じて時間をかけて強化された現実世界のデータを使用して作成されます。説得力のある偽の身元証明には、写真、つながり、オンラインプレゼンスを含む詳細な経歴が含まれます。GenAI は、これらの身元証明の作成を簡素化するとともに、GitHub などのプラットフォームでのコーディング活動をシミュレートすることで、身元証明を強化します。


オープンソース プロジェクトへの初期の貢献の多くは、コメントの誤字を修正したり依存関係を更新したりするなど、小規模で検証が容易です。これらのアクティビティは大規模に自動化できるため、LLM を使用する攻撃者にとって理想的です。これにより、数百の偽の ID が作成され、それぞれに LinkedIn プロファイル、ソーシャル メディア アカウント、GitHub 履歴が含まれ、数千の小規模だが正当な貢献が含まれます。


これらのアイデンティティは、重複する可能性のある複数のプロジェクトに参加し、役に立つ実績を積むことができます。時間が経つにつれて、悪意のある行為者はこれらのアイデンティティの 1 つを使用して、より重要な貢献を提出する可能性があります。これらの貢献も、最初は有効で有益であるように見える場合があります。国家やハッカー集団などの協調的な取り組みでは、1 つのアイデンティティが別のアイデンティティの信頼性を高め、物語を強化したり、影響力を獲得したりする可能性があります。


すでに xz utils 事件のような例を見てきましたが、この事件では複数の ID が信頼を操作するために使用されていました。攻撃が明らかになると、それらの ID は破棄されました。手動操作では、このような資産を失うとコストがかかります。しかし、GenAI を使用すると、新しい ID を生成するコストは最小限に抑えられ、攻撃者のリスクが大幅に軽減されます。

サプライチェーン攻撃は増加する

最近のソフトウェア サプライ チェーン攻撃は、Solana ベースのアプリケーションの構築に広く使用されている人気の @solana/web3.js npm ライブラリを標的とし、バージョン 1.95.6 および 1.95.7 を悪意のあるコードで侵害して、ユーザーの秘密鍵を盗み、暗号通貨ウォレットを空にしました。この攻撃では、フィッシング キャンペーンが悪用され、脅威アクターが公開アクセス権を取得してバックドア機能を挿入し、正当に見える Cloudflare ヘッダーを介して秘密鍵を盗み出しました。影響を受けたバージョンは削除されており、ユーザーはバージョン 1.95.8 に更新し、リスクを軽減するためにキーのローテーションを検討することが推奨されています。


オープンソース ライブラリへの依存度の高まりと、フィッシングやソーシャル エンジニアリングなどの高度な攻撃手法の増加により、2025 年にはソフトウェア サプライ チェーン攻撃が増加すると予想されています。Synopsys の調査によると、オープンソース ソフトウェアの脆弱性は着実に増加しています。さらに、エンタープライズ システムへのオープンソース ツールの統合が増えると、攻撃者はより高い投資収益率を獲得できるため、サイバー犯罪者と国家支援の攻撃者の両方にとって、このような侵害はさらに魅力的になります。

国家主体の影響とボランティアの標的化

xz Utils 事件は、SolarWinds 攻撃と同様に警鐘となり、オープンソース ソフトウェアのセキュリティを確保し、デジタル公共財としての価値を維持するために、公共部門と民間部門の間でさらなる投資と連携が必要であることを浮き彫りにしました。オープンソース ツールの恩恵を受ける企業は、これらのプロジェクトを支援しなければなりません。この支援には、資金提供、開発者の時間の提供、セキュリティの専門知識の提供などが含まれます。オープンソース プロジェクトには、より厳格なコード レビュー プロセスや更新の責任の共有など、より優れたガバナンスも必要です。脆弱性のパッチ適用を迅速化することも優先事項の 1 つです。遅れると、システムが攻撃にさらされる期間が長くなるためです。


国家主体は依然として最大の脅威の 1 つです。オープン ソース ソフトウェアは、国家主体にとって、スパイ活動、妨害、混乱の低コストで大きな見返りのあるターゲットとなります。SolarWinds 攻撃は、プロプライエタリ ソフトウェアが関与しているにもかかわらず、こうしたサプライ チェーン侵害がいかに大きな被害をもたらすかを示す好例です。


攻撃者は、高度なソーシャル エンジニアリング戦術を使用してプロジェクトを侵害し、個々のメンテナーをより頻繁にターゲットにし続けると思われます。AI ツールは、攻撃者と防御者の両方の能力を強化し続け、新しい脅威に先んじるための競争を生み出します。政府も関与を深め、官民パートナーシップを促進して、より広範なエコシステム全体のセキュリティを向上させる可能性があります。同時に、より厳しい規制が導入され、企業が使用するオープン ソース コンポーネントに対してより多くの責任を負うよう促される可能性があります。


SolarWinds 事件に関して言えば、それが記憶から薄れているかどうかは見方次第です。世間の注目は移ったかもしれませんが、政府関係者やサイバーセキュリティの専門家は、教訓の解決に引き続き注力しています。OpenSSF による取り組み (SLSA や GUAC など) など、ソフトウェア サプライ チェーン セキュリティに関する進行中の作業の多くは、 CISAなどの機関が推進する、より強力な防御の必要性に対する直接的な対応ですが、進展は遅く、すべての組織がこれらの保護を採用しているわけではありません。連邦政府自体が、オープン ソース ソフトウェアの最大の消費者の 1 つであり、この分野への関与を今後も増やしていくでしょう。


こうした取り組みは舞台裏で続いているが、この事件の影響は一般の人々、特にその広範な影響を十分に理解していない可能性のある独立系ソフトウェア開発者や趣味のソフトウェア開発者の間では十分に伝わっていない可能性がある。

結局のところ、専門家のミハル・ザレフスキーは、「結局のところ、趣味人が開発したコードには、数兆ドルものお金がつぎ込まれている」と指摘している。これは、インターネットのバックボーンを形成する重要なソフトウェアの中に、他のバックドアがまだ発見されずに潜んでいる可能性があることを強調している。


脆弱性の特定は懸念事項ですが、より大きな問題はオープンソース エコシステム内の信頼の崩壊にあります。オープンソースは、直接のやり取りや身元の確認なしに誠意を持って作業する顔の見えない開発者の貢献によって成り立っています。GenAI は、顔の見えない貢献者の多くを完全に偽造できるようにすることで、この基盤を弱体化させます。


フィッシング攻撃は、技術的な防御を突破するのではなく信頼を悪用するため、すでに危険です。つまり、個人を騙して信頼できる環境で悪意のあるコードを実行させます。GenAI は、攻撃者が正当な貢献を装って信頼できるオープンソース パッケージに悪意のあるコードを埋め込むことを可能にすることで、このリスクを増大させます。


これにより、GenAI を使用してプロジェクトに侵入する悪意のある行為者と、脆弱性が悪用される前に GenAI を利用して脆弱性を検出し、対処する防御ツールとの間で競争が勃発する可能性があります。そうなると、貢献者と AI 駆動の詐欺師の区別がつかなくなる可能性がある世界で、オープンソースへの信頼が維持できるかどうかが問題になります。


2025 年を迎えるにあたり、オープンソース ソフトウェアは重大な局面を迎えています。国家機関、LLM などの AI ツールの悪用、最大限の被害を与えるためのサプライ チェーンへの干渉に重点が置かれるなど、脅威はますます巧妙化しています。しかし、積極的な対策、さらなる投資、責任の共有により、オープンソースが脆弱性として悪用されることなく、イノベーションと進歩の原動力として繁栄し続ける未来を創造することは可能です。