Выпуск web-браузера Chrome 63

Компания Google представила релиз web-браузера Chrome 63. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается использованием логотипов Google, возможностью загрузки модуля Flash по запросу, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента, системой автоматической установки обновлений и передачей при поиске RLZ-параметров.



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


-Изменено оформление страницы "chrome://flags", позволяющей активировать доступные для тестирования экспериментальные возможности. В новом оформлении применён метод адаптивной верстки, проведена оптимизация для работы с сенсорного экрана, добавлена поддержка поиска флагов по маске, изменена цветовая схема, явно разделены опции, доступные и недоступные на данной системе;

Выпуск web-браузера Chrome 63 Google Chrome, Браузер, Длиннопост

-Добавлена новая служебная страница "chrome://gpu", на которой представлены подробности о графической подсистеме, такие как число бит на пиксель и на цветовой компонент, параметры масштабирования для монитора, настройки цветового пространства и т.п.

Выпуск web-браузера Chrome 63 Google Chrome, Браузер, Длиннопост

-Обеспечен вывод предупреждения при выявления попыток перехвата трафика HTTPS, в результате активности вредоносного ПО или MITM-прокси. В качестве признака для вывода предупреждения используется аномально большое число ошибок SSL-соединений для разных сайтов за короткий промежуток времени, т.е. метод выявляет факты грубой подмены, в результате которой возникают ошибки SSL и соединение помечается как небезопасное. Основное отличие от предупреждения о небезопасном соединении заключается в том, что пользователь информируется о возможной локальной MITM-атаке, которая не связана с проблемами настройки HTTPS на конкретном внешнем сайте.

Выпуск web-браузера Chrome 63 Google Chrome, Браузер, Длиннопост

-Включена пометка флагом небезопасного соединения обращений к ресурсам по протоколу FTP. Протокол FTP рассматривается как уступающий HTTP по уровню защиты, так как у HTTP есть возможность применения HSTS (HTTP Strict Transport Security) для автоматизации проброса на HTTPS;

Выпуск web-браузера Chrome 63 Google Chrome, Браузер, Длиннопост

-При нажатии на индикатор уровня безопасности страницы теперь выводится только список изменённых настроек и разрешений доступа. Настройки которые не изменились и остаются в значении по умолчанию не показываются под индикатором, но остаются доступны в разделе просмотра информации о странице (Page Info);

Выпуск web-браузера Chrome 63 Google Chrome, Браузер, Длиннопост

-При просмотре видео курсор при попадании поверх видео теперь автоматически скрывается при скрытии элементов управления воспроизведением;


