URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 110744
[ Назад ]

Исходное сообщение
"GitHub добавил защиту от атак, использующих коллизии SHA-1"

Отправлено opennews , 21-Мрт-17 13:34 
GitHub сообщил (https://github.com/blog/2338-sha-1-collision-detection-on-gi...) о внедрении системы определения и блокирования атак (https://www.opennet.me/opennews/art.shtml?num=46102), связанных с использования коллизий SHA-1 (https://www.opennet.me/opennews/art.shtml?num=46091) в Git-репозиториях. Несмотря на то, что пока не зафиксировано реальных атак по подмене объектов в  Git через манипуляцию коллизиями SHA-1, GitHub решил перестраховаться и предоставил превентивную защиту.

Напомним, что существующая атака на PDF, позволяющая создать два документа с одним хэшем и разным содержанием, основана на задействовании уже рассчитанной коллизии SHA-1. Атака строится на использовании шаблона, состоящего из вызывающей коллизию известной последовательности и дополняющего эту последовательность набора данных, который подобран таким образом, чтобы не влиять на итоговый хэш SHA-1. Так как во всех атаках используется один и тот же шаблон известной коллизии, а вычисление новой коллизии требует гигантских вычислительных мощностей, то для блокирования атаки достаточно блокировать известный шаблон, по крайней мере до нахождения новой коллизии.


В Git применение данного метода атаки затруднено, так как для подмены объекта, необходимо, чтобы подменяемый объект уже содержал шаблон коллизии, т.е. произвольный блок подменить не получится. Теоретически  возможна лишь замена уже ранее добавленного атакующим блока, но она затруднена тем, что в изначально принятом в репозиторий блоке должен присутствовать достаточно большой кусок (https://github.com/cr-marcstevens/sha1collisiondetection/blo...) вызывающих коллизию бинарных данных, что при работе с кодом не останется незамеченным.


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


Как вариант обхода данной проблемы упоминается атака по замене  репозитория. Например, атакующий может добиться принятия своего кода (с бинарным блоком, вызывающим коллизию) в репозиторий и создания SHA-1 подписи для тега или коммита. Затем  он может подготовить вариант этого репозитория, в котором содержимое его коммита будет подменено без изменения проверочного хэша SHA-1. Остаётся подменить настоящий репозиторий на подготовленный атакующим изменённый вариант, что может быть совершено, например, через взлом сервера, на котором размещён репозиторий.


Тем временем разработчики Git начали (https://news.ycombinator.com/item?id=13906804) работу по реализации возможности использования альтернативных хэшей, отличных от SHA-1. Уже представлен набор изменений (https://github.com/git/git/commit/e1fae930193b3e8ff02cee9366...), избавляющий код Git от жёсткой привязки к SHA-1. План (https://docs.google.com/document/d/18hYAQCTsDgaFUo-VJGhT0Uqy...) ухода от SHA-1 подразумевает добавление опциональной поддержки SHA3-256, которая сможет применяться параллельно с SHA-1. Таким образом, переведённый на  SHA3-256 локальный репозиторий сможет взаимодействовать с Git-серверами (как минимум на уровне push/fetch), поддерживающими только SHA-1, а пользователи смогут одновременно использовать идентификаторы объектов SHA-1 и SHA3-256.


URL: https://github.com/blog/2338-sha-1-collision-detection-on-gi...
Новость: http://www.opennet.me/opennews/art.shtml?num=46232


Содержание

Сообщения в этом обсуждении
"GitHub добавил защиту от атак, использующих коллизии SHA-1"
Отправлено Аноним , 21-Мрт-17 13:34 
Ждём ответный ход от GitLab.

"GitHub добавил защиту от атак, использующих коллизии SHA-1"
Отправлено Аноним , 21-Мрт-17 14:16 
Удалят все свои базы, содержащие хэши SHA-1, в прямом эфире?

"GitHub добавил защиту от атак, использующих коллизии SHA-1"
Отправлено anonymous , 21-Мрт-17 22:01 
перейдут на darcs?

"GitHub добавил защиту от атак, использующих коллизии SHA-1"
Отправлено Андрей , 21-Мрт-17 14:28 
SHA3-256 == SHA256 ?

"GitHub добавил защиту от атак, использующих коллизии SHA-1"
Отправлено apollo2k4 , 21-Мрт-17 14:46 
Нет, у SHA3 иной принцип генерирования хеша.

"GitHub добавил защиту от атак, использующих коллизии SHA-1"
Отправлено Аноним , 21-Мрт-17 14:47 
конечно нет SHA256 это SHA1-256

"GitHub добавил защиту от атак, использующих коллизии SHA-1"
Отправлено Аноним , 21-Мрт-17 14:56 
SHA256 - это SHA2-256, а не SHA1-256. Никакого SHA1-256 не существует.

"GitHub добавил защиту от атак, использующих коллизии SHA-1"
Отправлено Аноним , 21-Мрт-17 15:42 
да я ступил:
SHA-1 это SHA1, а SHA-224, SHA-256, SHA-384, SHA-512 это SHA2


и SHA3-224, SHA3-256, SHA3-384, SHA3-512 - это SHA3


"GitHub добавил защиту от атак, использующих коллизии SHA-1"
Отправлено Аноним , 21-Мрт-17 14:49 
поскольку SHA3 просто лучше, нужно было начать работы по добавлению команд типа git hash_upgrade как только появился SHA3 не дожидаясь выявления коллизий. ну лучше поздно чем никогда

"GitHub добавил защиту от атак, использующих коллизии SHA-1"
Отправлено KonstantinB , 21-Мрт-17 20:56 
В отличие от анонимусов с лора, Линус осознает важность обратной совместимости и заботится о пользователях, а также достаточно хорошо себе представляет, что такое хороший дизайн, чтобы написать что-то лучше, чем if (upgraded) sha3 else sha1.

Удаление привязки к sha-1 уже ведется. Ссылка на коммит - в новости.


"GitHub добавил защиту от атак, использующих коллизии SHA-1"
Отправлено nuclight , 22-Мрт-17 00:53 
Когда создавался git, SHA1 уже был deprecated, никто не мешал СРАЗУ ввести расширяемый формат хэшей, хоть по типу $6$... как для паролей уже был.

"GitHub добавил защиту от атак, использующих коллизии SHA-1"
Отправлено qwerty123 , 22-Мрт-17 02:03 
>Линус осознает

А причем здесь этот финский парень?



"GitHub добавил защиту от атак, использующих коллизии SHA-1"
Отправлено Дуплик , 22-Мрт-17 03:11 
Шведский

"GitHub добавил защиту от атак, использующих коллизии SHA-1"
Отправлено бедный буратино , 22-Мрт-17 03:39 
Американский

"GitHub добавил защиту от атак, использующих коллизии SHA-1"
Отправлено Аноним , 22-Мрт-17 07:30 
>  Линус осознает важность обратной совместимости и заботится о пользователях

Линус давно не участвует в разработке гита.


"GitHub добавил защиту от атак, использующих коллизии SHA-1"
Отправлено KonstantinB , 22-Мрт-17 19:13 
Значит, передал в надежные руки, людям, которые разделяют его ценности. Судя по коммитам, по крайней мере.

"GitHub добавил защиту от атак, использующих коллизии SHA-1"
Отправлено КО , 22-Мрт-17 09:51 
>поскольку SHA3 просто лучше

Чем простите - коллизии реже встречаются? :)

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

С SVN это хотя бы выяснили - перейдет в режим readonly.


"GitHub добавил защиту от атак, использующих коллизии SHA-1"
Отправлено Andrey Mitrofanov , 22-Мрт-17 11:17 
> Вопрос ведь не только в том, чтобы защититься от намеренной атаки, но
> и в том, что будет, если хеши случайно совпадут.
> С SVN это хотя бы выяснили - перейдет в режим readonly.

С git-ом тоже понято: не в этой вселенной. Все случайные коллизии открывают портал и оказываются в другой вселенной -- пусть они ворочаются.


"GitHub добавил защиту от атак, использующих коллизии SHA-1"
Отправлено www2 , 22-Мрт-17 17:40 
А тем временем, где-то в мультиверсе...

"GitHub добавил защиту от атак, использующих коллизии SHA-1"
Отправлено Аноним , 22-Мрт-17 12:43 
>Чем простите - коллизии реже встречаются? :)

всем лучше - читайте зачем вообще Национальный институт стандартов и технологий США проводил конкурс на создание хеш функции на замену SHA1 и SHA2


"GitHub добавил защиту от атак, использующих коллизии SHA-1"
Отправлено Аноним , 28-Мрт-17 10:53 
А в чём состоит суть этой превентивной защиты?

"GitHub добавил защиту от атак, использующих коллизии SHA-1"
Отправлено Andrey Mitrofanov , 29-Мрт-17 10:21 
> А в чём состоит суть этой превентивной защиты?

Магия же. Там по ссылке так и написано. </ага-ага>