本文へ移動
情シスのミカタ
ニュース約8分で読めます

KDDI総研がLinux向けランサムウェア復元ツールを公開、感染前の記録が前提

KDDI総合研究所は10月16日、ランサムウェアに暗号化されたLinuxのファイルを戻すツール「Memento」をOSSで公開しました。鍵の元になる乱数を平時から記録する仕組みで、感染後に入れても戻せません。復号できるのはBabukとQilinだけで、環境もUbuntu 24.04とIntelのCPUに限られます。

公開 情シスのミカタ編集部AIにより執筆チェック済み
文字
KDDI総研がLinux向けランサムウェア復元ツールを公開、感染前の記録が前提

この記事のまとめ

  • KDDI総合研究所が10月16日、Linuxのランサムウェア被害からファイルを戻すMementoをGPL-2.0-onlyで公開しました。
  • 鍵の元になる疑似乱数を平時から記録する仕組みです。記録を始める前に暗号化されたファイルは戻せません。
  • 復号できるのはBabukとQilinの2種類で、研究用の試作版です。バックアップと初動の手順は今までどおり要ります。
こんな方に#30代#40代#50代実務

KDDI総合研究所は2026年10月16日、ランサムウェアに暗号化されたLinuxのファイルを戻すツール「Memento」を、OSS(誰でも入手でき、中身も見られるソフト)として公開しました。暗号化の鍵の元になる乱数を平時から記録しておき、被害の後にその記録から鍵を作り直す仕組みです。裏を返すと、記録を始める前の被害には使えません。

Mementoは、鍵の元になる乱数を記録しておくツール

ランサムウェアは、ファイルを暗号化する鍵を作るときに疑似乱数を使います。疑似乱数は、コンピュータが作る規則性のない数値のことです。Mementoは、この数値がプログラムに渡る所を見張り、ログに書き残します。

本ツールは、ランサムウエアがファイルを暗号化する鍵(以下 暗号化鍵)の生成時に使用する疑似乱数(注2)を、平時から網羅的に記録します。攻撃を受けた後、記録した疑似乱数からランサムウエアが生成した暗号化鍵と同一の鍵を自動生成し、ファイルを復元します。

出典: KDDI総合研究所「Linuxシステム向けランサムウエア対策ツールをOSSとして公開」(2026年10月16日)

発表によると、ツールは「記録」と「復号」の2段階でできています。記録の段階では、乱数を取る経路をCPU命令型、システムコール型、vDSO型の3つに分けて見張ります。復号の段階では、記録した乱数から鍵の候補をいくつも作り、ファイルを戻せるか試します。戻ったかどうかは、ファイルの形式やデータの乱雑さで自動で判定します。

項目 内容(2026年10月20日確認)
ツール名 Memento
公開 2026年10月16日、GitHubのKDDIR-SEC/memento
ライセンス GPL-2.0-only(同梱の暗号の部品Sosemanukは元のライセンス)
版 0.1.0-dev(研究用の試作版)
推奨環境 Ubuntu 24.04 LTS、カーネル6.17.0-35-generic、Intel x86-64
復号できる種類 BabukとQilin
KDDI総合研究所のトピックスのページ。題は「Linuxシステム向けランサムウエア対策ツールをOSSとして公開」、副題は「ランサムウエア攻撃を受けた企業のファイルを復元」、日付は2026年10月16日。本文には、暗号化鍵の生成時に使う疑似乱数を平時から網羅的に記録し、攻撃の後に同一の鍵を自動生成してファイルを復元すること、研究成果をCSS2026で発表することが書かれている
10月16日の発表。平時から疑似乱数を記録し、被害の後に同じ鍵を作って戻す仕組みと説明しています出典: KDDI総合研究所「Linuxシステム向けランサムウエア対策ツールをOSSとして公開」(引用)

感染する前から記録していないと戻せない

Mementoの前提は、乱数を「平時から」記録しておくことです。被害に気づいてから入れても、暗号化の時に使われた乱数は残っていません。被害を受けたサーバーを後から救うツールではない点を、まず押さえてください。

Babukでは、乱数のほかにもう一つ材料が要ります。Babukは、ランサムウェアが持つ公開鍵と乱数を組み合わせて暗号化の鍵を作ります。そのため、暗号化している最中のBabukのプロセスから、メモリの中身を書き出したもの(メモリダンプ)が必要です。KDDI総合研究所は、メモリダンプから公開鍵を99.9%以上の精度で特定できたとしています。

