Сегодня Рабочая группа по обеспечению безопасности репозиториев программного обеспечения OpenSSF выпустила версию 0.1 Principles for Package Repository Security, платформу для репозиториев пакетов, позволяющую оценить их текущие возможности безопасности и помочь наметить планы будущих улучшений.
Платформа представляет собой результат сотрудничества Рабочей группы OpenSSF по обеспечению безопасности репозиториев программного обеспечения и Агентства кибербезопасности и инфраструктурной безопасности (CISA). В Дорожной карте безопасности программного обеспечения с открытым исходным кодом CISA, опубликованной в сентябре, изложены цели по дальнейшему укреплению экосистемы с открытым исходным кодом, при этом ключевым направлением является повышение безопасности менеджера пакетов.
Нарушение широко используемых зависимостей с открытым исходным кодом может иметь широкомасштабные последствия. Репозитории пакетов находятся в критической точке экосистемы с открытым исходным кодом, помогая предотвращать или смягчать такие атаки. Даже простые действия, такие как наличие документированной политики восстановления учетной записи, могут привести к значительному повышению безопасности. В то же время возможности должны быть сбалансированы с ограниченностью ресурсов репозиториев пакетов, многие из которых находятся в ведении некоммерческих организаций.
Платформа определяет четыре уровня зрелости безопасности репозиториев пакетов по четырем категориям возможностей: аутентификация, авторизация, общие возможности и инструментарий интерфейса командной строки (CLI). Репозитории пакетов могут использовать фреймворк для самостоятельной оценки уровня своей безопасности и разработки плана дальнейшего укрепления своих платформ с течением времени.
С помощью платформы мы надеемся ускорить темпы, с которыми репозитории пакетов смогут эффективно улучшать безопасность своих продуктов. Для внедрения улучшений безопасности в репозиториях пакетов обычно выполняется ряд шагов: определение возможности обеспечения безопасности, на которой следует сосредоточиться, составление предложения по этой возможности обеспечения безопасности для рассмотрения и утверждения сообществом, после чего предложение откладывается на реализацию, если не изыскивается финансирование для приоритизации внедрения.
Хотя все эти шаги являются частью здоровой экосистемы – получение отзывов сообщества может помочь гарантировать, что результирующая реализация будет хорошо работать с другими частями экосистемы – они также требуют экспертных знаний в предметной области от сопровождающих, у которых и без того мало возможностей. Благодаря нашей общей платформе, которая основывается на существующей работе, такой как улучшения, финансируемые за счет упаковки в Python, мы надеемся, что репозитории пакетов смогут дать толчок или доработать свою дорожную карту улучшения безопасности.
В то же время мы призываем репозитории пакетов использовать возможности финансирования завершенных предложений. На протяжении многих лет ряд фондов, компаний и правительств поддерживали улучшения репозиториев пакетов с открытым исходным кодом. Например, OpenSSF Alpha-Omega профинансировала работу с Rust, Python Software Foundation и Homebrew, а Государственный технический фонд профинансировал работу с RubyGems и Python Package Index.
Как и все, что делает Рабочая группа по обеспечению безопасности репозиториев программного обеспечения OpenSSF, обратите внимание, что это добровольная структура, а не перечень действий, которые должны выполнять репозитории пакетов. Несколько репозиториев пакетов предоставили нам ценные отзывы при разработке версии 0.1 фреймворка, и мы с нетерпением ждем дополнительных отзывов, которые помогут нам сформировать будущие версии.
Угрозы безопасности меняются со временем, как и средства защиты, которые устраняют эти угрозы. Наша цель – помочь репозиториям пакетов быстрее предоставлять возможности безопасности, которые наилучшим образом способствуют укреплению безопасности их экосистем.
Для получения дополнительной информации о Рабочей группе OpenSSF по обеспечению безопасности репозиториев программного обеспечения см. Наше репозиторий на GitHub.
Примечание: CISA не поддерживает какие-либо коммерческие организации, продукты, компании или услуги, включая любые организации, продукты или сервисы, упомянутые в этом документе. Любая ссылка на конкретные коммерческие организации, продукты, процессы или услуги в виде знака обслуживания, товарного знака, производителя или иным образом не означает одобрения, рекомендации или благосклонности со стороны CISA.
Авторы: Джек Кейбл, старший технический консультант, CISA и Зак Штайндлер, главный инженер, GitHub