Какой смысл предоставлять хэш MD5 или SHA1 вместе с загружаемым исполняемым файлом? - PullRequest
3 голосов
/ 22 декабря 2009

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

Какую безопасность это на самом деле предлагает?

Ответы [ 7 ]

4 голосов
/ 22 декабря 2009

Повышает безопасность в случае загрузки файла из зеркала.

например. apache.org предоставляет множество мест для загрузки зеркал, чтобы снизить нагрузку на их серверы. Однако у них нет средств для контроля достоверности файлов в этих местах. Поэтому предоставляется контрольная сумма MD5: файл контрольной суммы всегда загружается с apache.org, а не с зеркал.

4 голосов
/ 22 декабря 2009

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

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

2 голосов
/ 22 декабря 2009

Да, это для обеспечения целостности файла.
Предположим, вы получаете исполняемый файл из другого источника, например, с другого сайта, CD / DVD, и вы можете быть уверены, что вы используете правильный исполняемый файл.

2 голосов
/ 22 декабря 2009

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

0 голосов
/ 15 апреля 2010

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

Короче говоря,

- храните хэши вне файлов.

0 голосов
/ 23 декабря 2009

На самом деле, одного MD5 или SHA1 недостаточно для проверки целостности файла. Вам нужно использовать MAC или HMAC. В противном случае возможны атаки с удлинением.

0 голосов
/ 22 декабря 2009

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

...