パスワードを忘れた? アカウント作成
12714112 story
iPhone

プロセッサの表面を削って固有IDを読み取ればiPhoneのロックは解除できるという話 38

ストーリー by hylom
力技 部門より
headless 曰く、

先日、ジョン・マカフィー氏が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, 興味深い)

    by Anonymous Coward on 2016年03月11日 12時54分 (#2978877)
    ヒューズをレーザーでカットして記録するタイプなら顕微鏡を使えば読めると思うけど、
    最近はEEOROMとかに電気的に書き込むタイプが主流だからこれだと読みだすのはかなり難しいと思う。
    セキュリティ用チップだと、秘密鍵の格納領域のメモリセルの上部に検知用配線をメッシュ状に配して、
    うっかりそれに触れたら全消去シーケンスが走るようになってたりするものもある。
    アップルのチップがそこまでやってるかは知らないけど。
    • by Anonymous Coward on 2016年03月11日 19時02分 (#2979131)

      A6の場合、Samsung 32nmの最初期のICなので、EEPROMとかフラッシュ等の電荷で保持するタイプのメモリは無いはずです。
      Polyヒューズか、ゲート破壊かは分かりませんが、非可逆的なOTPメモリしか搭載していないでしょう。
      これらはパッケージの表面を削って、ダイを露出させ、X線検査を行えば読み取ることが出来ます。
      比較的簡単な解析なので、LSIテストの設備があるところなら、100万円ぐらいのオーダーで依頼できると思います。

      親コメント
    • by Anonymous Coward

      これって、犯人のiPhoneが5cだからできるんではなかったかな。
      5s以上だとA7チップになるので厳しいという話だったと思う。

      • by Anonymous Coward

        5s以上だと、「プロセッサの表面を削って固有IDを読み取るしかない」となるんだろうな。
        5c以下限定で、総当たりでも鍵が消去される心配がないという話だったはず。

    • by Anonymous Coward

      絶縁膜を破壊する電気フューズでもわからんことはないけど、セキュリティチップだからねえ
      ウェハからカットしちゃったら、不良調査もほとんどできないって言われてるし

    • by Anonymous Coward

      そこまでやってるもんなんですね。
      知らなかったです。
      直接読み取るという話自体よく思いつくなと思ったけど。

    • by Anonymous Coward

      ~メモリセルの上部に検知用配線をメッシュ状に配して、うっかりそれに触れたら全消去シーケンスが走るようになってたりするものもある。

      そのへんは昔からある特許ネタなんだけど、対策をしてもそれを上回る手法がいつも出てくるんだよね
      (他人の上前はねる後ろ向きの仕事ばっかりやってるんじゃないよと思うけど)

  • by skapontan (35455) on 2016年03月11日 12時26分 (#2978844) 日記

    自分暗号に詳しくないので的外れかも知れないが

    > UIDがわかればスーパーコンピューターなどを使用して総当たりでパスコードを試すことが可能となる

    そもそも回数制限があってたった4桁のパスコードの総当りができないから困ってるんじゃなかった?
    スパコンを駆使しても絞込が出来る程度で1個に特定できないのなら、解除したことにならない気が。
    これはスパコンで検索かければ1個のパスコードを抽出できるんだ、ということでいいの?

    • by skapontan (35455) on 2016年03月11日 13時07分 (#2978892) 日記

      やっぱよくわからない。

      UIDというのは機械(SIM?)の製造時管理されてるものだから、Appleは提供できることでは?
      でもFBIに対しては「できねえ」と言った。

      これはスパコンで解析すればという前提がなかったのか。
      まあiPhone1台につきスパコン占有で何ヶ月もかかるようなら、
      そんなの求めてねえとFBIは言うであろう。

      親コメント
      • by Anonymous Coward on 2016年03月11日 13時39分 (#2978924)
        UIDは本体のプロセッサチップ内部に書き込まれている。
        チップの生産時に書き込まれるようだけど、UIDとiphoneの個体をappleが紐付けていないから、
        特定のiphoneのUIDが何かはappleでも判らないということみたいですよ。
        親コメント
      • by Anonymous Coward on 2016年03月11日 14時22分 (#2978951)

        4桁だか6桁だかのパスコード + OSに保存されてるシード値 + 製造時に書き込まれるユニークなUID/シード値を、SoC上の乱数発生器にかけて、出力された値を暗号化キーにしてるんでしょ。
        製造番号はトレーサビリティの観点から台帳を作って管理することが望ましいけど、暗号化にしか使わないシード値についてはSoC外に存在するのはリスクでしかないから、製造番号から
        生成はしても推測はできないようになっていて、書き込み後は破棄しているんじゃないの?

        だから、SoCに対してパスコードの番号空間分の回数の試行を打つか、SoCを分解してシード値を読み出すか、何百ビットの十分な強度を持つ暗号化キーを総当たりするかしかないはず。
        元が4桁数字のパスコードなら、何百ビットのうち当該のシード値と組み合わせた場合に有効なのは10^4個しかないけど、シード値が不明ならどの組み合わせが有効かはわからないから、空間を絞ることはできないんだろうな。

        親コメント
      • by skapontan (35455) on 2016年03月11日 16時47分 (#2979062) 日記

        ストレージ取り出してデータを抜く前提。
        UIDはAppleも把握してない。
        UIDがあれば、暗号化キーのシードとして使ってるので単なる総当りよりは格段に早い。
        だからチップ削ってUID抜くのが有効である。

        て感じですか。
        3行目がホントなら、ですよね。
        まあハッキング対策の専門家のマカフィーさんが言ってるのに、素人が口挟むもんじゃないですか。

        親コメント
        • by Anonymous Coward

          UIDって、TSMCでLSI製造して貰うと、TSMCが勝手に書き込んでくれるチップのIDのことですかね?
          あれは、最終製品と紐付けしていないメーカーはあると思いますね~
          機器メーカー側が紐付けしていなくても、
          LSIに不良返品があった場合、TSMC側の製造ロットがどれだったのかは、TSMC側で勝手にUIDから紐付けできるので、
          機器メーカーは別に紐付けしていなくても問題ない場合があるんです。

        • by Anonymous Coward

          …まあ、skapontanが何度も自己レスするもんじゃないですね。

    • by ciina (26410) on 2016年03月11日 14時40分 (#2978971) 日記

      私も試験に通らない素人ですが話を好意的に解釈すると

      [ハッシュ値] × [UID] = [パスワード]

      上記のハッシュ値は前回の話に出てきた「パスコード」の部分で、今回のUIDもわかればパスワードがわかる。
      勿論、乗算なんかでは無く複雑で、演算式は前回の話の逆アセンブルで調べる。
      しかも不可逆演算なわけだから、スパコンでUID/ハッシュ値が一致するパスワード総当たり計算が必要と。

      複雑性にもよるけど何年もかかるものなのかな。でも30分じゃないよね。

      親コメント
    • by Anonymous Coward

      そのUIDを既に知っているiOSを用いた試行回数に制限があるだけで、UIDを他の手段を用いて取り出してしまえばiOSの回数制限なんて気にしなくても良くなる。

    • by Anonymous Coward

      記事を読むと、今回の方法を使って、パスコードの総当たりをiPhoneの外でできるようになるみたいですね。

      • by Anonymous Coward

        チップの表面を削るぐらいだから、機器は分解した後前提の話で、
        暗号化されたストレージを別の機器で解読して読み取るって話なんでしょうね。

    • by Anonymous Coward

      回数制限は真っ当な試行方法にかかっているものでは?
      氏の手法は、ストレージ内のデータに行われている秘密鍵(UID+パスコード)による暗号化を総当たりで解くというものかと思います。

  • by Anonymous Coward on 2016年03月11日 14時47分 (#2978978)

    よく知らないけど、iPhoneを分解してストレージからデータを吸い出すことはできないのかな?
    データはパスコードとかで暗号化されているんだろうけど、吸いだしたデータに対して総当りで復号を試すことはできるよね?

    FBIがあくまでロック解除に固執するなら仕方ないけど、データの中身がほしいだけならロック解除必要ないと思うんだけどなあ。。。
    それとも分解してデータ吸い出そうとしたら自動的に消去されるような耐タンパー性を持ってるのかな?

    • by Anonymous Coward on 2016年03月11日 15時25分 (#2979010)

      総当たりだと数十年かかる。パスコードは四桁でも、暗号化キーはそのハッシュで、かつ個体ごとに違うソルトが付いてるから。

      親コメント
      • by Anonymous Coward

        なるほど、暗号化時に機器固有の情報を入れたり乱数を生成したりして、より長い暗号化鍵にしてるってことね。
        その乱数がわからないかぎり、パスコードよりはるかに長い鍵長に対して総当りしないとならなくなる、と。。。

        勉強になりました。

    • by Anonymous Coward
      各ファイルはAES256で暗号化されているようなので、総当たりすればそのうち解けるんでしょうけど、
      何年もかかるんじゃないですかね。
      FBIは今欲しいからアップルに要請しているんでしょう。
    • by Anonymous Coward

      数十年かかるなら吸いだして数十台複製すれば数年になる?

      • by Anonymous Coward

        AWSに1万インスタンスを無償無期限で貸し出す命令を出せばいいんだなっ!

        (50 * 365) / 10 000 =1.825
        2日で出来る!

    • by Anonymous Coward

      将来的な国外のスパイ活動に使うことを念頭に置いているんでしょうね。

  • by Anonymous Coward on 2016年03月11日 17時05分 (#2979076)

    いい気がしないでもない。

    CPUのUIDが、固定値ならリワーク後OSセットアップで読み出せるだろうし。
    吸いだしたイメージをエミュレーター上でゴニョれば、強制ロック解除とかも仕込める気がする。

    http://gigazine.net/news/20160204-iphone-from-16gb-to-128gb/ [gigazine.net]

    CPU削るよりもリスクは低い気がするけど、どうなんだろう。

    • by Anonymous Coward

      わかってないな。CPUからは読み出せないんだよ。CPU1個1個に違うパターンのあみだくじが入っていて、当たったくじ番号を鍵にしてるわけ。
      同じCPUで同じ番号のくじを引けば同じあたり番号が出てくるけど、くじのパターンを明かす命令というのは存在しないの。だから全部引くしかない。
      しかも、何番のくじを引けという命令をメインCPUから送り込むためには、Appleの正規の署名が付いたOSが必要なの。でないとメインCPUが起動しないから。

      • by Anonymous Coward

        うんだから張り替えてOS入れてあみだくじ全部出しちゃうのと、削ってあみだくじを俯瞰するの。
        どっちも変わらない気がするんだけど、違うのかな?。
        どのみち、あみだくじの総当りは必要なんでしょ?。
        カラのFlashに張り替えてブートストラップごと再セットアップすれば、CPU削らなくてもいけるんでないの?。
        まあ、ブートストラップ流し込みは、Appleでしか出来ないのかもだけど。

  • by Anonymous Coward on 2016年03月11日 18時48分 (#2979124)

    さっさと靴食った方が楽になれるぞ

  • by Anonymous Coward on 2016年03月11日 23時32分 (#2979248)

    どう考えても「まともな脆弱性」は掴んでるはずなので(でないと既出のとおり、30分とかではムリ)、
    うるさいインタビュアーに、たしかに間違ってはないし、セキュリティの理解の足しになるネタを話したんだろう

  • by Anonymous Coward on 2016年03月12日 4時49分 (#2979306)

    単にメモリを操作して認証部分をすっとばせばいいんじゃないの?
    起動する時の開始コードの位置をずらすとか、認証の確認関数の戻り値部分のビットを常にtrueに書き換えるとか。

    • by Anonymous Coward

      認証をすっとばしたところで、ファイルは復号できないままでしょうよ。
      マジコン対策の起動チェックじゃあるまいし。

    • by Anonymous Coward

      それでどうやって暗号鍵を得るの?

  • by Anonymous Coward on 2016年03月12日 9時12分 (#2979335)

    ・ロック状態ではDFUモードだろうがなんだろうが、カスタムファームの読み込みが出来ないようにする。一度初期化する必要がある
    ・セキュリティチップは電気的に書き込むタイプにする

    これくらいやれば、FBIだろうがマカフィーだろうが手出し出来ないだろう

    • by Anonymous Coward

      だがちょっとした珍しい操作でロックはずれちゃう

      そういったことのない緻密なデバイスは日本が作れ

    • by Anonymous Coward

      だから5s以降は総当たりしようとすると自己消去しちゃうんだって
      廉価版の5cやそれ以前だと簡易なタイプだから総当たりが可能

  • by Anonymous Coward on 2016年03月13日 0時16分 (#2979708)

    >なぜかマカフィー氏はDaily Dotの電話インタビューに対して本当の解除法を話したがらず、公表しないなら話してもいいと条件を出したが

    むしろ公表しないって口約束だけで話して良いと言う氏が気前良すぎるだろ

typodupeerror

計算機科学者とは、壊れていないものを修理する人々のことである

読み込み中...