Перейти к содержанию

Chromium

Эта статья входит в число хороших статей
Материал из Википедии — свободной энциклопедии
Chromium
Логотип программы Chromium
Скриншот программы Chromium
Тип Браузер
Разработчики The Chromium Authors, Google[1][2], некоторые другие компании[3]
Написана на C++
Движки V8, Blink и Skia Graphics Engine
Операционные системы Windows (7 или выше)
macOS (10.13 или выше)
Linux[4]
Языки интерфейса амхарский язык, арабский, бенгальский язык, бразильский португальский, болгарский, каталанский, упрощённый китайский, классический китайский язык, хорватский, чешский, датский, нидерландский, английский, эстонский, филиппинский язык, финский, французский, грузинский, немецкий, греческий, иврит, хинди, венгерский, индонезийский язык, итальянский, японский, каннада, корейский, латышский язык, литовский язык, малайский язык, малаялам, маратхи, букмол, персидский, польский, португальский, румынский, русский, сербский, словацкий, словенский, испанский, суахили, шведский, тамильский язык, телугу, тайский, турецкий, украинский и вьетнамский
Дата выпуска 3 сентября 2008
Последняя версия
Репозиторий chromium.googlesource.com/…
github.com/chromium/chro…
Состояние в активной разработке
Лицензия Компоненты распространяются под Apache License, BSD license, ICU License, LGPL, libjpeg license, libpng license, MIT License, MS-PL, MPL/GPL/LGPL, zlib license[1]
Сайт chromium.org/Home/
Логотип Викисклада Медиафайлы на Викискладе

