Стоит ли проверять ISO, загруженные с официального сайта?


37

Я скачал ISO с https://www.ubuntu.com/download , выбрав вариант «Ubuntu Desktop» по умолчанию.

Веб-сайт ссылается на страницу https://tutorials.ubuntu.com/tutorial/tutorial-how-to-verify-ubuntu, которая содержит инструкции по проверке Ubuntu.

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

Что бы это ни стоило, я планирую использовать только Live USB, а не полностью устанавливать Ubuntu. Это имеет значение?


8
Мой политический ответ: «ДА ЭТО ДЕЛАЕТ». Я никогда не делал этого, кроме, может быть, однажды во время первой загрузки много лун назад. Я всегда загружаю и оцениваю программное обеспечение или исправления / исправления ошибок и просто не могу быть обеспокоен дополнительными шагами. Плюс ко всему, мои системы непроизводительные, и если завтра они пойдут в тупик, я просто пожму плечами и продолжу.
WinEunuuchs2Unix

14
Torrent - альтернатива, если вы не хотите проверять сумму md5. Когда вы получаете файл через торрент, он будет проверен автоматически :-) Часто торрент-метод быстрее (по сравнению с обычными загрузками), но некоторые интернет-провайдеры блокируют его, так как считают, что он используется только в незаконных целях. ,
Судодус

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

1
@ rackandboneman Нет, это не основной вопрос.
Дэвид Ричерби

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

Ответы:


57

Да, это того стоит.

Md5sum / etc загруженного ISO занимает всего несколько секунд, и это дает уверенность в том, что вы не были атакованы MITM и т. Д. Кроме того, эти секунды являются страховкой на [часы] потраченного времени, если у вас было несколько битовых ошибок и необходима отладка погоня за ошибками, которые никто больше не получает из-за вашей загрузки (например, у вас есть проблемы с сетью и поэтому попытайтесь отладить; но сеть напичкана, потому что это то, что было неправильно) ... Думайте о проверках контрольной суммы как о очень дешевой страховке.

Программное обеспечение, необходимое для md5sum чего-то, обычно будет из другого источника (более старая версия, даже иногда отличная ОС / дистрибутив), очень мало и уже присутствует для многих / большинства из нас.

Кроме того, он позволяет мне скачивать с локального зеркала, но потому что я беру md5sum из канонического источника; У меня есть страховка, что зеркало не играет с ним. Опять же очень дешевая страховка, которая стоит мне ~ 3 сек времени.


12
Однако, если загрузка использовала метод передачи HTTPS, то все проверки целостности уже выполнены.
Наюки

15
@ Наюки эти проверки целостности были бы бесполезны, если файл каким-либо образом поврежден на сервере (сбой диска / FS-драйвера, плохое зеркалирование и т. Д.).
Руслан

6
@Nayuki То, что вы заходите на веб-сайт по протоколу HTTPS, не означает, что вся ссылка с вашего ПК на хранилище, содержащее загружаемый файл, зашифрована. Посмотрите, как разгорелись связи между центрами данных Google несколько лет назад.
CVN

30
Если у кого-то есть MITM'd ISO, кто скажет, что он не MITM контрольной суммы, когда вы просматривали ее на веб-сайте? (Если вы используете зеркало, это полезно.) Не редко можно увидеть контрольную сумму и загрузку, полученную от одного и того же объекта.
Лан

14
НИКОГДА не делайте предположение, что контрольная сумма обнаружит MitM. Указанные контрольные суммы тоже могут быть поддельными. Надлежащим способом является проверка подписи , но для этого требуется GPG (я сделал это только один раз, и это сложно сделать).
Майкл Джонсон

21

Да, ОЧЕНЬ РЕКОМЕНДУЕТСЯ проверить изображение, которое вы скачали, вот несколько причин:

  • Просто занимает несколько секунд и может сказать вам, если целостность файла правильная, я имею в виду, файл не поврежден. (Распространенной причиной повреждения является ошибка передачи из-за технических причин, таких как ненадежное подключение к Интернету из комментария @sudodus.)
  • Если файл поврежден и вы записали этот ISO-образ в дисковод CD / USB, и он не будет работать, или во время установки может произойти сбой, это приведет к пустой трате времени и компакт-дисков.
  • Вы уверены, что используете официальную версию CLEAN любого ISO-образа или программного обеспечения, а не модифицированную версию (возможно, злоумышленниками), см. Этот отчет: « Пираты Watch Dogs» пострадали от коварного вредоносного ПО для майнинга биткойнов

Если у вас уже есть дистрибутив GNU Linux, вы можете использовать md5sum , если вы в Windows, вы можете использовать: WinMD5Free .

Надеюсь, это поможет.


3
Для окон вы можете использовать встроенный certutil: superuser.com/a/898377/521689
Kanchu

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

@sudodus Networks имеют свои собственные проверки целостности. Хотя ошибки не могут пройти мимо них (TCP просто использует простую контрольную сумму, которая не обнаруживает подстановку слов, но большинство ссылок использует CRC), об этом обычно не беспокоятся.
Бармар

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

