データ窃盗と恐喝を目的として Snowflake の顧客データベース インスタンスを標的にする UNC5537
Mandiant
※この投稿は米国時間 2024 年 6 月 11 日に、Google Cloud blog に投稿されたものの抄訳です。
はじめに
Mandiant は、インシデント対応業務と脅威インテリジェンス収集の過程で、データ窃盗と恐喝を目的として Snowflake の顧客データベース インスタンスを標的とする脅威キャンペーンを特定しました。Snowflake は、大量の構造化データと非構造化データの保存と分析に使用されるマルチクラウド データ ウェアハウス プラットフォームです。Mandiant は、この活動クラスタを UNC5537 として追跡しています。UNC5537 は、Snowflake の顧客環境から大量のレコードを盗んだ疑いのある、金銭目的の脅威アクターです。UNC5537 は、盗んだ顧客の認証情報を利用して Snowflake の顧客インスタンスを体系的に侵害し、サイバー犯罪フォーラムで被害組織のデータを販売する広告を掲載するだけでなく、多くの被害組織を恐喝しようとしています。
Mandiant の調査では、Snowflake の顧客アカウントへの不正アクセスの原因が、Snowflake の企業環境の侵害であることを示す証拠は見つかりませんでした。実際には、このキャンペーンに関連して Mandiant が対応したすべてのインシデントが、顧客の認証情報の侵害に起因するものでした。
2024 年 4 月、Mandiant はデータベース レコードに関する脅威インテリジェンスを入手しましたが、それらのレコードは被害組織の Snowflake インスタンスから取得されたことが後に判明しました。被害組織に通知したところ、被害組織は Snowflake インスタンスに関連するデータ窃盗の疑いについて Mandiant に調査を依頼しました。Mandiant はこの調査で、組織の Snowflake インスタンスが、以前に情報窃取型マルウェアによって盗まれた認証情報を使用して脅威アクターによって侵害されたと判断しました。脅威アクターは、盗んだ認証情報を利用して顧客の Snowflake インスタンスにアクセスし、最終的に貴重なデータを引き出しました。侵害が発生した時点で、アカウントは多要素認証(MFA)に対応していませんでした。
2024 年 5 月 22 日、Mandiant は、追加の Snowflake 顧客インスタンスを標的とするより広範なキャンペーンを特定する追加のインテリジェンスを入手した後、直ちに Snowflake に連絡し、Victim Notification Program を通じて潜在的な被害組織への通知を開始しました。現在までに、Mandiant と Snowflake は、情報が漏洩した可能性がある約 165 の組織に通知しました。Snowflake のカスタマー サポートは、アカウントとデータの安全性を確保するため、これらの顧客と直接連携しています。Mandiant と Snowflake は、この進行中の脅威キャンペーンについて共同調査を実施しており、関係する法執行機関と連携しています。2024 年 5 月 30 日、Snowflake は、検出とセキュリティ強化に関する詳細なガイダンスを顧客に公開しました。
キャンペーンの概要
これまでの調査によると、UNC5537 は盗んだ顧客の認証情報を利用して複数の組織の Snowflake 顧客インスタンスにアクセスしました。これらの認証情報は主に、Snowflake が所有していないシステムが感染した複数の情報窃取型マルウェア キャンペーンから取得されていました。これにより、脅威アクターは影響を受けた顧客アカウントにアクセスできるようになり、Snowflake の各顧客インスタンスから大量の顧客データがエクスポートされました。その後、脅威アクターは多くの被害組織を直接恐喝し始め、盗んだ顧客データの販売を主要なサイバー犯罪フォーラムで活発に進めています。
Mandiant は、UNC5537 が利用する認証情報の大部分が過去の情報窃取型マルウェア感染によって盗まれたものであり、その一部は 2020 年まで遡るものであることを突き止めました。
UNC5537 が実施した脅威キャンペーンでは多数の侵害に成功しましたが、その主な要因として次の 3 つが挙げられます。
-
影響を受けたアカウントの構成で多要素認証が有効になっておらず、認証に必要なのは有効なユーザー名とパスワードのみになっていました。
-
情報窃取型マルウェアの出力で特定された認証情報の一部は、盗まれてから数年後も依然として有効であり、ローテーションや更新が行われていませんでした。
-
影響を受けた Snowflake の顧客インスタンスには、信頼できる場所からのアクセスのみを許可するためのネットワーク許可リストがありませんでした。
UNC5537 のキャンペーン タイムライン
認証情報の漏洩
Mandiant は、VIDAR、RISEPRO、REDLINE、RACOON STEALER、LUMMA、METASTEALER など、いくつかの情報窃取型マルウェアの亜種を介して以前に漏洩した Snowflake の顧客認証情報を脅威アクターが利用していることを特定しました。インシデント対応サービスで直接連携した組織については、Snowflake のインスタンス侵害の根本原因が認証情報の漏洩であると判断しました。また、Mandiant と Snowflake の分析によると、このキャンペーンで脅威アクターが利用したアカウントの少なくとも 79.7% では、以前に認証情報が漏洩したことがあります。
脅威アクターが利用した認証情報に関連して確認された最も古い情報窃取型マルウェアの感染は、2020 年 11 月まで遡ります。Mandiant は、2020 年以降に情報窃取型マルウェアを介して漏洩した Snowflake の顧客認証情報を、合計で数百件特定しました。
認証情報の窃盗は、組織に深刻なセキュリティ リスクをもたらします。2023 年にはよく利用される初期侵入ベクトルの第 4 位になっており、侵入の 10% が認証情報の窃盗から始まっていました。攻撃者は、パスワードが再利用されたことや、ユーザーが会社や個人のデバイスに誤ってトロイの木馬ソフトウェアをダウンロードしたことを契機に認証情報を入手します。蔓延する情報窃取型マルウェアと認証情報購入の両方が、防御側を悩ませ続けています。
請負業者のアカウント
Mandiant は、Snowflake 関連の複数の調査で、情報窃取型マルウェアによる最初の侵害が、ゲームや海賊版ソフトウェアのダウンロードなどの個人的活動にも使用されていた請負業者のシステムで発生していたことを確認しました。
Snowflake の使用をサポートするために顧客とやり取りする請負業者は、個人用のノートパソコンやモニタリングされていないノートパソコンを使用していることがあり、これが初期の侵入口となって被害を拡大させます。これらのデバイスは、複数の組織のシステムにアクセスするために利用されることが多く、重大なリスクを伴います。情報窃取型マルウェアに侵害された場合、脅威アクターが請負業者の 1 台のノートパソコンから複数の組織にアクセスできるようになり、多くの場合は IT レベルや管理者レベルの権限が使用されます。
偵察
多くの場合、Snowflake 顧客インスタンスへの初回アクセスには、Windows Server 2022 で実行されているネイティブのウェブベース UI(SnowFlake UI、別名 SnowSight)やコマンドライン インターフェース(CLI)ツール(SnowSQL)が使用されていました。Mandiant は、攻撃者が「rapeflake」と名付けたユーティリティを利用した追加のアクセスを特定し、FROSTBITE として追跡しています。
Mandiant はまだ FROSTBITE の完全なサンプルを収集していませんが、FROSTBITE が標的の Snowflake インスタンスに対する偵察に使用されていると考えています。FROSTBITE については、.NET バージョンと Java バージョンの両方の使用を確認しています。.NET バージョンは、Snowflake .NET ドライバに接触します。JAVA バージョンは、Snowflake JDBC ドライバに接触します。FROSTBITE は、ユーザー、現在のロール、現在の IP、セッション ID、組織名のリスト化を含む SQL 偵察アクティビティを実行していることが確認されています。Mandiant は、UNC5537 が、一般に公開されているデータベース管理ユーティリティ DBeaver Ultimate を接続に使用し、Snowflake インスタンスを横断するクエリを実行していることも確認しました。
FROSTBITE の Snowflake ログエントリの例
Deployment: <REDACTED> | Account ID: <REDACTED> |
Account Name: <REDACTED> | User Name: <REDACTED> |
Client IP: 45.27.26.205 | Client App ID: PythonConnector 3.10.1 |
Client App Version: 3.10.1 | Client Environment: {\n "APPLICATION":
"rapeflake",\n "LOGIN_TIMEOUT": null,\n "NETWORK_TIMEOUT": null,\n
"OCSP_MODE": "FAIL_OPEN",\n "OS": "Darwin",\n "OS_VERSION":
"macOS-13.6.7-arm64-arm-64bit",\n "PYTHON_COMPILER":
"Clang 14.0.3 (clang-1403.0.22.14.1)",\n "PYTHON_RUNTIME":
"CPython",\n "PYTHON_VERSION": "3.11.4",\n "SOCKET_TIMEOUT":
null,\n "TRACING": 30\n} (2024/05/31 20:10:13)
DBeaver Ultimate の Snowflake ログエントリの例
Deployment Query: Sessions | Deployment: <REDACTED> | Account ID:
<REDACTED> | Account Name: <REDACTED> | User Name: <REDACTED> |
Client IP: 37.19.210.21 | Client App ID: JDBC 3.13.30 | Client App Version:
3.13.30 | Client Environment: {\n "APPLICATION":
"DBeaver_DBeaverUltimate",\n "JAVA_RUNTIME": "Java(TM)
SE Runtime Environment",\n "JAVA_VERSION": "17.0.10",\n "JAVA_VM":
"Java HotSpot(TM) 64-Bit Server VM",\n "OCSP_MODE": "FAIL_OPEN",\n
"OS": "Windows Server 2022",\n "OS_VERSION": "10.0",\n "account":
"<REDACTED>",\n "application": "DBeaver_DBeaverUltimate",\n "database":
"<REDACTED>",\n "password": "****",\n "schema": "<REDACTED>",\n
"serverURL": "https://<REDACTED>.snowflakecomputing.com:443/",\n
"tracing": "INFO",\n "user": "<REDACTED>",\n "warehouse":
"<REDACTED>"\n} (2024/04/14 10:04:10)
目的達成
Mandiant は、UNC5537 がデータのステージングと引き出しのために Snowflake の多数の顧客インスタンスで同様の SQL コマンドを繰り返し実行していることを確認しました。データのステージングと引き出しに関して確認されたコマンドは、以下のとおりです。
SHOW TABLES
UNC5537 は、SHOW TABLES コマンドを偵察に利用して、影響を受けた顧客環境に存在するすべてのデータベースと、関連するテーブルをリスト化しました。
SHOW TABLES
SELECT * FROM
UNC5537 は、SELECT コマンドを利用して、脅威アクターが関心を持つ個別のテーブルをダウンロードしました。
SELECT * FROM <Target Database>.<Target Schema>.<Target Table>
LIST/LS
UNC5537 は、一時ステージを作成する前に、LIST コマンドを使用して他のステージを列挙しようとしました。
ls <internal or external stage name>
CREATE (TEMP|TEMPORARY) STAGE
UNC5537 は、CREATE STAGE コマンドを使用して、データ ステージング用の一時ステージを作成しました。ステージは、データベース テーブルへの読み込みおよびアンロード用のデータファイルを格納する名前付きテーブルです。作成時に一時ステージとして識別されたステージは、作成者の現在の Snowflake セッションが終了すると削除されます。
CREATE TEMPORARY STAGE <Redacted Database>.<Redacted Schema>.
<Redacted Attacker Stage Name>;
COPY INTO
UNC5537 は、COPY INTO コマンドを利用して、以前に作成された一時ステージに下記のようにデータをコピーしました。COPY INTO コマンドを使用すると、内部ステージ、クラウド サービスに関連付けられた外部ステージ、内部 Snowflake テーブルとの間で情報をコピーできます。脅威アクターがデータ引き出しの前に、COMPRESSION パラメータを使用して結果を GZIP ファイルとして圧縮し、データの全体的なサイズを削減していたことが確認されています。
COPY INTO @<Attacker Stage and Path>
FROM (select * FROM <Target Database>.<Target Schema>.<Target Table> )
FILE_FORMAT = (
TYPE='CSV'
COMPRESSION=GZIP
FIELD_DELIMITER=','
ESCAPE=NONE
ESCAPE_UNENCLOSED_FIELD=NONE
date_format='AUTO'
time_format='AUTO'
timestamp_format='AUTO'
binary_format='UTF-8'
field_optionally_enclosed_by='"'
null_if=''
EMPTY_FIELD_AS_NULL = FALSE
)
overwrite=TRUE
single=FALSE
max_file_size=5368709120
header=TRUE;
GET
最後に、UNC5537 は GET コマンドを利用して一時ステージからローカルで指定されたディレクトリにデータを引き出しました。
GET @<target stage and filepath> file:///<Attacker Local Machine Path>;
UNC5537 のアトリビューション
Mandiant は、金銭目的の脅威アクターである UNC5537 を 2024 年 5 月から要注意のクラスタとして追跡しています。UNC5537 は世界中の何百もの組織を標的にしており、金銭的利益を得るため被害組織を頻繁に脅迫しています。また、Telegram チャネルやサイバー犯罪フォーラムでさまざまな別名を使って活動しています。Mandiant は、他の追跡対象グループに関連付けられているメンバーを特定しました。確度は中程度ですが、UNC5537 が北米を拠点とするメンバーで構成され、トルコのその他のメンバーと連携していると評価しています。
攻撃者のインフラストラクチャ
UNC5537 は、主に Mullvad または Private Internet Access(PIA)VPN の IP アドレスを使用して被害組織の Snowflake インスタンスにアクセスしています。Mandiant は、データの引き出し時に、モルドバのプロバイダである ALEXHOST SRL(AS200019)の VPS システムが使用されていることを確認しました。また、UNC5537 が盗んだ被害組織のデータを複数の国際 VPS プロバイダや MEGA というクラウド ストレージ プロバイダに保存していることも確認しています。
見通しと影響
Snowflake の顧客インスタンスに対する UNC5537 のキャンペーンでは、とりわけ斬新または高度なツール、技術、手順が使用されているわけではありません。このキャンペーンは、情報窃取型マルウェアのマーケットプレイスの拡大と、認証情報の保護を強化する機会を逃したことが原因で、影響が拡大しています。
-
UNC5537 は、情報窃取型マルウェアのログのさまざまなソースにアクセスすることで、Snowflake の被害組織インスタンスの認証情報を集約できた可能性があります。地下に潜む情報窃取型マルウェアによる被害額は莫大で、盗まれた認証情報の膨大なリストはダークウェブの内外で有料、無料を問わず拡散されています。
-
影響を受けた顧客インスタンスは多要素認証が必須ではなく、その多くで認証情報が 4 年間もローテーションされていませんでした。また、アクセスを信頼できる場所に制限するために、ネットワーク許可リストが使用されていませんでした。
このキャンペーンは、情報窃取型マルウェアのマーケットプレイスで流通している膨大な量の認証情報の影響を浮き彫りにしており、類似する SaaS プラットフォームが脅威アクターに特に狙われていることを示している可能性があります。Mandiant は、UNC5537 がこの侵入パターンを継続し、近い将来にさらなる SaaS プラットフォームを標的にすると予測しています。
このキャンペーンの影響が広範囲に及んでいることは、認証情報をモニタリングすること、あらゆる場面で MFA と安全な認証を適用すること、クラウン ジュエルについてはトラフィックを信頼できる場所に制限すること、異常なアクセス試行をアラートで知らせることの緊急の必要性を裏付けています。Snowflake 環境のセキュリティを強化する方法に関するより詳しい推奨事項については、Snowflake のセキュリティ強化ガイドをご覧ください。
セキュリティ侵害インジケーター(IoC)
Google Threat Intelligence IP コレクション
Google Threat Intelligence IP コレクションを利用できます。
クライアント アプリケーション IDS
-
Rapeflake
-
DBeaver_DBeaverUltimate
-
Go 1.1.5
-
JDBC 3.13.30
-
JDBC 3.15.0
-
PythonConnector 2.7.6
-
SnowSQL 1.2.32
-
Snowflake UI
-
Snowsight Al
追加の IOC は、Snowflake の更新されたブログ投稿でご確認いただけます。