Chromium

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 18:03, 29 ноября 2016.
Chromium
Chromium Material Icon-256x256.png
Chromium55win10.png
Разработчики: The Chromium Authors, Google, некоторые другие компании
Выпущена: 3 сентября 2008
Состояние разработки: в активной разработке
Написана на: C++, ассемблер
Операционная система: Windows (7 или выше)
Mac OS X (10.9 или выше)
Linux
Платформа: IA-32, x64, ARM
Размер дистрибутива: 20.0 MB (FreeBSD i386)
24.0 MB (Linux)
26.3 MB (Linux x64)
23.7 MB (Mac)
15.7 MB (Windows)
Тип ПО: браузер
Лицензия: Компоненты распространяются под Apache License, BSD license, ICU License, LGPL, libjpeg license, libpng license, MIT License, MS-PL, MPL/GPL/LGPL, zlib license
Веб-сайт www.chromium.org

Chromium — это самостоятельный веб-браузер с открытым исходным кодом, распространяемым на основе лицензий BSD. На основе этого открытого кода компания Google создала свой браузер Chrome под собственной лицензией EULA. Chromium включает движок для отображения html-страниц WebKit. Одна из важнейших возможностей — это расширение вроде расширений браузера Firefox.

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

Разработка веб-браузера началась 25 июля 2008. 1 сентября 2008 года на официальном блоге Google Сандар Пичаи (Sundar Pichai) и Линус Апсон (Linus Upson) анонсировали браузер Google Chrome. На следующий день состоялся выпуск первой публичной бета-версии браузера от Google, а также была опубликована большая часть кода браузера, лицензированного преимущественно под опциональной BSD-лицензией, а также рядом других. Проект получил название Chromium, намекая на то, что Google Chrome изготовлен из хрома. Разработчики Google объяснили создание открытого и свободного проекта Chromium стремлением помочь Mozilla и WebKit развивать Интернет и веб-технологии, предоставить разработчикам удобную платформу для создания и развития собственных проектов, а также возможностью протестировать свои собственные продукты силами сообщества. Для взаимодействия с сообществом Google создал ряд сервиcов: дискуссионные группы, справочные форумы, официальный блог проекта, баг-трекер. Также разработчики Chromium гарантировали, что будут всячески стремиться соединять собственные разработки и исправления с основной ветки разработки WebKit.

Особенности

Скорость

Поставив своей целью разработать быстрый браузер, разработчики решили использовать открытые компоненты. Движком отображения веб-страниц был выбран свободный WebKit. Он обеспечивал необходимую скорость рендеринга, имея при этом ряд других преимуществ. С движком обработки JavaScript все было немного сложнее. Все имеющиеся на момент 2008 года двигатели не обеспечивали необходимой производительности или распространялись по закрытым лицензиям. Поэтому инженеры Google написали с нуля скоростной, высокопроизводительный движок V8, что позволило Chromium стать на момент запуска веб-обозревателя одним из самых быстрых браузеров в плане обработки JavaScript. В конце 2009 года в тестовых сборках Chromium начались работы по внедрению аппаратного ускорения при обработке динамического содержимого. Результат работы проявился в 7 версии Chromium, где уже можно было включить аппаратное ускорение, обеспечивая высочайшую производительность при обработке динамического 2D (Canvas) и 3D-контента (WebGL) с помощью графического процессора, показывая высокие результаты в демонстрационных тестах от Microsoft и Google.[1] Для ускорения доступа к страницам используется технология предварительного чтения DNS и предварительная прорисовка страниц (пререндеринг). 7 декабря 2010 года Google анонсировала новый виток развития V8, разработав новую инфраструктуру компиляции кода. Новая технология под названием Crankshaft позволила добиться огромного прироста в производительности (порядка 109 %), обойдя все конкурирующие движки.[2]

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

Согласно заявленным создателями Chromium стремлениям создать самый безопасный браузер, разработчики уделяют большое внимание внедрению новых функций по защите браузера. Для обеспечения безопасности в Chromium была выбрана модель «песочницы», позволявшая ограничить простор для атаки пользовательского компьютера через использованную уязвимость. Исследователи Google пришли к выводу, что почти 70 % угроз «работают» в движке отображения, который взаимодействует с ненадежным содержимым.[3] Именно поэтому разработчики перевели всю работу движка в песочницу. На большинстве операционных систем Linux этот режим в браузере включен, однако некоторые неофициальные сборки Chromium дистрибутива Slackware отключают режим «песочницы» принудительно. Тем не менее, на официально поддерживаемых Google Linux-системах, начиная с версии 23, Chromium использует возможности ядра для использования дополнительных компонентов, таких, как фильтры seccomp-bpf, позволяющих значительно ограничить потенциал использования злоумышленником специфических вызовов ядра. В сборнике 66022 разработчики перенесли в «песочницу» (изменение касается систем под ОС Microsoft Windows) и выполнения модуля, который подключается Adobe Flash Player, который достаточно часто становится объектом пристального внимания хакеров.[4]

В Chromium нет действенной защиты от XSS-атак, но, благодаря тому, что Chromium поддерживает HTTP-Only cookies, опасность межсайтового скриптинга значительно снижается. Также активно тестируется функция XSS Auditor, внедрена в список экспериментальных функций в 7 версии. Этот компонент значительно увеличивает защиту от межсайтового скриптинга. Впервые XSS Auditor был использован в 4 версии Chromium, но в связи с многочисленными ошибками и падением производительности в версии 4.1 функция была отключена. Проблему с производительностью и стабильностью разработчикам удалось решить, но функция до сих пор является экспериментальной, так как не все сайты способны с ней работать. Также в 7 версии Chromium в качестве эксперимента появилась возможность надзора за модулями. Браузер получил возможность предлагать отключение тех плагинов, которые имеют незакрытые уязвимости до тех пор, пока не выйдет обновленная версия модуля с исправлением ошибок, окончательно функция стала доступна в 10 версии браузера. Для обеспечения криптографической безопасности при работе с конфиденциальной информацией пользователей Chromium предоставляет возможность работать с защищенным протоколом передачи данных (HTTPS), которые могут упаковываться в соответствии с криптографическими протоколами SSL 3.0 и TLS 1.0. Для дополнительной защиты Chromium может использовать экспериментальный открытый протокол HSTS, что позволяет устанавливать с сайтами в форсированном режиме защищенное соединение. Часть настроек безопасности пользователь может регулировать сам.

В Chromium встроен компонент Безопасный просмотр, обеспечивающий защиту от фишинга и вредоносного ПО. Chromium при первом запуске в течение первых пяти минут загружает базы определений вредоносных и мошеннических сайтов, которые затем обновляет каждые 30 минут, при этом никакая личная информация в компанию Google не отправляется. Сам компонент может быть отключен в настройках браузера. Дополнительно Chromium позволяет проводить гибкую настройку содержания веб-страниц: редактировать политику запуска подключаемых модулей, использование JavaScript и cookies, а также проводить очистку конфиденциальных данных за определенный период. Среди других механизмов защиты можно выделить:

  • Спецификация HTML5 в виде Origin Header обеспечивает защиту от подделки межсайтовых запросов (CSRF), блокируя неправильные запросы сайтов.
  • Chromium поддерживает X-Frame-Options API, что защищает браузер от кликджекинга, а также X-Content-Type-Options API, что дает браузеру возможность защищаться от MIME-сниффинга.
  • Chromium поддерживает «режим инкогнито», при котором история посещений и загрузок не записывается в журналы, а файлы cookies удаляются после закрытия браузера.

Надежность

Для повышения стабильности для Chromium была выбрана мультипроцесная архитектура. Браузер, движок рендеринга, расширения, подключаемые модули работают в отдельных процессах. Таким образом, при нарушении работы, например, расширения браузер продолжит работу в обычном режиме, выдав предложение о перезапуске расширения.

