10年前のバージョンのRoboFormパスワードマネージャーの欠陥と少しの幸運のおかげで、研究者はFortuneの金が入った暗号通貨ウォレットのパスワードを発見することができました。

2年前、暗号通貨の所有者である「マイケル」が、自分のコンピューターに暗号化された形式で保存した約200万ドル相当のビットコインへのアクセスを回復する手助けを求めてジョー・グランドに連絡したとき、グランドはそれを断った。

ヨーロッパ在住で匿名を希望するマイケルは、パスワードで保護されたデジタルウォレットに仮想通貨を保管していた。彼はロボフォームのパスワードマネージャーを使用してパスワードを生成し、そのパスワードをTrueCryptというツールで暗号化したファイルに保存した。ある時点でそのファイルが破損し、マイケルは43.6BTC(2013年時点で総額約4,000ユーロ、5,300ドル相当)を保護するために生成した20文字のパスワードにアクセスできなくなった。マイケルはロボフォームのパスワードマネージャーを使用してパスワードを生成したが、マネージャーには保存しなかった。誰かが自分のコンピュータをハッキングしてパスワードを入手することを心配したのだ。

「当時、私は自分の安全について本当に心配していました」と彼は笑う。

グランド氏は有名なハードウェアハッカーで、2022年に別の仮想通貨ウォレット所有者がTrezorウォレットのPINを忘れたために永遠に失ったと思っていた200万ドル相当の仮想通貨へのアクセスを回復するのを手伝った。それ以来、何十人もの人々がグランド氏に連絡し、宝物を取り戻すのを手伝ってもらっている。しかし、ハッカーのハンドルネーム「キングピン」で知られるグランド氏は、さまざまな理由でそのほとんどを断っている。

グランド氏は電気技師で、10歳でコンピューターハードウェアのハッキングを始め、2008年にはディスカバリーチャンネルの番組「Prototype This」の共同司会を務めた。現在は複雑なデジタルシステムを構築する企業にコンサルティングを行い、自分のようなハードウェアハッカーがシステムを破る方法を理解してもらうよう支援している。2022年には、USB型ウォレットのパスワードを明かす複雑なハードウェア技術を使ってTrezorウォレットをクラックした。

しかし、マイケルは暗号通貨をソフトウェアベースのウォレットに保管していたため、グランドのハードウェア スキルは今回はまったく役に立たなかった。グランドはマイケルのパスワードを総当たり攻撃で解読すること、つまり何百万ものパスワード候補を自動的に推測して正しいパスワードを見つけるスクリプトを作成することを検討したが、これは不可能だと判断した。マイケルがパスワードを生成するために使用した RoboForm パスワード マネージャーにはパスワード生成方法に欠陥があり、パスワードを推測しやすくなってしまうのではないかと一瞬考えた。しかしグランドは、そのような欠陥が存在するとは考えなかった。

マイケルは暗号解読を専門とする複数の人物に連絡を取ったが、全員が「お金を取り戻す可能性はない」と告げた。しかし昨年 6 月、マイケルはグランドに再度連絡を取り、協力を説得しようとした。今回グランドは、やはりデジタル ウォレットをハッキングするドイツ在住の友人ブルーノと協力し、試してみることに同意した。

グランド氏とブルーノ氏は、マイケル氏が 2013 年に使用したと思われる RoboForm プログラムのバージョンを数ヶ月かけてリバース エンジニアリングし、そのバージョン (および 2015 年までのバージョン) でパスワードを生成するために使用されていた疑似乱数生成器に、乱数生成器をそれほどランダムにしない重大な欠陥があることを発見しました。RoboForm プログラムは、生成したランダム パスワードをユーザーのコンピューターの日時と無分別に関連付けるという愚かな行為をしていました。つまり、コンピューターの日時を判別し、予測可能なパスワードを生成していたのです。日時やその他のパラメータがわかれば、過去のある特定の日時に生成されたパスワードを計算できます。

マイケルがパスワードを生成した 2013 年の日付または大まかな時間帯、およびパスワード生成に使用したパラメータ (たとえば、パスワードの文字数、小文字と大文字、数字、特殊文字など) を知っていれば、パスワードの推測は管理可能な数に絞り込まれます。次に、コンピューターの日付と時刻をチェックする RoboForm 機能を乗っ取り、現在の日付がマイケルがパスワードを生成した 2013 年の時間帯の日付であると信じ込ませて時間を遡らせることができます。すると、RoboForm は 2013 年の日付に生成したのと同じパスワードを吐き出します。

一つ問題がありました。マイケルはいつパスワードを作成したか思い出せなかったのです。

ソフトウェア ウォレットのログによると、マイケルが初めてビットコインをウォレットに移動したのは 2013 年 4 月 14 日でした。しかし、パスワードを生成したのがその日か、その前後のいつかだったかは思い出せませんでした。そこで、グランドとブルーノは、マイケルが RoboForm を使用して生成した他のパスワードのパラメータを調べ、2013 年 3 月 1 日から 4 月 20 日まで、大文字と小文字、数字、および 8 つの特殊文字を含む 20 文字のパスワードを生成するように RoboForm を設定しました。


