ソフトウェアのサプライチェーンから生じるリスクは、一向に沈静化する気配がありません。2023年の脅威による攻撃は、2019年から2022年にかけて観測された攻撃の合計の2倍の数となりました。
サプライチェーンの保護は非常に難しいことで知られている一方、なぜその難しさは特別なレベルなのでしょうか。SonatypeのAnnual State of Software Supply Chain Report(ソフトウェアサプライチェーンの状況年次報告書)によると、攻撃の96%はすでにパッチが提供されているオープンソースソフトウェア(OSS)の脆弱性に起因していた中、「不可避」と判断された攻撃はわずか4%でした。例えば、クレデンシャル・ハーベスティングと財務データ損失などのようなOSS(openソースソフトウェア)の侵害がもたらす結果がこれだけ多い中、「回避可能な」攻撃がいまだに多発している理由はどこにあるのでしょうか。
多くの場合、問題の根本は可視性となります。つまり、まずOSSパッケージを適切に保護し、脆弱であるパッケージがどれかを理解するためのシステムを持つ必要があります。このような攻撃が急増し続ける中、この広範で見られている問題はこれまで以上に重要になっています。続きをお読みいただければ、次の点がはっきりとつかめます。
OSSパッケージが侵害されやすい理由
組織が安全性が損なわれたソフトウェアを見落としがちな理由
一般的なOSSの脆弱性を回避し 、攻撃の可能性を減らすための4つのベストプラクティス
OSS攻撃の先を行くことは、組織にとって困難な課題となり得ます。ある試算によると、2023年にダウンロードされたオープンソースコンポーネントの8個に1個の割合で、既知のセキュリティリスクが含まれています。さらに、これは同年に検出された200万以上の悪意のあるパッケージに加えての数字となっています。
このような攻撃が依然として蔓延している(そして避けるのが難しい)のには、いくつかの理由があります。
進化を続けるOSS攻撃は、頻繁に一般的なセキュリティ対策をすり抜けます。例えば、あるOSS攻撃では、プリインストールスクリプトと従業員になりすます手口の両方を使って銀行を標的にし、標的のシステムに悪意のあるソフトウェアをインストールしました。その後、攻撃者は正規のサブドメインを用いて第2段階のペイロードを植え付けました。このサブドメインには標的となる銀行の名前が含まれているため、セキュリティ・システムによるフラグを回避できる可能性が高くなります。
攻撃者は、検知されないようにするために洗練された方法を使用しているだけでなく、孤立したシステムやアプリケーションからDevOpsツール、プラットフォーム、オープンソースリポジトリ、ソフトウェアコンポーネントの弱点に焦点を移しています。ほとんどのOSSセキュリティツールが、サーバーサイドのコードに焦点を当てており、その一例としてクライアントサイドで実行されるオープンソースのスクリプトをターゲットにしています。この手口の一例として、セキュリティ研究者は、「Facebookでログイン」を用いWebサイトに埋め込まれたサードパーティのJavaScriptトラッカーが、Facebookのログインデータを採取するために悪用される可能性があることを発見しました。
OSS攻撃は、被害者を騙して悪意のあるパッケージをダウンロードさせる方法からソフトウェアのアップデートを侵害する方法まで、さまざまな方法で実行されます。このような攻撃が時には数週間から数か月にわたり発見されないままとなることを考えると、脆弱性にできるだけ早くパッチを適用することが最も重要になります。
しかし、組織が時代遅れのソフトウェアやメンテナンスされていないソフトウェアを使用している場合、重要なアップグレードを実施するのは手間と時間のかかるプロセスとなり、侵害や攻撃のリスクが高まる可能性があります。
この問題をどのように回避できるでしょうか。Sonatypeの2023年レポートでは、企業がリスクの高いアップグレードを行うたびに、「(ソフトウェアコンポーネントの)上位バージョンが約10個」存在するとされています。
さらに狡猾なケースでは、自動化されたソフトウェアアップデートが攻撃者によって侵害され、疑うことを知らないユーザーが不意に悪意のあるアクションを引き起こすことがあります。ある攻撃では、AWSの認証情報を盗もうとするPythonとPHPパッケージの悪意のあるアップデートにより、推定300万人のユーザーが標的にされました。
悪意のあるアップデートの中には、実行までに数か月、あるいは数年かかることもあり、一度ユーザーが特定のソフトウェアパッケージを吟味し終え信頼した後、ユーザーは誤った安心感に陥ります。例えば、Ethereumプライベートキーの流出を試みたnpmパッケージは、比較的使用されず休眠状態のまま8ユーザ月が経過していました。
OSS攻撃の蔓延と多面的な性質を考えると、組織によるすべてのプログラムへのパッチ適用、すべてのソフトウェアコンポーネントの追跡、環境内のすべての潜在的脆弱性のカタログ化はほとんど不可能です。しかし、組織が最大の脅威を軽減するために講じることのできる対策には、まだ他にいくつか存在します。
吟味が甘いと、OSSのリスクや攻撃への扉を開いてしまうことが多くなります。オープンソースのソフトウェアやプロジェクトを評価する場合、組織として最新バージ ョンのソフトウェアを導入していることを確認するだけでなく、そのソフトウェアが脆弱性について積極的にレビューされ、それに応じて更新されているかどうかを評価する時間を取る措置を講じる必要があります。
2023年には、ダウンロードされ20億以上のOSSに既知の脆弱性があり、さらにその修正プログラムが提供されています。すべての脆弱性が攻撃者に悪用されるとは限らないものの、組織は環境内のOSSパッケージを評価し、可能な限りパッチを適用することにより、セキュリティ態勢を改善する措置を講じる必要があります。
すべての脆弱性にパッチを適用することは、ほとんどの組織にとって非現実的な目標かもしれない一方、最も重大なリスクとアップグレードに優先順位をつけることで、最も大きな被害をもたらす可能性の高い攻撃を軽減できます。
Zero Trustのような包括的なセキュリティフレームワークは、組織の攻撃対象領域を減らし、パッチが適用されていないOSSの脆弱性のリスクを軽減するのに役立ちます。Zero Trustアーキテクチャでは、どのようなエンティティもデフォルトでは本質的に信頼されず、アイデンティティとその他のコンテキスト・シグナルに基づき、すべてのリソースへのすべてのリクエストが検証されます。つまり、攻撃者がデバイスやインフラストラクチャの一部を侵害したとしても、IT環境内で攻撃者が水平方向に移動したり、権限を拡大したりすることは非常に困難となります。さらに、「デフォルトで信頼しない」アプローチをWebアクティビティに拡張することで、組織はインターネット閲覧を隔離し、潜在的に危険なオンラインコードからデバイスを隔離できます。
最新のOSS攻撃からの保護には、組織がソフトウェア開発のライフサイクルのあらゆる段階を吟味および保護し、さらに適用するソフトウェアをくまなく理解することが必要になります。つまりまず、以前に特定された脆弱性に対する重要なパッチを特定し、次に最大のリスクとアップグレードの優先順位を決定する必要があります。
Cloudflareは、企業がソフトウェアサプライチェーン攻 撃を含む最新かつ新たな脅威を先取りし、IT環境全体、攻撃ライフサイクル全体、そして世界中のあらゆる場所で制御と可視性を回復できるよう設計されています。具体的には、Cloudflareの統一されたインテリジェントなプラットフォームを採用することで、以下の重要な分野のセキュリティを例に、強化できます。
Webアプリで使用されるオープンソースのサードパーティ製クライアントサイド・スクリプトの検出
オープンソースソフトウェアの脆弱性の悪用、および悪意のあるオープンソースのクライアントサイド・スクリプトからのWebアプリの保護
デジタルポートフォリオ全体にわたる脅威の可視化と制御の向上
この記事は、技術関連の意思決定者に影響を及ぼす最新のトレンドとトピックについてお伝えするシリーズの一環です。
Ebook「ビジネスの場所を問わずセキュリティを強化」をお読みになり、Cloudflareがソフトウェアの脆弱性や悪用から企業のデータを保護する様子をご覧ください。
この記事では、以下のことがわかるようになります。
2023年、サプライチェーンへの攻撃件数が4年前の合計の2倍に
組織がOSSの重大な脆弱性を見逃す理由
OSSのリスクを最小化するための4つのヒント