Android Q будет лучше защищать вашу конфиденциальность благодаря новым функциям

click fraud protection

Анализ просочившейся сборки Android Q показывает, что в Android появится больше обновлений конфиденциальности: блокировка фонового чтения из буфера обмена, лучшая защита мультимедиа и многое другое.

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

Особая благодарность PNF Software за предоставление нам лицензии на использование. JEB-декомпилятор. JEB Decompiler — это инструмент профессионального реверс-инжиниринга приложений Android.

Блокировка фонового доступа к буферу обмена

Знаете ли вы, что каждое приложение в Android может читать ваш буфер обмена

, и вам не нужно предоставлять им для этого разрешение во время выполнения? Многие люди, вероятно, копируют конфиденциальную информацию, такую ​​как имена пользователей, пароли, адреса и т. д. все время, поэтому любому приложению будет легко очистить эти данные в фоновом режиме. Вот почему многие приложения-менеджеры паролей, такие как Кипасс имеют собственные клавиатуры, которые можно использовать для обхода менеджера буфера обмена Android. Приложения-менеджеры паролей часто очищают буфер обмена после того, как вы что-либо скопировали и вставили. Причина, по которой приложениям Android необходимо читать буфер обмена, заключается в том, что без него они не могут принимать текст из буфера обмена, а это означает, что вы не можете вставить скопированный текст. К счастью, Android Q хочет изменить это.

Было добавлено новое разрешение под названием «READ_CLIPBOARD_IN_BACKGROUNDПохоже, он будет делать именно то, что говорит: ограничить количество приложений, которые могут читать буфер обмена в фоновом режиме. Уровень защиты этого разрешения — «подпись», что означает, что это разрешение может быть предоставлено только приложениям, подписанным OEM.

<permissionandroid: name="android.permission.READ_CLIPBOARD_IN_BACKGROUND"android: protectionLevel="signature"/>

Поддержка понижения версии приложений?

Вы когда-нибудь устанавливали обновление приложения в Google Play и сразу же сожалели об этом? Иногда разработчик выпускает обновление, которое ломает то, чего он не ожидал, но как только обновление было выпущено и установлено, уже слишком поздно что-либо с этим делать. Разработчик должен быстро выпустить исправление, а пользователю необходимо либо прекратить использование приложения до тех пор, пока не будет выпущено обновление, либо удалить приложение и загрузить более старую версию. Невозможно понизить версию приложения, если у вас нет рутированного устройства с таким приложением, как ТитаниумРезервное копирование, поскольку менеджер пакетов Android блокирует установку старых версий приложений. Для этого есть веская причина, поскольку установка более старой версии приложения может привести к поломке, если данные приложения не очищаются, или оно может подвергнуть пользователя опасности, если старая версия уязвима для безопасности. недостаток.

Хотя мы не знаем наверняка, позволит ли Google пользователям откатывать приложения к более старой версии, мы обнаружили в Android Q несколько разрешений и команд, которые предполагают, что это возможно. Во-первых, новый «PACKAGE_ROLLBACK_AGENT" и "MANAGE_ROLLBACKSРазрешения предполагают, что предустановленное приложение из маркета может выступать в качестве агента для управления откатом версий приложения. Первое разрешение — это «подпись», а второе — «установщик» поверх «подписи», поэтому это означает только приложение, подписанное на платформе, с возможностью Приложения для установки (обычно только менеджер пакетов, Google Play Store или другие магазины приложений, в зависимости от устройства) могут использовать эти разрешения. Были добавлены два новых намерения защищенной трансляции: «PACKAGE_ENABLE_ROLLBACK" и "PACKAGE_ROLLBACK EXECUTED». Эти широковещательные сообщения не могут отправляться сторонними приложениями и, скорее всего, предназначены для того, чтобы позволить затронутому приложению узнать, когда его версия была понижена (во многом например, как приложениям сообщается об их обновлении, что дает им возможность отобразить какое-либо сообщение при следующем запуске.) Наконец, в «pm install» команда оболочки. Флаг под названием «--enable-rollback», может позволить вам откатить приложение до более ранней версии. Однако я не смог заставить его работать.