正しいパスワードを生成できませんでした。そこでグランド氏とブルーノ氏は、同じパラメータを使用して、期間を 2013 年 4 月 20 日から 6 月 1 日まで延長しました。それでも運はありませんでした。

マイケル氏によると、彼らは何度も戻ってきて、彼が使用したパラメータに間違いがないか尋ねてきたという。彼は最初の答えを変えなかった。

「10年前に自分が何をしたかなんて誰にも分からないので、本当にイライラしました」と彼は回想する。彼は2013年にロボフォームで生成した他のパスワードも見つけたが、そのうち2つは特殊文字を使っていなかったため、グランドとブルーノは調整した。昨年11月、彼らはマイケルに連絡を取り、直接会う約束をした。「『ああ、また設定を聞かれるんだろうな』と思いました」

その代わりに、彼らはついに正しいパスワードを見つけたと明かした。特殊文字は使われていない。そのパスワードは、2013 年 5 月 15 日午後 4 時 10 分 40 秒 (GMT) に生成されたものだった。

「最終的に、パラメータと時間範囲が正しかったのは幸運でした。どちらかが間違っていたら、私たちは推測や当てずっぽうを続けていたでしょう」とグランド氏はWIREDへの電子メールで述べている。「すべての可能性のあるパスワードを事前に計算するには、かなり長い時間がかかっていたでしょう」

Grand 氏と Bruno 氏は、技術的な詳細をより詳しく説明するビデオを作成しました。

米国の Siber Systems 社が開発した RoboForm は、市場に登場した最初のパスワード マネージャーの 1 つで、同社のレポートによると、現在、世界中で 600 万人以上のユーザーがいる。2015 年に、Siber 社は RoboForm パスワード マネージャーを修正したようだ。グランド氏とブルーノ氏は、ざっと見た限りでは、2015 年版の疑似乱数ジェネレーターがコンピューターの時間を使用した形跡は見つからなかったため、欠陥を修正するために疑似乱数ジェネレーターを削除したと考えたが、グランド氏は、確実にするためにはもっと徹底的に調べる必要があると述べている。

Siber SystemsはWIREDに対し、2015年6月10日にリリースされたRoboFormのバージョン7.9.14で問題を修正したことを認めたが、その方法についての質問には回答しなかった。同社のウェブサイトの変更履歴には、Siberのプログラマーが「生成されたパスワードのランダム性を高める」ために変更を加えたとだけ書かれており、どのように修正したかは書かれていない。Siberの広報担当サイモン・デイヴィス氏は「RoboForm 7は2017年に製造中止になった」と述べている。

グランド氏は、シバー社がこの問題をどのように修正したかが分からないため、攻撃者は2015年の修正前にリリースされたバージョンのロボフォームで生成されたパスワードを再生成できる可能性があると述べている。また、現在のバージョンに問題が含まれているかどうかも不明だ。

「最近のバージョンでパスワード生成が実際にどのように改善されたかが分からないので、信頼できるかどうかは未だに分かりません」と彼は言う。「ロボフォームがこの特定の脆弱性がどれほど深刻であるかを知っていたかどうかは分かりません。」

顧客は、修正前のプログラムの初期バージョンで生成されたパスワードをまだ使用している可能性もあります。Siber は、2015 年に修正バージョン 7.9.14 をリリースした際に、重要なアカウントやデータには新しいパスワードを生成する必要があることを顧客に通知しなかったようです。同社はこの件に関する質問には回答しませんでした。

もしシバー氏が顧客に通知していなかった場合、マイケル氏のように2015年以前にロボフォームを使用してパスワードを生成し、現在もそのパスワードを使用している人は、ハッカーが再生成できる脆弱なパスワードを持っている可能性があることになります。

「ほとんどの人は、指示されない限りパスワードを変更しないことがわかっています」とグランド氏は言う。「私のパスワードマネージャー(ロボフォームではありません)に保存されている 935 個のパスワードのうち、220 個は 2015 年以前のものであり、そのほとんどが今でも使用しているサイトのものです。」

同社が2015年にこの問題を解決するために行った措置によっては、新しいパスワードも脆弱になる可能性があります。

昨年 11 月、グランド氏とブルーノ氏は、マイケル氏のアカウントから、自分たちの仕事に対する報酬として一定額のビットコインを差し引き、残りのビットコインにアクセスするためのパスワードを彼に渡した。当時のビットコインの価値は 1 コインあたり 38,000 ドルだった。マイケル氏は 1 コインあたり 62,000 ドルに上がるのを待って、その一部を売却した。現在、彼は 30 BTC を保有しており、その価値は 300 万ドルに達し、1 コインあたり 10 万ドルに上がるのを待っている。

マイケルさんは、何年も前にパスワードを失って幸運だったと語る。そうでなければ、ビットコインが1コイン4万ドルになった時に売却し、より大きな財産を逃していただろうからだ。

「パスワードを失ったことは経済的には良いことだった。」