2

Да, это так, но Ubuntu, кажется, делает это сложнее, чем должно быть.

В лучшем случае вы просто скачали бы foo.iso и foo.iso.sig и щелкнули файл .sig (или использовали gpg на оболочке в файле .sig) после того, как один раз импортировали ключ. Это стоит несколько секунд.

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

С другой стороны, когда файл был сгенерирован просто sha256sum * >SHA256SUMS, вы можете проверить его используя sha256 -cи получить в OK/Bad/Not-Foundкачестве вывода.


2

Проверьте свой /proc/net/devи посмотрите, сколько плохих кадров TCP вы уже получили. Если вы видите однозначное значение (возможно, ноль), читайте дальше. Если у вас много или сетевые ошибки, то обязательно используйте MD5 для проверки ваших загрузок (хотя я бы предпочел выяснить основную причину, поскольку ненадежная сеть означает, что вы не можете доверять ничему, что вы получаете по HTTP).

Когда вы загружаете через TCP, который проверяет контрольные суммы всех передаваемых данных, очень мало шансов получить поврежденную загрузку с точно таким же размером. Если вы уверены, что скачиваете с официального сайта (как правило, если вы используете HTTPS и проверка сертификата проходит успешно), обычно достаточно проверить, что загрузка завершена. Достойные веб-браузеры обычно все равно проверяют вас, говоря что-то вроде «сбой загрузки», если они не получают ожидаемый объем данных, хотя я видел браузеры, которые просто решили сохранить неполный файл, ничего не сказав пользователю, и в этом случае вы можете проверить размер файла вручную.

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

Как сказал @sudodus в комментариях, использование Bittorrent вместо HTTPS - это еще один вариант, поскольку торрент-клиенты гораздо лучше справляются с неполными / поврежденными данными, чем веб-браузеры.

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


5
Контрольная сумма TCP недостаточно велика для чего-то такого большого, как файл ISO. Это всего 16 бит; на шумном канале есть хороший шанс, что коррупция прошла.
Mark

1
@ Марк для большого ISO, будет много контрольных сумм TCP: одна для каждого отдельного сегмента TCP, необходимого для передачи данных.
Энтони Дж - правосудие для Моники

3
@AnthonyGeoghegan, точно. Каждый сегмент имеет независимый шанс быть поврежденным, и, учитывая, сколько сегментов задействовано в файле ISO, есть довольно хороший шанс, что один из них будет поврежден таким образом, который все еще соответствует контрольной сумме этого сегмента.
Mark

1
@ Марк, можешь проверить свой / proc / net / dev и сказать, сколько плохих кадров TCP ты получил? Мой компьютер получил 0 с временем безотказной работы 140 дней. Если я не ошибаюсь, сертифицированное оборудование Gigabit Ethernet обеспечивает частоту появления ошибок 10 ^ -10 или выше. Конечно, все зависит от того, что вы называете «хорошим шансом» ...
Дмитрий Григорьев

1
@Mark Какой тип слоя 2 вы используете, у которого нет CRC или подобного? С Ethernet вы получаете чеки CRC и контрольную сумму TCP. Я не сделал для этого математику, но я не вижу, как вы получите "довольно хорошие шансы" там.
Во

0

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

Как говорили другие, это занимает мало времени.


Хуже всего в этом случае, если вы снова запишите ISO, вы получите ту же ошибку на компакт-диске
thomasrutter

1
Вот почему я использую RW CD и DVD. :-)
fixit7

7
Я никогда не писал CD / DVD больше десяти лет. Не стоит времени писать и стоить покупать, когда есть тонны дешевых
подвесок

0

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


0

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

Давным- давно , когда я часто записывал компакт-диски, однажды мне довелось загрузить этот ISO-дистрибутив Linux, который, похоже, загрузился правильно. CD не помог мне, поэтому я проверил загруженный файл, и он не совпадал. Итак, я скачал снова, и это сработало. Таким образом, это произошло только один раз за 15 лет, так как я был опытным пользователем компьютера и программировал (использую компьютеры с 11, 19 лет назад, и я записал более тысячи дисков). Но это доказательство того, что это может произойти.

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

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

Никто не может ответить, будет ли это стоить вам неприятностей - это зависит от контекста, и я уверен, что вы можете судить об этом сами. Для меня это не стоит большую часть времени. Если бы я собирался установить ОС, я бы проверил загруженный образ раньше.

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

РЕДАКТИРОВАТЬ: У меня даже были другие более опытные программисты на работе утверждают (даже с некоторым негодованием), что эти хэши проверки целостности данных позволяют узнать , является ли файл немного идентичным оригиналу, но я знаю (я читал), что Тот факт, что два файла приводят к одному и тому же хешу, не означает, что они идентичны, а просто означает, что крайне маловероятно, что они различаются. Они полезны тем, что когда файлы не идентичны, а особенно когда они сильно различаются, их результирующие хэш-коды практически никогда не будут одинаковыми (еще менее вероятно, что этот тест не пройдёт). Меньше слов - если хеш-коды разные, вы знаете, что файлы разные.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.