Как программа подписи программного обеспечения Linux Foundation борется с атаками на цепочку поставок — CloudSavvy IT

Shutterstock / kenary820

Проекты с открытым исходным кодом, которые скомпрометированы и используются для распространения вредоносных программ, могут уйти в прошлое. Инициатива Linux Foundation по подписанию программного обеспечения хочет стать Let’s Encrypt для выпусков программного обеспечения.

Проблема

Поразительно широкое использование открытого исходного кода. Программное обеспечение с открытым исходным кодом, инструменты и библиотеки можно найти почти во всех существующих разработках нетривиального программного обеспечения. К сожалению, именно то, что делает открытый исходный код привлекательным — у вас есть доступ к исходному коду программного обеспечения, и любой может представить исправления ошибок и новые функции, — представляет собой вектор атаки, который может быть использован злоумышленниками.

В проекты с открытым исходным кодом злоумышленники внедрили вредоносный код, который использует популярность продукта с открытым исходным кодом в качестве метода распространения своих вредоносных программ. Обычно он предоставляет злоумышленникам бэкдор на компьютеры жертв. Он также может запускать регистратор нажатий клавиш или загружать реальное вредоносное ПО с серверов киберпреступников.

Этот тип атаки является формой атака цепочки поставок. При атаке на цепочку поставок жертвы напрямую не скомпрометированы. Вредоносная полезная нагрузка вставляется во что-то у одного из поставщиков жертвы. Когда жертва достает испорченный предмет, запускается вредоносная нагрузка, и жертва оказывается скомпрометированной. Самый известный пример атаки на цепочку поставок был использован в Stuxnet атака на завод по обогащению урана в Натанзе, Иран.

Программное обеспечение с открытым исходным кодом — очевидная платформа, которую киберпреступники могут использовать для этого типа атак. В ответ Linux Foundation запускает sigstore. sigstore — это бесплатное обслуживание— разработана совместно с Google, Красная шляпа, и Университет Пердью— что разработчики программного обеспечения могут использовать для цифровой подписи своих выпусков программного обеспечения.

sigstore защищает потребителей с открытым исходным кодом от таких атак, как атаки путаницы зависимостей. Эти атаки заставляют менеджеров пакетов устанавливать удаленно размещенную вредоносную версию локально доступного ресурса, такого как файл библиотеки. Диспетчеру пакетов сообщается, что в устанавливаемом программном обеспечении существует зависимость и что необходимо обновить файл локальной библиотеки. Удаленно размещенная испорченная версия имеет более высокий номер версии, который удовлетворяет фиктивной зависимости. «Обновление» происходит, и система скомпрометирована.

Как работает sigstore

Как и все схемы подписи и сертификации, ценность подписи или сертификата зависит от степени доверия людей к выдающему органу. sigstore использует Фонд OpenID OpenID Connect который основан на отраслевом стандарте X.509 схема определения сертификатов и управления ими. sigstore использует протокол аутентификации OpenID для привязки сертификатов к личности разработчика. Обычно это их адрес электронной почты или другой идентификатор учетной записи.

Клиент sigstore создает краткосрочную пару ключей. Он запрашивает sigstore Инфраструктура открытых ключей (PKI), который проверяет наличие действительной проверки OpenID Connect и выдает сертификат, если все в порядке. Сертификат создается с использованием значений пары ключей, которые будут использоваться для подписи программного обеспечения.

Контрольный журнал сертификатов и подписей ведется в виде неизменяемого общедоступного журнала. Журнал можно использовать для проверки выпусков программного обеспечения и сертификатов. Он обеспечивает общедоступное доказательство подписи в файле. Последующие подписи будут уникальными, потому что также записываются время и дата. Это обеспечивает набор гарантий происхождения и происхождения файлов с открытым исходным кодом и позволяет политикам безопасности на основе сигнатур перехватывать файлы, которые нельзя проверить и которым нельзя доверять.

Если вредоносный код внедряется в проект с открытым исходным кодом и не обнаруживается процессами управления слияниями или кода и коллегиальной проверки, он может быть скомпилирован в двоичный файл. Если двоичный файл будет подписан цифровой подписью, sigstore не узнает об этой встроенной угрозе и теоретически может сертифицировать вредоносный выпуск.

В этом случае общедоступный журнал подписи может быть полезным при расследовании атаки и средством раннего предупреждения других о скомпрометированном двоичном файле. Могут быть созданы системы, которые сравнивают двоичные сертификаты с базой данных заведомо хороших и проверенных плохих выпусков.

Это может работать аналогично Веб-сайт I Been Pwned. Вы можете вручную найти свою электронную почту через их веб-сайт. Если ваш адрес электронной почты найден, это означает, что он был допущен к утечке данных. Вам сообщают, какая утечка данных на каком сайте раскрыла ваши личные данные.

Нетрудно представить себе системы, которые будут проверять номер версии и подлинность подписи по справочной базе данных, которая отправляет обратно решение «годен / не годен» относительно подписанного выпуска программного обеспечения. Кроме того, разработчики могут получать уведомления каждый раз, когда их адрес электронной почты или идентификатор OpenID Connect ID используется в событии подписи. Если они не инициировали это событие, это требует расследования.

Давайте зашифровать, но для программного обеспечения

В Сообщение в блоге за март 2021 г., Google описывает sigstore как Давайте зашифровать, но для версий программного обеспечения. Let’s Encrypt — это бесплатный открытый центр сертификации, который генерирует SSL / TLS сертификаты для HTTPS-сайтов. Это позволяет этим веб-сайтам достоверно аутентифицировать себя, чтобы посетители могли быть уверены, что веб-сайт действительно такой, каким он является. После установления личности веб-сайта информация об открытом ключе в сертификате используется браузером посетителя для шифрования обмена данными между их компьютером и веб-сайтом. Процесс получения сертификата от Let’s Encrypt автоматизирован.

В блоге Google продолжается: «Так же, как Let’s Encrypt предоставляет бесплатные сертификаты и инструменты автоматизации для HTTPS, sigstore предоставляет бесплатные сертификаты и инструменты для автоматизации и проверки подписей исходного кода. Sigstore также имеет дополнительное преимущество в виде поддержки журналов прозрачности, что означает, что все сертификаты и аттестации являются глобально видимыми, обнаруживаемыми и проверяемыми ».

Укрощение Дикого Запада

То, как сегодня используется программное обеспечение с открытым исходным кодом, было немыслимо всего 10 лет назад. Принятие открытого исходного кода в более широком мире разработки связано не только с доступностью исходного кода, качеством кода и временем обработки исправлений ошибок и патчей.

Раньше к открытым исходным файлам относились с подозрением. Но организации получать открытый исходный код сейчас. Считается, что модель с открытым исходным кодом больше связана с маркетингом и публикацией, чем с преданностью множеству вариантов Стандартная общественная лицензия GNU (Сжиженный нефтяной газ).

В основном это способ получить код или продукт. там. Получить GitHub учетной записи, напишите свою программу и сообщите людям, что она доступна. Если это будет хорошо, то он вырастет и, надеюсь, превратится в снежный ком. Хотите принять участие в проекте с открытым исходным кодом? Простой. Отправьте запрос на слияние в их Git репозиторий, или предложить помощь с их документацией.

Открытый исходный код был разрушительным во всех отношениях. Но он также был бесплатным для всех. Экосистема с открытым исходным кодом требует чего-то, что могло бы обеспечить прозрачность, проверку и аудит цепочки поставок программного обеспечения.

sigstore показывает весь потенциал для удовлетворения этой потребности с помощью бесплатной, простой и масштабируемой системы.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *