プロセッサの表面を削って固有IDを読み取ればiPhoneのロックは解除できるという話 38
力技 部門より
先日、ジョン・マカフィー氏がRTのインタビューに対し、iPhoneのメモリー内に保存されているパスコードの場所を30分程度で特定できると答え、iPhoneについて何も知らないのではないかと批判された。これに対してマカフィー氏は、FBIがやろうとしていることについて、知識のない人の注目を集めるために作った話で、実際の方法はまた別にあると主張している(Daily Dot、インタビュー音声、Inverse)。
マカフィー氏はFBIが求めているのが1台のiPhoneのロック解除ではなく、どのiPhoneでもロック解除できるマスターキーだと主張。このことを視聴者に知らせるためにわかりやすい作り話をしたが、自分がiPhoneのロックを解除できるというのは嘘ではないと述べている。
なぜかマカフィー氏はDaily Dotの電話インタビューに対して本当の解除法を話したがらず、公表しないなら話してもいいと条件を出したが、インタビュアーが拒否。しかし、マカフィー氏はオフレコと誤解したようで、結局すべて話してしまった。
マカフィー氏が秘密にしたかった解除方法は、A6チップを開いて表面をレーザーで削っていき、UIDの焼き付けられた部分を露出させてUIDを読み取るというもの。UIDはパスコードと合わせて暗号化に使われているもので、UIDがわかればスーパーコンピューターなどを使用して総当たりでパスコードを試すことが可能となる。
この方法が事実かどうかは調べればわかることだとマカフィー氏も話している通り、2月にエドワード・スノーデン氏が説明していた内容だ。ただし、作業には特殊な機器が必要となり、失敗すればiPhoneのデータは読めなくなってしまう。なお、A7チップ以降ではUIDがSecure Enclaveに焼き付けられている(PDF)が、A6までのチップではあまりはっきりした情報がないようだ。
焼き付け? (スコア:4, 興味深い)
最近はEEOROMとかに電気的に書き込むタイプが主流だからこれだと読みだすのはかなり難しいと思う。
セキュリティ用チップだと、秘密鍵の格納領域のメモリセルの上部に検知用配線をメッシュ状に配して、
うっかりそれに触れたら全消去シーケンスが走るようになってたりするものもある。
アップルのチップがそこまでやってるかは知らないけど。
Re:焼き付け? (スコア:2, 興味深い)
A6の場合、Samsung 32nmの最初期のICなので、EEPROMとかフラッシュ等の電荷で保持するタイプのメモリは無いはずです。
Polyヒューズか、ゲート破壊かは分かりませんが、非可逆的なOTPメモリしか搭載していないでしょう。
これらはパッケージの表面を削って、ダイを露出させ、X線検査を行えば読み取ることが出来ます。
比較的簡単な解析なので、LSIテストの設備があるところなら、100万円ぐらいのオーダーで依頼できると思います。
Re: (スコア:0)
これって、犯人のiPhoneが5cだからできるんではなかったかな。
5s以上だとA7チップになるので厳しいという話だったと思う。
Re: (スコア:0)
5s以上だと、「プロセッサの表面を削って固有IDを読み取るしかない」となるんだろうな。
5c以下限定で、総当たりでも鍵が消去される心配がないという話だったはず。
Re: (スコア:0)
絶縁膜を破壊する電気フューズでもわからんことはないけど、セキュリティチップだからねえ
ウェハからカットしちゃったら、不良調査もほとんどできないって言われてるし
Re: (スコア:0)
そこまでやってるもんなんですね。
知らなかったです。
直接読み取るという話自体よく思いつくなと思ったけど。
Re: (スコア:0)
~メモリセルの上部に検知用配線をメッシュ状に配して、うっかりそれに触れたら全消去シーケンスが走るようになってたりするものもある。
そのへんは昔からある特許ネタなんだけど、対策をしてもそれを上回る手法がいつも出てくるんだよね
(他人の上前はねる後ろ向きの仕事ばっかりやってるんじゃないよと思うけど)
ちょっとまって (スコア:2)
自分暗号に詳しくないので的外れかも知れないが
> UIDがわかればスーパーコンピューターなどを使用して総当たりでパスコードを試すことが可能となる
そもそも回数制限があってたった4桁のパスコードの総当りができないから困ってるんじゃなかった?
スパコンを駆使しても絞込が出来る程度で1個に特定できないのなら、解除したことにならない気が。
これはスパコンで検索かければ1個のパスコードを抽出できるんだ、ということでいいの?
Re:ちょっとまって (スコア:1)
やっぱよくわからない。
UIDというのは機械(SIM?)の製造時管理されてるものだから、Appleは提供できることでは?
でもFBIに対しては「できねえ」と言った。
これはスパコンで解析すればという前提がなかったのか。
まあiPhone1台につきスパコン占有で何ヶ月もかかるようなら、
そんなの求めてねえとFBIは言うであろう。
Re:ちょっとまって (スコア:1)
チップの生産時に書き込まれるようだけど、UIDとiphoneの個体をappleが紐付けていないから、
特定のiphoneのUIDが何かはappleでも判らないということみたいですよ。
Re:ちょっとまって (スコア:1)
4桁だか6桁だかのパスコード + OSに保存されてるシード値 + 製造時に書き込まれるユニークなUID/シード値を、SoC上の乱数発生器にかけて、出力された値を暗号化キーにしてるんでしょ。
製造番号はトレーサビリティの観点から台帳を作って管理することが望ましいけど、暗号化にしか使わないシード値についてはSoC外に存在するのはリスクでしかないから、製造番号から
生成はしても推測はできないようになっていて、書き込み後は破棄しているんじゃないの?
だから、SoCに対してパスコードの番号空間分の回数の試行を打つか、SoCを分解してシード値を読み出すか、何百ビットの十分な強度を持つ暗号化キーを総当たりするかしかないはず。
元が4桁数字のパスコードなら、何百ビットのうち当該のシード値と組み合わせた場合に有効なのは10^4個しかないけど、シード値が不明ならどの組み合わせが有効かはわからないから、空間を絞ることはできないんだろうな。
Re:ちょっとまって (スコア:1)
ストレージ取り出してデータを抜く前提。
UIDはAppleも把握してない。
UIDがあれば、暗号化キーのシードとして使ってるので単なる総当りよりは格段に早い。
だからチップ削ってUID抜くのが有効である。
て感じですか。
3行目がホントなら、ですよね。
まあハッキング対策の専門家のマカフィーさんが言ってるのに、素人が口挟むもんじゃないですか。
Re: (スコア:0)
UIDって、TSMCでLSI製造して貰うと、TSMCが勝手に書き込んでくれるチップのIDのことですかね?
あれは、最終製品と紐付けしていないメーカーはあると思いますね~
機器メーカー側が紐付けしていなくても、
LSIに不良返品があった場合、TSMC側の製造ロットがどれだったのかは、TSMC側で勝手にUIDから紐付けできるので、
機器メーカーは別に紐付けしていなくても問題ない場合があるんです。
Re: (スコア:0)
…まあ、skapontanが何度も自己レスするもんじゃないですね。
Re:ちょっとまって (スコア:1)
私も試験に通らない素人ですが話を好意的に解釈すると
[ハッシュ値] × [UID] = [パスワード]
上記のハッシュ値は前回の話に出てきた「パスコード」の部分で、今回のUIDもわかればパスワードがわかる。
勿論、乗算なんかでは無く複雑で、演算式は前回の話の逆アセンブルで調べる。
しかも不可逆演算なわけだから、スパコンでUID/ハッシュ値が一致するパスワード総当たり計算が必要と。
複雑性にもよるけど何年もかかるものなのかな。でも30分じゃないよね。
Re: (スコア:0)
そのUIDを既に知っているiOSを用いた試行回数に制限があるだけで、UIDを他の手段を用いて取り出してしまえばiOSの回数制限なんて気にしなくても良くなる。
Re: (スコア:0)
記事を読むと、今回の方法を使って、パスコードの総当たりをiPhoneの外でできるようになるみたいですね。
Re: (スコア:0)
チップの表面を削るぐらいだから、機器は分解した後前提の話で、
暗号化されたストレージを別の機器で解読して読み取るって話なんでしょうね。
Re: (スコア:0)
回数制限は真っ当な試行方法にかかっているものでは?
氏の手法は、ストレージ内のデータに行われている秘密鍵(UID+パスコード)による暗号化を総当たりで解くというものかと思います。
ロック解除する必要あるの? (スコア:0)
よく知らないけど、iPhoneを分解してストレージからデータを吸い出すことはできないのかな?
データはパスコードとかで暗号化されているんだろうけど、吸いだしたデータに対して総当りで復号を試すことはできるよね?
FBIがあくまでロック解除に固執するなら仕方ないけど、データの中身がほしいだけならロック解除必要ないと思うんだけどなあ。。。
それとも分解してデータ吸い出そうとしたら自動的に消去されるような耐タンパー性を持ってるのかな?
Re:ロック解除する必要あるの? (スコア:1)
総当たりだと数十年かかる。パスコードは四桁でも、暗号化キーはそのハッシュで、かつ個体ごとに違うソルトが付いてるから。
Re: (スコア:0)
なるほど、暗号化時に機器固有の情報を入れたり乱数を生成したりして、より長い暗号化鍵にしてるってことね。
その乱数がわからないかぎり、パスコードよりはるかに長い鍵長に対して総当りしないとならなくなる、と。。。
勉強になりました。
Re: (スコア:0)
何年もかかるんじゃないですかね。
FBIは今欲しいからアップルに要請しているんでしょう。
Re: (スコア:0)
数十年かかるなら吸いだして数十台複製すれば数年になる?
Re: (スコア:0)
AWSに1万インスタンスを無償無期限で貸し出す命令を出せばいいんだなっ!
(50 * 365) / 10 000 =1.825
2日で出来る!
Re: (スコア:0)
将来的な国外のスパイ活動に使うことを念頭に置いているんでしょうね。
リワークしちゃえば・・・ (スコア:0)
いい気がしないでもない。
CPUのUIDが、固定値ならリワーク後OSセットアップで読み出せるだろうし。
吸いだしたイメージをエミュレーター上でゴニョれば、強制ロック解除とかも仕込める気がする。
http://gigazine.net/news/20160204-iphone-from-16gb-to-128gb/ [gigazine.net]
CPU削るよりもリスクは低い気がするけど、どうなんだろう。
Re: (スコア:0)
わかってないな。CPUからは読み出せないんだよ。CPU1個1個に違うパターンのあみだくじが入っていて、当たったくじ番号を鍵にしてるわけ。
同じCPUで同じ番号のくじを引けば同じあたり番号が出てくるけど、くじのパターンを明かす命令というのは存在しないの。だから全部引くしかない。
しかも、何番のくじを引けという命令をメインCPUから送り込むためには、Appleの正規の署名が付いたOSが必要なの。でないとメインCPUが起動しないから。
Re: (スコア:0)
うんだから張り替えてOS入れてあみだくじ全部出しちゃうのと、削ってあみだくじを俯瞰するの。
どっちも変わらない気がするんだけど、違うのかな?。
どのみち、あみだくじの総当りは必要なんでしょ?。
カラのFlashに張り替えてブートストラップごと再セットアップすれば、CPU削らなくてもいけるんでないの?。
まあ、ブートストラップ流し込みは、Appleでしか出来ないのかもだけど。
もうゴールしちゃえよ (スコア:0)
さっさと靴食った方が楽になれるぞ
まあ、こういう方法もありますよ、と。 (スコア:0)
どう考えても「まともな脆弱性」は掴んでるはずなので(でないと既出のとおり、30分とかではムリ)、
うるさいインタビュアーに、たしかに間違ってはないし、セキュリティの理解の足しになるネタを話したんだろう
というか (スコア:0)
単にメモリを操作して認証部分をすっとばせばいいんじゃないの?
起動する時の開始コードの位置をずらすとか、認証の確認関数の戻り値部分のビットを常にtrueに書き換えるとか。
Re: (スコア:0)
認証をすっとばしたところで、ファイルは復号できないままでしょうよ。
マジコン対策の起動チェックじゃあるまいし。
Re: (スコア:0)
それでどうやって暗号鍵を得るの?
アップルの次の対策に期待 (スコア:0)
・ロック状態ではDFUモードだろうがなんだろうが、カスタムファームの読み込みが出来ないようにする。一度初期化する必要がある
・セキュリティチップは電気的に書き込むタイプにする
これくらいやれば、FBIだろうがマカフィーだろうが手出し出来ないだろう
Re: (スコア:0)
だがちょっとした珍しい操作でロックはずれちゃう
そういったことのない緻密なデバイスは日本が作れ
Re: (スコア:0)
だから5s以降は総当たりしようとすると自己消去しちゃうんだって
廉価版の5cやそれ以前だと簡易なタイプだから総当たりが可能
そりゃ当たり前だろ (スコア:0)
>なぜかマカフィー氏はDaily Dotの電話インタビューに対して本当の解除法を話したがらず、公表しないなら話してもいいと条件を出したが
むしろ公表しないって口約束だけで話して良いと言う氏が気前良すぎるだろ