WWDC 2019 — безопасность и конфиденциальность

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

Кроме всех новинок операционных систем, Mac Pro с новым монитором, и проч., я бы хотел отдельно выделить улучшения в продуктах, которые касаются безопасности и конфиденциальности пользовательской информации. О некоторых, как, например, Sign In with Apple или Find My я уже писал, а до остального руки дошли только сейчас. Хотя там тоже хватает интересного.


Список security-изменений в новых версиях iOS/macOS

Например, важные изменения в HomeKit. Теперь видео из домашних камер наблюдения необязательно отправлять в облако производителю камеры, который может делать с ними неизвестно что и непонятно как использовать полученные данные. Видео из камер, которые поддерживают HomeKit, можно будет загружать в облачное хранилище iCloud после локального анализа на хабе HomeKit и последующего сквозного шифрования. Эти видео не будут учитываться в общем объеме доступного пользователю пространства iCloud, и записи будут храниться до 10 дней. Так что все пользовательские “домашние видео” получат дополнительный уровень защиты. Еще одно дополнение к HomeKit — это обновление ПО для популярных домашних роутеров, которое позволит создать специальный сегмент сети для “умных” IoT-устройств, и отделить их от остальной локальной сети. Информации пока маловато, но, судя по краткому описанию, это может оказаться хорошим инструментом по управлению коммуникациями IoT-устройств с интернетом и добавит возможности контроля над этим процессом. (Жаль, что Apple перестала выпускать свои собственные роутеры).

Приложениям, работающим на iOS/macOS, все время нужны какие-то права на доступ то к файлам, то к интерфейсам устройств, то еще куда-то. Очень часто пользователи даже не догадываются, что какое-то приложение может использовать, например, Bluetooth. С новыми релизами это тоже изменится. В частности, в macOS добавляется несколько новых “прав доступа”, которые приложение должно запросить, а пользователь должен будет согласиться на это. Речь идет о доступе к файлам в популярных папках пользователя — Desktop, Downloads, Documents, и тд. Приложение, которое решит открыть файл из какой-либо из этих папок, вызовет специальное предупреждение, и пользователю надо будет дать свое согласие на это. Мониторинг приложением ввода текста на клавиатуре и запись экрана — тоже новые права для приложений, которые пользователь должен будет выдать программам. Это, правда, потребует дополнительных усилий со стороны разработчиков, так как пользовательские впечатления со всеми этими запросами получаются не самые лучшие. Кстати, сама macOS Catalina теперь будет работать на специальном разделе диска с правами только на чтение, что снижает риски на “случайное” изменение важных системных файлов. Драйвера и прочие расширения ядра теперь выносятся за пределы ядра, что должно повысить стабильность и безопасность всей операционной системы.

В iOS 13 запрос к Bluetooth-интерфейсу вызовет соотвествующий диалог (и уже в бете я столкнулся с тем, что туда доступ просили приложения, которым это вроде бы ни к чему – например, YouTube). Запросы на информацию о местоположении в iOS 13 тоже модифицировали, теперь можно дать приложению доступ к геолокации “один раз”, чтобы не увлекались излишней слежкой за перемещениями пользователей. Анти-фингерпринтинг (блокировка попыток идентифицировать пользователя по уникальной комбинации характеристик устройства и программного обеспечения) расширяется за счет новых изменений по ограничению доступа к информации о шрифтах в браузере.

Появился целый CryptoKit, высокоуровневый фреймворк вместо CommonCrypto API. С его помощью разработчики, используя пару строк кода, могут генерировать симметричные ключи, шифровать данные или вычислять безопасный хеш. (Забавно, что во время анонса почему-то понеслись новости, что CryptoKit — это сигнал, что Apple тоже пойдет в криптовалюту).

Одна большая тема, которая звучала и на презентации, и на нескольких сессиях, посвященных безопасности, рассказывала о подходе Apple, который отличается от других компаний. Отличается тем, что Apple не просто думает о том, как сохранить у себя пользовательские данныев безопасности. Много усилий в первую очередь тратится на реализацию подхода по минимизации получения этих данных. Поэтому огромное количество вещей, происходящих “под капотом”, не требуют передачи пользовательских данных, а за счет использования Neural Engine на процессоре, обрабатываются прямо на устройстве и не передаются компании. Многим компаниям не помешал бы такой подход. Apple вполне обоснованно рассматривает такое позиционирование как свое маркетинговое преимущество, поэтому стоит ожидать и дальнейших изменений в этом направлении.