金利0無利息キャッシング – キャッシングできます

 | 

2014-07-24

iOSにバックドアがあるとされた問題について

17:37 | iOSにバックドアがあるとされた問題について - 金利0無利息キャッシング – キャッシングできます を含むブックマーク はてなブックマーク - iOSにバックドアがあるとされた問題について - 金利0無利息キャッシング – キャッシングできます

なんか話題になっている

について。このスライドは、この筆者のブログ記事で書かれてることのまとめなので、それぞれ詳細に書かれた記事を読めばいい。

具体的には

が分かりやすかった。

バックアップ暗号化迂回されちゃうという話

暗号化というのは、デバイスが物理的に盗まれても被害を軽減したり、なくしたり、時間稼ぎ出来るようにするわけで、

であるところ、

普段バックアップ暗号化してても意味がなくて、全データ非常に多くのセンシティブなデータアクセスすることが出来ちゃうよ、という話。携帯電話ノートパソコン入ったカバン丸ごと紛失 or 盗まれるとかだと割と現実的な気がしますね。(「全データ」を訂正、追記を参照)

あとはエンタープライズMDM(mobile device management)のために怖い機能が入ってるので、もし初期設定時にNSAによって iprofiles.apple.com がMITMされてたら(https使われてるのでAppleの証明書偽造が必要)色んなことがやりたい放題だ、とか、そういう危険があるので一般ユーザー向けと企業向けでファームウェア分けたほうがいいんじゃねーのかとかそんなことが書いてある。

http://www.zdziarski.com/blog/?p=2589 では、/var/db/lockdown を保護したほうが良いと書いてあり、Apple Configuratorを使ってペアリング可能なパソコンを制限する方法を紹介している。

自分(mala)は、/var/db/lockdown をコピーしただけですんなり動くのかどうか(まだ)検証してないが、多分出来るのだろう。この「ペアリングレコード」が例えばキーチェーンで保護されていれば、キーチェーンパスワード(通常OSログインパスワードと同じ)が分からなければパソコンセットで盗まれても大丈夫、ということになるけど多分そうなってないはず、iPhoneの中身読み取るようなツールでキーチェーンアクセス聞かれないので。

→ 検証した https://twitter.com/bulkneets/status/492246872837214210 完全に初期化してから行ったわけではないので不完全であるけれど信頼済みコンピューターから /var/db/lockdown/* を持ってくれば(まあ他に何か必要なファイルがあったとしても信頼済みコンピュータになりすますことが出来れば) iOSデバイスからは信頼済みコンピューターとして認識される。

フルディスク暗号化してる人は /var/db/lockdown も当然保護されるので気にする必要ない。

バックドアとしても使えるサービスの話

信頼済みコンピューターが乗っ取られてしまって、かつ、WiFi同期を有効にしていた場合は、診断ツールを使ってリモートからiOSデバイス内の情報を抜き出される可能性がある。このことは、この発表を受けて公開されたAppleの技術情報にも書かれている。

http://support.apple.com/kb/HT6331 "For users who have enabled iTunes Wi-Fi Sync on a trusted computer, these services may also be accessed wirelessly by that computer."

スライド書いた人は、ホントに診断とかデバッグ用かよ、デベロッパモードでのみ使えるようにしたり、動いてるのかどうか分かるようにしろよ、と言ってる。

まとめ

一般ユーザー向けには

企業が管理しているiOSデバイスや、意識高いユーザー向けには

  • Apple Configulatorを使って信頼済みコンピューターを制限したほうがいい
  • フルディスク暗号化すれば /var/db/lockdown を保護できるのでそうすると良い

報道機関向けには、お前が煽りタイトル付けたのが悪いんだろって感じもするけど

"As I've stated before, DON'T PANIC. I have never suggested this was a conspiracy. As usual, the media has completely derailed the intention of my talk." と言っている。

追記 2014-07-25

「全データ」は読めないようなので補足

バックアップの設定はiOSデバイス側に保存され、暗号バックアップを選択している人は、別の信頼されたコンピューターから新規バックアップを取っても、同じパスワード暗号化された状態で取得される http://support.apple.com/kb/ht4946?viewlocale=ja_JP

暗号バックアップパスワードを知らずに、暗号バックアップの設定を強制的に上書きしたり、keychainに保存されたデータやアプリが明示的に指定した暗号化を解除(あるいは別デバイスに復元)する方法は分からなかった。

バックアップ暗号化しない → バックアップ暗号化(新規バックアップパスワード設定) と設定変更する際には、iOSデバイス側でパスコードを尋ねられることはなかった(バックアップ暗号化していない+ペアリングレコードとセットでiPhoneを盗難された場合、別デバイスに復元可能な形式で、暗号化されたデータも含めて持ち出される可能性がある)

なので、ユーザーがバックアップ暗号化していて、アプリ開発者が推奨される慣習にしたがっていれば(特に秘匿されるべきデータについてkeychainを使ったり明示的に暗号化していれば)、ペアリングレコードが盗まれたとしても明示的に暗号化されたデータに関しては読み取ることが出来ないだろう(解読できるかどうかはバックアップ暗号化に指定したパスワードの強度に依存する)。で、その場合でも、暗号化されていないファイルは良くあるiPhoneのディスクをマウントするようなユーティリティで読むことが出来るし、pcapdを駆使してkeychainに保存されている情報と同等のデータをキャプチャすることが出来るかも知れないし、file_relayで持ち出すことが可能なファイルにはセンシティブな情報が多く含まれているので、暗号バックアップを選択していても、ペアリングレコードとセットでiPhoneを盗まれたりWiFi同期が有効になっている信頼されたコンピューターがハッキングされたりすれば、十分なリスクがあるということになる。Zdziarskiさんは、com.apple.mobile.file_relay について "Completely bypasses Apple’s backup encryption for end-user security" と書いている。

そもそもiOSデバイス暗号化には、ざっくりいうと二種類あって、

ペアリングレコードを取得出来れば、1の透過的な暗号化を迂回して殆どのファイルを容易に読み取ることが出来る。ただしこれらのデータは、ペアリングレコードがなくても、容易ではない方法で読み取ることが元々出来るだろう。

1の暗号化で使われている暗号鍵は結局のところデバイスに内蔵されているので、

原理的には誰でも解読することが出来る。Apple司法要請に応じてパスコードロックされている状態のiOSデバイスから「パスコードで暗号化されていない」データの抽出に応じている https://www.apple.com/legal/more-resources/law-enforcement/

2による暗号化は、パスコードが分からなければ、Appleだろうと復号できない(のが正しい実装)。長いパスコードや英数字のパスワードを使うような設定にしていれば、ブルートフォースアタックをかけても現実的な時間での解読が不可能になる。

(筆者は信頼済みコンピューターに提供されるEscrow Keybagの権限で何が出来るのかを完全に把握しているわけではないので、keychainや明示的に暗号化されたデータが安全であると保証するわけではありません)

トラックバック - http://subtech.g.hatena.ne.jp/mala/20140724
 |