В общем потоке новостей остался незамеченным совместный призыв продукт-менеджера Chrome Кенджи Бахе и веб-консультанта Google Юсуке Уцуномии об использовании нового стандарта Web Bundles, разработанного Google. На chromium.googlesource появился соответствующий мануал по использованию WebBundles и, собственно, особо о нем больше не говорилось. Запись от лица Базе и Уцуномии была опубликована еще в ноябре 2019 года, но вызвала реакцию сообщества только сейчас, и то, исключительно на нескольких профильных площадках и в одном блоге, посвященном кибербезопасности.
Чем так опасна технология «упаковки» содержимого веб-страницы в один источник, что это вообще такое, и почему команда веб-разработки Google ступает на очень скользкую дорожку, давайте разбираться ниже.
Web Bundle — дело RarJPEG живет
Конкретно о WebBundle писали на Хабре в уже достаточно далеком 2015 году. Тогда автор ComodoHacker выпустил статью "Web Bundle — дело RarJPEG живет" с обзором свежего релиза нового инструмента на GitHub.
Принцип WebBudle образца 2015 года прост и дублирует принципы упаковки .exe-файлов: «произвольные файлы упаковываются в один файл-контейнер, а на клиентской стороне доступ к ним организуется по имени файла с помощью API».
Релиз 2015 года фактически, был переосмыслением знакомым с имиджбордами пользователям, принципа rarJPEG — когда в изображение упаковывалось дополнительное содержимое. Это позволяло обходить ограничения борд на загрузку только изображений и передавать произвольные файлы между пользователями с помощью анонимной платформы.
WebBundle все так же был направлен на обход ограничений по типу файлов: с его помощью в условный PNG можно было запаковать что угодно, вплоть до бинарников, и передать под видом картинки одним «архивом».
В 2015 году ComodoHacker очень правильно оценил перспективы WebBundle: технология специфичная и она будет жить, только если ей найдется применение. Сейчас, из 2020 года мы можем смело ответить, что нет, применения технологии не нашлось и в свет она не пошла.
Вот только проблема в том, что в рядах инженеров и веб-разработчиков Google определенно есть завсегдадаи Форчана, и они переосмыслили концепцию WebBundle, выпустив в свет версию 2.0 или, как они сами ее назвали, WebBundles.
Чем WebBundles 2019 года от Google отличается от WebBundle 2015 года
Первое и очевидное — за работу взялись ребята из Google. Второе — вроде бесполезную сову упаковки в PNG рандомных файлов они сумели натянуть на огромный глобус веб-разработки и сайтостроения.
Если давать TL;DR, то разница между WebBundles и WebBundle выглядит примерно вот так:
Инженеры Google прямо предлагают использовать WebBundles для инкапсуляции нескольких источников в один файл для последующего его отображения в качестве итоговой веб-страницы для пользователя. Фактически, наиболее близкая из существующих сейчас технологий — это PDF. Думаю, многие из нас сталкивались хоть раз в своей жизни с необходимостью извлечь из PDF-файла часть его содержимого и в дальнейших комментариях это не нуждается.
Но если Google станет продвигать WebBundles как повсеместный инструмент, для веба могут настать крайне мрачные времена, и вот почему.
Чем опасен WebBundles для современного веба
Современный веб построен на принципе, что для каждого источника есть своя ссылка, то есть мы можем провести декомпиляцию страницы и посмотреть ее содержимое, зачастую, буквально через открытие консоли в браузере.
В случае с упаковкой сайта в WebBundles мы получаем монолит из десятков или сотен инкапсулированных источников, которые для внешнего мира скрываются под одной ссылкой, а вызов этого содержимого возможен только при прямом обращении к нашему «монолиту».
С точки зрения информационной безопасности это означает, что любой сайт, который для внешнего мира представляется просто как условная моно-ссылка, внутри себя может содержать произвольный JS-код, скрипты, рекламу и так далее, на что хватит фантазии.
Исследователь в области информационной безопасности из компании компании Brave Питер Снайдер так отозвался в своем блоге о созданной Google технологии:
Эта технология может превратить современный интернет из набора ресурсов с гиперссылками (которые можно проверять, выборочно получать или даже заменять) на непрозрачные «пузыри», которые работают по принципу «все или ничего» (например, как уже работают PDF или SWF).
Проблема WebBundles в том, что сам принцип непрозрачной упаковки содержимого веб-страницы в единый монолит делает невозможным проверки, плюс обесценивает уже выстроенный механизм значимости и индексации URL-адресов.
По сути, общая проблема всех этих трюков с упаковкой заключается в том, что WebBundles создают локальное пространство имен, независимо от того, что видит остальной мир. В итоге это может вызвать огромную путаницу в именах и свести на нет годы работы по созданию конфиденциальной и безопасной среды.
Зачем это токсичный чемодан без ручки нужен Google
Сейчас будет озвучен всем известный факт: Google ненавидит блокировщики рекламы. Возможно, они стараются делать вид, что блокировщики — это явление, с которым надо жить и которое никуда не денется. Возможно, они сами поддерживают этот мейнстрим. Например, в ноябре в Chrome добавили встроенный блокировщик.
Но давайте будем честны: вся империя Google держится на баннерах и первых трех ссылках поисковой выдачи с пометкой «реклама». Это многомиллиардный доход корпорации и вокруг баннеров и этих трех ссылок крутится весь бизнес и империя разработки Google.
WebBundles может изменить правила игры на техническом уровне и сделать концепцию работы современных блокировщиков рекламы полностью недееспособной. В WebBundles можно упаковать рандомные URL для отображения рекламы, в них можно совершать подмену URL-адресов и так далее, на что у вас хватит фантазии.
При этом Google настроена достаточно серьезно. Текущая реализация WebBundles уже интегрирована в стабильные версии Chrome, но пока по умолчанию отключена. Но при желании по chrome://flags
вы можете открыть этот ящик Пандоры.
Версия Chrome 85.0.4183.83 (Официальная сборка), (64 бит)
Сейчас WebBundles больше похоже на ружье, которое висит на стене и никогда не выстрелит. Но если Google сильно «прижмет» и доходы компании значительно просядут из-за падения рекламных бюджетов, в ход может пойти и это оружие. Что пообещает корпорация веб-разработчикам — неизвестно, но уже точно понятно, что WebBundles выглядит очень аппетитно для недобросовестных веб-мастеров, которые готовы монетизировать свое хозяйство любыми путями и способами.
Как с этим бороться — тоже непонятно, особенно с учетом того, что во главе возможного внедрения «web-PDF» будет стоять компания, которая занимается разработкой самого популярного браузерного движка на планете. Еще хуже то, что этому движку сейчас нет внятных альтернатив, потому что даже Microsoft уже как два года «пристрелили и закопали» свою стюардессу EdgeHTML, перейдя на Chromium.
Аналогия с PDF проведена не просто так: базовый принцип отображения и упаковки данных между форматом защиты документов и WebBundles крайне схож. Еще хуже то, что к 2020 году в широком доступе нет инструментов и сервисов (даже платных), которые бы со 100% точностью декомпилировали содержимое PDF и отдавали его пользователю в нужном формате, а мы говорим просто о защите текстовых данных. Какие способы защиты содержимое контейнеров WebBundles могут создать в Google — остается только гадать.
Google пока аккуратно позиционирует WebBundles как «инструмент для сохранения и передачи веб-сайтов в локальном виде», то есть через носители или Bluetooth. При этом компания называет WebBundles «новым стандартом, который может коренным образом изменить интернет», то есть планы по широкому внедрению WebBundles уже есть.
На правах рекламы
Серверы для размещения сайтов любых масштабов — это про наши эпичные! Все серверы «из коробки» защищены от DDoS-атак, скорость интернет-канала 500 Мегабит, автоматическая установка удобной панели управления VestaCP для размещения сайтов и даже автоматическая установка Windows Server на тарифах с 2 ГБ ОЗУ или выше. Поспешите заказать!
Автор: Александр