2016年7月25日月曜日

ランサムウェア対策としてのバックアップに関するいくつかの誤解

ファイル暗号型ランサムウェア(以下、ランサムウェア)の対策としてバックアップが非常に重要だと言われる。しかし、ネット上のランサムウェア対策としてのバックアップに関する記事には、若干の誤解があると思われるものも少なくない。このエントリでは、ランサムウェア対策としてのバックアップについて、出来る限り負担が少ない方法を考えてみる。


常時接続したディスクへのバックアップは無駄か?


ランサムウェア対策としてのバックアップに関してよく言われることに、外付けハードディスクやファイルサーバのデータも暗号化されてしまうため、バックアップに使用する装置・媒体は、バックアップ時のみPCと接続するようにし、普段はPCから切り離しておかなければならないということがある。もちろん、その方法が理想的であり、それが特に問題なくできている場合には、それを継続していくべきだが、現状の主流なランサムウェアの動作を見てみると、バックアップの方法によっては、常時接続しているファイルサーバ(NAS)や外付けハードディスクへのバックアップが必ずしも無駄とは言えないことがわかる。

現在の主流なランサムウェアは、PC上のすべてのファイルを暗号化してしまうわけではない。なぜなら、ランサムウェアの目的は、被害者に身代金を支払って貰うことであり、システムのファイルまで暗号化され、ブラウザが立ち上がらなかったり、インターネットへのアクセスが出来なくなってしまったら、被害者がビットコインを購入したり、身代金を支払うことができなくなってしまうからだ。そのため、ほとんどのランサムウェアでは、ネットワーク共有も含むすべてのドライブ上で特定の拡張子のファイルを検索し、該当したファイルのみを暗号化するという処理を行う。

暗号化の対象となる拡張子はランサムウェアの種類によって異なるが、主なものは以下の様なものだ
  • ドキュメントファイル(拡張子:txt、pdf、doc、docx、xls、xlsx、ppt、pptx など)
  • 圧縮ファイル(拡張子:zip、tar、rar など)
  • 音声・動画ファイル(拡張子:mp3、mpg、wma、mp4、mov、avi、flv など)
  • 画像ファイル(拡張子:png、gif、bmp、jpg、jpeg など)

例えば、現在、流行しているランサムウェアの1つである「Locky」が暗号化の対象とする拡張子は以下のものだ。
.mid, .wma, .flv, .mkv, .mov, .avi, .asf, .mpeg, .vob, .mpg, .wmv, .fla, .swf, .wav, .qcow2, .vdi, .vmdk, .vmx, .gpg, .aes, .ARC, .PAQ, .tar.bz2, .tbk, .bak, .tar, .tgz, .rar, .zip, .djv, .djvu, .svg, .bmp, .png, .gif, .raw, .cgm, .jpeg, .jpg, .tif, .tiff, .NEF, .psd, .cmd, .bat, .class, .jar, .java, .asp, .brd, .sch, .dch, .dip, .vbs, .asm, .pas, .cpp, .php, .ldf, .mdf, .ibd, .MYI, .MYD, .frm, .odb, .dbf, .mdb, .sql, .SQLITEDB, .SQLITE3, .asc, .lay6, .lay, .ms11 (Security copy), .sldm, .sldx, .ppsm, .ppsx, .ppam, .docb, .mml, .sxm, .otg, .odg, .uop, .potx, .potm, .pptx, .pptm, .std, .sxd, .pot, .pps, .sti, .sxi, .otp, .odp, .wks, .xltx, .xltm, .xlsx, .xlsm, .xlsb, .slk, .xlw, .xlt, .xlm, .xlc, .dif, .stc, .sxc, .ots, .ods, .hwp, .dotm, .dotx, .docm, .docx, .DOT, .max, .xml, .txt, .CSV, .uot, .RTF, .pdf, .XLS, .PPT, .stw, .sxw, .ott, .odt, .DOC, .pem, .csr, .crt, .key, wallet.dat
また、「Locky」では、ファイル名やフルパス名に以下の様なシステムファイルに使われる文字列が含まれる場合、暗号化処理をスキップする。
tmp, winnt, Application Data, AppData, Program Files (x86), Program Files, temp, thumbs.db, $Recycle.Bin, System Volume Information, Boot, Windows
出典 http://www.bleepingcomputer.com/news/security/the-locky-ransomware-encrypts-local-files-and-unmapped-network-shares/


一口にバックアップといっても様々な方法がある。一番簡単でよく行われている方法は、ファイルサーバ(NAS)や外付けハードディスクにフォルダごとコピーする方法だろう。手作業でドラック&ドロップしてコピーする以外にも、自動的にフォルダを同期するようなソフトウェアもある。また、Windows8/10に標準の「ファイル履歴」でのバックアップも変更のあったファイルを定期的にコピーするものだ。しかし、この方法では、コピー先でも拡張子は変わらないため、ランサムウェアの暗号化対象の拡張子であれば、コピー先のファイルも暗号化されてしまう。


もう一つの方法は、バックアップソフトを使用して、ドライブ又はフォルダをフォルダ構造を保ったまま1つのイメージファイルとして記録させる方法だ。

上記の「Locky」の例を見てみると、圧縮ファイル .zip .rar などは暗号化の対象になっているが、以下の様な主なイメージバックアップソフトの拡張子は暗号化の対象になっていない。
  • Acronis True Image   拡張子 .tib
  • EaseUS Todo Backup Free(家庭内のみ無料) 拡張子 .pbd
  • AOMEI Backupper(フリーソフト)拡張子 .adi .afi
現在、数百種類のランサムウェアが確認されているため、すべてを確認したわけではないが、Locky の他にもCryptoWall や TeslaCrypt 、CryptXXX など現在までに流行している主なランサムウェアでは、上記のバックアップソフトの拡張子は暗号化の対象とはなっていない。よって、これらのバックアップソフトでファイルサーバ(NAS)や外付けハードディスクなどへ定期的にバックアップを取っていれば、ファイルをバックアップから戻せる可能性がある。

ランサムウェアを解説した記事の中には、ランサムウェアがバックアップを削除してしまうと記述されたものもある。しかし、それらの記事での「バックアップを削除」とは、Windows 7及びWindows 10(Windows 8では機能が削除されている)での「以前のバージョン」機能で作成されるボリュームシャドウコピーを「vssadmin.exe Delete Shadows /All /Quiet」のコマンドにより削除することであり、バックアップソフトでのバックアップファイルを見つけて削除することではない。

上記のバックアップソフトは、世界的に有名なソフトであるため、将来これらの拡張子を暗号化や削除の対象に加えてくる可能性は十分考えられる。よって、拡張子を一般的には使われていない独自のものに変更しておけば、暗号化から除外される確率はより高まる。また、バックアップ先のフォルダ名を、例えば「Windows」などのシステムフォルダの名前にしておくのも、除外される確率を高めることになるだろう。

バックアップソフトではなく、ZIP、7-ZIP、RAR などの圧縮のアーカイブであっても、拡張子を独自のものに変更しておけば、拡張子から暗号化の対象を判断しているランサムウェアでは暗号化から除外される可能性が高い。

もちろん、今後、拡張子で判断するのではなく、実際のファイル種別を判別して暗号化の対象にするかを判断したり、最低限のシステムの起動に必要なホワイトリストされたフォルダ以外をすべて暗号化するランサムウェアが出てくる可能性もあるため、バックアップの装置・媒体は、普段はPCから切り離しておくことを基本とすべきである。しかし、そのような運用は言うのは簡単だが、実際に行うのは大変だ。筆者の様な面倒くさがりにはとても頻繁には出来ないし、ついつい後回しにしてしまう。

例えば、毎月1回、あるいは旅行で大量に写真を撮った後など、大きなファイルの更新を行った時には、一時的に接続した外付けハードディスクなどにバックアップを行い、バックアップ後はPCと切り離して保存しておく。そして、それとは別に、週1回や毎日1回、常時接続されたファイルサーバ(NAS)や外付けハードディスクへイメージバックアップを取る。バックアップソフトの多くには、スケジュールを設定し定期的にバックアップを取る機能がある。一時的に接続したディスクへのバックアップは手動にならざるをえないが、常時接続されたディスクへのバックアップなら自動化した運用も可能だ。


クラウドストレージへの同期


Dropboxなどのクラウドストレージを使用している人は多いだろう。ランサムウェアを解説した記事の中には、クラウドストレージは、クラウド上のファイルも暗号化されたファイルで同期されてしまうためバックアップ対策にはならないと解説しているものも見られる。しかし、クラウドストレージでの大量のファイルの同期(アップロード)には相当の時間がかかる。ランサムウェアの感染に気付いた直後に同期の停止を行うか、ネットワークの接続を切れば、全てが暗号化されたファイルで同期されてしまうことを免れる可能性がある。また、クラウドストレージサービスの多くは、ファイルの履歴機能や削除ファイルの復元機能を持つ。殆どのランサムウェアは、ファイルを暗号化すると同時に拡張子を変更する。(例えばランサムウェア「Locky」では、暗号化したファイルの拡張子を .locky に変更する)暗号化したデータでファイルを上書きして拡張子を変更するのか、暗号化した新たなファイルを作成して元のファイルを削除するのか、ランサムウェアの挙動やクラウドストレージクライアントの更新の検知方法によって、元のファイルの変更になるのか、削除になるのかの扱いが異なるが、Webブラウザからクラウドストレージサービスにログインして、履歴からの復元か、削除ファイル(ゴミ箱)からの復元のいずれかの方法でファイルを戻せる可能性が高い。

例えば、Dropboxでは、ランサムウェアの被害にあった時のためのヘルプが用意されているし、ファイルを1つずつ戻すのではなく、一括してロールバックする方法も記載されている。ランサムウェア対策としておすすめできるクラウドストレージの1つだ。

Dropbox ヘルプセンター ファイルがランサムウェアによって破損または名前が変更された場合
https://www.dropbox.com/ja/help/8408

尚、クラウドストレージによって、履歴を記録出来るファイル種類が限られたり、履歴や削除ファイルが保存される期間が異なったり、一括でロールバックすることが出来なかったりするなど仕様が異なるため、詳しくはそれぞれのサービス仕様を確認していただきたい。

サービス履歴及び削除済みファイルに関する扱い
Dropbox
30日以内なら、履歴及び削除済みファイルから復元できる。
有料オプションのエクステンデッド バージョン履歴では、1年以内なら復元できる。
一括でのロールバックをすることが出来る。
OneDrive
履歴を管理するのはOffice文書のみ。Office文書では期間の制限はなく履歴から復元できる。
OneDrive for Businessではすべてのファイルで履歴を管理できる。
ゴミ箱内のアイテムは、30 日を経過すると自動的に削除される。ゴミ箱がいっぱいになった場合、3 日を経過すると、最も古いアイテムから自動的に削除される。
GoogleDrive 
履歴は30日以内なら復元できる。
ゴミ箱も容量にカウントされる。空き容量がある限りはゴミ箱からの復元に期間の制限はない。
主要なクラウドストレージサービスでの履歴・ゴミ箱に関する扱い


また、写真をクラウドに保存出来るサービスもある。例えば、Googleフォトというサービスでは、1600万画素以下の写真、1080p以内の動画ならば、容量無制限で無料でクラウド上に保存できるし、Amazonプライムフォト では、Amazonプライム会員(年会費 3,900円)なら無料で容量無制限・無圧縮での写真の保存が可能だ。

企業のポリシーによっては、クラウドストレージなどを使うことは難しいこともあるだろうが、利用可能な企業や個人の場合は、これらのクラウドサービスを上手く活用することで、例えランサムウェアに感染したとしても、身代金を支払うことなく直近のファイルまで取り戻せる可能性を高めることが出来る。


複数を組み合わせたバックアップの対策を


ランサムウェア対策として推奨されている。「定期的にバックアップを取り、バックアップをした媒体はPCから切り離しておくか、PCからアクセス出来ない様にアクセス制限をかけておく」という対策は全く正しく、異論を唱えるつもりはない。特にデータの損失が事業継続に直結するような企業の場合は、どんなに手間が掛かるとしても、この様な対策を行えるような予算・体制・システムを整えるべきであろう。

しかし、個人や専門のシステム人員のいない中小企業などでは、この様なオフラインでのバックアップを頻繁に行うのは、なかなか難しいというのも事実だ。

ただ、どんなに面倒でも1度はバックアップを取ってオフラインで保存するということを実施して欲しい。出来れば月1回や重要なファイルを保存した後など、無理のない範囲でオフラインのバックアップを取るのが望ましい。

それとは別に、週1回や毎日1回、常時接続されたファイルサーバ(NAS)や外付けハードディスクなどへイメージバックアップを取ることも少なくとも現状では無駄とはいえない。バックアップファイルの拡張子は一般的には使われていない独自のものに変更しておくと、暗号化から除外される確率が高まる。バックアップソフトの多くにはスケジュールを設定して定期的にバックアップする機能があるし、拡張子の変更も簡単なバッチファイルで自動化出来るだろう。

その上で、クラウドストレージを使って、重要なフォルダや日々更新するフォルダをクラウドに同期させておく、また、個人で撮った写真などは、容量無制限の写真用のクラウドサービスを利用する。スマホにアプリを入れておけば、写真を自動アップロードさせることも出来る。

このように、ランサムウェア対策としての効果は高いが非常に面倒なオフラインのバックアップから、意識せずに自動的に同期されるクラウドサービスまで複数のバックアップ方法を組み合わせることにより、例え、ランサムウェアの被害にあったとしても、身代金を支払うことなく、出来る限り直近のファイルまで取り戻すことが出来るようになる。


まとめ


  1. ランサムウェア対策としてのバックアップの基本は、バックアップの装置や媒体をPCからアクセス出来ないように切り離しておくことである。マウントされたドライブやネットワーク上の共有フォルダにファイルを同期させるバックアップ方法では、ランサムウェアによって暗号化されてしまう可能性がある。
  2. 現在の主流なランサムウェアは、すべてのファイルを暗号化するのではなく、特定の拡張子のファイルを探して暗号化する。主要なイメージバックアップソフトの拡張子は暗号化の対象になっていないことが多いので、イメージバックアップを常時接続されたディスクに取ることは、少なくとも現時点では無駄とは言えない。拡張子を独自のものに変更しておくと、暗号化から除外される確率は更に高まる。
  3. クラウドストレージでは暗号化されたファイルが同期されてしまうが、大量のファイルの同期には相当の時間が掛かるので、感染の直後に同期を停止するか、ネットワークを切断すれば同期を免れる可能性がある。また、例え同期されたとしても、ファイルの履歴機能又は削除ファイルの復元機能のいずれかでファイルを戻すことが出来る。但し、サービスによって履歴を記録出来るファイル種類や履歴やゴミ箱の保存期間などの仕様が異なるため要確認。
  4. 写真を容量無制限で無料でクラウドに保存出来るサービスもあるので、これらを活用することで、例え、ランサムウェアの被害にあったとしても、身代金を支払うことなくファイルを取り戻すことが出来るようにしておく。