OS の攻撃や、脱獄した iOS デバイスでの不正アクセスに備えて、アプリケーション データを保護したいと考えています。そのような脅威を検出し、そのような場合にアプリ データを保護する方法はありますか?
4 に答える
jrturton の言うことには同意しますが、不正なアプリ (ユーザーではなく) から保護したい重要なデータがある場合は、次のことを試してください。
1) アプリがジェイルブレイクされたデバイスで起動されたかどうかを検出します。アプリを閉じて、機密データを削除します。このスレッドを参照してください。
2)EnsureITなどのサードパーティ ソリューションを使用します。それらは、ジェイルブレイクされたデバイス上の不正なユーザー/アプリから、アプリによって保存された重要なデータを保存するのにいくらか役立ちます.
3) コードを難読化してみてください。詳細については、このリンクを参照してください。
また、このスレッドでの議論から役立つものを見つけることができます
ユーザーが自分のデバイスをジェイルブレイクした場合、ユーザーは自分のデータを保護するという期待をあきらめたことになります。それはあなたの問題ではありません。これを行った人からのサポート要求に対処しますか?
いいえ、OS(侵害されているかどうかに関係なく)がアプリケーションのメモリを読み取らないようにすることはできません。他の方法で考えることに騙されないでください。同じ侵害されたデバイスで使用するために復号化されるものはすべて難読化/「暗号化」され、定義上回避可能です。
アプリが何をすることになっているのかによっては、それを実行するものを実装できる場合がありますが、その過程で機密データを知る必要はありません。
脱獄は実際には質問に何の違いもありません。誰かがファイルを入手できると想定する必要があります。
データが保護されるようにファイル保護を設定できます。
NSDictionary* attr = [NSDictionary dictionaryWithObjectsAndKeys:
NSFileProtectionComplete, NSFileProtectionKey, nil];
[[NSFileManager defaultManager] setAttributes: attr ofItemAtPath: path error: &error];