-В инструменты для разработчиков (DevTools) добавлена возможность инспектирования кода внутренних компонентов интерфейса браузера (для включения требуется устновить флаг chrome://flags/#enable-ui-devtools);

Выпуск web-браузера Chrome 63 Google Chrome, Браузер, Длиннопост

-Продолжена работа по борьбе с навязчивыми уведомлениями и запросами полномочий, которые по статистике Google игнорируются или отвергаются пользователями в 90% случаев (например, многие сайты злоупотребляют предложениями об отправке push-уведомлений). В дополнение к ранее добавленной в Chrome 59 временной блокировке запросов (блокировка на неделю, если пользователь три раза отклонил запрос), в новом выпуске Chrome для Android запросы теперь выводятся в форме модального диалога (требует обязательных действий от пользователя) вместо ничего не обязывающего баннера в нижней части. Предполагается, что это подтолкнёт разработчиков сайтов запрашивать расширенные полномочия только при возникновении реальной необходимости и в привязке к контексту запрошенного посетителем действия, а пользователя заставит более внимательно реагировать на запросы полномочий, не просто игнорируя их, а принимая или запрещая;

Реализована возможность динамической загрузки JavaScript-модулей, принимая решение о потребности в модуле непосредственно в коде. Кроме ранее предложенного статического метода загрузки модулей через тег "script" с флагом "type=module", модули и скрипты теперь можно загружать по мере возникновения необходимости при помощи конструкции import(specifier) в JavaScript-коде;


-Представлен новый API Device Memory, позволяющий получить сведения о размере оперативной памяти. Данная информация может оказаться полезной для создания легковесных вариантов web-приложений, загружающихся для устройств с небольшим ОЗУ или для активации расширенных возможностей при наличии большого объёма памяти;


-Добавлена поддержка указания режима async при объявлении функций генератора, а также возможность применения async к итераторам, которые могут использоваться в циклах "for";


-В браузер встроены правила, подставляющие заголовок HSTS (Strict Transport Security) для открытия по умолчанию HTTPS на всех сайтах, использующих домены первого уровня .dev и .foo. Данные домены принадлежат компании Google, которая определяет правила их использования, и ориентированы для размещения сайтов, связанных с разработкой ПО и web-приложений.


-Добавлена поддержка шлемов виртуальной реальности Daydream View для просмотра сайтов с поддержкой WebVR;


-В CSS добавлен новый спецификатор "Q" для определения размера с точностью 1/4 мм (например, "letter-spacing: 4q");


-Добавлено новое CSS-свойство overscroll-behavior, позволяющее изменить поведение при достижении конца области прокрутки;


-Обеспечена генерация событий beforeprint и afterprint в процессе вывода страницы на печать, давая возможность разработчикам прикрепить аннотацию к печатной копии и отредактировать её после отправки на печать;


-Добавлен API Intl.PluralRules, упрощающий корректное оформление значений в множественном числе (например, 1 кошка, 2 кошки, 5 кошек);


-Реализована поддержка аутентификации с использованием второй версии API NTLM (NT LAN Manager);


-Добавлен "Origin Trial" для API Generic Sensor, позволяющий получить доступ к акселерометру, гироскопу, датчикам ускорения и ориентации в пространстве;


-API localStorage и sessionStorage переведены на использование getItem() вместо анонимного геттера. Как следствие, доступ к ключу при помощи getItem() теперь будет приводить к возврату значения "null" вместо "undefined". Для удобства работа методы getItem(), removeItem() и clear() переведены а категорию перечисляемых (enumerable);


-В Chrome для Android добавлена поддержка CSS-свойства "display: minimal-ui", что позволяет создавать интерфейсы, похожие на обособленные приложения, но с минимальным числом элементов управления навигацией;


-Предложена очередная порция оптимизаций производительности в движке V8, в том числе на 14% ускорена работа парсера, существенно ускорена работа встроенных строковых функций, таких как String#trim, улучшена производительность Object.is(). Общие результаты измерения производительности при прохождении различных текстов представлены на нижеприведённом графике:

Выпуск web-браузера Chrome 63 Google Chrome, Браузер, Длиннопост

-Для улучшения совместимости с другими браузерами HTMLAllCollection, HTMLCollection, HTMLFormControlsCollection и HTMLOptionsCollection перестали быть перечисляемыми, т.е. для них теперь требуется явный вызов Object.keys() или перебор в цикле. Удалён специфичный для WebKit метод getMatchedCSSRules(). В CSS прекращена поддержка селекторов "::shadow" и "/deep/".



Кроме нововведений и исправления ошибок в новой версии устранено 37 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 19 премий на сумму более 46 тысяч долларов США (одна премия $10500, одна премия $6337, три премии $5000, по одной премии в $3500, $3337, $2500 и $2000, две премии $1000 и три премии $500). Размер пяти вознаграждений пока не определён.


Одной из проблем присвоен критический уровень опасности - в реализации протокола QUIC (Quick UDP Internet Connections) выявлено переполнение буфера (CVE-2017-15407), которое позволяет обойти все уровни защиты браузера и выполнить код в системе, за пределами sandbox-окружения. Примечательно, что прошлая критическаая уязвимость в QUIC была исправлена месяц назад. Из уязвимостей, которым присвоена высокая степень опасности также можно отметить серию проблем в PDF-просмотрщике PDFium (CVE-2017-15408, CVE-2017-15410, CVE-2017-15411), переполнение буфера в графической библиотеке Skia (CVE-2017-15409), обращение к уже освобождённому блоку памяти в libXML (CVE-2017-15412) и уязвимость в WebAssembly (CVE-2017-15413).


Дополнительно можно отметить план блокирования попыток выполнения стороннего кода внутри процессов Chrome. Подобные подстановки наблюдаются на 2/3 систем с Windows и, как правило, производятся антивирусным ПО. По статистике, подобные манипуляции приводят к снижению стабильности работы и являются причиной 15% всех наблюдаемых крахов браузера. Вместо подстановки кода рекомендуется перевести приложения на использование расширений к Chrome и API Native Messaging.


В Chrome 68, который ожидается в июле 2018 года, подстановка кода в процесс будет приводить к блокировке запуска браузера и выводу уведомления с возможностью продолжить работу. В Chrome 72, намеченном на январь 2019 года, блокировка будет применяться на постоянной основе. Исключение будет сделано только для кода, подписанного цифровой подписью Microsoft и систем для людей с ограниченными возможностями.

Источник:https://www.opennet.ru/opennews/art.shtml?num=47696

Автор поста оценил этот комментарий

Теперь осталось узнать что они сломали :)

раскрыть ветку