01.12 // Атака с подобранным префиксом на md5-хэш позволяет подменять исполняемый код
После многочисленных исследований в области хэш-функций удалось провести много атак на нахождение коллизий для практически всех широко используемых на сегодняшний момент и предсказать теоретическую возможность для остальных. Быстро были получены и практические результаты, но пока только для неиспользуемой md4 и имевшей широкое
распространение md5.
Первые атаки были непрактичны: удавалось получать лишь бессмысленные коллизии. Но их быстро адаптировали к получению коллизий для полей имён цифровых сертификатов, некоторых типов архивов.
Новым этапом стало недавнее исследование Marc Stevens, Arjen Lenstra и Benne de Weger "Vulnerability of software integrity and code signing applications to chosen-prefix collisions for MD5". Им удалось получить коллизии для исполняемых файлов на основе атак с подобранным префиксом, используя метод нахождения дифференциальных путей.
Теперь можно взять любой исходный код, например, такой:
и заменить его на любой произвольный, например, на такой:
После компиляции по методике авторов можно получить бинарные файлы с идентичным хэш-значением. Можно подменять и уже откомпилированный код, внедряя в него любые функции.
Аналогично, используя мультиколлизии и атаки Нострадамуса при помощи вычислений на игровой приставке Sony playstation авторам удалось создать хэш для файла, который "абсолютно достоверно" предсказывает итоги предстоящих президентских выборов в США в 2008 году. Таким образом можно фальсифицировать доказательство знания событий, происходящих в будущем, в любых криптографических протоколах, использующих хэш-функции, нестойкие к атакам Нострадамуса.
Речь идёт о создании множества файлов имеющих одинаковый хэш (мультиколлидирующих) и предъявлении подтасованного заранее результата. Этот же метод применяется и для получения множества исполняемых файлов с одинаковым хэшем.
Пока что данная атака тоже не до конца практична, так как требует создания фальсификата до опубликования хэша или подписи. Например можно создать фальсифицированную копию драйвера со злонамеренными функциями, а получить сертификат на чистый вариант или множество других файлов. Но нельзя создать такой фальсификат по хэшу и файлу уже созданному другим разработчиком (нельзя подделать чужой файл).
Атака на SHA-1 представляется пока недостижимой, но авторы рекоммендуют по возможности полностью отказаться от md5 и подумать о возможно недолгом будущем sha-1.
Источник: Technische Universiteit Eindhoven
комментариев: 371 документов: 19 редакций: 20
комментариев: 11558 документов: 1036 редакций: 4118
:-)))