Wolfi, созданная компанией Chainguard, специализирующейся на поставках программного обеспечения для облачных вычислений, – это молодой «un-distro» Linux, который улучшает безопасность программного обеспечения для облачных вычислений. Сможет ли его инновационный дизайн запустить новое решение для укрепления настольных дистрибутивов?
В сентябре 2022 года разработчики анонсировали Wolfi первый общественный Linux un-distro, созданный для минимализма, быстрого обновления и оперативного устранения общих уязвимостей (CVE). Уязвимости в программном коде облегчают хакерам задачу разрушения компьютерной безопасности в облачных и локальных средах.
CVE – это база данных публично раскрытых проблем информационной безопасности. Орган нумерации CVE (CNA) присваивает уникальные номера для идентификации точек вторжения. Общие идентификаторы облегчают обмен данными между отдельными базами данных и инструментами сетевой безопасности, что позволяет оценить степень охвата средствами защиты организации.
Разработчики Wolfi надеялись, что сочетание характеристик поможет им создать безопасный базовый слой для контейнеров, в которых хранятся приложения в облачных хранилищах. С момента выпуска Wolfi сопровождающие и участники сообщества Chainguard намерены помочь разработчикам решить проблемы безопасности программного обеспечения, создавая более безопасное ПО с самого начала.
Инновационный дизайн для облачных рабочих нагрузок
Wolfi использует новый подход, ориентированный на быстрое внедрение контейнерных и облачных нативных рабочих нагрузок. Одним из важных принципов разработки Wolfi является приоритет скорости обновления над стабильностью.
Chainguard считает быстрые обновления обязанностью дистрибутива. Его разработчики считают, что пользователи никогда не должны ждать, пока дистрибутив выпустит исправление.
По словам штатного DevRel-инженера Chainguard Адриана Муата, понятие «un-distro» в мире Linux означает отсутствие в нем некоторых функций, присущих другим полноценным традиционным дистрибутивам Linux. В частности, отсутствует ядро Linux
«Большинство современных рабочих нагрузок выполняются в контейнерах, а существующие дистрибутивы Linux были разработаны для более ранней эпохи. Переход к использованию контейнеров и балансировка новых рисков безопасности привели к появлению таких проблем, как использование известных уязвимостей. Единственный способ решить эти проблемы – создать дистрибутив, предназначенный для контейнерных/облачных нативных сред, и именно поэтому мы создали Wolfi»
- сказал Муат
Лучшая безопасность от образов, а не от версий
Для достижения этой цели Wolfi использует скользящий график выпуска и не имеет релизных версий, а только пакеты, которые быстро получают обновления. По словам компании, такой подход гарантирует, что пользователи Wolfi смогут использовать пакеты без уязвимостей как можно скорее.
Wolfi – это общественная Linux ОС, разработанная для эпохи контейнеров и облачных технологий. Компания Chainguard начала проект Wolfi для создания Chainguard Images, коллекции курируемых «бездистрибутивных» образов, которые отвечают требованиям безопасной программного обеспечения.
Конечно, существуют и другие так называемые бездистрибутивные предложения. Например, бездистрибутивные образы Google созданы с помощью Bazel и основаны на дистрибутиве Debian Bazel – это инструмент сборки и тестирования с открытым исходным кодом, подобный Make, Maven и Gradle, который использует человекопонятный язык сборки высокого уровня.
Образы Chainguard собираются с помощью apko, инструмента командной строки, который позволяет пользователям создавать образы контейнеров с помощью декларативного языка, написанного на YAML. Название apko происходит от формата пакета APK и вдохновлено инструментом сборки ko.
Бездистрибутивность означает, что система содержит только те зависимости, которые необходимы для запуска одного приложения. Например, контейнер Redis содержит только то, что необходимо для работы Redis. В нем даже отсутствуют оболочка и менеджер пакетов
«Это контрастирует с традиционными образами контейнеров, которые часто содержат различные системные утилиты не необходимые для работы приложения»
- добавил Муат
По словам представителей компании, когда Chainguard впервые представила Wolfi, предполагалось, что это будет проект, управляемый сообществом, который добьется признания в качестве наиболее надежного дистрибутива для сервисов и задач запускаемых в контейнерах. Она надеялась, что другие разработчики программного обеспечения будут использовать Wolfi для решения многих задач.
Разница с отличием
Wolfi отличается от Chainguard Images. Это не одно и тоже, но они тесно связаны между собой.
Wolfi – это название открытого дистрибутива Linux без исходных кодов. Chainguard Images создаются на основе пакетов Wolfi и обладают такими значительными преимуществами, как быстрое обновление, исправление и программная спецификация (SBOM) во время сборки, уточнил Муат.
Chainguard Images – это коллекция образов контейнеров, созданных для обеспечения безопасности и минимализма. Многие из них не содержат дистрибутивов. Компания предлагает сочетание образов без дистрибутива и образов для разработки (или сборки), которые отличаются минимализмом и включают подтверждение происхождения для повышения безопасности.
Джон Спид Мейерс, глава Chainguard Labs, считает Wolfi набором строительных блоков или пакетов, которые разработчики могут использовать для создания программного обеспечения. Он рассматривает Chainguard Images как контейнеры, созданные из пакетов Wolfi для выполнения задач, связанных с контейнерами.
«Поскольку контейнеры стали так популярны в облачных вычислениях, контейнеры, созданные на основе Wolfi, также хороши для основных облачных вычислений, по крайней мере, там, где задействованы контейнеры»
Еще одно близкое различие заключается в том, как осуществляется управление пакетами. Wolfi – это скользящий дистрибутив Linux без традиционной нумерации версий. По сути, это та же модель, что и в Alpine Linux используемая во встраиваемых системах и контейнерах, предложил Муат.
«Пакеты Wolfi берутся из официальных релизов проекта точно так же, как и другие дистрибутивы. Просто у нас больше автоматизации и мы можем выпускать релизы быстрее. Я ожидаю, что в будущем мы увидим, как другие дистрибутивы также ускорят темп выпуска новых версий программного обеспечения»
Почему два «почти алика» сосуществуют
Компания Chainguard решила создать собственный дистрибутив Linux для создания своих образов контейнеров с низким и нулевым количеством известных CVE. По словам Муата, разработчики должны контролировать, как быстро они могут применять обновления в ответ на уязвимости и выпускать рекомендации по безопасности.
«Единственный способ сделать это – создать собственный дистрибутив Linux, созданный для скорости»
Wolfi, как и Alpine, делает упор на быстрое исправление CVE. Большинство популярных контейнеров раздуты слишком большим количеством программного обеспечения, обновляются слишком редко и наполнены пакетами с CVE, объяснил он.
Wolfi также предлагает другие преимущества безопасности ПО, такие как Software Bill of Materials для пакетов и ключевые пакеты, загружаемые из исходного кода, добавил Мейерс.
Уникальность Wolfi – отдельно от Chainguard Images – заключается в повышении надежности облачного ПО, отмечает Ариадна Конилл, соучредитель и директор по инновациям компании Edera, специализирующейся на защите контейнеров.
«Wolfi довольно уникален тем, что все биты, необходимые для загрузки всего дистрибутива, были опубликованы вместе с инструкциями по их использованию для создания собственных независимых сборок набора пакетов Wolfi»
Ещё одним преимуществом Wolfi является автоматизация обновления пакетов и корреляция автоматических обновлений пакетов с информацией об устранении уязвимостей. Другие дистрибутивы, такие как NixOS создали свои собственные реализации некоторых из этих возможностей.
«Но, насколько я знаю, Wolfi – единственный коммерчески поддерживаемый дистрибутив с моделью скользящих релизов с высокой степенью автоматизации»
Дистрибутив для новой эры
Большинство современных дистрибутивов Linux изначально были разработаны для ушедшей эпохи, считает Муат. Сначала они предназначались для запуска непосредственно на настольных компьютерах, стоящих на столах людей, и на стойках в серверной.
«Я достаточно стар, чтобы помнить, как устанавливал Red Hat и Debian с компакт-дисков и даже дискет! Затем они практически без потерь перешли на виртуальные машины, но в сегодняшнем ландшафте, где преобладают контейнеры, я думаю, они начинают поскрипывать»
По словам Муата, Wolfi показывает, что переосмысление дистрибутива Linux с упором на небольшие модульные пакеты, которые часто обновляются, имеет свои преимущества для организаций, работающих с контейнерными рабочими нагрузками.
«Я думаю, что мы увидим все больше и больше инициатив со стороны основных дистрибутивов, которые попытаются привнести некоторые из этих преимуществ в свои предложения»
Комментарии (0)