<protected-broadcast android: name="android.intent.action.PACKAGE_ENABLE_ROLLBACK"/>
<protected-broadcast android: name="android.intent.action.PACKAGE_ROLLBACK_EXECUTED"/>
<permissionandroid: name="android.permission.PACKAGE_ROLLBACK_AGENT"android: protectionLevel="signature"/>
<permissionandroid: name="android.permission.MANAGE_ROLLBACKS"android: protectionLevel="installer|signature"/>

Защита файлов на внешнем хранилище

Хранение данных в Android включает в себя «внутреннее хранилище» (/data, за исключением /data/media) и «внешнее хранилище» (/data/media и любые подключенные SD-карты или USB-накопители). APK-файлы и их наиболее конфиденциальные данные хранятся во внутренней памяти, а любые общие носители, такие как документы, изображения, видео и т. д. хранятся во внешнем хранилище. По умолчанию приложения могут читать и записывать файлы только в один каталог во внешнем хранилище: /data/media/[пользователь]/Android/data/[имя_пакета]. (Чтобы узнать больше об этом поведении, я рекомендую вам прочитать мою статья о sdcardfs в Android Oreo.) Как только пользователь предоставляет приложению любое разрешение в группе разрешений внешнего хранилища (READ_EXTERNAL_STORAGE или WRITE_EXTERNAL_STORAGE), приложение сможет читать или записывать любой файл во внешнем хранилище. Это проблематично, поскольку вы предоставляете приложению возможность потенциально собирать много данных о вас, хотя вы просто хотели позволить ему читать или записывать определенные файлы. Чтобы исправить это, Google, похоже, вводит в Android Q пару новых разрешений, связанных с внешним хранилищем. Разрешения будут включать следующие функции:

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

Для приложений, которые уже содержат READ_EXTERNAL_STORAGE или WRITE_EXTERNAL_STORAGE разрешения до обновления Android Q, они получат новые читать разрешения, но не новые писать разрешения. Например, приложение, которому уже предоставлено разрешение READ_EXTERNAL_STORAGE пользователем будет автоматически предоставлено READ_MEDIA_IMAGES разрешение, но не WRITE_MEDIA_IMAGES разрешение.

Соответствующие строки из framework-res Android Q.

<stringname="permgroupdesc_aural">access your musicstring>
<stringname="permgrouplab_visual">Photos & Videosstring>
<stringname="permgrouprequest_aural">Allow <b>%1$s</b> to access your music?string>
<stringname="permgroupdesc_visual">access your photos & videosstring>
<stringname="permgrouplab_activityRecognition">Activity recognitionstring>
<stringname="permgrouplab_aural">Musicstring>
<stringname="permdesc_videoRead">Allows the app to read your video collection.string>
<stringname="permdesc_videoWrite">Allows the app to modify your video collection.string>
<stringname="permdesc_imagesRead">Allows the app to read your photo collection.string>
<stringname="permdesc_imagesWrite">Allows the app to modify your photo collection.string>
<stringname="permdesc_audioRead">Allows the app to read your music collection.string>
<stringname="permdesc_audioWrite">Allows the app to modify your music collection.string>
<stringname="permlab_audioRead">read your music collectionstring>
<stringname="permlab_audioWrite">modify your music collectionstring>
<stringname="permdesc_mediaLocation">Allows the app to read locations from your media collection.string>



"android.permission.READ_EXTERNAL_STORAGE"

targetSdk="10000">
<new-permission name="android.permission.READ_MEDIA_AUDIO" />
<new-permission name="android.permission.READ_MEDIA_VIDEO" />
<new-permission name="android.permission.READ_MEDIA_IMAGES" />
split-permission>

