Есть ли способ безопасно обрабатывать конфиденциальные данные в памяти на Android? - PullRequest
2 голосов
/ 13 февраля 2012

Я работаю с некоторым контентом, который расшифровываю из файла в Android и который должен оставаться в памяти во время работы приложения. Это риск безопасности от взломщиков? Если да, то предлагает ли Android какую-либо форму защиты конфиденциального содержимого в памяти, подобную механизму защиты доступа к памяти процесса Windows?

Я не ищу хранилище через SharedPreferences в приватном режиме, мне нужна некоторая зона памяти, недоступная для подделки. Хранение данных в собственных буферах будет хорошим маршрутом? Я также понимаю, что неизменяемые объекты String со сборщиком мусора, вероятно, очень плохая идея для хранения этих данных, и в настоящее время я использую char [].

Ответы [ 2 ]

5 голосов
/ 13 февраля 2012

Это риск для безопасности от взломщиков? Если да, то предлагает ли Android какую-либо форму защиты конфиденциального содержимого в памяти, подобную механизму защиты доступа к памяти процесса Windows?

Память процесса Android может быть доступна только из учетной записи пользователя этого приложения или суперпользователя. Следовательно, любой пользователь с привилегиями суперпользователя (в терминах Android: пользователи корневых устройств) может в принципе получить доступ к памяти вашего процесса с помощью отладчика ядра.

AFAIK, каждая современная операционная система работает под аналогичной моделью. Следовательно, Android не менее безопасен в этом отношении, чем Windows, OS X, Linux и т. Д. Фактически, Android использует реальную безопасность процессов Linux для своей собственной реализации.

Подробнее см. Доступ к любым областям памяти в Linux 2.6.x .

Хорошо ли хранить данные в собственных буферах?

Это никак не повлияет.

2 голосов
/ 13 февраля 2012

В ОС * nix нет такой вещи, как недоступная память, если у вас есть учетные данные root.Единственный способ создать это - использовать веб-сервис или любое внешнее устройство, которое позволяет идентифицировать пользователя и управлять состоянием.Кроме того, запутывание и сокрытие - это основной способ получения взломщиков, если вы не будете скрывать что-либо, например, асимметричное шифрование или веб-сервис, у них будет более тяжелая рабочая нагрузка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...