偽の管理者アカウントを使用した Bitcoin ATM サーバーからの外部ウォレットへの不正送金

** 本記事は、Bitcoin ATMs leeched by attackers who created fake admin accounts の翻訳です。最新の情報は英語記事をご覧ください。**

Bitcoin ATM を販売するチェコの企業、General Bytes が、同社サーバーソフトウェアに資金が流出する恐れのある重大な脆弱性があるため、パッチを適用するように同社のユーザーに呼びかけています。ただし、同社のホームページのメイン画面にはパッチ適用についての情報は見当たりません。

同社は全世界で 13,000 台以上の ATM を販売しており、機能や外観によって 5000 ドル以上の価格で取引きされています。

暗号通貨 ATM に厳しい対応をとる国もあります。たとえば英国の規制当局は 2022 年 3 月、当時国内で稼働していた ATM がいずれも正式に登録されていないとして警告し、「事業者に対してマシンの稼働停止を指示する連絡を行う」と述べました。

当時、英国のソフォス本社近くにある暗号 ATM の画面には「Terminal offline (オフライン端末)」というメッセージが表示されていました (その後、この ATM はショッピングセンターから撤去されました)。

General Bytes は 140 カ国以上の顧客にサービスを提供しており、同社によれば南極大陸を除くすべての大陸に同社の ATM が設置されています。

セキュリティインシデントの報告

General Bytes の製品ナレッジベースによると、先週、最高の重大度が割り当てられたセキュリティインシデントが発見されたとのことです

同社からの報告を以下に記載します。

(引用文日本語訳) 攻撃者は、サーバーへのデフォルトのインストールに使用されており管理者権限のある最初のユーザーを作成するページで URL を呼び出すことで、CAS 管理インターフェースから遠隔操作で管理者権限のある新しいユーザーを作成することが可能となります。

CASCoin ATM Server の略で、同社の暗号通貨 ATM のすべてのオペレーターが CAS を使用する必要があります。

CAS は、サーバールームのハードウェアはもちろん、どこでも好きな場所でホストすることができるようです。同社はホスティング企業の Digital Ocean と特別な契約を結んでおり、低価格のクラウドソリューションを提供しています (取引額の 0.5% を手数料として支払えば、ユーザーは同社にクラウドでサーバーを運営するように委託することができます)。

インシデントレポートによると、攻撃者は標的を見つけるために Digital Ocean のクラウドサービスをポートスキャンし、 General Bytes の CAS サーバーであることを示す Web サービス (ポート番号 7777 または 443) をリッスンしていたようです。

今回悪用された脆弱性は、Digital Ocean やクラウドベースの CAS インスタンスに限定されたものではないことに注意してください。今回の攻撃者がたまたま Digital Ocean を攻撃の起点に適していると判断したにすぎないものと思われます。高速インターネット接続 (例:10Gbit/秒) と一般的に利用できるソフトウェアがあれば、攻撃者は IPv4 インターネットアドレス空間全体を数時間、あるいは数分でスキャンすることが可能です。Shodan や Censys のように一般に公開された検索エンジンを継続的に使用すれば、現在アクティブになっているサーバーの種類とバージョン、オンライン上の位置を調べることができます。

攻撃者は CAS 自体の脆弱性を悪用して被害者の暗号通貨サービスの設定を以下のように変更したと思われます。

  • 管理者権限を持つ新しいユーザーを追加する
  • 新しい管理者アカウントを使って、既存の ATM の設定を変更する。
  • 無効な支払いをすべて攻撃者のウォレットに振り向ける。

今回攻撃の対象となったのは、誤って行われた送金や引き出しに限定されています。

送金や引き出しが誤って行われると、不可逆的に攻撃者に直接振り込まれます。

ATM のオペレーターによる回収、払い戻しや出金先の変更などは不可能です。

General Bytes は、この脆弱性がどう発見されたかについては明らかにしていません。とはいえ、誤取引に関するサポートコールを受けた ATM オペレーターは容易に設定の変更に気付くはずであり、その後警告を発したのだと考えられます。

セキュリティ侵害の痕跡

攻撃者はさまざまな攻撃の痕跡を残しています。General Bytes はセキュリティ侵害の痕跡 (IoC) を多数特定したため、ユーザーは乗っ取られた CAS の設定を特定することができました。

IoC が存在しないからといって攻撃が行われていないとは限りません。しかし、IoC を把握することで脅威の検出と対応の開始が容易になります。

幸いにも、このインシデントにおける全体の金銭的損失は、暗号通貨のインシデント多く見られるような数百万ドル規模には至らないと思われます。攻撃者が ATM から直接資金を引き出すのではなく、攻撃の標的を無効な支払いに絞っていたためです。

General Bytes は 2022 年の 8 月 22 日に、「このインシデントをチェコ警察に報告し、ATM オペレーターのフィードバックに基づいて算出された被害総額は 16,000 米ドル」と発表しました。

また、同社が顧客に代わって管理していた ATM を自動的に停止させたため、顧客は ATM 装置を再起動させる前にログインしてアカウントの設定を確認する必要がありました。

対策

General Bytes は、この問題を改善するために必要な 11 項目の対策を挙げています。以下はその抜粋です。

  • CAS サーバーにパッチを適用する。
  • できるだけ少数のネットワークユーザーのみアクセスを許可するようにファイアウォールの設定を見直す
  • ATM 端末を停止し、サーバーを再度起動して検証する。
  • 追加された可能性のある偽の端末を含めたすべての端末の設定を見直す
  • すべての対策を実行した後に、端末を再起動する

今回の攻撃は、現代の脅威への対応が単にパッチの適用やマルウェアの排除だけにとどまらない理由を改めて思い起こさせます。

事実、この検体の攻撃者はマルウェアを埋め込まずに設定の変更だけで攻撃を行い、基盤となる OS やサーバーソフトウェアには一切手を触れていませんでした。