Какова цель хеширования MD5 при загрузке приложений? - PullRequest
7 голосов
/ 19 апреля 2009

Я никогда не проверял и не сравнивал хеш MD5 с реальным хешем MD5 на домашних страницах программ. Программы, которые я скачал, всегда работали.

Возможно ли, что кто-то может поставить свой собственный код во время загрузки?

Ответы [ 9 ]

9 голосов
/ 19 апреля 2009

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

Вы проверяете его, хэшируя копию полученного файла и проверяя, совпадают ли хеши.

Люди могут вставлять неприятный код, изменять загружаемый файл или , вы можете просто получить поврежденную загрузку.

3 голосов
/ 19 апреля 2009

С точки зрения поврежденных загрузок, это довольно редко. Я не думаю, что у меня когда-либо была поврежденная загрузка, за исключением случаев, когда она каким-то образом была обрезана и ошибка не сообщалась (старые FTP-клиенты в тот день).

Могут быть некоторые преимущества для безопасности, если вы скачиваете с зеркала, и вы доверяете реальному сайту (который публикует MD5) больше, чем доверяете зеркалу (которое может быть устаревшим, или злым, или глючным, или pwned, или что-то, и так может кеширующий веб-прокси между ним и вами). Впрочем, ситуация довольно маловероятная, поскольку обычно нет оснований полагать, что основной сайт более или менее надежен или безопасен, чем зеркало. Тем не менее, это второе мнение.

Я обычно не проверяю опубликованные контрольные суммы, если только нет особой причины считать их правильными и загрузка не безопасна (например, контрольная сумма находится на URL-адресе https, а загрузка - нет). Если вы беспокоитесь о злодеях, тогда вам нужна подпись, а не просто незащищенная контрольная сумма.

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

Обратите внимание, что контрольные суммы MD5 небезопасны, если злодей генерирует как подлинный файл, так и хитрый, загруженный вирусом. Можно генерировать коллизии MD5, хотя (пока) нет полной атаки перед изображением. Любой, кто серьезно относится к безопасности, переключился на суммы SHA256, где это возможно. Который меньше, чем вы могли бы надеяться, по наследству и по причинам ресурса.

2 голосов
/ 19 апреля 2009

Возможно ли, что кто-то может поставить свой код при загрузке?

Да. Если загрузка осуществляется по незашифрованному HTTP, тогда она направляется через несколько сетей, и у людей, безусловно, есть возможность манипулировать ими и вставить троян или вирус.

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

В целом, это не очень распространенная проблема, поскольку существуют другие способы атаки, которые в настоящее время гораздо более полезны для плохих парней (в основном уязвимости веб-браузера).

1 голос
/ 19 апреля 2009

В дополнение к тому, что вы можете быть уверены, что получили код, который пытались загрузить (он не был поврежден ни намеренно, ни случайно), если вы проверяете хеш, практика добавления хешей при публикации кода является хорошей социальной гигиеной. Поскольку люди, которые делятся или продают программное обеспечение, часто включают в свой код хэши, и мы считаем, что некоторые люди регулярно проверяют их (потому что некоторые инструменты загрузки делают это автоматически), взломщики сочтут это менее полезным способом распространения вредоносного ПО. Поэтому те, кто проверяет хэш только на критически важном для безопасности программном обеспечении, или те, кто никогда не проверяет, могут иметь больше уверенности в том, что программное обеспечение является тем, чем оно является. Если взломщики попытаются внедрить вирусы или трояны в часто используемые сайты загрузки, они будут обнаружены довольно быстро, и атака будет исправлена ​​и опубликована.

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

1 голос
/ 19 апреля 2009

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

1 голос
/ 19 апреля 2009

Файл можно проверить, если он поврежден. Это все, что я думаю.

0 голосов
/ 07 августа 2015

Полная трата времени.

Хакер изменил бы хэш, а также двоичный файл, так что это всего лишь мера защиты от некомпетентных хакеров.

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

Теперь хэш с цифровой подписью, используемый установщиком пакетов, является чем-то другим и стоит.

0 голосов
/ 19 апреля 2009

Я проверяю md5 большую часть времени. Хотя, может быть, раз или два, да, я действительно получал испорченные загрузки.

Если вы загружаете что-то, проверяете его md5 и сохраняете вместе с файлом, это также может быть позже, чтобы проверить, тайно ли издатель изменил файл, не сообщая об этом никому.

0 голосов
/ 19 апреля 2009

Он в основном отвечает на тот же вопрос, что и аутентификация - действительно ли тот, кто говорит, что он является тем, кто он есть. Это поможет вам удостовериться, что скачанная вами программа действительно является тем, что автор предоставил в первую очередь, и не был подделан на пути от продавца на всем протяжении лабиринта Интернета на ваш рабочий стол.

...