Czy warto weryfikować ISO pobrane z oficjalnej strony internetowej?


36

Pobrałem ISO z https://www.ubuntu.com/download , wybierając domyślną opcję „Ubuntu Desktop”.

Witryna zawiera link do strony https://tutorials.ubuntu.com/tutorial/tutorial-how-to-verify-ubuntu, który zawiera instrukcje dotyczące weryfikacji ubuntu.

Wydaje się to dość nużące i zastanawiam się, jak realistyczny jest problem z ISO pobranym z oficjalnej strony. Zauważam, że sam proces weryfikacji wymaga ode mnie pobrania oprogramowania, które jest dla mnie nowe, co wprowadza na mnie kolejny wektor ataku, nawet gdy zamykam inny.

Ze względu na swoją wartość planuję używać tylko Live USB i nie instalować w pełni Ubuntu. Czy to robi różnicę?


8
Moja polityczna odpowiedź brzmi „TAK ZRÓB”. Nigdy tego nie robiłem, chyba że przy pierwszym pobraniu wiele księżyców temu. Zawsze pobieram i oceniam oprogramowanie lub łatki / poprawki błędów i po prostu nie przeszkadzają mi dodatkowe kroki. Poza tym wszystkie moje systemy są nieprodukcyjne i jeśli jutro przejdą do „kupy”, po prostu wzruszę ramionami i przejdę dalej.
WinEunuuchs2Unix

14
Torrent jest alternatywą, jeśli nie chcesz sprawdzać sumy md5. Gdy otrzymasz plik przez torrent, zostanie on automatycznie sprawdzony :-) Często korzystanie z metody torrent jest szybsze (w porównaniu ze zwykłymi plikami do pobrania), ale niektórzy dostawcy usług internetowych blokują go, ponieważ uważają, że jest on wykorzystywany wyłącznie do nielegalnych celów .
sudodus

2
Podstawowym zastosowaniem sum kontrolnych MD5 nad dużymi plikami jest zapewnienie integralności pobranego pliku (np. Wykrycie, czy transfer został anulowany przedwcześnie), a nie ograniczenie szansy na ataki MITM.
rexkogitans

1
@rackandboneman Nie, to wcale nie jest podstawowe pytanie.
David Richerby

16
Ciekawostka: prawdopodobnie poświęcisz więcej czasu na zadawanie tego pytania niż obliczanie sum kontrolnych przez całe życie.
el.pescado

Odpowiedzi:


57

Tak, warto.

Pobrane ISO zajmuje tylko kilka sekund i md5sum / etc zapewnia bezpieczeństwo, że nie zostałeś zaatakowany przez MITM itp. Poza tym sekundy te są ubezpieczeniem na [godziny] straconego czasu, jeśli popełniłeś kilka błędów i konieczne jest debugowanie goniąc za błędami, których nikt inny nie dostaje z powodu twojego pobrania (np. masz problemy z siecią, więc spróbuj debugować; ale sieć jest zapchana, ponieważ to właśnie kilka błędów było ...) Pomyśl o kontroli sumy jako bardzo tanie ubezpieczenie.

Oprogramowanie potrzebne do md5sum zwykle będzie z innego źródła (starsza wersja, czasami inne os / distro), jest bardzo małe i jest już obecne dla wielu / większości z nas.

Ponadto pozwala mi pobierać z lokalnego serwera lustrzanego, ale ponieważ pobieram md5sum ze źródła kanonicznego; Mam ubezpieczenie, że lustro się z nim nie bawiło. Znowu bardzo tanie ubezpieczenie, które kosztuje mnie ~ 3 sekundy.


12
Jeśli jednak pobieranie wykorzystało metodę przesyłania HTTPS, wszystkie kontrole integralności już się odbyły.
Nayuki,

15
@Nayuki te kontrole integralności byłyby bezwartościowe, gdyby plik został w jakiś sposób uszkodzony na serwerze (awaria dysku / sterownika FS, złe dublowanie itp.).
Ruslan

6
@Nayuki Tylko dlatego, że uzyskujesz dostęp do strony internetowej przez HTTPS, nie oznacza, że ​​cały link z komputera do pamięci przechowującej plik, który pobierasz, jest zaszyfrowany od końca do końca. Zobacz klęskę centrum danych Google kilka lat temu.
CVn

29
Jeśli ktoś ma MITM, to ISO, którego, mówiąc, że nie MITM sumy kontrolnej podczas przeglądania jej na stronie internetowej? (Jeśli używasz kopii lustrzanej, jest to przydatne). Nie jest zbyt rzadkie, aby suma kontrolna i pobieranie były podawane z tego samego elementu.
Lan

13
NIGDY nie przyjmuj założenia, że ​​suma kontrolna wykryje MitM. Podane sumy kontrolne mogą być również fałszywe. Właściwy sposób to weryfikacja podpisu , ale wymaga to GPG (zrobiłem to tylko raz i jest to uciążliwe).
Micheal Johnson

21

