С релизом Chrome 69 инженеры Google решили отказаться от отображения в адресной строке таких элементов URL, как WWW и поддомены. Напомню, что ранее браузер уже начал отображать более наглядные индикаторы безопасности и небезопасности сайтов, чтобы пользователям было легче ориентироваться этом в вопросе. Так, вместо HTTP или HTTPS появились надписи Secure и Not Secure.
Теперь, разработчики хотят сделать интерфейс еще проще и удобнее, отказавшись от "сложных и ненужных" частей URL, которые лишь запутывают пользователей. Так, по мнению разработчиков, чтение URL-адресов усложняют отображающиеся в строке адреса поддомены, WWW и прочие элементы. Якобы людям сложно понять, какой именно части адреса нужно доверять и уделять внимание, чем, в частности, пользуются фишеры и другие преступники.
В итоге возникла весьма странная ситуация. Теперь, если пользователь захочет посетить www.xakep.ru, то в адресной строке отобразится просто xakep.ru. То же самое произойдет с m.facebook.com, который превратится просто в facebook.com. Все это не слишком хорошо само по себе, а в дополнение ИБ-эксперты обнаружили, что новая функциональность работает с ошибками. Дело в том, что Chrome скрывает из адресной строки «тривиальные» поддомены (например, m, чаще всего обозначающий мобильную версию тог или иного сайта). Увидеть полную версию адреса можно, только начав редактировать ссылку (по мнению разработчиков, этого вполне достаточно).
Chrome is now hiding "trivial" subdomains in the URL bar (www[.]domain[.]com shows only domain[.]com ). This is plain wrong, and buggy as hell :/ https://t.co/D1KlquA09V
— x0rz (@x0rz) September 7, 2018
Проблема состоит в том, что адрес www.domain.com вовсе не обязательно ведет на тот же сайт, что и domain.com. Также конструкция subdomain.www.domain.com не должна превращаться в subdomain.domain.com, а http://www.example.www.example.com не должен образовывать example.example.com, однако сейчас происходит именно это.
Исследователи приводят множество фактических примеров подобных ошибок. Так, http://www.pool.ntp.org и http://pool.ntp.org — это два разных адреса, один из которых должен вести на страницу проекта, тогда как другой выдает рендомный адрес NTP-сервера.
Эксперты уже обнаружили в исходниках Chromium, что для таких операций Chrome 69 используется IsTrivialSubdomain(). Отключить эту функциональность можно набрав в строке адреса chrome://flags/#omnibox-ui-hide-steady-state-url-scheme-and-subdomains
, а затем установив значение Disabled («Отключено») для настройки Omnibox UI Hide Steay-State URL Scheme and Trivial Subdomains.