Алгоритм хеширования SHA-1 считается ненадежным и "сломанным" еще с 2005 года: именно тогда эксперты заговорили о потенциальной возможности взлома SHA-1 через коллизионную атаку, что в теории давало злоумышленникам возможность создать поддельный файл, с точно таким же SHA-1 хешем, как у настоящей версии файла.
За прошедшие годы специалисты не раз пытались подступиться к той проблеме с разных сторон, и настоящий прорыв совершили инженеры Google в 2017 году. Они продемонстрировали миру атаку, названную SHAttered. В качестве доказательства проделанной работы они опубликовали два PDF-файла с одинаковым SHA-1 хешем (1 и 2), также был запущен отдельный сайт, посвященный взлому и ненадежности SHA-1 в целом.
Теперь сводная группа ученых из Сингапура и Франции представила собственную вариацию коллизионной атаки, в сущности, улучшив SHAttered и сделав возможными атаки с заданным префиксом.
"Обнаружить практическую коллизионную атаку, изменяющую хеш, бесспорно плохо. Однако урон, который может нанести такая атака, весьма ограничен, ведь злоумышленник практически не контролирует коллизию данных. Гораздо интереснее обнаружить так называемую атакую с заданным префиксом, где злоумышленник волен сам выбрать префикс для двух сообщений", — объясняет один из исследователей Томас Пейрин (Thomas Peyrin).
Фактически это означает, что коллизионная атака на SHA-1 перестает быть "лотереей", атака с заданным префиксом позволяет изменять подписанные SHA-1 файлы так, как нужно преступнику, начиная от подделки бизнес-документации и заканчивая сертификатами TLS.
Более того, эксперты не просто доказали, что такие атаки возможны на практике, но и сумели сделать их быстрее и дешевле, то есть продемонстрировали, что такое под силу и киберпреступникам.
Так, считается, что классическая коллизионная атака на SHA-1 в среднем требует проведения 2^77 операций, но атака с заданным префиксом должна быть куда сложнее и "дороже" в исполнении. Эксперты доказали, что это не так, и новая вариация атаки может требовать от 2^66 до 2^69 вычислений и стоить продяка 100 000 долларов США (что тоже эквивалентно SHAttered).
При этом исследователи отмечают, что пока не проводили атаку на практике, так как изначальная стоимость коллизионной атаки с заданным префиксом равнялась примерно миллиону долларов, а таких денег у экспертов попросту не было. Теперь, когда стоимость атаки удалось снизить до 100 000, аналитики уже работают над практической реализацией своей теории и надеются скоро обнародовать итоги экспериментов.