Я пишу 1) приложение, которое хранит имя пользователя и пароль в AccountManager, и 2) отдельное фоновое приложение-служба, которое получает доступ к этим учетным данным для входа на мои серверы и т. Д. Играя с этим, я обнаружил, чтоя могу вызвать AccountManager.getPassword (account) из Службы (приложение 2), чтобы получить доступ к типу учетных записей, которые я добавил в AccountManager, используя другое приложение (приложение 1).
Из-за этого яначинаю задумываться о том, что мешает произвольному вредоносному приложению: 1) включая поля в манифесте иметь доступ к управлению учетными записями, а затем 2) перебирать все учетные записи определенного типа и вызывать на них mAccountManger.getPassword (account),Я знаю, что во время установки появляется диалоговое окно со всеми разрешениями, которые приложение запрашивает использовать, но я не думаю, что мы можем рассчитывать на то, что обычный пользователь отклонит приложение, потому что оно запрашивает подозрительные разрешения.
Есть ли способ предотвратить вызов getPassword для типа учетной записи?Существуют ли способы защиты учетных записей в AccountManager от приложений, которым было предоставлено много разрешений для учетной записи?