Изменения безопасности в iOS 13

Пока многие из вас устанавливают iOS 13 (пишут, что уже более 20% пользователей iOS-устройств переехали на новую систему), и знакомятся с новыми возможностями системы (и новыми багами), я хочу поговорить о других, менее заметных изменениях в самой системе, чем, например, темная тема. Эти изменения касаются конфиденциальности и безопасности в первую очередь пользовательской информации. Apple традиционно говорит о том, что компания старается оберегать пользовательские данные от лишних посягательств, и в целом, с переменным успехом, это демонстрирует на деле.

Как минимум, с одним из этих «подкапотных» изменений пользователи iOS 13 уже могли столкнуться. В iOS 13 теперь приложения, которые используют для своей работы Bluetooth, должны получить соглашение пользователя на это. Я думаю, что многие удивились тому, для скольких приложений требуется использование BT, и задались вопросом «а зачем?». Важно понимать, что приложения, которые воспроизводят аудио в Bluetooth-наушники, например, в доступе к самому беспроводному интерфейсу не нуждаются. Грубо говоря, такие приложения говорят системе «я хочу проиграть аудио», и уже затем система направляет звук в тот выход, которым в данный момент пользуется владелец смартфона. Поэтому когда доступ к Bluetooth просит Spotify, очевидно, что кроме воспроизведения аудио, приложение хочет что-то делать еще через Bluetooth.

Это ограничение и требование запроса появились в связи с тем, что многие приложения используют Bluetooth для слежения за местоположением пользователя, используя беспроводные маячки, размещённые в различных местах (например, в кафе или магазинах). Некоторые приложения — как правило, приложения, воспроизводящие видео — просят Bluetooth для подключения к устройствам для трансляции видео (Chromecast, например). Тот же Chromecast вообще работает через WiFi, но обнаружение и спаривание с ним может происходить по Bluetooth. Используют ли эти приложения (как CNN на скриншоте выше) потом BT для чего-то еще – неизвестно. У разработчиков приложений есть возможность добавлять к запросу на Bluetooth короткое описание, из которого пользователем было бы более очевидно, зачем приложению доступ к этому интерфейсу, но не все это делают. Мой совет: если вы не понимаете, зачем какому-то приложению нужен доступ к Bluetooth, а разработчики не удосужились это объяснить, то лучше такому приложению доступ не давать, и посмотреть, что сломается. (Как правило, приложение продолжает работать без каких-либо потерь). В системных настройках конфиденциальности потом всегда можно включить доступ приложению к Bluetooth обратно. Лично на моем устройстве количество приложений, попросивших подключение к Bluetooth такое, что едва умещается в два экрана телефона.

Второе большое изменение – это то, как система контролирует приложения, просящие доступ к информации о местоположении пользователя. На первом запросе больше нет возможности разрешить всегда иметь доступ к информации о геолокации. Вместо этого можно разрешить приложению получить эту информацию только однажды, в этот конкретный сеанс, или же иметь к ней доступ только в то время, когда приложение активно на экране устройства. Тем не менее, некоторым приложениям (например, навигационным) доступ к геолокационным данным нужен даже в фоновом режиме, поэтому позже приложения могут запросить доступ к этой информации «навсегда». В этом случае Apple периодически будет сообщать пользователю о том, что то или иное приложение работает в фоне с доступом к данным о местоположении, и покажет весьма наглядный диалог о том, как приложение собирало данные:

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

Из других полезных изменений в этом направлении пользовательской безопасности в iOS 13 также добавили:
– возможность убрать данные о геолокации фотографии в диалоге отправки фотографии куда-либо
– Технологию входа в приложения и сайты Sign In with Apple (о которой я писал ранее тут). От себя еще могу добавить, что реализация этого SSO-метода достаточно сырая и разработчикам придётся повозиться с ней (я уже несколько багов в Apple по этому поводу зафайлил).
– Опцию по предотвращению слежки пользователей между сайтами, чем промышляют большие рекламные сети, реклама которых может быть размещена на разных сайтах, посещаемых пользователями.
– Еще несколько изменений описаны тут

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