Новости о продуктах

Повышение безопасности Android: как защитить данные приложений от вредоносного ПО

Время на чтение: 2 минуты
Посмотреть профиль пользователя Bennet Manuel Посмотреть профиль пользователя Robert Clifford
Bennet Manuel и Robert Clifford

Безопасность – это основа Android. Мы сотрудничаем с вами, чтобы обеспечивать безопасность платформы и защищать пользовательские данные. Для этого мы предлагаем мощные инструменты и функции, такие как Менеджер учетных данных и FLAG_SECURE. Каждая версия Android приносит улучшения в производительности и безопасности, и с Android 16 вы можете предпринять простые, но значительные шаги для усиления защиты вашего приложения. Чтобы узнать больше об улучшенной защите для Accessibility API, посмотрите видео или прочитайте статью.

 

 

Защитите приложение от подглядывания с помощью одной строки кода

Мы заметили, что злоумышленники иногда пытаются использовать функции Accessibility API, чтобы считывать конфиденциальную информацию, например пароли и финансовые данные, прямо с экрана и управлять устройством пользователя, имитируя нажатия. Чтобы бороться с этим, в Android 16 мы добавили новую мощную защиту – одну строку кода accessibilityDataSensitive.

Флаг accessibilityDataSensitive позволяет явно указать, что представление или composable-функция содержит конфиденциальные данные. Установив для этого флага значение true, вы заблокируете потенциально вредоносным приложениям доступ к конфиденциальным данным и возможность взаимодействовать с ними. Это работает следующим образом: любое приложение, запрашивающее разрешение на доступ к специальным возможностям, которое явно не объявило себя законным инструментом специальных возможностей (isAccessibilityTool=true), не получает доступ к этому представлению.

Это простое, но эффективное изменение помогает предотвратить кражу информации и несанкционированные действия вредоносного ПО, не влияя на работу легальных инструментов специальных возможностей. Примечание. Если приложение не является инструментом специальных возможностей, но запрашивает разрешения на их использование и устанавливает isAccessibilityTool=true, Google Play отклонит его, а Google Play Защита заблокирует на устройствах пользователей.

Автоматическая улучшенная защита для setFilterTouchesWhenObscured

Мы уже интегрировали новые функции безопасности accessibilityDataSensitive с существующим методом setFilterTouchesWhenObscured.

Если вы уже используете setFilterTouchesWhenObscured(true) для защиты приложения от кликджекинга, ваши представления автоматически обрабатываются как конфиденциальные данные для специальных возможностей. Улучшив метод setFilterTouchesWhenObscured с помощью средств защиты accessibilityDataSensitive, мы мгновенно предоставили всем дополнительный уровень защиты без лишних усилий.

image.png

Начало работы

Рекомендуем использовать флаг setFilterTouchesWhenObscured или accessibilityDataSensitive на всех экранах, содержащих конфиденциальную информацию, включая страницы входа, платежные формы и любые другие страницы, на которых отображаются личные или финансовые данные.

Для Jetpack Compose

setFilterTouchesWhenObscuredaccessibilityDataSensitive

 

val composeView = LocalView.current DisposableEffect(Unit) { composeView.filterTouchesWhenObscured = true onDispose { composeView.filterTouchesWhenObscured = false } }

 

Используйте модификатор semantics, чтобы применить свойство sensitiveData к composable-функции.

BasicText { text = “Your password”,

            modifier = Modifier.semantics {

                sensitiveData = true }}

 

 

Для приложений на основе View

Добавьте в макет XML нужный атрибут для представления с конфиденциальными данными.

setFilterTouchesWhenObscuredaccessibilityDataSensitive

 

<TextView android:filterTouchesWhenObscured="true" />

 

 

<TextView android:accessibilityDataSensitive="true" />

 

Вы также можете задать свойство программно на Java или Kotlin:

setFilterTouchesWhenObscuredaccessibilityDataSensitive

 

myView.filterTouchesWhenObscured = true;

 

 

myView.isAccessibilityDataSensitive = true;

 

 

myView.setFilterTouchesWhenObscured(true)

 

 

myView.setAccessibilityDataSensitive(true);

 

Подробнее о флагах accessibilityDataSensitive и setFilterTouchesWhenObscured рассказывается в руководстве по защите от перехвата нажатий.

Сотрудничество с разработчиками для защиты пользователей

Мы сотрудничали с разработчиками, чтобы убедиться, что эта функция отвечает реальным потребностям и легко интегрируется в рабочий процесс.

image.png

"Мы всегда уделяли особое внимание защите конфиденциальных финансовых данных наших клиентов, поэтому нам пришлось создать собственный уровень защиты от вредоносного ПО, использующего специальные возможности. Revolut strongly supports the introduction of this new, official Android API, as it allows us to gradually move away from our custom code in favor of a robust, single-line platform defense."
– Владимир Кожевников, Android-разработчик в Revolut

Используя эти функции, вы можете сыграть важную роль в защите пользователей от вредоносных атак, связанных со специальными возможностями. Мы рекомендуем всем разработчикам интегрировать эти функции в свои приложения, чтобы обеспечить безопасность пользователей. 

Вместе мы можем сделать Google Play более безопасным и надежным для всех.

Автор:
Продолжить чтение