В своем сообщении на официальном форуме поддержки операционной системы Android один из пользователей пожаловался, что все пароли хранятся в постоянной памяти устройств открытым текстом.
Он сказал: "Пароли к почтовым ящикам сохраняются в базе данных SQLite, которая в свою очередь хранится в файловой системе телефона в открытом виде. Крайне желательно шифрование или, по крайней мере, преобразование сохраненных паролей."
На это сообщение ответил Энди Стэдлер, специлист технической поддержки:
"Здравствуйте! Спасибо за информацию и обращение с этим вопросом.
Во-первых, я хотел бы напомнить пользователям, если вы обеспокоены этой проблемой, *пожалуйста* просто, нажмите на звездочку. Каждый раз, когда вы отвечаете "пожалуйста, почините" или "это должно быть устранено!", происходит рассылка электронных писем на адреса более 200 человек.
Во-вторых, пожалуйста, знайте, что мы относимся к информационной безопасности очень серьезно, и заботимся о ней в платформе Android сразу на нескольких уровнях.
Теперь, относительно этого конкретного случая. Первая вещь, требующая разъяснений, состоит в том, что почтовое приложение поддерживает четыре протокола - POP3, IMAP, SMTP, и Exange ActiveSync - и с очень немногими, очень ограниченными исключениями, все они - старые протоколы, которые требуют, чтобы клиент передавал пароль серверу при каждой связи. Эти протоколы требуют, чтобы пароль был сохранен в устройстве на протяжении всего периода использования каждой учетной записи на данном устройстве. Более новые протоколы не делают этого. Они позволяют клиенту использовать пароль лишь однажды для создания токена (уникального идентификатора, заменяющего собой пароль и действительного только для данного устройства), сохранить токен и отказаться от использования пароля в дальнейшем.
Я убеждаю Вас рассмотреть статью, указанную в комментарии #38, которая весьма информативно и понятно написана. Она содержит очень глубокое объяснение различии между "сокрытием" паролей, и обеспечением их "действительной безопасности". Просто скрывая ваш пароль (например кодируя его в base64) или шифруя его с ключом, сохраненным в в другой области памяти устройства, вы *не* сделаете ваш пароль или ваши данные более безопасными. Атакующий все еще будет в состоянии заполучить его.
(В частности, некоторые жалобы были поданы в отношении других почтовых клиентов, не хранящих пароль в открытом виде. Даже в этих случаях ничто не указывает, что пароль находится в более безопасном состоянии. Простой тест: если вы можете запустить устройство, и оно начнет получать электронное письма с ваших настроенных почтовых аккаунтов, то пароли уже не находятся в безопасности. Они только обфуцированы, или зашифрованы при помощи другого ключа, сохраненного где-то еще в другом месте.)
Автору комментария #44: Если вы можете получить *любые* данные из файлов в директориях /data/data/* на устройстве с блокированными привилегиями суперпользователя, это - проблема безопасности в устройстве, не ошибка в почтовой программе. Я настоятельно рекомендую вам связаться с нашей командой по безопасности и предоставить больше информации (подробности: http://developer.android.com/guide/appendix/faq/security.html)
Не беспокойтесь, сказав все это, я тем не менее оставляю данную заявку открытой. Мы признаем, что это вызывает беспокойство для некоторых пользователей, и мы собираемся определить действия, которые помогут обеспечить вашим данным подобающий уровень безопасности."