Я часто слышу, что MD5 небезопасен. Но я не уверен, как им можно манипулировать. Я не хочу быть тем парнем, который просто повторяет "MD5 небезопасен", не зная некоторых деталей.

Скажем, у меня есть 128-битная контрольная сумма MD5. И у меня есть вредоносный файл, который находится под моим контролем. Может ли текущий сервер за 5 тыс. Долларов сгенерировать "фиксатор" в течение недели, который можно добавить к файлу и получить такую же контрольную сумму MD5?

2 ответа2

3

Это зависит от того, что именно вы подразумеваете под «контролем».

Если вы, злоумышленник, выберете два файла, которые должны иметь одинаковый хэш, это то, что криптографы называют столкновением (атакой), и для MD5 это теперь очень просто. Если вы можете выбрать оба файла свободно, это займет несколько секунд; если вам нужно выполнить довольно слабые, но общие ограничения, такие как «это выглядит как PDF» или «это похоже на смолу», может быть, от нескольких часов до недель.

С другой стороны, если у вас есть один заранее заданный файл (обычно «хороший»), и вы должны найти другой («плохой») файл с таким же хешем, который не является конфликтом с криптографами, это второй прообраз. Самая известная прообразная атака на MD5 лишь немного лучше, чем грубая сила в 2 123.4.

Ваши 5 тысяч долларов могут, вероятно, купить полдюжины хороших графических процессоров, что дает вам где-то около 2 37 испытаний в секунду (около 100 миллиардов). Это примерно 2 62 в год, поэтому на это уйдет в среднем около 2 60 лет (примерно 1 000 000 000 000 000 000, или квинтиллион). В более удобных сроках, это примерно в сто миллионов раз больше возраста вселенной. Ваш компьютер, вероятно, не будет длиться так долго.

1

Лучшее, что вы можете сделать, - это посмотреть на реальные документы, касающиеся обнаружения коллизий MD5. Есть также различные инструменты, чтобы сделать это. Хороший ответ на этот вопрос в StackOverflow: создавайте свои собственные коллизии MD5, если вы не заинтересованы в самостоятельном чтении статьи.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .