1 ポイント 投稿者 GN⁺ 2024-11-17 | 1件のコメント | WhatsAppで共有
  • Appleの新しいiPhoneソフトウェアは、デバイスが72時間ロック解除されないと自動的に再起動し、長期の押収や紛失状態でのデータアクセスをより困難にする
  • iOS 18のinactivity rebootは、Jiska Classenのデモ動画とMagnet Forensicsの確認により、72時間タイマーであることが確認された
  • 再起動後、iPhoneは暗号鍵がSecure Enclaveにロックされた、より安全な状態になり、安価または古いフォレンジックツールでは突破しにくくなる
  • フォレンジックでのアクセス性はBFU(Before First Unlock)AFU(After First Unlock) の状態によって変わり、再起動は「hot」状態を、より難しい「cold」状態へ戻す
  • この機能は泥棒や一部のフォレンジックツールによるアクセスを遅らせるが、Classenは法執行機関を完全に遮断するものではなく、3日あれば専門分析官と手続きを調整できると見ている

72時間未使用後の自動再起動

  • 新しいiPhoneソフトウェアには、デバイスが72時間ロック解除されないと自ら再起動するセキュリティ機能が含まれている
  • 404 Mediaは、一部のiPhoneが不明な理由で再起動し、法執行機関やフォレンジック専門家がデバイスへのアクセスとデータ抽出に苦労していたと伝えた
  • その後、セキュリティ研究者たちはiOS 18にデバイスを強制再起動させるinactivity rebootが搭載されていることを確認した
  • Hasso Plattner Instituteの研究者Jiska Classenは、この機能を示すデモ動画を公開し、動画にはロック解除されないまま放置されたiPhoneが72時間後に再起動する様子が収められている
  • iPhoneおよびAndroidのデータ抽出ツールGraykeyを含むデジタルフォレンジック製品を提供するMagnet Forensicsも、タイマーが72時間であると確認した

BFUとAFUが分けるフォレンジック難易度

  • inactivity rebootはiPhoneをより安全な状態へ移行させ、ユーザーの暗号鍵をSecure Enclaveチップ内にロックする
  • Classenは、泥棒がiPhoneの電源を長時間入れたままにしても、安価で古いフォレンジックツールではロック解除が難しくなると見ている
  • 犯罪者のデバイスからデータを確保しようとする法執行機関の作業もより複雑になるが、この機能だけでアクセスが完全に阻止されるわけではない
    • 3日あれば専門分析官と手続きを調整するには依然として十分な時間だという説明である
  • iPhoneには、総当たりでパスワードを突破したり、ソフトウェアの脆弱性を利用してデータを抽出しようとする試みに影響する2つの状態がある
    • BFU(Before First Unlock): ユーザーデータが完全に暗号化されており、パスワードが分からなければアクセスはほぼ不可能
    • AFU(After First Unlock): 一部のデータが復号されているため、スマートフォンがロックされていても一部のフォレンジックツールでは抽出しやすい場合がある
  • iPhoneセキュリティ研究者Tihmstarは、この2つの状態をそれぞれcoldデバイスとhotデバイスとも呼んでいる
    • 多くのフォレンジック企業は、ユーザーが一度正しいパスワードを入力したAFU状態の「hot」デバイスに注目している
    • このとき、パスワード関連情報がiPhone Secure Enclaveのメモリに保存されているためである
    • 再起動された「cold」デバイスはメモリを容易に抽出できず、はるかに侵害しにくい
  • Appleは長年にわたり、法執行機関が反対してきた新しいセキュリティ機能を追加してきており、法執行機関はこうした機能が業務をより難しくすると批判してきた
  • 2016年、FBIは銃乱射犯のiPhoneを開くためのバックドア作成をAppleに強制しようとして訴訟を起こし、その後オーストラリアのスタートアップAzimuth SecurityがFBIによるそのiPhoneのハッキングを支援した
  • Appleはコメント要請に応じていない

