Проверка зависимости authenticy в АНГЛИЧАНИНЕ Знатока основывала автоматизированные системы сборки

На меня просто указали на очень интересную статью о проблеме безопасности под названием Перекрестная Инжекция Сборки (XBI). Bascially это - необычное название контрабанды плохого кода в приложение во время изготовления через автоматизированные системы сборки, такие как муравей, знаток или плющ.

Проблема могла быть облегчена путем представления криптографической проверки подписи für зависимости, как это в настоящее время на месте со многими операционными системами для загрузки пакетов.

Быть ясным: Я не говорю о простом обеспечении md5 или хеши sha1 для артефактов. Это уже сделано, но те хеши хранятся в том же месте как артефакты. Таким образом, после того как злонамеренный хакер ставит под угрозу репозиторий и может заменить артефакт, они могут заменить хеши также.

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

Кто-либо знает состояние этого в знатоке?

12
задан Flow 14 January 2016 в 17:40
поделиться

2 ответа

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

На самом деле, нужно подписывать артефакты с помощью PGP, чтобы загрузить их в репозиторий, который синхронизируется с центральным (на этом этапе может помочь Maven GPG Plugin ). Для проверки подписей во время загрузки вам предлагается использовать диспетчер репозитория, поддерживающий эту функцию.Из Как сгенерировать подписи PGP с помощью Maven :

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

Если вы разрабатываете программное обеспечение, используя Maven, вам следует сгенерировать PGP подпись для ваших релизов. Выпуск программного обеспечения с действующим подписи означает, что ваши клиенты может проверить, что программный артефакт был создан первоначальным автором и что он не был изменен кто-нибудь в пути. Самый крупный OSS кует, как программное обеспечение Apache Foundation требует, чтобы все проекты были выпущен менеджером по выпуску, чей ключ был подписан другими участниками организации, и если хотите для синхронизации ваших программных артефактов в Maven Central вам необходимо предоставляют подписи pgp .

См. Также


Подключаемый модуль установки Maven можно настроить для создания контрольных сумм целостности (MD5, SHA-1), и вы можете настроить политику контрольной суммы для каждого репозитория (см. checkumPolicy ).

Менеджеры репозиториев Maven также могут / должны иметь с ними дело. См., Например:

5
ответ дан 2 December 2019 в 22:03
поделиться

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

Что вы ищете для подписи ваших jar-файлов. http://download-llnw.oracle.com/javase/1.3/docs/tooldocs/win32/jarsigner.html

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

0
ответ дан 2 December 2019 в 22:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: