CryptoLocker ????? 1 ??? 34,000 ?????? CryptoDefense
Cryptolocker(Trojan.Cryptolocker)が成功を収めたその裏で、マルウェアの作成者は新しい Ransomcrypt Trojan タイプのマルウェアの開発に精力を傾けていました。高機能化が進んだ CryptoDefense(Trojan.Cryptodefense)も、そうしたマルウェアのひとつです。CryptoDefense が出現したのは 2014 年 2 月のことですが、シマンテックの遠隔測定によると、それ以降、シマンテック製品は CryptoDefense への感染を 11,000 件以上(重複を除く)も遮断しています。CryptoDefense の作成者が身代金の受け渡し用として用意していた Bitcoin アドレスを使い、公開されている Bitcoin ブロックチェーン情報を参照して試算したところ、このマルウェアによってサイバー犯罪者は、たった 1 カ月で 34,000 ドルを稼いだと推測できます(執筆時点の Bitcoin 相場による)。
模倣
「Imitation is not just the sincerest form of flattery – it’s the sincerest form of learning(模倣は最も誠実な形のお世辞であるのみならず、最も誠実な形の学習である」 – ジョージ・バーナード・ショー
CryptoDefense は基本的に、これまでの Ransomcrypt Trojan の作成者たちが被害者から金銭を脅し取ろうとして使ってきた数々の効果的な手法を取り込んだハイブリッド設計で、高度な機能を備えています。使われている手法としては、Tor や Bitcoin によって匿名性を狙う、強力な RSA 2048 暗号化を使う公開鍵暗号によって確実にファイルを人質に取るなどのほか、指定した短い期限のうちに支払いがない場合には身代金が釣り上がると称して脅しをかける圧力戦術もあります。ただし、CryptoDefense の作成者は暗号機能の実装スキルに乏しく、人質に取ったコンピュータに、独自に解決するための手掛かりを残しています。
感染
シマンテックが確認したところ、CrytoDefense は図 1 に示すような電子メールを使って拡散しています。
図 1. 悪質なスパムメールの例
ネットワーク通信
最初に実行されると、CryptoDefense は以下のいずれかのリモートサイトとの通信を試みます。
- machetesraka.com
- markizasamvel.com
- armianazerbaijan.com
- allseasonsnursery.com
最初の通信には、侵入先のコンピュータのプロファイルが含まれています。リモートサイトからの返信を受け取ると、次に暗号化を開始し、秘密鍵をサーバーに返送します。リモートサーバーで秘密の復号鍵の受信が確認されると、侵入先のコンピュータのデスクトップのスクリーンショットがリモートサイトにアップロードされます。
身代金の要求
ファイルの暗号化が終わると CryptoDefense は、暗号化されたファイルが格納されているフォルダごとに、身代金要求のための以下のファイルを作成します。
- HOW_DECRYPT.TXT
- HOW_DECRYPT.HTML
- HOW_DECRYPT.URL
図 2. HOW_DECRYPT.HTML ファイルの例
図 2 を見るとわかるように、CryptoDefense の作成者は要求した身代金の受け渡しに Tor ネットワークを使っています。被害者が Tor ネットワークのことを知らない場合のために、Tor 対応ブラウザをダウンロードして支払い用 Web ページのアドレスを入力するまでの手順も、わざわざ用意されています。Tor ネットワークを使うと、Web サイトの場所を隠して匿名性を保つことができるため、Web サーバーが停止措置を受けにくくなります。Cryptorbit(Trojan.Nymaim.B)などの同類の脅威でも、過去に同じ手口が使われていました。
身代金の受け渡し
身代金要求の中で指定されていた個人専用ページを Tor 対応ブラウザで開くと、CAPTCHA ページが表示されます。
図 3. 被害者に表示される CAPTCHA の例
CAPTCHA に正しい文字列を入力すると、次に身代金の決済ページが開きます。
図 4. CryptoDefense の身代金決済ページ
ここで注意しなければならないのは、要求されている 500 ドル/ユーロという金額を 4 日以内に支払わないと、身代金が倍になるという点です。このように期限を設けて急かせる手口を使われると、被害者は損失の可能性を評価する際のコストについてあまり疑問視しなくなるという傾向があります。決済ページには[My screen]というボタンが用意されていますが、これは侵入先のコンピュータでデスクトップのスクリーンショットを取得してアップロードすることで、ユーザーのシステムに侵入した証拠を見せるためです。さらには、[Test decrypt]ボタンを使えば被害者が 1 ファイルだけ復号できるようにしておき、実際に復号が可能であるという証拠も見せています。そのうえ、身代金を支払うために Bitcoin を取得する方法まで教えてくれるという周到さです。
暗号化
CryptoDefense は強力な RSA 2048 暗号を使った公開鍵暗号を採用しています。つまり、いったんファイルが暗号化されてしまうと、秘密鍵がないかぎり被害者がファイルを復号することはできません。Cryptolocker の場合、秘密鍵は攻撃者が管理しているサーバーでしか見つからなかったため、暗号化/復号の鍵は完全に攻撃者の管理下にありました。一方、CryptoDefense での暗号化の実装方法を調べたところ、攻撃者は重要な情報を見落としていることがわかりました。秘密鍵のありかが保存されていたのです。
作成者自身が身代金要求の中で謳っているように、ファイルは被害者のコンピュータ上で生成された RSA-2048 鍵で暗号化されています。そのために、Microsoft 独自の暗号インフラと Windows API を使って、攻撃者のサーバーに平文で返信する前に鍵の生成が実行されます。ところが、この方法を使うということは、攻撃者が人質として確保しているはずの復号鍵が、実際には攻撃者のサーバーへの転送後にも感染したコンピュータにまだ残っているということになります。
Microsoft の暗号インフラを使うと、秘密鍵は次の場所に格納されます。
%UserProfile%\Application Data\Microsoft\Crypto\RSA
作成者が暗号機能の実装スキルに乏しいため、手掛かりどころか、文字どおり逃げ出すための「鍵」を人質に残してしまっているということです。Microsoft の暗号インフラで鍵を格納するアーキテクチャについて詳しくは、こちらを参照してください。
攻撃者の獲得額
シマンテックは、CryptoDefense の身代金要求で以下の Bitcoin アドレスが使われていることを確認しています。
- 1EmLLj8peW292zR2VvumYPPa9wLcK4CPK1(最初の取引は 2014 年 3 月 18 日)
- 19DyWHtgLgDKgEeoKjfpCJJ9WU8SQ3gr27(最初の取引は 2014 年 2 月 28 日)
これらのアドレスで初めて Bitcoin 取引が行われたのは、2014 年 2 月 28 日です。これは、シマンテックが CryptoDefense のサンプルを初めて検出した日付と一致しています。このとき 2 つの Bitcoin アドレスで受け取られた取引の数に基づいて試算すると、CryptoDefense の実行犯はわずか 1 カ月で 34,000 ドルを稼いだことになります。
拡散状況
シマンテックの遠隔測定によると、CryptoDefense の感染が遮断された件数は、100 カ国以上、11,000 件(重複を除く)にものぼります。この検出数の大半は米国に集中しており、英国、カナダ、オーストラリア、日本、インド、イタリア、オランダと続きます。
図 5. CryptoDefense の検出分布
保護対策
関係はないものの、CrytoDefense と Cryptolocker の間には類似点があったため、シマンテックは当初、今回の脅威を他の検出結果とともに Trojan.Cryptolocker として検出していました。現在は、CryptoDefense を以下の定義名で検出しています。
ウイルス対策定義
ヒューリスティック検出定義
評価ベースの検出定義
侵入防止シグネチャ
シマンテックの Symantec.Cloud サービスをお使いのお客様は、このマルウェアの拡散に使われているスパムメッセージからも保護されています。
最善の保護対策のために、コンシューマ向けまたはエンタープライズ向けに提供されているシマンテックの最新技術をお使いいただくことをお勧めします。この種の脅威からさらに保護するために、基本的なセキュリティ対策(ベストプラクティス)に従ったうえで、シマンテックの Backup Exec ファミリーなどの製品を使って常にファイルをバックアップすることをお勧めします。また、最新のウイルス定義対策とパッチを使って、システムを常に最新の状態に保つようにしてください。
* 日本語版セキュリティレスポンスブログの RSS フィードを購読するには、http://www.symantec.com/connect/ja/item-feeds/blog/2261/feed/all/ja にアクセスしてください。