Специальные возможности необходимы пользователям; риск возникает из-за необоснованного предоставления доступа и злоупотребления им.
Вредоносной программе не всегда нужно взламывать шифрование сообщений. Если она получает доступ к данным, которые устройство обрабатывает для отображения или ввода, то может увидеть содержимое до шифрования или после расшифрования. Злоупотребление специальными возможностями и окна-наложения — два примера, но их механизмы различаются.
Кроме того, не каждое приложение с Accessibility или плавающим окном является вредоносным. Программы чтения с экрана и вспомогательные инструменты необходимы многим пользователям. Цель — осознанно предоставлять доступ и уменьшать злоупотребления, а не устранять специальные возможности.
Три угрозы, которые не следует путать
| Метод | Что делает злоумышленник? | Чего не следует предполагать? |
|---|---|---|
| Поддельное окно или форма | Побуждает пользователя вводить информацию в интерфейс, похожий на настоящее приложение | Не каждое наложение Overlay автоматически читает текст нижележащего окна |
| Перехват нажатий, или Tapjacking | Обманом заставляет пользователя коснуться другого элемента управления | Прозрачный слой не означает регистрацию всех клавиш |
| Злоупотребление службой Accessibility | Использует разрешённые возможности службы для наблюдения или действий | Доступ ко всем представлениям неодинаков во всех версиях |
Официальное руководство по Tapjacking различает полное и частичное перекрытие интерфейса. На результат влияют тип окна, версия Android и настройки приложения.
Как Accessibility может получить доступ к чувствительным данным?
Служба специальных возможностей в пределах своих возможностей может получать информацию интерфейса или выполнять действия за пользователя. Вредоносная служба может этим злоупотребить. Поэтому включение такой службы для приложения без ясной причины — не малозначительное решение.
Но утверждение «каждая служба может прочитать весь текст любого приложения» слишком категорично. Важны структура представлений, способ предоставления данных и ограничения операционной системы. Для чувствительных представлений Android предлагает такие возможности, как accessibilityDataSensitive; их использование и поведение нужно проверять на целевой версии. Пояснение Google о защите данных от вредоносных служб.
Что делает и чего не делает FLAG_SECURE?
FLAG_SECURE используется для ограничения снимков экрана и отображения содержимого на незащищённых устройствах вывода. Сам по себе этот флаг не контролирует контракт специальных возможностей, поддельные формы или все способы извлечения текста. Фотографирование экрана другим устройством — отдельная проблема.
Android предоставляет приложениям и другие инструменты, например HIDE_OVERLAY_WINDOWS, чтобы уменьшать количество окон-наложений. Ни один из них нельзя представлять как «кнопку против шпионажа» без проверки совместимости, ограничений версий и влияния на пользователей, которым нужны специальные возможности. Руководство по защите чувствительных действий.
Пользовательский список проверки разрешений
- В настройках устройства отдельно просмотрите приложения со специальными возможностями, отображением поверх других приложений и доступом к уведомлениям. Названия путей зависят от производителя и версии.
- Для каждого выясните, какой конкретной функции нужен этот доступ. Доступ доверенной программы чтения с экрана и неизвестного приложения-фонарика — не одно и то же.
- Срочную просьбу включить доступ после установки неизвестного файла считайте признаком необходимости дополнительной проверки; сам запрос разрешения не доказывает вредоносность.
- Если экран входа выглядит подозрительно, не вводите чувствительную информацию. Откройте приложение привычным способом и проверьте адрес или источник установки.
- После отзыва ненужного доступа проверьте работу необходимых вам вспомогательных инструментов. Безопасность не должна делать устройство непригодным для его владельца.
Если вы предполагаете, что пароль или сеанс уже были раскрыты, одного отзыва разрешения недостаточно. С доверенного устройства проверьте активные сеансы и способы восстановления аккаунта и смените пароли, оказавшиеся под угрозой.
Что должен проверить разработчик?
Отдельно оцените экраны входа, подтверждения операций и отображения чувствительных сведений. Проверьте касания под перекрытием и частичное перекрытие: одной проверки снимков экрана недостаточно. Затем проверьте тот же путь с настоящей программой чтения с экрана и вспомогательным инструментом, чтобы защита не нарушала законный доступ.
В отчёте о проверке укажите версии Android и приложения, тип службы, разрешения и данные, которые действительно были видны. По ограниченному тесту нельзя делать выводы обо всех устройствах.
Граница шифрования мессенджера
Модель угроз Livara исключает заражённые или разблокированные устройства из гарантии защиты содержимого. Поэтому название алгоритма или постквантовый обмен ключами не защищают от всех злоупотреблений пользовательским интерфейсом. Рассматривайте защиту пути сообщений, целостность устройства и контроль разрешений как три отдельные проверки.