В мультипроцессорной архитектуры есть еще ряд преимуществ, кроме стабильности:

  • Возможность мгновенного освобождения памяти при закрытии одного из компонентов. В частности, при закрытии вкладки потребляемая им память освободится сразу, в отличие от браузеров, которые используют однопроцесную архитектуру, где очистка памяти при закрытии вкладки идет немного дольше.
  • Активное взаимодействие с операционной системой. При использовании большого числа вкладок многие вкладки могут простаивать в бездействии, несмотря на то, что они необходимы пользователю. Chromium, взаимодействуя с ОС, уменьшает потребление памяти, заставляя систему считать неиспользуемую вкладку свернутым приложением.
  • Возможность понимания, какие ресурсы и в каком количестве выделяются каждому запущенному компоненту. Для того, чтобы пользователь мог точно разобраться в каждом процессе, в Chromium установлен собственный диспетчер задач и инструмент статистики about:memory.

Но при этом подобная архитектура имеет существенный недостаток — более общее потребление памяти.

Моментальные снимки

Chromium моментальные снимки создаются автоматически несколько раз в день BuildBot Buildslaves и доступны в виде двоичных кодов выпусков.[5] После того, как снимок был построен, он помещается в директории в хромо-браузерных моментальные снимки корневого каталога, и он автоматически проверен. Если снимок проходит автоматическое тестирование, он помещается в директории в хромо-браузера непрерывной корневой директории.

Пакеты сообщества

Хром может быть загружен для большинства дистрибутивов Linux и BSD операционных систем от своих программных хранилищ. Chromium для Windows, и Mac можно загрузить напрямую. В отличие от Chrome, Chromium-релизы не обновляются автоматически.[6]

Другие браузеры на основе Chromium

Активные

  • Blisk это браузер для Windows 7, который призван обеспечить множество полезных инструментов для веб-разработки.
  • Brave веб-браузер с открытым исходным кодом, который стремится блокировать средства отслеживания веб-сайта и удалять навязчивые интернет-рекламные объявления.
  • Comodo Dragon является ребрендинг версией Chromium для 32-разрядной ОС Windows 8.1, 8, Windows 7 и Vista, [144] производимого Comodo Group. По словам разработчика, он обеспечивает улучшенные функции безопасности и конфиденциальности.[7]
  • SRWare Iron
  • Google Chrome
  • Яндекс Браузер, созданный российской компанией Яндекс для MacOS, Windows и Linux. Браузер интегрирует сервисы Яндекса, которые включают в себя поисковую систему, услугу машинного перевода и облако хранения.
  • Maple Studio ChromePlus
  • Opera стала основывать свой веб-браузер на Chromium с версии 15.
  • Flock — начиная с версии 3.0.

Не активные

  • CoolNovo
  • Titan Browser
  • Flock - браузер, который специализируется на предоставлении социальных сетей и имел вебинструментарий, встроенные в его пользовательский интерфейс. Он был основан на Chromium начиная с версии 3.0. Flock был прекращен в апреле 2011 года.
  • Rockmelt

Примечания

  1. Paul, Ryan (December 2008). "Google releases Chrome 1.0". Retrieved 19 June 2010. 
  2. Chromium [Электронный ресурс]: — Режим доступа:wiki info
  3. Google (September 2008). "Welcome to Chromium". 
  4. "User Experience (Chromium Developer Documentation)". Chromium Developer Documentation. dev.chromium.org. 2009. Retrieved 5 July 2009. 
  5. "Tour of the Chromium Buildbot Waterfall - The Chromium Projects". Retrieved 1 March 2014. 
  6. "Download Chromium - The Chromium Projects". Chromium.org. Retrieved 2014-04-25. 
  7. Comodo Group (2010). "Comodo Dragon Internet Browser". Retrieved 28 June 2010.