Есть ли причина проверить контрольную сумму загрузки по HTTPS?

786
Fire Lancer

Предполагая, что и страница, связывающая загрузку, и сама загрузка находятся на доверенных доменах через HTTPS, есть ли основания беспокоиться о проверке хеш / контрольной суммы загруженного файла (особенно исполняемых файлов / установщиков, которые также не подписаны чем-то самим) ОС доверяет)?

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

Но HTTPS (TLS) уже должен обеспечивать полную защиту от них, так есть ли какая-то дополнительная ценность в ручной проверке?

2

1 ответ на вопрос

5
Ian

Я не думаю, что HTTPS поймает любой из них. AFAIK HTTPS не предлагает никакой дополнительной защиты от повреждения через TCP.

Я не эксперт по безопасности, но я знаю, что TLS (HTTPS) делает эти 2 вещи:

  1. Проверяет, что сервер, к которому вы подключаетесь, на самом деле тот, о ком говорят.
    Например, если вы введете https://microsoft.com и ваш трафик будет отправлен на https://badguys.com, а не без вашего ведома ( подмена DNS ), вы получите ошибку сертификата. Конечно, злоумышленники могут создать поддельный сертификат на https://badguys.com, который утверждает, что он является https://microsoft.com, но он не будет подписан действующим центром сертификации .
  2. Зашифровывает трафик, чтобы его нельзя было прочитать / изменить с помощью атаки «человек посередине» (MITM) . В этом случае кто-то может видеть весь ваш сетевой трафик. Если вы не используете TLS, они могут обнаружить GETзапрос и начать отправлять вам поддельные данные вместо реальных данных с веб-сервера.

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

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

Но как могло произойти повреждение или вредоносное редактирование, не нарушая шифрование TLS и контрольные суммы, вызывая повторную передачу или разрыв соединения? Таким же образом я не могу просто отредактировать ваше сообщение «отправить платеж», чтобы добавить несколько дополнительных нулей (например, £ 5,00 -> £ 5000), в то время как контрольная сумма TCP может быть подделана или легко конфликтовать. Или вы говорите, что это имеет значение только тогда, когда загрузка является отдельным зеркалом (и, возможно, этот сам сервер скомпрометирован)? Fire Lancer 6 лет назад 0
Последнее правильно. Я написал ответ более подробно. Ian 6 лет назад 0

Похожие вопросы