Почему загрузки для различных проектов имеют хэш-коды или контрольные суммы?

StackOverflow https://stackoverflow.com/questions/671755

  •  21-08-2019
  •  | 
  •  

Вопрос

Я никогда не использовал контрольную сумму при загрузке различных экзешников или zip-файлов из Интернета.Я знаю, что он используется для проверки согласованности и повышения безопасности.Но нужно ли это, когда вы загружаете из солидного проекта, такого как Apache или Microsoft.Многие ли из нас на самом деле используют контрольные суммы или хеш-коды для проверки содержимого?

К вашему сведению, дайте мне знать, если я слишком далеко отошел от приемлемого содержания StackOverflow.

Это было полезно?

Решение

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

Источнику можно доверять, но никогда не знаешь, когда оборудование вашей собственной сетевой карты может начать работать со сбоями.

Другие советы

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

Это может произойти, если

  • Вы ранее скачали файл
  • Вы получили файл с другого сайта
  • Вы получили файл из общего сетевого ресурса.
  • Кто-то дал вам файл на компакт-диске/флешке/и т. д.
  • Вы использовали какой-то другой метод, чтобы избежать потенциально долгой загрузки.

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

Это очень полезно.Недавно я обнаружил ошибку в программе записи компакт-дисков;У меня постоянно возникала проблема с определенным файлом на определенном компьютере.В конце концов я просто сравнил контрольные суммы файла с компакт-диска и файла на оригинальном компьютере, они были разными, и я смог решить проблему!

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

Чтобы быть уверенным, что загружаемый вами файл является правильным и не изменен кем-то другим со злыми намерениями.Как этот информация в Apache говорит:

"Любой злоумышленник может создать открытый ключ и загрузить его на серверы открытых ключей.Затем они могут создать вредоносный выпуск, подписанный этим поддельным ключом.Затем, если вы попытаетесь проверить подпись этого поврежденного выпуска, это удастся, поскольку ключ не является «настоящим» ключом.Поэтому вам необходимо проверить подлинность этого ключа."

Чтобы проверить, вы можете выполнить следующие действия. здесь.

Несмотря на то, что вы выбираете загрузку из надежного источника (например,Apache.org), ваш запрос на загрузку, скорее всего, будет обработан зеркало сайт.У рассматриваемого доверенного сайта есть ресурсы для обслуживания всех запросов, поэтому зеркала выполняют ценную функцию.Однако доверенный сайт не обязательно имеет полный контроль над зеркальным сайтом, и вполне возможно, что владелец зеркала (или третья сторона) может заменить зеркальный исполняемый файл вредоносным кодом.Сверяя хэш доверенного источника с загруженным файлом, вы гарантируете, что он не изменился при передаче (по какой-либо причине).

Он используется по обеим причинам целостности (особенно на ftp-сайтах, где вы могли по ошибке загрузить файл в режиме ascii).Кроме того, его можно использовать для проверки того, что загрузка не была изменена, при условии, что вы загружаете из местоположения a и получаете контрольную сумму из местоположения b (часто загрузка осуществляется с зеркала, а хэш - с официального сайта).

Однако в целях целостности подписание файла будет более полезным, чем просто его хеширование.

я использую МакПортс в Mac OS X, которая представляет собой менеджер пакетов на основе исходного кода;каждый файл порта содержит описание того, как загрузить, исправить, скомпилировать и установить часть программного обеспечения в Mac OS X.В файл порта включена контрольная сумма конкретной версии архива для загрузки.Это помогает обеспечить целостность файла от множества возможных проблем;иногда люди обновляют архив без увеличения номера версии, что может привести к тому, что исправления не будут применены или код сломается при определенных условиях, или иногда пакет может быть поврежден, или злоумышленник может подделать программное обеспечение в надежде что вы его установите.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top