Злоупотребление ресурсами устройства и сети

Эта статья скоро будет изменена

Скоро эта статья будет обновлена с учетом изменений, о которых мы недавно объявили.

Мы добавляем в правила в отношении злоупотребления ресурсами устройства и сети новый пример. В нем указано, что приложениям запрещено использовать разрешение для полноэкранных объектов intent, чтобы заставлять пользователя взаимодействовать с объявлениями или уведомлениями, прерывающими работу приложения. (аата вступления в силу: 31 мая 2024 г.)

Вы можете ознакомиться с предварительной версией обновленной статьи "Злоупотребление ресурсами устройства и сети".

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

Приложения, размещаемые в Google Play, должны соответствовать требованиям оптимизации для Android, зафиксированным в Основных критериях качества приложений.

Приложения, которые распространяются в Google Play, не должны изменять свой код каким-либо способом, кроме обновления через Google Play. Они также не должны скачивать исполняемый код (например, файлы в формате DEX, JAR или SO) из каких-либо источников, кроме Google Play. Это правило не распространяется на код, который запускается на виртуальной машине или интерпретаторе и имеет ограниченный доступ к API Android (например, код JavaScript в компоненте WebView или браузере).

Приложения или сторонний код (например, SDK), использующие интерпретируемые языки (JavaScript, Python, Lua и т. д.), которые загружаются во время работы (а не загружены в приложение изначально), не должны нарушать правила Google Play.

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

Вот примеры наиболее распространенных нарушений
  • Приложения, которые блокируют или прерывают работу других приложений показом рекламы.
  • Приложения, которые влияют на геймплей в играх, например позволяют жульничать.
  • Приложения, которые помогают совершить хакерские атаки на сервисы, программы и устройства или обойти защитные системы, а также предоставляют соответствующие инструкции.
  • Приложения, которые нарушают условия использования сервисов или API.
  • Приложения, которые пытаются обойти ограничения по управлению питанием (кроме разрешенных случаев).
  • Приложения, которые предоставляют услуги прокси-сервера третьим лицам (кроме случаев, когда это является основной функцией приложения).
  • Приложения или сторонний код (например, SDK), которые скачивают исполняемый код (например, файлы DEX или нативный код) из любых источников, за исключением Google Play.
  • Приложения, которые устанавливают на устройство другие приложения без заранее полученного согласия пользователя.
  • Приложения, которые содержат ссылки на вредоносное ПО или способствуют его распространению или установке.
  • Приложения или сторонний код (например, SDK), содержащие компонент WebView с интерфейсом JavaScript, который загружает ненадежный веб-контент (например, URL с протоколом HTTP) или непроверенные URL, полученные из ненадежного источника (например, URL из ненадежных объектов Intent).

 

Использование активных служб

Разрешение на запуск активных служб обеспечивает надлежащее использование таких служб. Если приложение предназначено для Android 14 или более поздней версии, вы должны указать допустимые типы для всех используемых в нем активных служб. Для каждого типа также потребуется объявить подходящее разрешение на запуск активной службы. Например, если в приложении используется определение местоположения на карте, в манифесте нужно указать разрешение FOREGROUND_SERVICE_LOCATION.

Объявлять в приложении разрешение на запуск активных служб можно только в следующих случаях:

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

Критерии выше не распространяются на следующие типы активных служб:

Подробнее об использовании активных служб

 

Передача данных, инициированная пользователем

API для передачи данных, инициированной пользователем, может запускаться в приложениях, только если:

  • задача инициируется пользователем;
  • данные передаются по сети;
  • задача выполняется не дольше, чем требуется для передачи данных.

Подробнее об API для передачи данных, инициированной пользователем

 

Требования к использованию параметра FLAG_SECURE

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

По соображениям безопасности и конфиденциальности все приложения, которые распространяются через Google Play, должны учитывать наличие FLAG_SECURE в других приложениях. Это значит, что запрещается создавать способы обхода параметра FLAG_SECURE в других приложениях или способствовать их использованию.

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

 

Приложения с локальными контейнерами Android

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

Параметр в манифесте, обеспечивающий безопасность среды

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

Эта информация оказалась полезной?

Как можно улучшить эту статью?
Поиск
Очистить поле поиска
Закрыть поиск
Главное меню
7234512984308287594
true
Поиск по Справочному центру
true
true
true
true
true
92637
false
false