Я скачал огромное количество файлов, но обнаружил использование md5 и sha в качестве средств проверки целостности совсем недавно. С тех пор я всегда предпочитаю проверять большие загруженные файлы, даже если я никогда не обнаружил, что они повреждены.
Нужно ли проверять целостность загружаемых файлов?
Выберите в качестве примера только что загруженный дистрибутив Linux объемом 1 ГБ, если хотите.
Спасибо
Ответы:
Это зависит от нескольких факторов.
У вас есть стабильное подключение к интернету?
Если у вас стабильное интернет-соединение, вам не нужно проверять целостность файла, так как он, скорее всего, будет правильным. Я никогда не проверяю хеш, и у меня никогда не было поврежденных файлов. Или, может быть, один раз, когда удаленный сервер отключен.
Хотите проверить файл по соображениям безопасности?
Если вы беспокоитесь о безопасности загружаемого файла, вы можете использовать хеш MD5, чтобы убедиться, что файл не был каким-либо образом изменен. Вы загружаете файл, и если хеш MD5 не совпадает, это означает, что файл на сервере отличается от хеша MD5, и что-то не так. Это будет допустимо только в том случае, если вы не доверяете серверу, с которого вы скачиваете, но обычно, если кто-то предоставляет хэш, он также старается изо всех сил обновлять информацию. Но если их сайт взломали, и вы проверили хеш MD5, то вы получили небольшой бонус.
В целом, эти 2 дадут нет большинству людей. Если это не для вас, это полностью зависит от вас, конечно.
источник
Ответ и выбор будут основаны на его / ее терпимости к риску и соображениях времени и усилий при проверке.
Проверка хэшей MD5 / SHA1 является хорошим первым шагом, и вы должны сделать это, когда у вас есть время. Однако вы должны учитывать свою способность доверять предоставленному хешу. Например, если веб-сайт автора с хешем взломан, то злоумышленник может изменить хеш, поэтому вы не узнаете. Если вычисляемый вами хэш не совпадает с предоставленным хешем, вы знаете, что что-то не так. Однако только то, что совпадение хэшей не гарантирует, что файл хорош.
Лучшей альтернативой для автора программного обеспечения для обеспечения целостности и подлинности является цифровая подпись распространяемых файлов . Это прикрепляет информацию о подлинности к файлу и не полагается на доверие к некоторому веб-сайту. Если автор подписывает файл цифровой подписью, единственный способ подделать это - скомпрометированный центр сертификации или кража ключа подписи разработчика. Оба эти случая гораздо реже, чем взломанный сайт в Интернете.
В конечном счете, вы должны провести свою собственную должную осмотрительность, чтобы определить, хотите ли вы доверять чему-либо, а затем принять контрмеры (запустить в песочнице, виртуальной машине и т. Д.), Чтобы смягчить любые неизвестные факторы или просчеты, которые вы допустили при принятии решения о том, доверять или нет. ,
источник
Из соображений безопасности ДА. Подумайте, что было обнаружено, что выходной узел Tor исправляет двоичные файлы во время загрузки , затем помните, что ваш интернет-провайдер может иметь или не иметь малейшей морали и что он полностью контролирует ваше интернет-соединение.
источник
Просто чтобы добавить к другим ответам:
TLDR: для файлов, где целостность важна, да
Длинный ответ: я часто нахожу это необходимым, когда я делаю что-то, где важно, чтобы файл имел высокую целостность.
Одним из примеров является прошивка маршрутизатора с помощью OpenWRT. Если файл поврежден, то этот маршрутизатор будет заблокирован, и тогда мне придется либо:
И то, и другое неудобно по сравнению с простотой проверки хэша. Поэтому я настоятельно рекомендую делать это для критических файлов.
источник
Я обычно только проверяю, была ли моя загрузка прервана, и я возобновил ее позже, потому что HTTP-запросы со смещением поиска используются не так широко, поэтому могло произойти что-то глупое.
Во многих случаях загрузка представляет собой сжатый файл, который не будет распакован, если он сломан. Если это не так, проверка не является плохой идеей. Я мог бы проверить ISO перед записью на носитель с однократной записью.
Проверка его с помощью хэша с того же сайта, с которого я его получил, бесполезна с точки зрения безопасности, как сказали другие ответы и комментарии. Это может быть более полезным, если вы загрузили с зеркала, но хэш взят из исходного апстрима. Или, если имя файла неоднозначно, и по какой-то причине вы не уверены, что получили именно ту версию, которую хотели.
Дело в том, что публикация хэшей полезна для множества особых случаев, помимо простой загрузки файла с того же сайта, на котором размещен хэш.
источник