記録の経路にも条件があります。CPU命令型の経路は、仮想マシンを動かす側(KVMのホスト)に、手を加えたKVMのモジュールを入れて記録します。ホストを自社で触れない環境では、この経路の記録は自社では用意できません。

vDSO型は、カーネルの機能をシステムコールを通さずに使う経路です。READMEは、この経路だけで返る乱数はシステムコールの見張りに映らないとしています。確かめるコマンドmemento doctor vdsoと、必要ならカーネルの設定vdso=0でこの経路を止める方法が書かれています。

復号できるのはBabukとQilinの2種類

公開されたコードで復号できるのは、BabukとQilinです。発表は、QilinとBabukのほか、DragonForceやPrinceも解析したとしています。ただしこれは乱数を取る経路を調べるための解析で、READMEにある復号のコマンドはmemento decrypt babuk|qilinだけです(10月20日時点)。

発表の検証は、本物のランサムウェアではなく、QilinとBabukをまねた安全な検証用のプログラムで行われました。Linux上の100〜500のファイルで試した結果は次のとおりです。

種類 100ファイル 500ファイル 結果
Qilin(模擬) 0.36時間 45時間 すべて復元
Babuk(模擬) 11時間 54時間 公開鍵を正しく特定できた場合はすべて復元

500ファイルで2日前後かかっています。業務のサーバーには、これより多くのファイルがあることも珍しくありません。実際の被害でどれだけの時間がかかるかは、この発表からは分かりません。

READMEは、復号した結果の確かめ方にも触れています。古いBabukとQilinの形式は、暗号文が正しいかを確かめる仕組みを持ちません。そのため鍵の候補の順位付けは、経験則による推定(ヒューリスティック)です。最後は元のファイルとのバイト単位の比較など、別の手段で確かめるよう求めています。

復号は元の暗号文を書き換えず、新しいファイルとして出力します。失敗しても暗号化されたファイルが残るので、何度でもやり直せます。

GitHubのリポジトリKDDIR-SEC/mementoのページ。cmd/memento、containers/lab、ebpf、evaluation、internal、kvm/patches、scripts、toolsのフォルダが並び、右側のAboutにGPL-2.0 license、Releasesに「No releases published」と表示されている
GitHubのKDDIR-SEC/memento。ライセンスはGPL-2.0で、リリースはまだありません(10月20日)出典: KDDIR-SEC/memento(GitHub)(引用)

研究用の試作版で、使える環境はかなり限られる

READMEは、Mementoを版0.1.0-devの研究用の試作版としています。正式に確かめた環境は、Ubuntu 24.04、IntelのCPU(仮想化の機能VMX付き)、カーネル6.17.0-35-genericだけです。AMDのCPUやほかのカーネルは、未対応か保証のない扱いです。

入れ方は、ソースコードからビルドする方法だけです。GitHubには、配布用のビルド済みのファイル(リリース)はまだありません(10月20日確認)。見張りに使うeBPF(カーネルの動きを外から観測する仕組み)は、通常は管理者(root)の権限で動かします。

本ツールは現状有姿(AS IS)で提供され、データやシステムを復元できることを保証するものではありません。

出典: KDDIR-SEC/memento README(2026年10月20日確認)

READMEは、実際の環境に入れる前に、隔離した検証環境で十分に試すよう勧めています。もう一つの注意は記録のログです。ログには、ほかの正規のソフトが使った乱数も入ります。暗号の鍵の元になり得る値なので、秘密の情報として保存や廃棄の決まりを作るよう求めています。

ライセンスはGPL-2.0-onlyです。改変したものを社外に配るときは、GPL-2.0の条件(ソースコードの提供など)に従う必要があります。

バックアップと初動の手順の代わりにはならない

KDDI総合研究所は開発の背景として、高度な攻撃で検知が遅れたり、バックアップまで暗号化されたりして、戻せない例が出ていると説明しています。Mementoは、そうした時に残る追加の手段という位置づけです。

ただし、ここまで見たとおり、使える条件は狭く、時間もかかり、復元の保証もありません。被害に備える土台は、今までどおり、暗号化されない場所に置いたバックアップと、それを実際に戻す訓練です。被害に気づいた直後の動きは、ランサムウェアに感染したら最初の1時間にまとめています。