1件のコメント

 
GN⁺ 2024-11-17
Hacker News のコメント
  • 決済端末は PCI 要件 のため定期的な再起動が必要で、市場に出回っているほぼすべての POS 端末は 24 時間ごとに再起動している

    • 良い 多層防御 戦略に見える。最近のほとんどのシステムはブートチェーンの保護がかなりしっかりしているので、再起動後はシステムが有効な状態にあり、潜在的な悪意ある改変も消えていると見なせる
    • Apple が iPhone に似たアプローチを導入するのも同じ発想に近く、ただ 個人データ保護 に適用しただけではないかと思う
    • Boeing 787 もそうしている
    • iPhone は必要かどうかに関係なく、毎週末に再起動している
  • この設定はもっと短くできるとよいと思う。1 日のあいだスマホをロック解除していないなら何か異常な状況で、追加のセキュリティ上の疑い が必要だ

    • これが標準の Shortcuts アプリでできるのか気になって調べたが、最初は "Restart" アクションがないので無理だと思った
      実は見ている場所を間違えていて、"Shut Down" アクションのオプションとして提供されていた
    • 特定の Airtag や似た機器の近くにいなければ再起動する仕組みでもよさそう。もちろんロック解除で回避できるようにすべきだが
    • 単にスマホを触らなかっただけのときの不便を最小限にするなら、12 時間 くらいが自分にはちょうどよさそう
    • 毎日スマホを再起動する 自動化ショートカット を作れば解決する
  • この「新しい」機能はすでに GrapheneOS でサポートされており、デフォルトでも 18 時間後に実行され、ユーザーが好きなように調整できる。全員に 72 時間を強制する十分な理由はなく、ユーザーに敵対的な設計判断だ

    • 実際にはスマホが 3 日間正常にロック解除されなかったとき にだけ動作するようだ。だからほとんどのユーザーはほぼ気づかない機能だろう
    • カメラのフラッシュを懐中電灯として使う機能を最初に見たのは Cyanogenmod 7 だった。スマホの Wi‑Fi ホットスポットも、正式アプリがほとんど役に立たなかった時代に Cydia アプリから始まった
      ハッキングのエコシステムは常にスマホに最もクールな機能をもたらしてきたが、メーカーはそうした機能へのアクセスをますます難しくしてきた
    • 個人用の GrapheneOS スマホでは必須機能だ。普段は 1 日に 1、2 回しか使わないので、使うたびにほぼ再起動直後の状態になっている
      モバイル分野の新しいエクスプロイトの多くはメモリ上にしか存在せず、単純な再起動で防げると読んだことがあり、悪名高い Pegasus スパイウェアも含まれると思う
    • おそらく 妥協案 に近いのだろう。これくらい長い遅延なら、ランダム再起動に怒るユーザーに関する刺激的な見出しを避けられるし、連邦機関が公然と反応して Trump にバックドアを再要求するほど短くもない
      同時に、技術コミュニティの外ではそれほど目立たない低プロファイルな更新なので、小規模な犯罪者は十分に備えられないかもしれない。もしユーザーに敵対的な設計だったなら、そもそも実装しなかったはずだ
      Apple らしいやり方は一般的なデフォルトを決めてユーザーを煩わせないことで、それが良い場合も悪い場合もある
    • Graphene は実際に使ってみるとどんな感じなのか気になる
  • これが事実なら、設定可能なオプション にするのは小さな改善だ。72 時間をデフォルトにしつつ、より高いセキュリティ要件があるなら 12 時間やそれより短く下げられるべきだ

    • 設定可能なら 30 分 にして、不便があれば延ばすと思う。すでにスマホは常におやすみモードで使っているので、再起動で通知が遅れるのは問題ではないし、30 分ごとに FaceID の代わりにパスコードを入力するのもあまり気にならない
    • 設定可能にすると、スマホが脱獄されたときに無効化できないよう Secure Enclave 内にハードコードするのが難しくなるかもしれない
    • 同意するが、Apple が 72 時間を選んだのは警察に時間を与えるための選択のようにも聞こえる。警察のほうが犯罪者より組織的だからだろうか
    • 設定可能にするのが論理的な次の段階だ
  • この機能は iDevice 間の SMS 転送 を壊しているようだ。予備の iPhone をロック解除してメッセージアプリを開くまで、一部の配送通知が届かず、苦労して気づいた

  • ロックされたスマホがすでにすべてをメモリ上に載せていなければならない、というのは理解できる。ただ、Apple が ロック状態 を再起動直後と同じくらい安全にできない技術的な障害が何なのか気になる

    • 初回ロック解除前状態 では、通知プレビュー、着信の連絡先情報、その他のユーザー固有データが復号されずにロックされたままになっている。これらはユーザー体験も大きく変えるので、Apple はそうしていないのだろう
    • これが暗号学的にどう実装されているかについての良い説明がある: https://www.youtube.com/watch?v=BLGFriOKz6U
    • 障害は技術的というより ユーザー体験 側にあると思う
  • 404Media がこれを最初に確認したようだ。違うかもしれない。購読者向け記事で全文を読めるアーカイブリンクは見つけられなかったが、良い仕事をしているメディアなので支援する価値はある
    https://www.404media.co/apple-quietly-introduced-iphone-rebo...

  • 自動再起動は Samsung のスマホで Android 5 Lollipop の時代、10 年前からあった。技術の進歩がついに Apple にまで届いてよかった

    • セキュリティ面では同じ機能ではない。それは古い Windows PC を再起動するのに近い 性能管理
      Android の BFU、つまり初回ロック解除前状態は iPhone とかなり似ていて、データは引き続きロックされ、通知も来ず、アプリも実行されない。最初にロック解除して初めてアプリが動き、通知が入り、攻撃者にとってより脆弱な状態にもなる
      iPhone と Android の両方を使っていて、現在の Android は最新モデルの Z Fold 5 だ。Fold 5 は毎週自動再起動するが、再起動後も普段のバックグラウンドアプリが立ち上がり、通知も正常に動作する
      これは Android、より正確には Samsung が Android の上に載せている OneUI が「完全な」再起動をしておらず、Apple のようにスマホを BFU またはコールド状態に置くセキュリティ上の利点を提供していないことを意味する
  • なぜプログラム命令メモリとデータメモリを 物理的に分離 しないのか気になる。ページレベルでは似たような近似があるのは知っているが、そもそもカーネルが自分のメモリを変更できるようにしておく理由があるのだろうか
    署名済みページだけを読み込むメモリユニットのようなやり方は可能ではないかと思う

    • 求めているのはフォン・ノイマン構成ではなく ハーバードアーキテクチャ のコンピュータだ。これにはトレードオフがある
      念頭に置くべきなのは、JIT が非常に有用な技術であり、それを失うコストがかなり大きいこと、そしてインタプリタは依然としてデータメモリをプログラム命令メモリのように扱うため、この分離の利点は限定的だということだ
    • これが何に対する答えなのか分からない。すでにそのように動いていて、カーネルは自分のコードページを変更できない。ただし関数ポインタや他のデータを書き換える攻撃など、残っている攻撃面は多い
    • iOS はすでにこのように動作している
  • 質問: Apple の再起動画面は本当に dmesg ログ を表示しているのか?

    • おそらく Security Research Device だと思う。 https://security.apple.com/research-device/
    • 最終リリース版ではないだろうし、セキュリティ研究者が開発者ベータを使っていて、おそらく詳細ログモードが有効になっていたのだと思う