第3回:依存関係かく乱攻撃と敵対的乗っ取り--企業が直面する課題と対策 ソフトウェアプログラムは、専門のソフトウェアツール群を用いて開発されます。ソースコード自体の作成には、コードの記述プロセスを効率化する専用のテキストエディターが用いられます。 そして、コードをコンパイル、アセンブル、パッケージし、最終的に納品します。上記以外にも、自動テストを実行し、テスト、ステージング、本番などの定められた導入環境にアプリケーションをプッシュするための各種ツールが使用されます。一般的なアプリケーション開発では、この作業は1日に何十回も行われます。 オープンソースライブラリーとは、有用なユーティリティーコードをバンドルしたもので、「パブリック」リポジトリーを使用して無償公開されています。オープンソースソフトウェアは、多数のアプリケーションに採用されており、ビルドツールは、アプリケーションを開発する企業のみがアクセスできる「プライベート」リポジトリーと、パブリックリポジトリーの両方からコードを利用します。 依存関係かく乱攻撃では、ライブラリーコードをどこで探すのか、そして、コードが重複している場合にどのバージョンを採用するかに関する仕組みが悪用されます。攻撃者はプライベートリポジトリーのパッケージと同じ名前のパッケージをパブリックリポジトリーに登録し、本来のパッケージより高いバージョン番号をファイル名に入れることで、開発者に攻撃者のライブラリーをプルさせます。モダンなアプリケーションの複雑性と、オープンソースへの過度の依存度を考えると、この攻撃ベクトルは効果的です。 その結果による大惨事も想定されます。開発者のPCやIaaSの仮想サーバーなど、ビルドツールを実行するマシンでは、たった一度のプルの誤操作によって、攻撃者のコードが実行されてしまいます。上述のBirsan氏は、この手法を用いて概念実証(PoC)コードを作成し、Apple、Microsoft、Netflix、PayPal、Shopify、Tesla、Uberなど、ほぼ全ての標的企業の内部サーバーから、模擬攻撃者のサーバーにデータを送信できることを確認しました。この手法が公開された48時間以内には、同じ手法を試みているオープンソースパッケージの偽物が数百件も発見されました。 The Japanese edition of 'ZDNet' is published under license from A Red Ventures Company., Fort Mill, SC, USA. Editorial items appearing in 'ZDNet Japan' that were originally published in the US Edition of 'ZDNet', 'TechRepublic', 'CNET', and 'CNET News.com' are the copyright properties of A Red Ventures Company. or its suppliers. Copyright (c) A Red Ventures Company. All Rights Reserved. 'ZDNet', 'CNET' 'TechRepublic' and 'CNET News.com' are trademarks of A Red Ventures Company.