私はGlobal Variable
私のアプリケーションに持っています。これは保存したくないものですが、アプリの実行中にユーザーがアクセスできるようにする必要があります。すべての作品。
私の質問は、グローバル変数を使用するとセキュリティにどのような影響がありますか? 他のアプリからアクセスできますか?
私はGlobal Variable
私のアプリケーションに持っています。これは保存したくないものですが、アプリの実行中にユーザーがアクセスできるようにする必要があります。すべての作品。
私の質問は、グローバル変数を使用するとセキュリティにどのような影響がありますか? 他のアプリからアクセスできますか?
グローバル変数は他のアプリからアクセスできません。ルート化されたデバイスがあり、悪意のあるアプリ (低レベル) がメモリにアクセスし、アプリケーションが使用するメモリのダンプを作成し、変数を検索できる場合に限りますが、私はそうではありませんroot アクセスでも簡単に実行できることを確認してください。
しかし、誰でも APK ファイルを smali コードに逆コンパイルして、この変数を簡単に見つけることができます。
データが本当に機密である場合、データを保護する方法がいくつかあります。
アプリケーションの署名で暗号化し、必要に応じて復号化します。ただし、アプリの署名などから公開鍵を取得することでハッキングされる可能性があります。
デバイス(グローバル変数のようなアプリ内)に保存しないでください。この変数をサーバーから解析し、さらにSSL接続を使用します。
を使用していない場合、デフォルトでは共有設定は他のアプリやデータベースからアクセスできませんContent Provider
。しかし、root アクセスでアプリ データを取得するのは非常に簡単です。
デバイスに保存されているすべてのものは、外部ストレージに保存されている場合よりもはるかに簡単にアクセスできます。
ただし、サーバーからのデータを解析している場合でも、さまざまなネットワーク攻撃が行われることに注意してください。
また、データ(変数)がすべてのアプリで同じであり、盗まれた場合はすべてのリソースにアクセスできる場合、一時トークンまたは有効期限のある他のメカニズムの使用を検討してください。
PS
Android は Linux ベースのカーネルで実行され、すべての安全なメカニズムが適用されます。したがって、各プロセスには独自のメモリアドレス空間があり、システム内の他のプロセスについては (一般に) わかりません。
いいえ、グローバル変数は別のアプリケーションから到達できませんでした。