The OpenNET Project / Index page

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

25.02.2017 09:36  Энтузиасты воссоздали метод мгновенной генерации PDF-файлов с одинаковым хэшем SHA-1

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

В случае предложенной атаки на PDF, для создания двух PDF-файлов с одинаковыми хэшами SHA-1 больших вычислительных ресурсов не требуется. Суть метода в использовании уже рассчитанной коллизии, позволяющей сохранить хэш SHA-1 при изменении нескольких байт в определённой позиции потока. Для атаки применяются типовые блоки PDF, включающие заголовок PDF, дескриптор потока JPEG и заголовки JPEG. Cодержимое документов для которых нужно создать PDF с одинаковыми хэшами SHA-1 преобразуется в многослойный JPEG, в котором присутствует изображение как первого, так и второго документа.

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

Для разного отображения слоёв применяются манипуляции с заголовками JPEG. В каждом заголовке JPEG имеется поле с комментарием, которое располагается в файле таким образом, чтобы сместить 16-разрядное значение длины поля в область возникновения коллизии. Так как параметр находится в зоне коллизии, его изменение не влияет на вычисленный хэш SHA-1. Манипуляция со значением длины комментария позволяет добиться того, что в первом PDF-файле блок с данными первого изображения попадает в область комментария и отображается второй набор данных, а во втором PDF-файле отображается первый набор данных, а второй игнорируется, так как находится за границей метки конца потока.

Использование типового набора данных для вызова коллизии открывает двери для новых атак, порой неожиданных. Например, разработчики WebKit добавляя в код защиту от вызова коллизии в SHA-1, сами того не желая, обрушили Subversion-зеркало репозитория проекта. Проблема была вызвана тем, что добавив несколько коммитов, содержащих данные, вызывающие коллизию, код дедупликации в SVN-репозитории рассчитал для этих коммитов одинаковый хэш, что нарушило целостность репозитория и заблокировало добавление новых коммитов. Для Git уже вычисленная коллизия не представляет угрозы, но не исключена возможность расчёта новой коллизии, специально для создания конкретного поддельного репозитория Git.

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Google продемонстрировал первую успешную атаку на алгоритм хеширования SHA-1
  3. OpenNews: Для взлома MD5 хэша нужно всего 8 часов
  4. OpenNews: Опубликованы исходные тексты программы для поиска коллизий в MD5
  5. OpenNews: Автор md5crypt подчеркнул небезопасность данного алгоритма и призвал перейти на более стойкие методы хэширования паролей
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: sha1, pdf
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Анонимусик, 10:20, 25/02/2017 [ответить] [смотреть все]
  • +1 +/
    А вот -- https://joeyh.name/blog/entry/SHA1_collision_via_ASCII_art/ -- коллизия SHA1 через ascii-арт. Дыра, чё.
     
  • 1.3, Kleemhead, 11:11, 25/02/2017 [ответить] [смотреть все]
  • +1 +/
    как красиво гугл общеголяли
     
     
  • 2.10, анонимим, 13:23, 25/02/2017 [^] [ответить] [смотреть все] [показать ветку]
  • +15 +/
    >> как красиво гугл общеголяли

    Используя материалы гугла, описывающие эту технику, которые гугл выложил добровольно, и умеющий делать это задолго до того, как его "общеголяли"? :)

     
     
  • 3.20, kleem_head, 18:26, 25/02/2017 [^] [ответить] [смотреть все]
  • +4 +/
    волшебное слово "мгновенный"
     
     
  • 4.54, Serg, 14:32, 27/02/2017 [^] [ответить] [смотреть все]
  • +/
    да, мне тоже "мгновенный" понравилось :-)
     
  • 3.42, EuPhobos, 09:16, 26/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Именно, т к гуглу по их же материалам понадобился год с машиной со 100 GPU, а э... весь текст скрыт [показать]
     
  • 2.37, qwerty123, 22:32, 25/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +4 +/
    угу --- BEGIN PDF --- if херня 1 out фигня else out другая_фигня... весь текст скрыт [показать] [показать ветку]
     
  • 1.4, Джо, 11:21, 25/02/2017 [ответить] [смотреть все]  
  • –1 +/
    Т.е. больше не требуется год работы сотни GPU чтобы сгенерировать коллизию?
     
     
  • 2.6, Скромное обаяние буржуазии, 11:46, 25/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Нет, можно за год предварительные данные рассчитать, а затем за 5 минут миллион ... весь текст скрыт [показать] [показать ветку]
     
  • 2.50, Аноним, 10:59, 27/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    чтобы сгенерировать коллизию по прежнему нужен год а использовать ее затем мо... весь текст скрыт [показать] [показать ветку]
     
  • 1.7, Michael Shigorin, 12:26, 25/02/2017 [ответить] [смотреть все]  
  • +/
    Да уж, subversion явно узрел своё "мене, мене, текел, фарес" на стене...
     
  • 1.8, Аноним, 12:52, 25/02/2017 [ответить] [смотреть все]  
  • +/
    Ах, даже не разное содержимое файлов, а просто манипуляции с заголовками JPEG ... весь текст скрыт [показать]
     
     
  • 2.9, Anonplus, 13:09, 25/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    То, что в каждом файле представлена полная копия данных двух файлов, не отменяет... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.11, cmp, 13:32, 25/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Если разные файлы показывают разное содержимое, то они разные, и контрольне сумм... весь текст скрыт [показать]
     
     
  • 4.39, Ordu, 01:10, 26/02/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    Контрольные суммы считаются по всему pdf файлу Ты можешь это сам проверить, ска... весь текст скрыт [показать]
     
  • 4.41, Lain_13, 03:56, 26/02/2017 [^] [ответить] [смотреть все]  
  • +3 +/
    Как бы тебе так объяснить, чтоб ты понял Любой файл можно представить как одно ... весь текст скрыт [показать]
     
     
  • 5.43, cmp, 11:05, 26/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Да я как бэ в курсе Просто заплутал в дебрях авторских дифирамб, может возраст ... весь текст скрыт [показать]
     
     
  • 6.47, Lain_13, 17:39, 26/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Ну они ведь разобрали Гугловский пример Что разбирали к тому и 171 прицепилис... весь текст скрыт [показать]
     
  • 5.51, вытек глаз, 12:01, 27/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    13 - это количество лет Что интересно, слова длинны и длинна существуют, но... весь текст скрыт [показать]
     
  • 2.45, Sabakwaka, 14:43, 26/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    >> даже не разное содержимое файлов...

    Болеешь? Чем?

     
  • 1.12, lucentcode, 14:38, 25/02/2017 [ответить] [смотреть все]  
  • –3 +/
    Это не последний подобный прокол Будут и другие В том числе и для других безо... весь текст скрыт [показать]
     
  • 1.13, Михаил, 15:43, 25/02/2017 [ответить] [смотреть все]  
  • +/
    Всё-таки они не воссоздали способ (он давно опубликован, а через три месяца покажут и оптимизации при практической реализации), а автоматизировали применение одной конкретной коллизии для создания пар файлов.

    То, что после коллизии можно добавлять прозивольные данные и получать новые варианты той же коллизии — это-то как раз не новость, казалось бы.

     
     
  • 2.16, Аноним, 16:26, 25/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    А где почитать про то, что ты говоришь? У Bruce Schneier или где?
     
  • 1.21, anonymous, 18:42, 25/02/2017 [ответить] [смотреть все]  
  • +1 +/
    просто используйте SHA3-224, надеюсь скоро в git встроят команду апдейта существующего репозитория до SHA3-224
     
     
  • 2.40, NYMA, 03:21, 26/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Имеет смысл использовать SHA256, потому-что есть в реальном времени подбор части... весь текст скрыт [показать] [показать ветку]
     
  • 1.44, Аноним, 12:28, 26/02/2017 [ответить] [смотреть все]  
  • +1 +/
    Торрентов, каких мы их знали, скоро будет не скачать Файковые сидеры, оплачивае... весь текст скрыт [показать]
     
     
  • 2.46, 123, 17:14, 26/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    You are listening pirated album снова появиться в закачках ... весь текст скрыт [показать] [показать ветку]
     
  • 2.48, Аноним, 01:14, 27/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    Всего пару дней назад читал комент об этом от мицгола
     
  • 2.49, chig00, 02:05, 27/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +4 +/
    В обозримом будущем ничего не поменяется Для поломки торрентов как мы их знаем ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.53, Аноним, 14:04, 27/02/2017 [^] [ответить] [смотреть все]  
  • +/
    А они так давно делают Но нечасто Неэффективно и создаёт юридические проблемы ... весь текст скрыт [показать]
     
  • 1.55, chinarulezzz, 10:15, 05/03/2017 [ответить] [смотреть все]  
  • +/
    >Для Git уже вычисленная коллизия не представляет угрозы, но не исключена возможность расчёта новой коллизии, специально для создания конкретного поддельного репозитория Git.

    http://www.metzdowd.com/pipermail/cryptography/2017-February/031623.html

     
     
  • 2.56, chinarulezzz, 10:19, 05/03/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Ну, или https://pbs.twimg.com/media/C5noqKfUsAAWOc3.jpg:large

    :)

     

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


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