1 ポイント 投稿者 GN⁺ 7 일 전 | 1件のコメント | WhatsAppで共有
  • メッセージングアプリで削除された、または自動消去されたメッセージが通知キャッシュに残り、フォレンジックツールで読み取れる状態になっていたが、AppleがiPhoneとiPad向けのソフトウェアアップデートでこれを修正
  • メッセージ内容が表示された通知はデバイスに最大1か月保存される可能性があり、Appleのセキュリティ情報には、削除対象としてマークされた通知が予期せず保持されることがあったと記載されている
  • この抽出経路は、削除されたSignalメッセージが携帯電話のデータベースに残っていた仕組みとつながっており、法執行機関はかなり前に削除されたメッセージも読めていた
  • Signalはこの問題の公開後、Appleに修正を要請しており、自動削除のタイマー機能は、デバイス押収時でも会話を秘密に保ちたいユーザーに役立つ可能性がある
  • アプリ内で削除しただけでは、OSレベルの通知保存領域から同じ内容が消えない場合があり、今回の修正は自動削除メッセージのプライバシー保護においてOS層も重要であることを示している

バグ修正と影響

  • AppleはiPhoneとiPad向けのソフトウェアアップデートを配布し、法執行機関がメッセージングアプリで削除された、または自動消滅したメッセージを抽出できていたバグを修正
    • メッセージ内容が表示された通知(notification) がデバイス上で最大1か月キャッシュされることで、この問題が発生していた
  • Appleのセキュリティ情報には、削除対象としてマークされた通知がデバイスに予期せず保持されることがあったと記されている
  • 通知内容がそもそもなぜ記録されていたのかは確認されていない
    • 今回の修正により、その現象がバグだったことが明らかになった
  • Appleは、なぜ通知が保持されていたのかを問う問い合わせにすぐには回答しなかった
  • Appleは旧バージョンのiOS 18を実行しているiPhoneとiPadにも修正をバックポートした

明らかになった抽出経路

  • 今回の修正は、今月初めに404 Mediaが報じた問題と直接つながっている
    • FBIはフォレンジックツールを使って、ある人物のiPhoneから削除されたSignalメッセージを抽出できていた
  • 抽出が可能だったのは、メッセージ内容が一度通知として表示された後、Signal内でメッセージが削除されたあとも携帯電話のデータベース内に保存されていたため
  • 法執行機関はフォレンジックツールを使う際、かなり前に削除されたメッセージも読むことができていた

Signalと削除メッセージ機能

  • SignalのMeredith Whittakerは、この問題が公開された後にAppleへ修正対応を要請したと明らかにした
    • 削除されたメッセージに関する通知は、どのOSの通知データベースにも残るべきではないと述べている
  • SignalはWhatsAppなど他のメッセージングアプリと同様に、一定時間後にメッセージを自動削除するタイマー機能を提供している
  • この機能は、当局にデバイスを押収された場合でも会話を秘密に保ちたいユーザーの助けになる可能性がある

プライバシーへの懸念

  • FBIが日常的に使われるセキュリティ機能を回避する経路を見つけていたことが知られると、プライバシー活動家の警戒感が高まった
  • 自動削除メッセージ機能は、とくにリスクにさらされたユーザーが日常的に使うセキュリティ手段に当たる
  • 今回のバグは、アプリ内でメッセージを削除しても、OSレベルの通知保存領域に同じ内容が残る可能性があることを示した