Chromium (МФА ['krəumɪəm], англ. chromium — хром) — веб-браузер с открытым исходным кодом, разрабатываемый сообществом The Chromium Authors, компанией Google и некоторыми другими компаниями (Opera Software, Яндекс, NVIDIA, Microsoft и другими)[3]. По утверждению разработчиков, Chromium предназначен для предоставления пользователям быстрого, безопасного и надёжного доступа в Интернет, а также удобной платформы для веб-приложений[8][9]. На основе Chromium создан браузер Google Chrome (при этом в рамках Chromium также доступны ранние пре-альфа версии[10], в которых можно ознакомиться с новшествами, ещё не включёнными в состав Chrome), а также ряд других альтернативных веб-обозревателей[2].

История создания

[править | править код]

Разработка веб-обозревателя началась 25 июля 2008 года[11]. 1 сентября 2008 года в официальном блоге Google Сандар Пичаи (Sundar Pichai) и Линус Апсон (Linus Upson) анонсировали браузер Google Chrome[8]. На следующий день состоялся выпуск первой публичной бета-версии браузера от Google, а также была опубликована большая часть кода браузера, лицензированного преимущественно под опциональной BSD-лицензией[12], а также рядом других[1]. Проект получил название Chromium. Разработчики Google объяснили создание открытого и свободного проекта Chromium стремлением помочь Mozilla и WebKit развивать Интернет и веб-технологии, предоставить разработчикам удобную платформу для создания и развития собственных проектов, а также возможностью протестировать свои собственные продукты силами сообщества[12]. Для взаимодействия с сообществом Google создал ряд сервисов: дискуссионные группы[13], форум[14], официальный блог проекта[15], баг-трекер[16]. Также разработчики Chromium гарантировали, что будут всячески стремиться соединять собственные разработки и исправления с основной веткой разработки WebKit[12]. В марте 2011 года разработчики решили провести изменение логотипа браузера из 3D в 2D-представление[17][18].

Особенности

[править | править код]

Поставив своей целью разработать быстрый браузер, разработчики решили использовать открытые компоненты. Движком отображения веб-страниц был выбран свободный WebKit. Он обеспечивал необходимую скорость рендеринга, имея при этом ряд других преимуществ[19][20]. С движком обработки JavaScript всё обстояло несколько сложнее. Все имевшиеся на момент 2008 года движки либо не обеспечивали необходимой производительности, либо распространялись по закрытым лицензиям. Поэтому инженеры Google написали с нуля скоростной, высокопроизводительный[21][22][23][24] движок V8, что позволило Chromium стать на момент запуска веб-обозревателя одним из самых быстрых браузеров в плане обработки JavaScript. В конце 2009 года в тестовых сборках Chromium начались работы по внедрению аппаратного ускорения при обработке динамического содержимого. Результат работы проявился в 7 версии Chromium, где уже можно было включить аппаратное ускорение[25][26][27], обеспечивая высочайшую производительность при обработке динамического 2D- (Canvas) и 3D-контента (WebGL) с помощью графического процессора, показывая высокие результаты в демонстрационных тестах от Microsoft и Google[28][29][30][31][32][33]. Для ускорения доступа к страницам используется технология предварительного чтения DNS[34] и предварительная отрисовка страниц (пререндеринг)[35][36]. 7 декабря 2010 года Google анонсировала новый виток развития V8, разработав новую инфраструктуру компиляции кода. Новая технология под названием Crankshaft позволила добиться огромного прироста в производительности (порядка 109 %), обойдя все конкурирующие движки[37][38].

В апреле 2013 было объявлено, что браузеры Chromium и Chrome, а также операционная система Chrome OS переходят на новый открытый движок Blink, являющийся форком WebKit. Первоначальной целью такого решения было доработать внутреннюю архитектуру движка и сократить объём его исходного кода[39].

Безопасность

[править | править код]
Safe Browsing в действии

Согласно заявленным создателями Chromium стремлениям создать самый безопасный браузер, разработчики уделяют большое внимание внедрению новых функций по защите браузера. Для обеспечения безопасности в Chromium была выбрана модель «песочницы», позволявшая ограничить простор для атаки пользовательского компьютера через использованную уязвимость[40]. Исследователи Google пришли к выводу, что почти 70 % угроз «работают» в движке отображения, который взаимодействует с ненадёжным содержимым. Именно поэтому разработчики перевели всю работу движка в песочницу[~ 1][41][42]. На большинстве операционных систем Linux этот режим в браузере включен, однако некоторые неофициальные сборки Chromium дистрибутива Slackware отключают режим «песочницы» принудительно[43].

Тем не менее на официально поддерживаемых Google Linux-системах, начиная с версии 23, Chromium использует возможности ядра для использования дополнительных компонентов, таких как фильтры seccomp-bpf, позволяющие значительно ограничить потенциал использования злоумышленником специфичных вызовов ядра[44]. В сборке 66022 разработчики перенесли в «песочницу» (изменение касается систем под ОС Microsoft Windows) также исполнение подключаемого модуля Adobe Flash Player[45][46], который довольно часто становится объектом пристального внимания хакеров[47]. У Chromium нет действенной защиты от XSS-атак, но, благодаря тому, что Chromium поддерживает HTTP-only cookies, опасность межсайтового скриптинга значительно снижается[48]. Также активно тестируется функция XSS Auditor, внедрённая в списке экспериментальных функций в 7 версии. Данный компонент значительно увеличивает защиту от межсайтового скриптинга. Впервые XSS Auditor был использован в 4 версии Chromium[49], но в связи с многочисленными ошибками и падением производительности в версии 4.1 функция была отключена[50]. Проблему с производительностью и стабильностью разработчикам удалось разрешить, но функция до сих пор является экспериментальной, так как не все сайты способны с ней работать[51]. Также в 7 версии Chromium в качестве эксперимента появилась возможность надзора над подключаемыми модулями. Браузер получил возможность предлагать отключение тех плагинов, которые имеют незакрытые уязвимости до тех пор, пока не выйдет обновлённая версия модуля с исправлением ошибок[51][52][53], окончательно функция стала доступна в 10 версии браузера[54]. Для обеспечения криптографической безопасности при работе с конфиденциальной информацией пользователей Chromium предоставляет возможность работать с защищённым протоколом передачи данных (HTTPS), которые могут упаковываться в соответствии с криптографическими протоколами SSL 3.0 и TLS 1.0. Для дополнительной защиты Chromium может использовать экспериментальный открытый протокол HSTS, позволяющий устанавливать с сайтами в форсированном режиме защищённое соединение[55][56].

Часть настроек безопасности пользователь может регулировать сам. В Chromium встроен компонент Безопасный просмотр, обеспечивающий защиту от фишинга и вредоносного ПО[57][58]