Jak sprawdzić czy program jest autentyczny czyli notka o integralności

W poprzednim wpisie mieliście okazję poznać moje (w sumie nie tylko) spojrzenie na kwestie związane z certyfikatami podpisu elektronicznego, z Windows 10. Zaprezentowałem Wam zagadnienie, ale bez szczegółów technicznych.

Otóż..właśnie przybyły!

Sprawdzenie integralności

Jeśli robicie zakupy w sklepie, niech zgadnę – nie bierzecie rzeczy, jak leci, lecz sprawdzacie je przed zakupem, żeby nie kupić czasem czegoś…. nadpsutego.

W jaki sposób zrealizować to w cyfrowym świecie komputerów i smartfonów?

Skąd mogę mieć pewność (albo przynajmniej bardzo wysoki procent pewności) , że ściągnięty program jest programem wydanym przez deklarowanego autora/producenta/wydawcę – i co ważniejsze – że nie jest uszkodzony?

Skoro nawet certyfikat podpisu może nie być wystarczający, w jaki sposób sprawdzić tę autentyczność?

Cóż… najprostszym sposobem będzie ściągnięcie programu ze strony producenta i obliczenie sumy kontrolnej (np. MD5, SHA) z tego właśnie pliku. Pomimo, iż brzmi to tajemniczo, nie ma tutaj zbyt wiele złożonych rzeczy:

  1. ściągamy plik, jaki chcemy zainstalować (np. EXE)
  2. ściągamy plik sumy kontrolnej (może być w linku obok pliku EXE, jeśli wydawca oprogramowania taki plik przygotował)
  3. jeśli nie mamy programu do obliczania sumy kontrolnej, jednorazowo sobie go instalujemy (możemy go wyszukać poprzez słowa kluczowe md5 checksum file, choć trzeba uważać skąd ściągamy program). Lub też inwestujemy w narzędzie typu Total Commander (program jest płatny, ale zdecydowanie wart swej ceny).
  4. mając pod reką program do obliczania sumy kontrolnej, wskazujemy mu albo plik .md5 (ściągnięty) – sprawdzi sumę za nas, albo też podajemy plik do sprawdzenia (np. exe), i otrzymany plik sumy podglądamy i porównujemy z plikiem ściągniętym *.md5

 

W rezultacie…

Jeśli wydawca opublikował sumy kontrolne dla danego pliku – porównujemy je i jeśli są takie same – plik jest autentyczny*! Suma kontrolna (inaczej „cyfrowy odcisk palca”) może mieć wielkość kilkudziesięciu znaków (32-40), więc porównanie ich (nawet naocznie) nie jest specjalnie trudne. Wspomniany Total Commander ma funkcję do sprawdzania sum, więc weryfikacja ściągniętych plików jest banalnie prosta (ściągami plik instalatora (exe) i plik odcisku palca (md5 lub sha), klikamy np. plik .md5 (lub .sha) i czekamy chwilę na wynik).

Jeśli dodać do tego fakt, że wydawca może opublikować sumy kontrolne na dwóch różnych serwisach (znajdujących się na różnych serwerach) sprawdzenie spójności i upewnienie się co do pochodzenia pliku może być jeszcze większe. Nie trzeba do tego certyfikatów! To sprawdzona metoda, wielu z wydawców z niej korzysta, dziwię się sam, że wcześniej nie publikowałem oficjalnie tych plików, poza wybranymi wersjami pudełkowymi (gdy nagranie było właśnie na CD, które nie ma wiecznego czasu przechowywania). Chwila… przecież za bardzo ufałem „certyfikatom” od MS!

*autentyczny w rozumieniu = jego zawartość jest prawie taka sama jak deklarowana, przy założeniu wysokiego stopnia prawdopodobieństwa. Ze względu na ograniczenia sum kontrolnych (rozmiar sumy kontrolnej jest taki sam, niezależnie czy obliczamy go dla małego 1MB pliku czy też wielkiego archiwum o wadze kilku GB), w teorii może się zdarzyć taka sama suma kontrolna dla dwóch różnych plików – jednak w praktyce bardzo ciężko o taką sytuację.  Ewentualnie inną wersją jest możliwość ściągnięcia pliku z innej lokalizacji (jeśli plik jest dostępny na różnych serwerach) i bezpośrednie porównanie zawartości dwóch plików (to już programem do tego celu). To jest jednak wolniejsze, niż ściągnięcie md5 czy sha.

Poświęcenie czasu na taką weryfikację czasu może wydawać się średnio sensowne dla kogoś zapracowanego. Jednakże jeśli kupujemy coś w zwykłym sklepie, to czy patrzymy na datę? Jeśli nie..prawdopodobnie nie przejmujemy się kwestiami bezpieczeństwa (lub ktoś to robi za nas), jeśli zaś skrupulatnie datę weryfikujemy, to prawdopodobnie albo kiedyś się „przejechaliśmy” na terminie ważności, albo wolimy nie ryzykować.

I tutaj jest podobnie!

Na tej samej zasadzie możecie sprawdzać swoje kopie zapasowe, szczególnie te nagrane na CD/DVD czy przechowywane na pendrive/dyskach SSD (jeśli dane są uszkodzone, suma kontrolna będzie się różnić – a wtedy już wiecie, że nie możecie w pełni polegać na tych danych i np. musicie je odzyskać z innej kopii). Jeśli uważacie, że temat jest ciekawy i chcecie więcej – proszę o info!

 

 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *