2012-02-13 11 views
2

私は、Androidのファイルから復号化し、アプリケーションの全期間、メモリに残す必要のあるコンテンツを扱っています。これはクラッカーのセキュリティ上のリスクですか?もしそうなら、Androidの機密保護されたメモリアクセス保護メカニズムと同様に、機密コンテンツのメモリ内保護の何らかの形を提供していますか?機密データをAndroid上で安全に処理する方法はありますか?

プライベートモードでSharedPreferences経由でストレージを探していないため、改ざんのためにアクセスできないメモリゾーンが必要になります。ネイティブバッファにデータを格納するのは良いルートですか?ガベージコレクションされていないStringオブジェクトは、おそらくこのデータを格納するための非常に悪い考えであり、現在char []を使用しています。

答えて

5

これはクラッカーのセキュリティリスクですか?もしそうなら、Androidの機密保護されたメモリアクセス保護メカニズムと同様に、機密コンテンツのメモリ内保護の何らかの形を提供していますか?

Androidプロセスのメモリには、そのアプリケーションのユーザーアカウントまたはスーパーユーザーのみがアクセスできます。したがって、スーパーユーザー特権を持つ人(Androidの言葉で言えば、rootユーザー)は、原則としてカーネルデバッガを使用してプロセスのメモリにアクセスできます。

AFAIK、現代のオペレーティングシステムはすべて同様のモデルで動作します。したがって、Androidは、Windows、OS X、Linuxなどよりも安全です。実際、Androidは独自の実装に実際のLinuxプロセスセキュリティを使用しています。

Accessing any memory locations under Linux 2.6.xを参照してください。

ネイティブバッファにデータを格納するのが適切なルートですか?

これは影響ありません。

+0

私はストレージをchar []として保ちましたが、単純なハッシュでコンテンツを覆い隠してしまいました。 – TudorT

2

ルート証明書を持っていれば、* nix OSに無責任なメモリはありません。あなたがこれを設計できる唯一の方法は、Webサービスまたはユーザーの識別と状態管理を可能にする外部デバイスを使用することです。 また、クラッカーには難読化と隠蔽が主要な方法です。つまり、非対称暗号化やWebサービスといったものを隠さなければ、作業負荷が高くなります。

関連する問題