web-dev-qa-db-ja.com

iPhone 5/6 RAMセキュリティ

RAMをiPhone 5以降、iOS 8以降でどのように利用できるかに興味があります。

私は以前に一般的な iPhone暗号化 について説明しましたが、その応答から次のように読みます:

IOSデバイスでカーネルレベルのコードを実行する可能性のあるエクスプロイトは長年にわたって数多く存在しますが、それらのほとんどすべてが、デバイスへのロック解除された物理アクセス、またはメモリからのAfterFirstUnlockキーをクリアする再起動を必要とします。キーはRAMで暗号化されていないため、iPhoneを開いてRAMチップに直接アクセスできます。ただし、iPhoneがパッケージオンパッケージ構造を使用していること、およびRAMチップは、データを破壊することなく、最初にプロセッサから物理的に分離する必要があります。そのため、チップは電力を必要とするか、常時凍結する必要があります。

IPhoneの物理的なセキュリティRAMは良さそうですが、(ロックされた)iPhoneでのRAMのソフトウェアレベルのエクスプロイトはどうですか?何が見つかるか、なぜ非現実的ですか? iPhone RAMは十分に保護されていますか?

編集:具体的には、シナリオは再ロックされたiPhoneです(電源投入後に1回ロック解除されます)

8
Manumit

短い答えは、ソフトウェアを介してiOS RAM=を悪用することは容易ではないということです。

iOSには、メモリ関連のセキュリティ機能が2つあります。(1)メモリの悪用から保護するためのアドレススペースレイアウトランダム化(ASLR)、および(2)ARMプロセッサの実行しない(XN)機能。メモリページをマークします。 ASLRを使用すると、データが常にメモリ内の同じ場所にあるとは限りません。これにより、バッファオーバーフローとそのilkが確実に機能することが困難になります。

また、あなたが引用した応答は、新しいデバイスでは正確ではありません。 iPhone 5s以降、またはA7以上のデバイスを使用するデバイスには、メモリ暗号化などの機能を備えたキーチェーン操作をより安全に処理するSecure Enclaveと呼ばれるハードウェアコンポーネントがあります。

考慮すべきもう1つの要素は、アプリケーションと情報の機密性によって異なりますが、AfterFirstUnlock以外にもいくつかのオプションがあります。理論的には、AfterFirstUnlockレベルで情報を格納するアプリのデバイスから情報を収集できる場合があります。ただし、WhenUnlockレベルを利用するアプリからではありません。

Appleは、VPNとWiFiのパスワードをAfterFirstUnlockに保存することで、利便性とセキュリティのバランスをとって判断を下しますが、Wh​​enUnlockedではより個人的なSafariパスワードを保存します。これらは、遵守すべき合理的に良いガイドラインのようです。つまり、ロックされた電話でエクスプロイトが可能であったとしても、公開される情報はまだ限られています。

キーチェーンにデータを保存するとき、またはファイルデータ保護を利用するときのさまざまなアクセシビリティレベルの影響を完全に理解していないアプリケーション開発者が最近の最大の懸念であると言っていました。重要なものを保存する場合-WhenUnlockedを必ず使用してください。アクセスするには、電話のロックを解除する必要があります。一部のアプリは、独自のアプリレベルのパスコードを追加して、重要な情報と見なされるものも暗号化します。

これらの項目の詳細については、Appleの iOSセキュリティガイド を参照してください。

0
HTLee