ソフトウェアサプライチェーン攻撃によってMaven Centralが侵害され、攻撃者は信頼されたJackson JSONライブラリになりすましてマルウェアを配布できる状態になった。
このキャンペーンは、巧妙な命名によるわずかな偽装でも開発者の信頼を損ない、悪意あるコードを気付かれないまま本番環境に入り込ませられることを浮き彫りにしている。
攻撃者は「暗号化された設定文字列、プラットフォーム固有の実行ファイルを配信するリモートのコマンド&コントロールサーバー、分析を妨げるために設計された複数層の難読化を含む、多段階ペイロードを実行するために、あらゆる手を尽くしている」と述べたAikidoの研究者ら。
Jacksonのタイポスクワッティング型サプライチェーン攻撃の内幕
この攻撃では、タイポスクワッティングと名前空間のなりすましが利用されている。悪意あるパッケージ名は正規のパッケージ名と名前空間要素が1つ違うだけで、見落としやすくなっている。
さらに運用を正当なものに見せかけるため、攻撃者は正規のfasterxml[.]orgプロジェクトドメインであるfasterxml[.]comになりすました類似ドメインを登録した。
WHOISレコードによると、このドメインはマルウェアが発見されるわずか数日前に登録されており、早期検知を逃れるためによく使われる手口だ。
依存関係として組み込まれると、このマルウェアはSpring Boot環境で自動的に実行される。
アプリケーションの起動時にSpringは@Configurationクラスを探し、JacksonSpringAutoConfigurationを起動するため、開発者が明示的に呼び出さなくても悪意あるコードが実行される。
マルウェアはApplicationRunner.classを確認してSpring Boot環境で実行されていることを確かめ、安定した実行を実現する。
分析を逃れるため、攻撃者はJARファイル内のコードを大幅に難読化した。
Aikidoの研究者らは、Unicodeの悪用やプロンプトインジェクション風のノイズなど、人間のレビュアーと機械学習ベースの分析ツールの双方を混乱させるための手法を確認した。
難読化を解除すると、そのコードはリモートのコマンド&コントロール(C2)サーバーに接続して追加のペイロードを取得するトロイの木馬型ダウンローダーであることが判明した。
マルウェアはホストのオペレーティングシステムを特定し、AESで暗号化された設定データを使ってプラットフォーム固有のバイナリをダウンロードする。
これらのペイロードを分析した結果、Linux版とmacOS版はCobalt Strikeのビーコンであることが確認された。Cobalt Strikeは、ランサムウェアグループや高度持続的脅威(APT)攻撃者が、リモートアクセス、認証情報の窃取、ラテラルムーブメントに悪用することの多いツールだ。
ソフトウェアサプライチェーンのリスクを軽減する
ソフトウェアサプライチェーン攻撃は、信頼されたオープンソースエコシステムをますます標的にしており、依存関係の適切な管理とビルドセキュリティが開発チームの優先事項になっている。
悪意あるパッケージがいったん導入されると、アプリケーション、パイプライン、環境全体に急速に広がる可能性がある。
以下の対策は、侵害された依存関係のリスクを低減し、悪意ある挙動の検知能力を高め、サプライチェーンの脅威による影響を抑えることに重点を置いている。
- Javaプロジェクトと依存関係ツリーを監査し、不審な依存関係を削除して、既知の安全なソースからアプリケーションを再ビルドする。
- 厳格な依存関係管理を徹底し、バージョンを固定し、許可リストを使用し、チェックサムまたは署名を検証して、信頼できるリポジトリミラーにビルドを限定する。
- ソフトウェア構成分析と動作監視を利用し、異常な依存関係、予期しないクラスの読み込み、通常とは異なるネットワーク活動を検知する。
- 最小権限アクセスを適用してCI/CDパイプラインと開発者環境を強化し、インターネット接続を制限して、ビルド時の実行を監視する。
- ランタイムおよびエンドポイント保護を実装し、たとえばEDRやアプリケーションレベルの監視によって、不正なバイナリ実行や外向きの接続を検知する。
- ガバナンスと備えを強化するため、インシデント対応計画をテストし、依存関係を定期的に見直す。
これらの対策を組み合わせることで、サプライチェーンのリスクを低減し、悪意ある依存関係の可視性を高め、侵害が発生した場合の被害範囲を抑えられる。
オープンソースサプライチェーンの高まるリスク
このインシデントは、ソフトウェアサプライチェーンの悪用と、オープンソースエコシステムに置かれた本質的な信頼を狙う方向へ、攻撃者の戦略が大きく変化していることを示している。
現代の開発パイプラインは自動化に大きく依存しており、手作業による監視が限られたまま依存関係を導入することも多い。
そのため、単一の悪意あるパッケージが数百のアプリケーションに急速に拡散し、本来なら局所的な侵害にとどまるはずの攻撃の影響を増幅させる可能性がある。
このような攻撃が増える中、ソフトウェアサプライチェーンの安全確保は、オープンソースの依存関係を大規模に利用する組織にとって重要な課題となっている。