1件のコメント

 
GN⁺ 7 일 전
Hacker Newsのコメント
  • これは端末にキャッシュが残るバグだったと見る。ただし、AppleとGoogleが通知フローの大半の中間に入っている以上、内容がサーバーを通過する構造自体は依然として懸念される。なので、エンドツーエンド暗号化されたメッセージを他者にあまり露出させたくないなら、通知には新着メッセージ程度だけを表示し、内容や送信者は隠す設定にするのがよいと思う
    • この説明は2つの点で間違っていると思う。第一に、今回の件はOSが通知を端末ローカルに追跡保存していた問題であって、GoogleやAppleの通知サーバーの問題ではない。第二に、通知がAppleやGoogleのサーバーを経由するとしても、データ自体を暗号化するかメッセージ本文を除けばE2EEは維持できる。実際、Signalもその方式で、AppleやGoogleが平文メッセージを見る構造ではない
    • 私の考えでは、AppleとGoogleはどちらも、アプリが表示前にメッセージを横取りして変更できる機能を提供している。だから、暗号化された通知を送って、ユーザー端末上でアプリコードにより復号して表示すればよい
    • その通りだと思う。サーバーは通知だけ送り、実際には端末ローカルでロック解除後に読んだメッセージと組み合わせて表示すればよいので、わざわざAppleやGoogleのサーバーに平文を送る必要はないと感じる
    • 最近読んだMatrix FAQに基づけば、その説明は正確ではないと思う。Matrixアプリでは一部のメタデータだけがチャットサーバーからプッシュサーバーを経てGoogle経由で自分の端末に届き、メッセージ本文はE2EEのまま残る。アプリはメタデータ通知で起動したあと、実際のメッセージを再取得して通知に表示する。最後の指摘のとおり、Android側も修正されるまではローカル保存の問題は残ると思う
    • このケースでは、その通りGoogleとAppleのOS通知APIを使い、こちらが平文メッセージを渡していたのだと思う
  • 記事でいうバグは問題の一部にすぎないと思う。核心は、通知テキストがSignalの外でスマホのDBに保存される点で、これを避けるには設定を変える必要がある。今回の事例では被告がSignalアプリ自体を削除しており、本来ならそのアプリ通知にも内部的な削除マークが付くべきだったのに消えていなかった点が今回の修正内容に見える。公開された内容の要点は、削除対象としてマークされた通知が予想外に端末に残り得たということで、説明上はlogging issueなので、DB本体よりログ側に残っていた可能性もありそうだ
    • 私が見た限り、これはログだけでなくlogs, json, plist, SQLite DBまでまたがっているニュアンスだった。Biomeの/private/var/mobile/Library/Biome/streams/.../Notification/segments/にはタイトルと本文の生ログがあり、BulletinBoardとUserNotificationsCoreの/var/mobile/Library/{BulletinBoard,UserNotificationsCore}/には配信済み・閉じた状態のjson、plistがあり、CoreDuetの/var/mobile/Library/CoreDuet/coreduetdClassD.dbにはBiomeイベントを再投入するSQLiteがあると見ている。出典はこのツイート
    • その解釈はまだ推測だと思う。削除対象としてマークされたというのは、アプリ全体を消した後だけでなく、ユーザーが通知を閉じた後を意味している可能性もある
    • 私の頭にはまずSQLite WALの可能性が浮かぶ
    • 私は両者は事実上同じ問題かもしれないと思う。なぜわざわざ別物と見るのか気になる
  • Signalが提供している一般的な通知である「メッセージを受信しました」のような方式は、全体として良いセキュリティ習慣だと思う
    • 実際、これはほぼすべてのアプリで可能だ。iOS設定のnotifications shows previewsをneverに変えればいい
  • Signalがこの問題をユーザーに積極的に知らせていない点にはかなりもどかしさを感じる。私は通知を切っていたのに、Signalはまた有効にするようリマインドしてきた
  • これを見ると、Mythosに関して一番大きな懸念が脆弱性の発見なのか、それとも脆弱性の修正なのかを改めて考えさせられる
  • 最初は私もちょっと混乱した。プッシュ通知はエンドツーエンド暗号化されているので、プッシュサービスが読める形でキャッシュされることはなく、端末でアプリが受け取ったあと復号するのだと思っていたからだ。ところが実際には、アプリが復号してOS APIでユーザーに表示したあと、その通知テキストが端末ローカルの何らかの通知履歴DBのような場所に再保存されていたようだ
    • 私もだいたいそういう種類の動作だと理解している
    • AppleとGoogleのプッシュアーキテクチャでは、かなりのメタデータが平文だと私は見ている
  • プライバシーの観点では、この問題は以前からかなり知られていたと思う。GoogleとAppleが通知内容を自社サーバーへ送ることがあり、その結果アプリの境界を迂回することが起きる。同種の説明としてはこの記事も参考になる
    • SignalはAppleに送る前に通知データを事前に暗号化し、端末ではNotification Service Extensionで復号するのだろうと私は思っていた。これはAppleを信頼しないための一般的なパターンなので、結局Appleではなく端末側で復号された後の平文が保存されたのだと思う
    • 今回報告された件では、内容がサーバーから流出したのではなく、連邦捜査機関がスマホから直接取得したと理解している
    • SnapchatやWhatsAppのようなメッセンジャーも思い浮かぶ。WhatsAppはend-to-endをうたっているが、キーワードベースで一部メッセージのコピーを当局へ渡しているという主張もあり、カテゴリとしては近い懸念を感じる
  • アプリはiOSに対して、表示後にこの通知を保存しないように指示できないので、ペイロードはそのままキャッシュされるのだと思う。結局は「削除済みが本当に削除済みとは限らない」という典型的な問題で、データは思った以上に多くの場所に残る。そういう意味で、Signalがうまく問題提起した事例だと感じる
  • Appleがこの修正をiOS 18にもバックポートしたのはありがたい
    • それだけでなく、iOS 18.7.8はiOS 26を動かせる端末にも特に回避策なしで配布されているように見え、興味深い。一方、18.7.3から.6まではそうではなかったのを見ると、中間リリースは本来出ているべきだったのに配布上の問題があり、誰も直していなかったのではないかと気になる
  • 私はセキュアメッセージングのためにクローズドなシステムには絶対頼らない立場だ。特に多くの不特定の相手と通信するときはなおさらそう思う
    • それでもiOSは、おそらくセキュアメッセージングにおいて最も安全なモバイルプラットフォームである可能性が高い。特にlockdown modeではそうだと思う