Tak, bardzo BARDZO ZALECANE jest sprawdzenie pobranego obrazu, oto kilka powodów:

  • Wystarczy kilka sekund i mogę powiedzieć, czy integralność pliku jest poprawna, tzn. Plik nie jest uszkodzony. (Częstą przyczyną korupcji jest błąd przesyłania spowodowany przyczynami technicznymi, takimi jak niestabilne połączenie internetowe z komentarza @sudodus.)
  • Jeśli plik jest uszkodzony i nagrywasz ten obraz ISO na napęd CD / USB, a on nie działa, lub podczas instalacji może się nie powieść, powoduje to stratę czasu i płyt CD.
  • Jesteś pewien, że używasz oficjalnej CZYSTEJ wersji dowolnego obrazu ISO lub oprogramowania, a nie zmodyfikowanej wersji (być może przez atakujących), zobacz ten raport: Watch Dogs pirates dotknięty przez szkorbutowe szkodliwe oprogramowanie wydobywające bitcoiny

Jeśli masz już dystrybucję GNU Linux, możesz użyć md5sum , jeśli jesteś w systemie Windows, możesz użyć: WinMD5Free .

Mam nadzieję, że to pomoże.


3
W przypadku systemu Windows można użyć wbudowanego certutil: superuser.com/a/898377/521689
Kanchu

1
Odpowiedziałem również, ale oceniam twoją odpowiedź, ponieważ uważam, że dobrze odpowiada również na pytanie i jest przydatna dla większej liczby czytelników, ponieważ nie zawiera zbyt szczegółowych szczegółów technicznych, jak inne odpowiedzi.
bitoolean

@sudodus Networks ma własne kontrole integralności. Mimo że błędy nie są w stanie ich ominąć (TCP po prostu używa prostej sumy kontrolnej, która nie wykrywa zamiany słów, ale większość linków używa CRC), jednak nie jest to coś, co ogólnie się martwi.
Barmar

Jeśli atakujący jest w stanie uszkodzić plik, zmiana wartości w polu MD5 również powinna być w zasięgu ręki.
Pascal Engeler

2

Tak, ale Ubuntu wydaje się utrudniać.

W najlepszym przypadku wystarczy pobrać foo.iso i foo.iso.sig i kliknąć plik .sig (lub użyć gpg na powłoce w pliku .sig) po jednorazowym zaimportowaniu klucza. To kosztuje kilka sekund.

Ubuntu wydaje się komplikować, zmuszając cię do sprawdzania sum sha256 z pliku, podczas gdy tylko sam plik jest podpisany. Jest to dla nich wygodne, ale więcej pracy dla ich użytkowników.

Z drugiej strony, gdy plik został właśnie wygenerowany sha256sum * >SHA256SUMS, możesz go sprawdzić za pomocą sha256 -ci uzyskać OK/Bad/Not-Foundjako wynik.


2

Sprawdź swoją /proc/net/devi sprawdź, ile otrzymałeś do tej pory złych ramek TCP. Jeśli zobaczysz wartość jednocyfrową (mam nadzieję, że zero), czytaj dalej. Jeśli masz dużo błędów sieciowych lub błędów, to na pewno użyj MD5, aby zweryfikować pobrane pliki (choć wolę zbadać główną przyczynę, ponieważ niewiarygodna sieć oznacza, że ​​nie możesz ufać cokolwiek, co otrzymujesz przez HTTP).

Podczas pobierania za pośrednictwem protokołu TCP, który sumuje wszystkie przesyłane dane, istnieje bardzo małe prawdopodobieństwo uszkodzenia pliku o dokładnie takim samym rozmiarze. Jeśli masz pewność, że pobierasz dane z oficjalnej strony (zazwyczaj używasz HTTPS, a sprawdzenie certyfikatu mija), zwykle wystarcza sprawdzenie, czy pobieranie zostało zakończone. Przyzwoite przeglądarki internetowe i tak zwykle sprawdzają za ciebie, mówiąc coś w stylu „pobieranie nie powiodło się”, jeśli nie otrzymają oczekiwanej ilości danych, chociaż widziałem przeglądarki, które po prostu decydują się zatrzymać niekompletny plik, nic nie mówiąc do użytkownika, w którym to przypadku można ręcznie sprawdzić rozmiar pliku.

Oczywiście weryfikacja sumy kontrolnej nadal ma swoją wartość, obejmując Cię w przypadkach, gdy pobierany plik jest uszkodzony na serwerze, ale nie zdarza się to zbyt często. Jeśli jednak zamierzasz użyć swojego pliku do pobrania czegoś ważnego, to warto zrobić krok.

Jak powiedział @sudodus w komentarzach, użycie Bittorrenta zamiast HTTPS jest kolejną opcją, ponieważ klienci torrentów wykonują znacznie lepszą pracę w przypadku niekompletnych / uszkodzonych danych, jak robią to przeglądarki internetowe.

Pamiętaj, że sumy kontrolne tak naprawdę nie zapobiegają atakowi, po to właśnie jest HTTPS.


5
Suma kontrolna TCP nie jest wystarczająco duża, aby pomieścić coś tak dużego jak plik ISO. To tylko 16 bitów; w przypadku głośnego łącza istnieje duża szansa, że ​​doszło do korupcji.
Mark

