ハッカーがJackson JSONライブラリになりすまし、Maven Centralに侵入

セキュリティ研究者は、Java依存関係の主要リポジトリであるMaven Centralを標的とした、高度な多段階マルウェアキャンペーンを発見しました。

攻撃の中心となったのは、正規のJackson JSONライブラリになりすました悪意あるパッケージであり、これまでサプライチェーン攻撃に対して歴史的に強靭だったエコシステムにおいて、高度なマルウェアが初めて大きく検知された事例となりました。

悪意あるパッケージは、名前空間 org.fasterxml.jackson.core の下で公開され、Maven Centralの名前空間保護における重大な盲点を突いています。

正規のJacksonライブラリは com.fasterxml.jackson.core 配下で運用されており、この攻撃は典型的なプレフィックス入れ替えによるタイポスクワッティング手法です。

これは対応するドメインのタイポスクワットにも一致します。 fasterxml.org と正規の fasterxml.com です。 .com から .org への微妙な入れ替えは、何気ない確認では見逃される一方で、完全に攻撃者の管理下に置かれるよう精密に設計されています。

悪意あるパッケージはMaven Central上で正常に配布され、セキュリティチームがプラットフォームへ報告するまで有効な状態で残っていました。

Maven Centralは通知から1.5時間以内に当該パッケージを削除しましたが、露出時間が短かったこと自体が、サプライチェーン防御の緊急性を浮き彫りにしています。

技術的な高度さ

難読化解除後のコード分析により、多段階でペイロードを配信するトロイの木馬型ダウンローダーであることが明らかになりました。

セキュリティ研究者は、Maven Centralに対し、高価値の名前空間についてプレフィックス類似性検知を実装し、公開前に追加検証を要する保護リストを維持することを推奨しています。

このマルウェアはSpring Bootの自動構成クラスとして動作し、 @Configuration アノテーションを利用して、感染したアプリケーションの起動時に自動実行されます。開発者による明示的な呼び出しは不要です。

攻撃は7つの明確な段階で展開します。実行されると、まず永続化の目印となるマーカーファイル(.idea.pid。IntelliJ IDEAの成果物に紛れるよう意図的に命名)を確認します。

次に、標的のOSをフィンガープリントし、 http://m.fasterxml[.]org:51211/config.txt にあるコマンド&コントロール(C2)サーバーへ接続します。

C2サーバーは、AESで暗号化された設定文字列を返し、それぞれにプラットフォーム固有のペイロードURLが含まれています。

マルウェアはハードコードされた16文字のキーでこれらを復号し、OS別のバイナリをダウンロードします。Windows向けにはsvchosts.exe (正規の svchost.exe を模したタイポスクワット)、macOSおよびLinux向けには署名のない実行ファイルです。

最後に、マルウェアはすべての出力を抑制し、再実行を防ぐためにマーカーファイルを作成して永続化を達成します。

元のコードは、従来型の解析とAIベースの解析の双方を妨害することを目的とした、多層的な難読化を採用していました。

マルウェアの概要。

手法には、暗号化された設定文字列、反転された暗号鍵、Base64エンコードの連鎖、そしてLLMベースのマルウェア解析器を狙った意図的なプロンプトインジェクション文字列が含まれていました。Unicodeのレンダリングトリックにより、標準的なエディタで表示した際のコードの可読性もさらに低下していました。

Cobalt Strikeとの関連付け

セキュリティ研究者は両方のバイナリを取得し、解析のためVirusTotalに提出しました。LinuxおよびmacOSのペイロードは一貫してCobalt Strikeのビーコンとして識別されました。Cobalt Strikeは商用のペネトレーションテストフレームワークで、完全なリモートアクセス、認証情報の窃取、横展開の機能を提供します。

認可されたレッドチーム運用では正当な用途がある一方で、流出版はランサムウェア運用者や高度持続的脅威(APT)グループにとって定番のツールキットとなっています。

この攻撃は、Maven Centralの名前空間ガバナンスにおける重大な脆弱性を露呈しました。Javaの逆ドメイン命名規則は、露骨なタイポスクワッティングに対して強力な防御を提供してきましたが、プレフィックス入れ替え手法は、この防御が不十分であることを示しています。

npmやPyPIがすでにサプライチェーン攻撃への防御を強化している一方で、Javaエコシステムは相対的に脆弱なままです。

この攻撃の単純さと、これまで強靭だったエコシステムで前例のない成功を収めた事実を踏まえると、防御策を直ちに実装しない限り、模倣が広範に拡大するのは避けられません。

この記事は、脅威の新規性と高度さを強調しつつ、ジャーナリスティックな明瞭さを保っています。

サイバーセキュリティの読者層に向けて、技術的な深さと分かりやすさのバランスを取り、分析から得られた主要な所見を取り込み、セキュリティニュースプラットフォームでの掲載に適した実行可能な推奨事項で締めくくっています。

翻訳元: https://gbhackers.com/jackson-json-library/

ソース: gbhackers.com