簡単なPINでもあなたのiPhoneを、好奇心旺盛な幼児の手や酔っ払った友だちから守ることはできる。でも、ありうるPINをひとつひとつすべて試すロボットなら、やがてあなたのPINは、ばれてしまう。
そんなマシンがしばらく前から存在しているが、今回のは特別にクレージーだ。PINの入力に10回失敗したらiPhoneのすべてのデータがクリアされるように設定していても、そいつは10回以降も試行を続ける。
上で“試行”と書いたのは、失敗するケースもあるからだ。Appleはまだ確認の情報をくれないが、このいたずらが成功するのはiOS 8.1.1(2014年の11月発売)よりも古いバージョンのiOSらしい。8.1.1に関するAppleの記事は、バグCVE-2014-4451のパッチについて述べている。それは、“パスコードの失敗の最大回数”という制限がバイパスされてしまうバグだ。ただし、それが今回の問題と関係あるのかないのか、そのへんがまだ分からない。
下のビデオは、そのデバイスが実際に使われているところだ。情報源のMDSecは、この馬鹿力マシンを300ドルで入手したらしい。
上のビデオで何が起きているのか、ちょっと説明しよう:
- 左にiPhoneがあり、内部がよく分かるように開けてある。
- 右にその、馬鹿力マシンがある。
- iPhoneの内蔵電池は接続されていないので、馬鹿力マシンは残った電力をすぐに消費してしまうだろう。
- そのデバイスがパスコードの候補を作るたびに、USBでiPhoneに送られる(最初の候補を上のビデオの0:30あたりで作る。)
- その候補が失敗したら、画面に付随している光学センサがそれを認識して、そして…
- 一瞬後に馬鹿力マシンは電源を切りiPhoneをシャットダウンして、失敗したコードをメモリに書き込もうとする。
- iPhoneはリセットし、マシンは再び自由に試行できる。
- 光学センサが成功を検出したら(ビデオの1:53あたり)、マシンは候補の作成と入力をやめて、正しいPINをログし、ビープ音でそのことを知らせる。
失敗のたびにリセットするから、一回のトライに約44秒かかる。4桁のパスワードの候補を(正解以外を)すべて試したとすると、4日半かかるだろう。ハリウッドのスパイ映画なら、こんなに遅い暗号解読機はありえないが、実際にiPhoneを盗まれた場合には、その内部を見られるのはすぐだ。
ではどうやって被害を防ぐか?
- OSをアップデートしよう。もしもこれがiOS 8.1.1や8.2で直っていないのなら(どうやらそのようだが)、Appleはこのビデオの流出後に急いでパッチを当てようとしているだろう。
- もっと長いパスワードを使おう。JWZが指摘しているように、4桁のPINの試行に44秒かかるのなら、すべての候補を試すのに4日半かかる。しかし7桁のPINなら、すべての試行に12年かかる。
今Appleにコメントを求めているが、まだ音沙汰がない。
[原文へ]
(翻訳:iwatani(a.k.a. hiwa)