バックアップは取っただろうか。1024ビットのRSA鍵を分散処理を使って直接計算しようという無益な試みに対するセキュリティコミュニティのコメントに応じて、Kaspersky Labsは暗号化されたデータのバックアップを取っていなかったエンドユーザーに対し、データ修復ツールを使うことを勧め始めた。
現在のところ、秘密鍵なしでGpcode.akで暗号化されたファイルを復号化することは不可能だ。しかし、暗号化されたファイルを元の状態に戻す方法はある。ファイルを暗号化する際、Gpcode.akは暗号化しようとするファイルに隣接したところに新しいファイルを作成する。Gpcodeは元のファイルを暗号化したデータをこの新しいファイルに書き込み、その後元のファイルを削除する。
ディスク上のデータが大きく変わっていなければ、削除されたデータを復活させることは可能であることはよく知られている。これが、われわれが最初からユーザーにコンピューターをリブートをせずにわれわれに連絡を取ることを勧めていた理由だ。われわれに連絡してきたユーザーに対しては、ディスクから削除されたファイルを復活させるさまざまなユーティリティを利用するよう話している。残念ながら、利用可能なユーティリティのほとんどはシェアウェアだ。われわれはGPcodeが削除したファイルを復活するのを助ける、効果的で入手可能なユーティリティが欲しいと考えていた。最終的に選んだのは、PhotoRecと呼ばれる優秀な無料ユーティリティだ。これはChristophe Grenier氏が作成したもので、GPL(General Public License)で配布されている。
どうやればマルウェアが元のファイルを削除するプロセスの弱点を利用してGPcodeが暗号化したファイルを回復できるのか、なぜ直接暗号アルゴリズムを攻撃するのは無益なのか、将来GPcodeの作者はどう対応してくるだろうか、そして、ユーザーはこれに何ができるのだろうか。
以前の記事 "Who’s behind the GPcode ransomware?" でも指摘したとおり、彼らは今回暗号アルゴリズムをうまく実装したが、マルウェアの作者は元のファイルを完全に削除しておらず、その手順の弱点を利用することで、データ復活技術や単純なクリックするだけのソフトウェアを使うことでファイルを復活できる可能性ある。バックアップが残っておらず、影響を受けたすべてのファイルが復活できないとすれば、1000のうち500だけでも助かれば0よりはましではないだろうか。この状況に対応できて、お金も払わない方法はどういうものだろうか。Kasperskyが公表したStopgpcodeの説明には次のようにある。
修復手順の最後に使うために、われわれはStopGpcodeというユーティリティを作成した。これは、復活させたファイルの並べ替えと名前の変更を行うものだ。このユーティリティはディスク全体を処理し、暗号化されたファイルと復活させたファイルのサイズを比較する。このプログラムは復活させたファイルの元の場所と名前を判断する基礎情報として、ファイルサイズを利用する。このユーティリティはそれぞれのファイルの名前と場所を修復することを試み、元のフォルダとファイル名を「sorted」というフォルダの中に再作成する。ユーティリティが元のファイル名を判別できない場合は、そのファイルは「conflicted」というフォルダに保存される。
データ復活ユーティリティのPhotoRecを利用する段階的なチュートリアルの他に、この手順を説明するビデオも用意されている。また、サードパーティのデータ復活ユーティリティやウェブベースの別の手段を使うことを考えてもいいだろう。
そもそも、なぜ分散クラッキングは無駄な試みなのか。
これは投資回収率や現実的な状況での適用可能性に欠けているためだ。相手は単純に、新しいより強力な鍵を持つGPcodeの亜種を作ればよく、亜種ごとに鍵を変えていけばいいのだ。マルウェアの作者はまた、彼らの被害者全員に対するすべての秘密鍵を持つ一般的な復号化ツールを作るようなことをせず、被害者ごとに専用に作られた復号化ツールを提供しており、最初に暗号化プロセスで使われた公開鍵の情報をたずね、その公開鍵を使って暗号化されたファイルにだけ適用できる顧客専用の復号化ツールを送っている。多くのマルウェアの変種はなるべく多くの相手を感染させようとするのに対し、GPcodeは現在のところ目標を絞ったアプローチを取っており、効率を犠牲にして品質を重視している。
GPcodeの作者は、今後どのように対応してくるか。
GPcodeの作者、あるいは復号化ツールの要望を処理する担当者によれば、すでにより強力な暗号を使った新しいバージョンが作られつつあり、これは対サンドボックス処理、ポリモーフィング、自己増殖能力などのマルウェアが一般的に持つ機能を備えているという。これはまずい状況になる可能性がある。例えば、現在でもGPcodeの作者が使っている4つの電子メールアドレスのうち2つは、被害者への返事をするために使われてさえおらず、もしGPcodeが自己増殖を始めたら、返事の遅れ大きなものになるだろう。もし被害者にお金を払う気があったとしても、感染した人の数が彼らが専用の復号化ツールを直ちに提供できる能力を上回る状況になるはずだ。
GPcodeの失敗は、GPcodeの恐怖を利用する戦術を取るバックアップ企業のマーケティングツールになりつつあり、マルウェアに強いバックアップ手段が再び注目を集めつつある。
この記事は海外CNET Networks発のニュースをシーネットネットワークスジャパン編集部が日本向けに編集したものです。海外CNET Networksの記事へ