オープンソースソフトウェア(OSS)の利用が拡大する中、2024年3月に発表されたLinux向けのOSSであるファイル圧縮ツール「XZ Utils」に悪意のあるコードが挿入された問題は大きな衝撃を与えた。
こうしたソフトウェアサプライチェーンへの攻撃の加速が予想される一方で、多くのCISOとDevSecOpsチームの対応は遅れている。そこで、前編でソフトウェアサプライチェーン攻撃の概要、後編でセキュアな開発を効率化するAIの役割と、2回にわたりにソフトウェアサプライチェーンの保護について説明する。
OSSを活用したソフトウェアサプライチェーンへの攻撃が増加
OSSとは、周知の通り、誰でも自由に使用、調査、変更、再配布が基本的に無償で行える、ソースコードが公開されているソフトウェアを指す。ソフトウェアに必要な基本機能や特定の機能がライブラリとして用意されていることも多く、これらを活用することで、開発者は開発期間を短縮し、独自の機能開発に注力することができる。
OSSライブラリや言語はいまや広く浸透しており、IT製品のレビュー比較プラットフォームを運営する米国Capterraの調査では、世界中のソフトウェアの90%以上が基盤にOSSを採用している。さらに、同社が米国のITおよびITセキュリティの専門家約300人を対象とした調査でも、回答者の94%が自社でOSSを使用しており、57%が複数のオープンソースプラットフォームを採用していることがわかっている。
また、この調査では、回答者の多くがOSSを脅威として捉えていることも明らかになっている。回答者の約半数がOSSの脅威レベルを「高(High)」または「極度(Extreme)」と回答しており、41%が「中(Moderate)」と回答している。その理由は、ソフトウェアサプライチェーン攻撃の増加への懸念であった。
ソフトウェアサプライチェーン攻撃とは、ソフトウェアが提供される前に、そのソフトウェアの開発、製造、提供のいずれかの工程に侵入して、不正コードやマルウェアを混入する手口である。また、ソフトウェアを構成するライブラリなどに脆弱性が発見され、多くのソフトウェアが脅威にさらされるケースもある。これらのリスクはOSSに限らない。
この攻撃の特徴は、パッチの適用やアップデートといった通常の対応によって、正規のソフトウェアが危険なものに変わってしまうことにある。例えば、バックドアを設置されて、企業ネットワーク内に不正侵入されて重要な情報を盗み出されたり、ランサムウェアに感染させられたりしてしまう。OSSが脅威として見なされているのはこのためだと考えられる。
ソフトウェアサプライチェーン攻撃の事例
特にここ数年、ソフトウェアサプライチェーン攻撃の話題を耳にする機会が増えている。いくつか例を挙げていこう。
SolarWindsの「Orion」の侵害
2020年には、SolarWinds社が提供するネットワーク インフラの監視および管理プラットフォーム「Orion」が侵害を受けた。サイバー攻撃者は、Orionのアップデートの一部として配布されたプラグインにバックドアを組み込んでいた。
この攻撃は「SUNBURST」と呼ばれ、33,000人以上とされるOrionユーザーの半数近い約18,000人が影響を受けた。攻撃は、セキュリティ対策機器などに検知されないよう複数の技術が盛り込まれているなど非常に巧妙で、攻撃者は非常に高いスキルを持つとされている。
大きな影響を与えた「Apache Log4j」の脆弱性
2021年には、Java言語で開発されたプログラムにログ機能を提供する「Apache Log4j」に脆弱性が発見された。この脆弱性は、遠隔から任意のコードを実行できるゼロデイ脆弱性であり、悪用されると外部からシステムを乗っ取られる可能性のある非常に危険度の高いものであった。当然、情報漏えいやランサムウェア感染も可能となる。
Log4jは多くのOSSに採用されていたため、気づかずに導入しているケースも多く、その把握にも時間と手間がかかった。さらに、この脆弱性を修正するためにApacheが公開したパッチが不完全だったこともあり、現場は混乱を極めた。Log4jの脆弱性を悪用しようとする攻撃はほとんど観測されなかったが、攻撃者があえて実施していない可能性もあるとする見方もある。
ビデオ通話ソフト「3CX DesktopApp」の侵害
2022年には、3CX社の音声およびビデオ通話ソフト「3CX DesktopApp」が侵害を受け、WindowsおよびMac用のインストーラーにマルウェアが仕込まれた。調査の結果、3CX社の従業員がインストールしていたTrading Technologies社のトレーディングソフトウェア「X_TRADER」が原因であることが判明した。
XTRADERは2020年にサポートを終了していたが、その後もダウンロードは可能な状態になっていた。その間にTrading Technologies社が侵害を受け、XTRADERのインストーラーがマルウェアをダウンロードするよう改ざんされていた。
これを3CX社の社員がダウンロードしてインストールした結果、3CX社も侵害を受けて3CX DesktopAppを改ざんされたようだ。同じ手法が繰り返された形である。
圧縮ツール「XZ Utils」にバックドア
そして2024年には、Linux環境で使用される圧縮ツール「XZ Utils」にバックドアが仕込まれていたことが判明した。この事例では、攻撃者はソーシャルネットワーキングの手法を活用している。
Jia Tanと名乗る攻撃者はXZ Utilsの開発者にいくつも無害なパッチを送信し、なぜそれを採用しないのかと問い詰めた。開発者は思うように開発を進められていないことから、攻撃者と知らずにJia Tanを開発チームに迎えてしまう。
権限を得たJia Tanは、バックドアを仕込んだ悪意のあるコードをXZ Utilsに追加した。しかし、正式リリース前に別会社のエンジニアがそれを発見したため、大事には至らなかった。
これは、ストレスの大きい開発者の心理につけ込んで攻撃者が正式スタッフに採用されたケースであり、多くのセキュリティ専門家が他のOSSプロジェクトも同様に狙われている可能性があると指摘している。
ソフトウェアだけでなくデータのサプライチェーンにも重要な課題
攻撃者は、一般的なOSSプロジェクトやパッケージマネージャへの攻撃を自動化しており、今後はOSSサプライチェーンへの攻撃が加速することが予想される。しかし、多くのCISOとDevSecOpsチームは、これらの脅威を軽減するために既存のビルドシステムにコントロールを実装する準備ができていない。
ソフトウェアサプライチェーン攻撃を防ぐには、ソフトウェアやそれを構成するライブラリやプラグインなどの脆弱性の検査をこまめに実施したり、SBOM(ソフトウェア部品表)を活用したり、特権アクセス管理を導入するなどの対策が必要になる。一方で、同様のリスクがデータサプライチェーンにも存在する。
データサプライチェーンはソフトウェアサプライチェーンと異なり、非構造化もしくは半構造化されたデータを扱う。その入手先もさまざまであり、法などによる規制も多い。また、そうした膨大なデータプールの上にAIや機械学習のシステムを構築している。後半では、データサプライチェーンにおける課題と解決方法を紹介する。
著者プロフィール
ジョシュ レモス(Josh Lemos)
GitLab 最高情報セキュリティ責任者(CISO)
GitLabでは、DevSecOpsプラットフォームを保護し、顧客のために最高レベルのセキュリティを確保する業務に従事する。Gitlab入社前は、ServiceNow、Cylance、Block(旧Square)などの企業で20年以上にわたり情報セキュリティチームを率いた経験を持つ。戦略的ビジョンの立案やイノベーションを推進する能力、チームのエンパワーメント向上の能力に長けている。