1
@Zaznacz dla dużego ISO, będzie wiele sum kontrolnych TCP: po jednym dla każdego segmentu TCP wymaganego do przesłania danych.
Anthony G - sprawiedliwość dla Moniki

3
@AnthonyGeoghegan, dokładnie. Każdy segment ma niezależną szansę na uszkodzenie, a biorąc pod uwagę liczbę segmentów zawartych w pliku ISO, istnieje spora szansa, że ​​jeden z nich zostanie uszkodzony w sposób, który nadal odpowiada sumie kontrolnej tego segmentu.
Mark

1
@ Mark, czy możesz sprawdzić swój / proc / net / dev i powiedzieć, ile otrzymałeś złych ramek TCP? Mój komputer ma 0, a czas pracy wynosi 140 dni. Jeśli się nie mylę, certyfikowany sprzęt Gigabit Ethernet zapewnia bitową stopę błędów wynoszącą 10 ^ -10 lub więcej. Oczywiście wszystko zależy od tego, co nazywacie „dobrą szansą” ...
Dmitrij Grigoriew

1
@ Mark Jakiego rodzaju warstwy 2 używasz, która nie ma CRC lub podobnego? Z ethernetem otrzymujesz kontrole CRC i sumę kontrolną TCP. Nie zrobiłem matematyki dla tego, ale nie widzę, jak dochodzisz do „całkiem dobrych szans”.
Voo,

0

Dowiedziałem się, jak nie sprawdzać sumowania. Nagrywałbym płytę CD z ISO, które uległo uszkodzeniu podczas pobierania i nie można było go uruchomić lub wystąpiły błędy podczas uruchamiania.

Jak powiedzieli inni, zajmuje to niewiele czasu.


Najgorsze w tym doświadczeniu jest to, że jeśli ponownie
wypalisz

1
Dlatego używam RW CD i DVD. :-)
fixit7

7
Nigdy nie pisałem żadnych płyt CD / DVD od ponad dekady. Nie warto poświęcać czasu na pisanie i kupować, gdy jest mnóstwo tanich
pendrivów

0

Widzisz to tylko z jednym przypadkiem użycia, w konfiguracji z masową automatyzacją pomaga to zweryfikować; skrypty uruchamiające sprawdzanie, zanim przejdziemy do tego, co trzeba zrobić z obrazem


0

Inni udzielili odpowiedzi ze szczegółami technicznymi, o których zapomniałem, chociaż jestem programistą (moja praca nie obejmuje komunikacji w sieciach), więc dam ci tylko poznać osobiste doświadczenia.

Długi czas temu, kiedy często wykorzystywane do nagrywania płyt CD, to raz zdarzyło mi się pobrało to dystrybucja Linuksa ISO których okazało się, że pobrane prawidłowo. Płyta CD mnie zawiodła, więc sprawdziłem pobrany plik i nie pasuje. Pobrałem więc ponownie i zadziałało. Tak się zdarzyło tylko raz na 15 lat, odkąd jestem zaawansowanym użytkownikiem i programistą (korzystam z komputerów od 11, 19 lat temu i spaliłem ponad tysiąc płyt). Ale to dowód, że tak się może stać.

Zdarzyło mi się to również za pośrednictwem BitTorrenta raz lub dwa razy, więc nie jest to również bezpieczne. Wymuszając ponowne sprawdzenie pobranego pliku, zidentyfikował uszkodzony element.

Mój wniosek jest taki, że HTTP (poleganie na TCP) może być tak bezpieczne, jak to tylko możliwe, ale Internet oznacza, że ​​między twoim urządzeniem a serwerem są węzły pośredniczące i nie wiadomo, co może się stać po drodze (pakiety są nawet tracone czas), a czasem komputery nie są w stanie stwierdzić, że dane są nieprawidłowe.

Nikt nie może odpowiedzieć, czy byłoby to dla ciebie warte kłopotu - zależy to od kontekstu i jestem pewien, że sam możesz to ocenić. Dla mnie przez większość czasu nie warto. Gdybym zamierzał zainstalować system operacyjny, sprawdziłbym wcześniej pobrany obraz.

Uwaga: fakt, że tylko raz lub dwa razy zauważyłem uszkodzone pobieranie, nie oznacza, że ​​zdarzyło się to dopiero wtedy. Może innym razem nie przeszkadza, więc nie zauważasz.

EDYCJA: Miałem nawet innych bardziej doświadczonych programistów w pracy argumentujących (nawet z pewnym oburzeniem), że te skróty weryfikacji integralności danych pozwalają wiedzieć, czy plik jest nieco identyczny z oryginałem, ale wiem (przeczytałem), że fakt, że dwa pliki prowadzą do tego samego skrótu, nie oznacza, że ​​są one identyczne - oznacza tylko, że jest bardzo mało prawdopodobne, że się różnią. Przydatne jest to, że gdy pliki nie są identyczne, a zwłaszcza gdy są bardzo różne, ich wynikowe kody skrótu praktycznie nigdy nie będą takie same (jest jeszcze mniej prawdopodobne, że test się nie powiedzie). Krótko mówiąc - jeśli kody skrótu są różne, wiadomo, że pliki są różne.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.