Logo ru.androidermagazine.com
Logo ru.androidermagazine.com

Службы доступности: чем они являются и почему Google борется с их неправомерным использованием

Оглавление:

Anonim

Во всех наших любимых приложениях есть много движущихся частей. Вы можете не думать об этом, когда прокручиваете свою временную шкалу в Твиттере или смотрите видео на YouTube, но количество вещей, происходящих за кулисами, чтобы заставить все эти приложения работать так, как они должны, на самом деле довольно невероятно.

Некоторые приложения, такие как LastPass, Tasker и Действия с буфером обмена, подключаются к службам специальных возможностей Android, чтобы обеспечить более глубокие функции, которые иначе не могли бы существовать, но Google недавно объявил, что приложения, использующие их, не приносящие прямой пользы людям с ограниченными возможностями, могут быть удалены из Play Store.

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

Что такое службы доступности?

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

Как и ожидалось, общая тема здесь - сделать Android проще и проще для людей, которым нужна дополнительная помощь.

В дополнение к службам, встроенным в Android по умолчанию, разработчики могут использовать Accessibility Services со своими собственными приложениями, чтобы создавать новые функции, использующие их преимущества. На сайте разработчиков Android службы доступности описаны следующим образом:

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

Почему некоторые приложения используют их

Хотя основная цель Accessibility Services - позволить разработчикам создавать инструменты, предназначенные для людей с ограниченными возможностями, за последние годы мы увидели ряд приложений, которые использовали этот ресурс для создания расширенных функций, которые технически могут принести пользу всем.

Предустановленные Службы специальных возможностей Android предназначены для людей с ограниченными возможностями по определенной причине.

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

Например, заполнение приложения LastPass показывает наложение поверх любого экрана или другого приложения, в котором вы находитесь, так что вы можете легко добавлять информацию об имени пользователя и пароле без необходимости открывать полное приложение LastPass. Действия буфера обмена также подключаются к Accessibility Services, чтобы вам было легче управлять скопированными ссылками и выполнять над ними действия без необходимости быть в полном приложении Clipboard Actions.

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

Google обосновывает новые ограничения

При всей легальности использования Accessibility Services служба также может использоваться злонамеренно. Приложения, которые используют Accessibility Services, открывают больше угроз безопасности, чем те, которые этого не делают, и это подвергает устройства риску атак.

Вскоре после того, как Google объявил о решении ограничить приложения, которые могут использовать Accessibility Services, было обнаружено, что изменение, вероятно, было связано с атакой "наложением тоста", которая была обнаружена фирмой безопасности TrendMicro. По сути, атака наложением тостов позволяет вредоносным приложениям отображать изображения и кнопки поверх того, что должно отображаться на самом деле, чтобы украсть личную информацию или полностью заблокировать пользователей на их устройстве.

С тех пор приложения, использующие эту наложенную атаку, были удалены из Play Store, и патч с сентябрьским бюллетенем по безопасности устраняет эту уязвимость, но это только один из примеров того, как приложение, подключенное к Accessibility Services, может нанести серьезный ущерб.

Будущее за API

Приложения, которые используют Accessibility Services, чтобы помочь инвалидам законными способами, будут продолжать существовать, но для тех, кто не ориентирован на эту конкретную демографию, у Google есть решение - API. В примере LastPass новый API автозаполнения с Android Oreo позволяет LastPass предлагать функциональность, аналогичную его функции автозаполнения, без необходимости использования Accessibility Services.

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

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

Мы понимаем раздражение, которое испытывают некоторые пользователи в связи с этим изменением, но, глядя на это с точки зрения Google, это шаг, который имеет смысл. Accessibility Services никогда не предназначались для использования в большинстве случаев, когда к ним подключаются определенные разработчики, и это то, что Google необходимо устранить.

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