Релиз Chrome 83 - AsaDagar

Релиз Chrome 83

Компания Google представила релиз web-браузера Chrome 83. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается использованием логотипов Google, наличием системы отправки уведомлений в случае краха, возможностью загрузки модуля Flash по запросу, модулями для воспроизведения защищённого видеоконтента (DRM), системой автоматической установки обновлений и передачей при поиске RLZ-параметров. Из-за перевода разработчиков на работу на дому в условиях пандемии коронавируса SARS-CoV-2 выпуск Chrome 82 был пропущен. Следующий выпуск Chrome 84 запланирован на 14 июля.

Основные изменения в Chrome 83:

  • Началось массовое включение режима «DNS поверх HTTPS» (DoH, DNS over HTTPS) на системах пользователей, в системных настройках которых указаны DNS-провайдеры, поддерживающие DoH (будет включён DoH того же DNS-провайдера). Например, если у пользователя в системных настройках указан DNS 8.8.8.8, то в Chrome будет активирован DoH-сервис Google («https://dns.google.com/dns-query»), если DNS — 1.1.1.1, то DoH сервис Cloudflare («https://cloudflare-dns.com/dns-query») и т.п. Для того чтобы исключить проблемы с резолвингом корпоративных интранет сетей DoH не применяется при определении использования браузера в централизованно управляемых системах. DoH также отключается при наличии систем родительского контроля. Управления включением DoH и смена DoH-провайдера осуществляется через штатный конфигуратор.
  • Предложено новое оформление элементов web-форм, которые были оптимизированы для использования на сенсорных экранах и системах для людей с ограниченными возможностями. Оформление оптимизировано компанией Microsoft в рамках разработки браузера Edge и передано в основную кодовую базу Chromium. Ранее часть элементов форм была спроектирована для соответствия элементам операционных систем, а часть — в соответствии с наиболее популярными стилями. Из-за этого разные элементы по разному подходили для сенсорных экранов, систем для людей с ограниченными возможностями и управления с клавиатуры. Целью переработки была унификация оформления элементов форм и устранение несоответствия стилей.
  • Изменено оформление секции настроек «Конфиденциальность и безопасность», добавлены новые инструменты для управления безопасностью. Настройки теперь легче найти и проще понять их суть. Предложены четыре базовые секции, в которых собраны инструменты связанные с очисткой истории, управления Cookie и данными сайтов, режимами безопасности и запретами или разрешениями, привязанными к конкретным сайтам. Пользователь может быстро включить блокировку сторонних Cookie для режима инкогнито или всех сайтов, заблокировать все Cookie для конкретного сайта. Новое оформление включено лишь на системах части пользователей, остальные могут активировать настройки через «chrome://flags/#privacy-settings-redesign».

Специфичные для сайтов настройки разделены на группы — доступ к местоположению, камере, микрофону, уведомлениям и выполнению фоновой отправки данных. Также предложена секция с дополнительными настройками для блокирования JavaScript, изображений и переадресации на определённых сайтах. Отдельно выделено последнее действие пользователя, связанное с изменением полномочий.

  • В режиме инкогнито включена по умолчанию блокировка всех Cookie, выставленных сторонними сайтами, в том числе рекламными сетями и системами web-аналитики. Также предложен расширенный интерфейс для контроля за установкой Cookie на сайтах. Для управления предусмотрены флаги «chrome://flags/#improved-cookie-controls» и «chrome://flags/#improved-cookie-controls-for-third-party-cookie-blocking». После активации режима в адресной строке появляется новый значок, при нажатии на который показывается число заблокированных Cookie и предоставляется возможность отключения блокировки. Посмотреть какие именно Cookie разрешены и заблокированы для текущего сайта можно в секции «Cookies» контекстного меню, вызываемого при клике на символ замка в адресной строке, или в настройках.
  • В настройках предложена новая кнопка «Проверка безопасности» (Safety check), выдающая сводку о возможных проблемах с безопасностью, таких как использование скомпрометированных паролей, состояние проверки вредоносных сайтов (Safe Browsing), наличие неустановленных обновлений и выявление вредоносных дополнений.
  • В менеджере паролей добавлена возможность проверки всех сохранённых логинов и паролей по базе скомпрометированных учётных записей с выводом предупреждения в случае выявления проблем (проверка осуществляется на основе сверки хэш-префикса на стороне пользователя, сами пароли и их полные хэши не передаются во вне). Проверка выполняется по базе, охватывающей более 4 миллиардов скомпрометированных аккаунтов, фигурировавших в утечках пользовательских баз. Предупреждение также выводится при попытке использования тривиальных паролей, таких как «abc123».
  • Представлен расширенный режим защиты от опасных сайтов (Enhanced Safe Browsing), в котором активируются дополнительные проверки для защиты от фишинга, вредоносной активности и прочих угроз в Web. Также применяется дополнительная защита для учётной записи в Google и сервисов Google (Gmail, Drive и т.п.). Если в обычном режиме Safe Browsing проверки выполняются локально по периодически загружаемой на систему клиента БД, то в Enhanced Safe Browsing информация о страницах и загрузках в режиме реального времени отправляется в сервис Google Safe Browsing для проверки на стороне Google, что позволяет оперативно реагировать на угрозы сразу после их выявления, не дожидаясь пока обновится локальный чёрный список.Для ускорения работы поддерживается предварительная проверка по белым спискам, в которые включены хэши тысяч популярных сайтов, заслуживающих доверия. Если открываемый сайт отсутствует в белом списке, то браузер проверяет URL на сервере Google, передавая первые 32 бита хэша SHA-256 ссылки, из которой вырезаются возможные персональные данные. По оценке Google новый подход позволяет на 30% повысить эффективность вывода предупреждений для новых фишинг-сайтов.
  • Вместо автоматического закрепления пиктограмм дополнений рядом с адресной строкой реализовано новое меню, обозначенное значком пазла, в котором перечислены все имеющиеся дополнения и их полномочия. После установки дополнения пользователь теперь должен явно включить прикрепление на панель значка дополнения, попутно оценив предоставляемые дополнению полномочия. Для того, чтобы дополнение не терялось, сразу после установки выводится индикатор с информацией о новом дополнении. Новое меню активировано по умолчанию для определённого процента пользователей, остальные могут включить его при помощи настройки «chrome://flags/#extensions-toolbar-menu».
  • Добавлена настройка «chrome://flags/#omnibox-context-menu-show-full-urls», при включении которой в контекстном меню адресной строки появляется пункт «Всегда показывать URL полностью», запрещающий искажение URL. Напомним, что в Chrome 76 адресная строка была переведена по умолчанию на показ ссылок без «https://», «http://» и «www.». Для отключения данного поведения была предусмотрена настройка, но в Chrome 79 она была удалена, и пользователи потеряли возможность отображения полного URL в адресной строке.
  • Для всех пользователей включена функция группировки вкладок («chrome://flags/#tab-groups»), позволяющая объединять несколько сходных по назначению вкладок в визуально разделённые группы. Каждой группе можно привязать свой цвет и имя. Дополнительно предложена экспериментальная возможность сворачивания и раскрытия групп, которая пока работает не на всех системах. Например, несколько непрочитанных статей можно временно свернуть, оставив только метку, чтобы они не занимали место при навигации, а при возвращении к чтению вернуть на место. Для включения режима предложена настройка «chrome://flags/#tab-groups-collapse».
  • Включён вывод по умолчанию предупреждений при попытке небезопасной загрузки (без шифрования) исполняемых файлов по ссылкам со страниц HTTPS (в Chrome 84 загрузки исполняемых файлов будут блокироваться, а предупреждение начнёт выдаваться для архивов). Отмечается, что загрузка файлов без шифрования может использоваться для совершения вредоносной активности через подмену содержимого в процессе MITM-атак. Также запрещена загрузка файлов, инициируемая из изолированных iframe-блоков.
  • При активации Adobe Flash добавлен вывод предупреждения о прекращении поддержки данной технологии в декабре 2020 года.
  • Реализована технология Trusted types, позволяющая блокировать манипуляции с DOM, приводящие к межсайтовому скриптингу (DOM XSS), например, при некорректной обработке полученных от пользователя данных в блоках eval() или вставках «.innerHTML», что может привести к выполнению JavaScript-кода в контексте определённой страницы. Trusted types требует предварительной обработки данных перед передачей в рискованные функции. Например, при включении Trusted types выполнение «anElement.innerHTML = location.href» приведёт к ошибке и потребует применения специальных объектов TrustedHTML или TrustedScript при присвоении. Включение Trusted Types осуществляется при помощи CSP (Content-Security-Policy).
  • Добавлены новые HTTP-заголовки Cross-Origin-Embedder-Policy и Cross-Origin-Opener-Policy, позволяющие включить особый режим изоляции cross-origin для безопасного использования на странице привилегированных операций, таких как SharedArrayBuffer, Performance.measureMemory() и API профилирования, которые могут применяться для осуществления атак по сторонним каналам, таким как Spectre. Режим изоляции cross-origin также не даёт возможность изменять свойство document.domain.
  • Предложена новая реализация системы инспектирования доступа к ресурсам по сети — OOR-CORS (Out-Of-Renderer Cross-Origin Resource Sharing). Старая реализация могла инспектировать только основные компоненты движка Blink, XHR и API Fetch API, но не охватывала HTTP-запросы, производимые из некоторых внутренних модулей. Новая реализация решает эту проблему.
  • В режиме Origin Trials (экспериментальные возможности, требующие отдельной активации) добавлено несколько новых API. Origin Trial подразумевает возможность работы с указанным API из приложений, загруженных с localhost или 127.0.0.1, или после прохождения регистрации и получения специального токена, который действует ограниченное время для конкретного сайта.
    • API Native File System, позволяющий создавать web-приложения, взаимодействующие с файлами в локальной ФС. Например, новый API может быть востребован в запускаемых в браузере интегрированных средах разработки, редакторах текста, изображений и видео. Для получения возможности прямой записи и чтения файлов или использования диалогов для открытия и сохранения файлов, а также для навигации по содержимому каталогов, приложение запрашивает у пользователя специальное подтверждение;
    • Метод Performance.measureMemory() для оценки потребления памяти при обработке web-приложения или web-страницы. Может использоваться для анализа и оптимизации потребления памяти в web-приложениях, а также для выявления регрессивного роста потребления памяти.
    • Метод Prioritized Scheduler.postTask() для планирования выполнения задач (callback-вызовов JavaScript) с различными уровнями приоритета (блокирует работу пользователя, создаёт видимые изменения и фоновая работа). Для изменения приоритета и отмены задач можно использовать объект TaskController.
    • API WebRTC Insertable Streams, позволяющий приложениям создавать свои обработчики данных, применяемые при кодировании и декодировании WebRTC MediaStreamTrack. Например, API можно использовать для организации сквозного шифрования потоков, передаваемых через транзитный сервер.
  • Добавлен API Barcode Detection для выявления и раскодировки штрихкодов в определённом изображении. API работает только на устройствах Android с установленным пакетом Google Play Services.
  • Добавлен мета-тег color-scheme, позволяющий сайту обеспечить полноценную поддержку тёмной темы оформления без применения CSS-трансформаций.
  • Добавлена возможность использования модулей JavaScript в shared worker.
  • В IndexedDB в IDBDatabase.transaction() добавлен новый аргумент «durability», позволяющий управлять сбросом данных на накопитель. Передав значение «relaxed» вместо применяемого по умолчанию режима «strict» можно пожертвовать надёжностью в угоду производительности (ранее Chrome всегда сбрасывал данные на диск после записи каждой транзакции).
  • В selector() добавлена функция @supports, позволяющая определять наличие CSS-селекторов (например, можно вначале проверить доступность селектора перед тем, как привязать к нему CSS-стили).
   @supports selector(::before) {
     div { background: green };
   }
  • В Intl.DateTimeFormat добавлено свойство fractionalSecondDigits для настройки формата отображения долей секунды.
  • В движке V8 ускорено отслеживание ArrayBuffer в сборщике мусора. Для модулей на WebAssembly разрешено запрашивать до 4 ГБ памяти.
  • Добавлены новые инструменты для web-разработчиков. Например, появился режим эмуляции восприятия страницы людьми с ослабленным зрением и различными формами дальтонизма. Также добавлен режим эмуляции смены локали, изменение которой влияет на API Intl.*, *.prototype.toLocaleString, navigator.language, Accept-Language и т.п.

В интерфейс инспектирования сетевой активности добавлен отладчик COEP (Cross-Origin Embedder Policy), позволяющий оценить причины блокировки загрузки тех или иных ресусров по сети. Добавлено ключевое слово cookie-path для фильтрации запросов, в которых Cookie привязывается к определённому пути.

Добавлен режим закрепления инструментов разработчиков в левой части экрана.

Переработан интерфейс отслеживания длительно выполняемого кода JavaScript.

  • Из-за инфекции COVID-19 некоторые планировавшиеся изменения отложены. Например, удаление кода для работы с FTP перенесено на неопределённое время. Отключение поддержки протоколов TLS 1.0/1.1 отложено до выпуска Chrome 84. Начальная поддержка идентификатора Client Hints (альтернатива User-Agent) также отложена до Chrome 84. Работа по унификации User-Agent перенесена на следующий год.

Кроме нововведений и исправления ошибок в новой версии устранено 38 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizerMemorySanitizerControl Flow IntegrityLibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 28 премий на сумму 76 тысяч долларов США (одна премия $20000, одна премия $10000, две премии $7500, две премии $5000, две премии $3000, две премии $2000, две премии $1000 и восемь премий $500). Размер 7 вознаграждений пока не определён.

Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии