
出典:Zerilli Media via Alamy Stock Photo
新たな脅威キャンペーンがRubyGemsを盗み出されたデータを保存するデッドドロップとして使用していますが、攻撃者の長期的な計画は不明です。
ソフトウェア開発セキュリティベンダーのSocketが、「GemStuffer」というキャンペーンに関する研究を公開しました。このキャンペーンでは、攻撃者がRubyGemsパッケージレジストリを「従来のマルウェア配信チャネルではなくデータ転送メカニズムとして」悪用していました。RubyGemsはRubyプログラミング言語のパッケージマネージャーであり、開発者がRubyプログラムやライブラリ(「gem」と呼ばれる)を配布するための方法として機能します。
一見すると、これは最近オープンソース開発サプライチェーンに影響を与えている多くの攻撃のうちの1つのように見えます。Shai-Huludの自己伝播ワーム、オープンソースAIモデルを侵害する新しい方法、およびNPMパッケージエコシステムに対する無数の攻撃があります。
しかしこの場合、主な被害者は不明であり、脅威活動の全範囲も不明です。組織が注意を払う必要があるのは、攻撃者が次に何を計画しているかについてと、どのように準備できるかについてです。
GemStufferがより大きな攻撃を示唆
この場合、GemStufferは100以上のgemに関連しており、これらは従来のマルウェアを配信するのではなく、RubyGemsをデータ隠蔽として使用しているようです。攻撃者は、ダウンロード数がほとんどないか、まったくないペイロードを含む多数のパッケージを公開しており、これらは「反復的で、ノイジーで、異常に自己完結している」とSocketが述べています。
パッケージ内のスクリプトは、ロンドンのLambeth、Wandsworth、Southwarkの各地区が使用する英国地方自治体ポータルからページを取得します。スクレイプされたデータには、評議会カレンダーページ、議題一覧、委員会リンク、およびその他のような公開情報が含まれます。このデータは、ハードコードされたAPIキーを通じてRubyGemsに.gemアーカイブとして公開されます。
「一部のサンプルでは、ペイロードは/tmpの下に一時的なRubyGems認証環境を作成し、HOMEをオーバーライドし、gemをローカルにビルドし、それをrubygems.orgにプッシュします。」ブログ投稿には書かれています。「その他のバリエーションはgem CLIを完全にスキップし、アーカイブをRubyGems APIに直接POSTします。」
攻撃者は後でRubyGemsからパッケージをダウンロードしてデータを抽出します。コマンド・アンド・コントロール(C2)サーバは必要ありません。
このキャンペーンにはデッドドロップ以上の異常な側面があります。1つは、この活動はRubyGemsが明らかな協調スパム公開キャンペーンによる攻撃を受けていた同時に観察されました。Socketはこのキャンペーンをその脅威活動に直接関連付けていませんが、ベンダーはスパムキャンペーンと同様の悪用パターンを持つものとして言及しました。
第2に、脅威主体はワーム可能性のある自動スクレーパーを作成しましたが、公開データをスクレイプするために使用しており、これらのパッケージに重要なデータを配置して潜在的な被害者をクリックさせることはしていません。これらのgemには従来のマルウェアは含まれていませんが、代わりにデータ収集ツールとビルトインAPIキーを使用するパッケージをアップロードするためのスクリプトが含まれています。
政府サーバに対するテスト実行や新規マルウェアの練習の可能性もありますが、動機は不明です。
「レジストリスパム、概念実証ワーム、RubyGemsをストレージレイヤーとして悪用する自動スクレーパー、またはパッケージレジストリ悪用の意図的なテストの可能性があります。」Socketはそのポストで述べています。「しかし、メカニクスは意図的です:反復的なgem生成、バージョン増分、ハードコードされたRubyGems認証情報、直接レジストリプッシュ、およびパッケージアーカイブに埋め込まれたスクレイプされたデータ。」
Socketの創設者兼CEOであるFeross Aboukhadijehは、Dark Readingに対して、脅威主体の技術は巧妙だったが、実行は「ノイジー」だったと述べています。
「これは通常、ステルスを保つことを望む成熟した操作ではなく、テスト、自動化、またはスパムを指しています。」と彼は言います。「行為者は隠れたままでいることについてはあまり気にせず、RubyGemsが転送レイヤーとして使用できることを証明することについてより関心があったかもしれません。」
開発者がGemStufferについて知っておくべきこと
開発者に対して、Socketは注意を促しています。155以上の侵害されたパッケージのいずれも顕著な程度にダウンロードされていませんが、GemStufferはパッケージリポジトリを悪用する新しいユースケース(デッドドロップとして)を示しています。このキャンペーンはまた、ソフトウェアパッケージレジストリが暗黙的に信頼されるべきではない理由の例として機能します。
Rubyパッケージをダウンロードしたか、GemStufferによって影響を受ける可能性があると信じている組織は、すべての潜在的に影響を受けたマシンの/tmpフォルダを監査する必要があります。パッケージがマシンに存在する場合の配信ベクトルを特定してください(これらのgemは自己伝播していません)。CIパイプラインでgemをアップロードしないgemをブロックしてください。Socketが述べています。
Aboukhadijehは、ビジネスリスクは「これらの特定のジャンクgemがインストールされることについてではなく、振る舞いがテストしている可能性についてである」と述べています。
「これは、npm、PyPI、Packageistを含む複数のエコシステム全体にわたるワーム状キャンペーンを見た後、サプライチェーンセキュリティの全員がすでに警戒している時期に該当します。セキュリティチームはしばしば開発者がインストールするパッケージに焦点を当てていますが、公開活動にも注意が必要です」と彼は説明しています。「ディフェンダーは、どのデベロッパーマシン、CIジョブ、およびサービスアカウントが公開レジストリに公開することが許可されているかを知っている必要があり、公開ワークフローをロックダウンして、承認されたシステムのみが承認されたパッケージを公開できるようにする必要があります。」
翻訳元: https://www.darkreading.com/application-security/attackers-weaponize-rubygems-data-dead-drops