"android.permission.WRITE_EXTERNAL_STORAGE"
targetSdk="10000">
<new-permission name="android.permission.READ_MEDIA_AUDIO" />
<new-permission name="android.permission.READ_MEDIA_VIDEO" />
<new-permission name="android.permission.READ_MEDIA_IMAGES" />
split-permission>

читать далее

Возвращение фонового доступа к местоположению

Android Oreo и Android 9 Pie сделали большие шаги вперед в обеспечении конфиденциальности пользователей, но некоторые пользователи посчитали, что Google зашел слишком далеко. Одна из таких областей, которую можно считать регрессией признаков, находится в доступ к фоновому местоположению. Доступ к местоположению в Android Oreo и более поздних версиях сильно ограничивается, если не полностью прекращается, для приложений, работающих в фоновом режиме, поэтому приложения должны либо находиться на переднем плане, либо иметь запущенную службу переднего плана, если они хотят постоянно опрашивать устройство. расположение. Это не позволяет приложениям отслеживать ваше местоположение в фоновом режиме, но также не позволяет пользователю отображать свое местоположение с помощью приложения в фоновом режиме. Это проблема, которую мы затронули в отдельной статье, и похоже, что Google добавляет новое разрешение в Android Q, чтобы решить проблемы этих разработчиков и пользователей.

В Android Q было добавлено новое разрешение, позволяющее приложению иметь фоновый доступ к местоположению устройства. Описание разрешения для пользователя предупреждает, что «приложение всегда будет иметь доступ к местоположению, даже если вы не используете приложение». Это разрешение может получить разрешения «в дополнение к приблизительному или точному местоположению», чтобы приложение «могло получить доступ к местоположению во время работы в фоновом режиме». В отличие, разрешение грубого определения местоположения может определять ваше местоположение только на основе сетевых источников, таких как вышки сотовой связи или сети Wi-Fi, но только тогда, когда приложение находится в передний план.

Соответствующие строки из framework-res Android Q.

<stringname="permgroupbackgroundrequest_location">Always allow <b>%1$s</b> to access this device’s location?string>
<stringname="permgroupbackgroundrequestdetail_location">The app will always have access to the location, even when you’re not using the app.string>
"permdesc_accessBackgroundLocation">If this is granted additionally to the approximate or precise location access the app can access the location while running in the background.</string>
"permdesc_accessCoarseLocation">This app can get your location based on network sources such as cell towers and Wi-Fi networks, but only when the app is in the foreground. These location services must be turned on and available on your phone for the app to be able to usethem.string>
"android.permission.ACCESS_FINE_LOCATION"
targetSdk="10000">
<new-permission name="android.permission.ACCESS_BACKGROUND_LOCATION" />
split-permission>

"android.permission.ACCESS_COARSE_LOCATION"
targetSdk="10000">
<new-permission name="android.permission.ACCESS_BACKGROUND_LOCATION" />
split-permission>

читать далее

Распознавание физической активности

В Android Q было добавлено новое разрешение, которое позволяет приложению «распознавать вашу физическую активность». Технически это не ново, поскольку уже является частью сервисов Google Play, но это может означать, что Google отделит разрешение от сервисов Play. Учитывая, насколько неотъемлемой частью служб Google Play являются основные функции Android, приятно видеть, что часть их возможностей возвращена AOSP.

<stringname="permgroupdesc_activityRecognition">recognize activitystring>
<stringname="permgrouprequest_activityRecognition">Allow <b>%1$s</b> to recognize your physical activity?string>
<stringname="permdesc_activityRecognition">This app can recognize your physical activity.string>

Дополнительные новости об Android Q можно найти в нашем ярлык с последними новостями, отсортированными по дате. Недавно мы опубликовали статью, содержащую множество доказательств того, что Google работает над поддержка оборудования для аутентификации лица, подобного Face ID в Андроиде К. У нас также есть ранний практический обзор утекшей сборки Android Q (и даже есть видео), которое вам стоит посмотреть здесь. Мы будем публиковать больше результатов из полученной нами ранней сборки Android Q, так что следите за обновлениями.