2022年、ジョー・グランド氏の元に、Trezorと呼ばれるUSBメモリー型ウォレットの暗証番号(PIN)を忘れたのを何とかして欲しいという依頼が舞い込みました。
「Kingpin」という異名を持つジョー・グランド氏は、10歳でコンピューターのハードウェア・ハッキングに手を染めたというハードウェアのエキスパート。
2008年にはディスカバリー・チャンネルで『Prototype This』という番組の共同MCも務めた人物で、現在は企業のデジタルシステム構築に関するコンサルタントとして、自身のようなハードウェアハッカーがどのようなスキルを用いて、企業のデジタルシステムに侵害するかを説明する仕事などを行っています。
グランド氏は、上述のPIN解析依頼を引き受け、複雑なハードウェア解析技術を駆使してTrezorウォレットをクラックしパスワードを発見することに成功。依頼者は200万ドル相当の暗号通貨にアクセス可能になりました。
一方そのころ、「マイケル」と名乗る匿名の人物は、11年前にビットコイン43.6BTC(当時の価値で5600ドルほど)を保管したソフトウェア・ウォレットに何とかしてアクセスしようと試みていました。
当時マイケルは非常にセキュリティ意識が高かったのか、パスワードマネージャーソフトウェアのRoboFormを使ってウォレット用のパスワードを生成し、さらにそのパスワードを記したテキストファイルをTrueCryptというツールで暗号化して保存していました。
翌年、マイケルはこの暗号化したパスワードのファイルが壊れ、保存していた20文字のパスワードにアクセスできなくなったことに気づきました。このパスワードはRoboFormのマネージャーからは削除済みだったため、もはやお手上げ状態。
ただ、当時のマイケルは、その暗号通貨を失うのは痛手であるにしても、金額的には我慢できる程度だと考え、半ば諦める格好で放置することにしました。
ところがその後10年が過ぎて、ビットコインの価値は膨れ上がり、マイケルは放置していた暗号通貨をなんとかして取り戻したいと考えるようになりました。そして複数の暗号解析専門家に断られたのち、グランド氏のもとにたどり着いたとのことです。
Trezorの解析成功の後、グランド氏のもとには同様の依頼がいくつも寄せられるようになっていました。しかし、グランド氏はいろいろな理由によってその多くを断っており、マイケルからの依頼もいったんは断ってはいました。
しかし昨年6月、再びマイケルがアプローチしてきたとき、グランド氏はドイツの知人であるブルーノなる人物に連絡を取り、二人で暗号解析を試みることにしました。
二人はまず、2013年当時にマイケルが使っていたと考えられるバージョンのRoboFormプログラムをリバースエンジニアリングすることから始めました。この作業はさらに2015年のバージョンまで続けられ、最終的に二人はプログラムに含まれる疑似乱数ジェネレーターに欠陥があり、プログラムが使用された日付と時刻を元にランダムなパスワードを発行しているのを発見しました。
つまり、もしパスワードを生成した日時とその他パラメーターがわかれば、生成されたであろうパスワードを算出できることになります。
ただ、当然ながらマイケルは10年も前のパスワードを作成した日付を覚えてはいませんでした。二人は、今度はソフトウェアウォレットのログを解析し、2013年4月14日に初めてビットコインをウォレットに移したことを突き止めました。そしてRoboFormを使って2013年3月1日から6月1日までの間の時刻設定であらゆる20文字のパスワードを生成させました。
ただ、それでは求めるパスワードを発見することはできませんでした。グランド氏は何度もマイケルに、使用したパラメーターを確認したものの、結果は同じ。マイケルは何度目かにグランドがパラメーターを尋ねたとき、2013年にRoboFormで生成した別のパスワードがあることを思いだしました。
昨年11月、グランドとブルーノは欧州に住むマイケルと直接会うことにしました。マイケルは徹底的に設定パラメーターを問いただされるのではと心配したものの、二人が持ってきたのは、解析に成功したというニュースでした。
グランド氏によると、二人が解析に成功したのは使用されたRoboFormのバージョンが古かったからである可能性が高いとのことです。二人は2015年以降のRoboFormからは擬似乱数ジェネレータの処理が変わったのか、コンピューターの日時と時刻を乱数発生に使っていた形跡が見つけられなかったと述べています。
ただ、RoboFormの開発者であるSiberが2015年の仕様変更時にユーザーにパスワードを作り直すよう通知したかどうかはわからず、グランド氏らからの問い合わせにも回答していないとのことで、もし同ソフトウェアの古いバージョンで生成したパスワードを使っている人がいるならば、それはハッカーが再生成できる脆弱なパスワードの可能性があることになります。
なお、グランド氏はSiberが2015年にどんな修正を施したかにもよるものの、それ以後のRoboFormが吐き出すパスワードも脆弱である可能性はあるとしています。
グランド氏とブルーノは、マイケルのウォレットから今回の仕事の報酬に当たる金額を引き出した後、パスワードをマイケルに返却しました。その後、ビットコインの価格が6万2000ドル/BTCになったときに一部を売却したマイケルは、30BTCを手元に残しているとのことです。