Критика включения API Idle Detection в Chrome 94. Эксперименты с Rust в Chrome
23 сентября 2021 года
Включение по умолчанию API Idle Detection в Chrome 94 привело к волне критики со ссылками на возражения от разработчиков Firefox и WebKit/Safari.
API Idle Detection позволяет сайтам определить время, когда пользователь неактивен, т.е. не взаимодействует с клавиатурой/мышью или выполняет работу на другом мониторе. API также позволяет узнать запущен в системе хранитель экрана или нет. Информирование о неактивности осуществляется через отправку уведомления после достижения заданного порога неактивности, минимальное значение которого установлено в 1 минуту.
Важно отметить, что применение API Idle Detection требует явного предоставление полномочий пользователя, т.е. если приложение попытается первый раз определить факт неактивности, пользователю будет показано окно с предложением предоставить полномочия или блокировать операцию. Для полного отключения API Idle Detection в разделе настроек "Конфиденциальность и безопасность" предусмотрена специальная опция ("chrome://settings/content/idleDetection").
В качестве областей применения называются приложения для чата, социальных сетей и коммуникаций, которые могут менять статус пользователя в зависимости от его присутствия за компьютером или откладывать вывод уведомлений о новых сообщениях до прихода пользователя. API также может применяться в приложениях-киосках для возвращения к исходному экрану после определённого времени неактивности или для отключения ресурсоёмких интерактивных операций, таких как перерисовка сложных постоянно обновляемых диаграмм, когда пользователя нет за компьютером.
Позиция противников включения API Idle Detection сводится к тому, что информация о том, находится пользователь за компьютером или нет может рассматриваться как конфиденциальная. Кроме полезных применений данный API может использоваться и не для благих целей, например, для попыток эксплуатации уязвимостей во время отсутствия пользователя или для скрытия бросающейся в глаза вредоносной активности, такой как майнинг. При помощи рассматриваемого API также могут собираться сведения о шаблонах поведения пользователя и дневном ритме его работы. Например, можно узнать когда пользователь обычно уходит на обед или покидает рабочее место. В условиях обязательного запроса подтверждения предоставления полномочий указанные опасения воспринимаются Google как несущественные.
Дополнительно можно отметить заметку разработчиков Chrome о продвижении новых техник обеспечения безопасной работы с памятью. По данным Google 70% проблем с безопасностью в Chrome вызваны ошибками при работе с памятью, такими как обращение к буферу после освобождения связанной с ним памяти (use-after-free). Определяется три основных стратегии борьбы с подобными ошибками: усиление проверок на этапе компиляции, блокирование ошибок во время выполнения и применение языка, обеспечивающем безопасную работу с памятью.
Сообщается о начале экспериментов по добавлению в кодовую базу Chromium возможности разработки компонентов на языке Rust. Код на Rust пока не входит в поставляемые пользователям сборки и в основном нацелен на тестирование возможности разработки отдельных частей браузера на Rust и их интеграции с остальными частями, написанными на C++. Параллельно для кода на С++ продолжает развиваться проект по применению типа MiraclePtr вместо raw-указателей для блокирования возможности эксплуатации уязвимостей, вызванных обращением к уже освобождённым блокам памяти, а также предлагаются новые методы выявления ошибок на этапе компиляции.
Кроме того, компания Google начинает эксперимент по тестированию возможного нарушения работы сайтов после достижения браузером версии, состоящей из трёх цифр вместо двух. В частности, в тестовых выпусках Chrome 96 появилась настройка "chrome://flags#force-major-version-to-100", при указании которой в заголовке User-Agent начинает выдаваться версия 100 (Chrome/100.0.4650.4). В августе похожий эксперимент проводился в Firefox, который выявил проблемы с обработкой трехциферных версий на некоторых сайтах.
Источники
править- Главная ссылка к новости (https://techdows.com/2021/09/d...) (Архивная копия от 23 сентября 2021 на Wayback Machine)
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.