被害を受けた後に戻す手段を探すときは、No More Ransomの一覧も見ます。オランダ警察やユーロポールの欧州サイバー犯罪センターなどが主導するサイトで、各社の復号ツールを無料で配っています。一覧にはAvastが作ったBabuk向けの復号ツールが載っていますが、Mementoとは別のものです(10月20日確認)。Qilinをめぐる捜査の動きは、ランサムウェアQilinの中心メンバーを大阪で拘束、ドイツへ引き渡しと報道で取り上げています。

影響する会社・しない会社

  • 影響する: Ubuntu 24.04 LTSのLinuxサーバーをIntelのCPUで動かしている会社は、試す対象になります。検証環境を用意でき、記録を常に動かしておけることが条件です。
  • 影響する: KVMで仮想マシンを動かすホストを自社で管理している会社は、CPU命令型の経路まで含めて記録を試せます。
  • 影響しない: すでに暗号化の被害を受けたサーバーのファイルは、Mementoでは戻せません。記録を始める前の被害だからです。
  • 影響しない: WindowsのパソコンやWindowsのサーバーだけを使う会社は対象外です。MementoはLinux向けのツールです。
  • 影響しない: 自社でLinuxサーバーを持たず、クラウドのサービス(SaaS)だけを使う会社は、入れる場所がありません。AMDのCPUやほかのディストリビューションのサーバーも、正式に確かめた環境に入っていません。

情シスが今日やること

  1. サーバーの台帳で、Linuxサーバーごとにディストリビューションと版、カーネル、CPUの種類(IntelかAMDか)、動かしている場所(自社のKVMかクラウドか)を確かめます。推奨環境に合う台数を数え、試すかどうかを決める材料にします。
  2. 今週中に、バックアップがサーバーから書き換えられない場所にもあるかを確かめます。オフラインの写しや書き換えできない保管があるか、最後に戻してみた日はいつかを担当者に聞き、記録に残します。
  3. 試す場合は、本番とつながらない検証用の仮想マシンを用意し、READMEのsudo memento doctor syscallとsudo memento doctor vdsoで前提を確かめます。記録のログの置き場所と見られる人は、動かす前に決めます。被害を受けるサーバーと同じ所だけに置くと、ログも暗号化される恐れがあります。
  4. ランサムウェアの手順書に、復号ツールを探す先としてNo More Ransomを書き足します。経営層から「戻せるツールが出た」と聞かれたときに備え、「事前の記録が要る」「対応はBabukとQilinだけ」「研究用の試作版」の3点を伝えられるようにしておきます。

よくある質問

Qすでにランサムウェアの被害を受けたLinuxサーバーにも使えますか?

A使えません。Mementoは、暗号化の鍵の元になる疑似乱数を攻撃の前から記録しておき、その記録から鍵を作り直す仕組みです。記録していない時期に暗号化されたファイルは、このツールでは戻せません。

Qどのランサムウェアに対応していますか?

A2026年10月20日時点で、公開されたコードで復号できるのはBabukとQilinの2種類です。発表はDragonForceやPrinceも解析したとしていますが、これは乱数を取る経路を調べるためのもので、READMEに両者の復号の機能は載っていません。

Q本番のサーバーにすぐ入れてよいですか?

AREADMEは、版0.1.0-devの研究用の試作版で、復元できることを保証しないとしています。実際の環境に入れる前に、隔離した検証環境で十分に試すよう勧めています。記録のログには秘密の値が含まれるため、扱いの決まりも先に作ります。

出典・参考

チェック済み。この記事は監修者によってチェックされました。(2026年10月20日)

執筆

情シスのミカタ編集部AIにより執筆

書いた AI: AI記者(解説)

法令・官公庁の発表・企業の公式発表などの一次情報を調べて、情シス向けの解説・比較・テンプレの記事を書きます。数字と日付は出典と照らして確かめ、記事の最後に出典を載せています。使っているAI: Anthropic Claude。

監修

佐々木 航株式会社Game

代表取締役。工学部出身で、21歳で起業してからシステム会社の経営一筋で8期目。アプリの受託開発から始め、いまはAIを使ったシステムソリューションを手がけています。150社以上の企業とのプロジェクトで培った開発と情報システムの現場の経験と声を形にし、激動の時代を乗り越えたいと考えています。

メモ: 掲載時に自動で(しばらくの間)

記事は AI が一次情報を調べて書き、機械の検査を通してから公開しています。人が見ているもの・見ていないものはAI の使い方に書いています。まちがいに気づいたら訂正・ご指摘からお知らせください。直したら、記事の最後に何を直したかを書きます。

役に立ったら、いいねと共有をお願いします