The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

21.03.2017 12:33  GitHub добавил защиту от атак, использующих коллизии SHA-1

GitHub сообщил о внедрении системы определения и блокирования атак, связанных с использования коллизий SHA-1 в Git-репозиториях. Несмотря на то, что пока не зафиксировано реальных атак по подмене объектов в Git через манипуляцию коллизиями SHA-1, GitHub решил перестраховаться и предоставил превентивную защиту.

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

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

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

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

Тем временем разработчики Git начали работу по реализации возможности использования альтернативных хэшей, отличных от SHA-1. Уже представлен набор изменений, избавляющий код Git от жёсткой привязки к SHA-1. План ухода от SHA-1 подразумевает добавление опциональной поддержки SHA3-256, которая сможет применяться параллельно с SHA-1. Таким образом, переведённый на SHA3-256 локальный репозиторий сможет взаимодействовать с Git-серверами (как минимум на уровне push/fetch), поддерживающими только SHA-1, а пользователи смогут одновременно использовать идентификаторы объектов SHA-1 и SHA3-256.

  1. Главная ссылка к новости (https://github.com/blog/2338-s...)
  2. OpenNews: Энтузиасты воссоздали метод мгновенной генерации PDF-файлов с одинаковым хэшем SHA-1
  3. OpenNews: Google продемонстрировал первую успешную атаку на алгоритм хеширования SHA-1
  4. OpenNews: До конца года ожидается появление практических атак по подбору коллизий для SHA-1
  5. OpenNews: В рамках соблюдения закона DMCA в 2015 году из GitHub было удалено более 8 тысяч проектов
  6. OpenNews: Уязвимость, позволяющая осуществить подстановку SQL-кода в GitHub Enterprise
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: github, git, sha
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 13:34, 21/03/2017 [ответить] [смотреть все]
  • +1 +/
    Ждём ответный ход от GitLab.
     
     
  • 2.5, Аноним, 14:16, 21/03/2017 [^] [ответить] [смотреть все] [показать ветку]
  • +26 +/
    Удалят все свои базы, содержащие хэши SHA-1, в прямом эфире?
     
  • 2.19, anonymous, 22:01, 21/03/2017 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    перейдут на darcs?
     
  • 1.6, Андрей, 14:28, 21/03/2017 [ответить] [смотреть все]
  • +/
    SHA3-256 == SHA256 ?
     
     
  • 2.7, apollo2k4, 14:46, 21/03/2017 [^] [ответить] [смотреть все] [показать ветку]
  • +4 +/
    Нет, у SHA3 иной принцип генерирования хеша.
     
  • 2.8, Аноним, 14:47, 21/03/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –3 +/
    конечно нет SHA256 это SHA1-256
     
     
  • 3.10, Аноним, 14:56, 21/03/2017 [^] [ответить] [смотреть все]  
  • +7 +/
    SHA256 - это SHA2-256, а не SHA1-256. Никакого SHA1-256 не существует.
     
     
  • 4.12, Аноним, 15:42, 21/03/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    да я ступил SHA-1 это SHA1, а SHA-224, SHA-256, SHA-384, SHA-512 это SHA2 и SHA... весь текст скрыт [показать]
     
  • 1.9, Аноним, 14:49, 21/03/2017 [ответить] [смотреть все]  
  • +2 +/
    поскольку SHA3 просто лучше, нужно было начать работы по добавлению команд типа ... весь текст скрыт [показать]
     
     
  • 2.18, KonstantinB, 20:56, 21/03/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    В отличие от анонимусов с лора, Линус осознает важность обратной совместимости и... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.20, nuclight, 00:53, 22/03/2017 [^] [ответить] [смотреть все]  
  • +/
    Когда создавался git, SHA1 уже был deprecated, никто не мешал СРАЗУ ввести расши... весь текст скрыт [показать]
     
  • 3.21, qwerty123, 02:03, 22/03/2017 [^] [ответить] [смотреть все]  
  • +/
    >Линус осознает

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


     
     
  • 4.22, Дуплик, 03:11, 22/03/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Шведский
     
     
  • 5.23, бедный буратино, 03:39, 22/03/2017 [^] [ответить] [смотреть все]  
  • +/
    Американский
     
  • 3.24, Аноним, 07:30, 22/03/2017 [^] [ответить] [смотреть все]  
  • +/
    Линус давно не участвует в разработке гита ... весь текст скрыт [показать]
     
     
  • 4.29, KonstantinB, 19:13, 22/03/2017 [^] [ответить] [смотреть все]  
  • +/
    Значит, передал в надежные руки, людям, которые разделяют его ценности Судя по ... весь текст скрыт [показать]
     
  • 2.25, КО, 09:51, 22/03/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Чем простите - коллизии реже встречаются Вопрос ведь не только в том, чтобы ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.26, Andrey Mitrofanov, 11:17, 22/03/2017 [^] [ответить] [смотреть все]  
  • +/
    С git-ом тоже понято не в этой вселенной Все случайные коллизии открывают порт... весь текст скрыт [показать]
     
     
  • 4.28, www2, 17:40, 22/03/2017 [^] [ответить] [смотреть все]  
  • +/
    А тем временем, где-то в мультиверсе...
     
  • 3.27, Аноним, 12:43, 22/03/2017 [^] [ответить] [смотреть все]  
  • +/
    всем лучше - читайте зачем вообще Национальный институт стандартов и технологий ... весь текст скрыт [показать]
     
  • 1.31, Аноним, 10:53, 28/03/2017 [ответить] [смотреть все]  
  • +/
    А в чём состоит суть этой превентивной защиты?
     
     
  • 2.32, Andrey Mitrofanov, 10:21, 29/03/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    > А в чём состоит суть этой превентивной защиты?

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

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor