巨額の金銭を要求する「二重脅迫型ランサムウェア」
今回のテーマはランサムウェア。ここ数年、国内外でランサムウェアによる被害が多数発生しています。よく報道されているので、ランサムウェアがどういったものかご存知の方も多いと思います。
ランサムウェアは、被害コンピュータのデータに関する脅迫を行い、文字通り身代金を要求するという犯罪目的のマルウェアです。登場したばかりの頃は、感染したコンピュータのファイルを暗号化し、復号ツールに身代金を要求するタイプのランサムウェアのみが見られ、要求する身代金の額もさほどは大きくありませんでした。
しかしここ数年、ファイルの漏洩を脅迫する「二重脅迫型ランサムウェア」が登場するようになってからは、身代金が高騰し、それに呼応して被害額も大きくなりました。このタイプは、ターゲットとなる企業から情報を窃取した後、ランサムウェアでファイルを暗号化し、さらにリークサイト上で盗んだデータの公開を脅しに身代金を要求します。
二重脅迫型ランサムウェアの登場以来、様々なタイプのランサムウェアが見られるようになりました。一方、ランサムウェアの被害があまりにも大きいためか、操作当局もランサムウェアのアンダーグラウンドサイトを閉鎖することも多くなってきました。とはいえ、ランサムウェアが犯罪グループにとって比較的容易に巨額のお金を稼げる手法である限り、このマルウェアがなくなることはないでしょう。
ランサムウェアにはどういう機能があるのか、改めておさらいしてみましょう。まずはファイルの暗号化機能。最近では暗号化しないタイプも存在していますが、ランサムウェアの基本となる機能です。なお、後ほど説明しますが、多くのユーザーが懸念しているランサムウェアによる被害は、ファイル暗号化によって生じるシステムの停止と事業への影響といえます。つまり、この暗号化の方法を理解することが、ランサムウェアに打ち勝つための第一歩となるのです。
ほとんどのランサムウェアはドキュメントファイルや画像ファイルといった“ユーザー固有”のデータを暗号化の対象としています。これはWindowsやアプリケーションなどの実行ファイルなどは暗号化したとしても復旧しやすいため、脅迫してもあまり意味がないからです。
ランサムウェアの実装としては、暗号化対象の拡張子を定義しているものから、LockBitのように暗号化しない拡張子やフォルダなどのホワイトリストを定義して、それ以外を暗号化するといったタイプのものもあります。従って、同じ種類のランサムウェアでも暗号化するファイルや拡張子が異なることがあるということです。
拡張子の名前の“一人歩き”がランサムウェア誤認の原因に?
なお、暗号化したときに追加される拡張子の名前をランサムウェアの呼称にする方をよく見かけますが、あまりよい方法とは思えません。いったん名称がつけられると、それだけが蔓延しているような錯覚をしたり、ランサムウェアのある亜種に特化した対策に終始してしまったりといったことになりかねないからです。実際、名称が付けられた拡張子情報だけをチェックして、感染有無を判定して一喜一憂しているケースはよく聞きますね。
たとえば、病院などを狙うことで知られるPhobosという古いランサムウェアは多種多様な拡張子を付与することで知られています。Phobosは不用意に公開されたリモート デスクトップ プロトコル(RDP)から侵入するという特徴をもっています。このように、同じランサムウェアでも設定ファイルや亜種によって、ファイルの拡張子を変えることがよくあるのです。細かい動作や兆候に惑わされず、正しく種類を認識することが大事でしょう。またランサムウェアの種類によっては、PhobosのようにRDPを使うなどの特徴的な感染手口を使うことから、種類を正確に判別できることで、マルウェアの識別やその有効な対策にも役立ちます。
暗号化のアルゴリズムや暗号鍵のデータ量(鍵長)は種類やバージョンによって様々ですが、一般的には文書の暗号化と同じスキームが使われます。以前は、通信して暗号鍵を決めているタイプのものもありましたが、最近ではオフラインで動作するタイプのものがほとんど。その後、身代金を要求する脅迫文を表示するといった仕組みです。ほとんどの場合、Bitcoinなどの暗号通貨での支払いが指示されますね。ちなみに、筆者は暗号鍵を保存せずに捨てているランサムウェアを見たことがあります。このタイプのランサムウェアは、たとえ身代金を払ったとしてもデータが復号できないことは明らかです。
二重脅迫型ランサムウェアは、感染したコンピュータ内のデータが攻撃者の方へアップロードされてしまうといった機能があります。数テラバイドにおよぶデータが盗まれることもあり、不正送信されたデータはランサムウェア専用のDarkweb上のリークサイトで外部漏洩を脅迫するために使われます。データの送信にはそのランサムウェア専用のツールが使われることが多く、LockBitの場合は「StealBit」というデータ流出ツールが利用されていました。