私は、RAMからの情報へのアクセスに関連する一般的なAndroidデバイスに関するいくつかの小さなセキュリティレポートを書いています。主な条件は、デバイスが最初はルート化されていないことです。
ユースケース:ユーザーがサードパーティのアプリを開き、パスワードフィールドにパスワードを入力します。その後、この実行中のアプリケーションでデバイスが失われます。このアプリケーションのソースコードは、アプリケーションの稼働中にこのパスワード情報がRAMで利用可能であることを示しています。たとえば、publicStringmyPasswordのクラスAllMyAppPasswordsにあります。ここで、このパスワード情報にアクセスするための可能な方法についての質問です(間違っている場合は訂正してください)。
- このpwdにアクセスする方法は、メモリをダンプすることです。
- メモリダンプの場合、ルート化するデバイスが必要です。
- デバイスをルート化するには、ブートローダーのロックを解除する必要があります。
- ブートローダーとルートのロック解除操作を実行するには、デバイスを少なくとも1回再起動する必要があります。
- デバイスを再起動すると、パスワードに関する情報がRAMから削除されます
結論:デバイスがルート化されていない場合、アプリからRAMメモリにあるパスワードを取得することはできません。それが正しいか?
ユースケースへの更新:ユーザーは新しいデバイスを箱から取り出したばかりであり、ルート化されておらず、キーロガーアプリが含まれていないことを100%確信していると想定しています。したがって、ユーザーはアプリをインストールしてパスワードを入力すると、アプリケーションは実行時にこのパスワードを内部で使用してサーバーに定期的に接続します(パスワードのみのRAM、ディスクに保存されることはありません)。したがって、視覚的には[テキストの編集]フィールドには何も残っていません。パスワードに関する情報は、内部使用のためにアプリケーションメモリにのみあります。もちろん、画面からパスワードテキストを読み取るだけでは不可能です。今、ユーザーは彼の電話を失いました。自分の携帯電話を見つけた人がRAMからこのパスワード情報を取得できることをユーザーが心配する必要がありますか?