Suma sumie nierówna

Sprawdzanie poprawności pobieranych z Sieci plików nie zajmuje wiele czasu, a pozwala uniknąć np. wypalenia uszkodzonego obrazu ISO na płytę. Dodatkowo weryfikując sumę kontrolną zbioru, możemy mieć pewność, że nie zawiera on np. wirusa

Pobieranie plików z Internetu jest czynnością niebywale prostą. W większości wypadków wystarczy kliknąć odnośnik prowadzący bezpośrednio do pliku i „ssanie” rozpocznie się automatycznie. Nieco trudniejsze może się natomiast okazać sprawdzenie autentyczności lub spójności kopiowanych danych – szczególnie jeśli nie są to zbiory z muzyką czy obrazem tylko programy. O ile uszkodzenia obrazków i piosenek zauważyć łatwo (wystarczy je otworzyć w odpowiedniej przeglądarce), to z obrazami ISO lub rozbudowanymi programami może już tak nie być. Błędy powstałe podczas transferu mogą bowiem dotyczyć tylko niektórych ich części i ukazać nam się np. dopiero podczas instalacji aplikacji czy dystrybucji Linuksa.

Okazuje się jednak, że istnieje pewien prosty i uniwersalny sposób na weryfikację pobieranych z Sieci informacji. Wystarczy tylko po ich zapisaniu na dysku naszego komputera sprawdzić tzw. sumę kontrolną.

Nie tylko pliki

Kontrola poprawności plików przesyłanych przez Sieć jest stosunkowo łatwa. Polega ona na wyznaczeniu wartości pewnej funkcji matematycznej (zwanej właśnie sumą kontrolną) dla zbioru znajdującego się na serwerze, a następnie porównaniu jej z wielkością obliczoną dla pliku pobranego na dysk lokalny. Różnica w sumach kontrolnych oznacza, że w trakcie transmisji dane uległy z jakiegoś powodu zmianie.

Aby sprawdzić, czy skopiowane zbiory nie zostały uszkodzone bądź sfałszowane w trakcie przesyłania, musimy znać prawidłową wartość sumy dla każdego pliku. Powinniśmy też wiedzieć, według jakiego wzoru zostały one obliczone. Z reguły informacje te są publikowane na stronie internetowejobok odnośników do zbiorów. Niekiedy jednak są one zapisywane w pliku tekstowym, który należy także skopiować na dysk. Ta ostatnia metoda jest szczególnie wygodna w odniesieniu do serii plików (np. obrazów ISO kilku płyt składających się na dystrybucję Linuksa).

Sumy kontrolne wykorzystywane są także powszechnie przez oprogramowanie antywirusowe. Aplikacje te zakładają bazę danych, zawierającą obliczone wartości funkcji matematycznych dla pewnych zbiorów i newralgicznych obszarów dysków. Jeśli w wyniku infekcji wirusem plikowym zmieni się zawartość zbioru, zmianie ulegnie również jego suma kontrolna. Porównując ją z oryginałem, w łatwy sposób można wykryć „chore” miejsce i szybko podjąć odpowiednie działania. Podobną metodę wykorzystują osobiste zapory ogniowe, chroniące komputer przed tzw. atakami od „wewnątrz” – sprawdzają one, czy aplikacja (bądź biblioteka) nawiązująca połączenie z Siecią nie została zainfekowana obcym kodem.

Czym sprawdzić?

Każdy, kto chce wygenerować lub sprawdzić sumę kontrolną pojedynczego pliku lub katalogu, ma do dyspozycji kilka użytecznych programów (patrz: tabelka poniżej). Jednym z nich jest Advanced CheckSum Verifier 1.5.0, sprawdzający poprawność plików za pomocą algorytmów SFV (CRC-32) i MD5. Program jest bardzo wygodny zwłaszcza wtedy, gdy chcemy utworzyć sumy kontrolne dla folderów. Do zalet aplikacji należy zaliczyć tworzenie i zapisywanie plików z wartościami sum na kilka sposobów (np. do jednego zbioru zapisywane są sumy kontrolne wszystkich danych).

Innym ciekawym narzędziem jest AccuHash 2.0. Aplikacja pozwala na generowanie i sprawdzanieplików pobranych z Sieci lub np. przeznaczonych do wypalenia na krążku CD lub DVD. AccuHash 2.0 przechowuje sumy kontrolne w plikach XML-owych i Unicode. Dzięki temu można te informacje wymieniać między platformami i sprawdzać pliki np. w Linuksie. Ponadto oprogramowanie pozwala na eksport lub import sum kontrolnych w bardzo popularnych formatach narzędzi linuksowych – MD5SUM lub SFV. Ciekawą opcją AccuHasha 2.0 jest także prosty kalkulator sum kontrolnych, który nie generuje pliku zawierającego obliczoną sumę. Jest to narzędzie przydatne wówczas, gdy chcemy szybko sprawdzić poprawność jakiegoś pliku, którego suma kontrolna została opublikowana np. na stronach internetowych. Niestety, AccuHash 2.0 nie jest aplikacją darmową. Za jego pełną wersję, przeznaczoną do użytkowania domowego, trzeba zapłacić około 20 dolarów.

Kontrola za darmo

eXpress CheckSum Calculator 1.0.0 oraz eXpress CheckSum Verifier 1.0.1 to tandem darmowych programów służących zarówno do generowania, jak również weryfikacji sum kontrolnych plików. Interfejs obu narzędzi jest bardzo prosty, podobnie jak obsługa, która sprowadza się do wskazania konkretnego zbioru. eXpress CheckSum Calculator 1.0.0 potrafi obliczyć sumy kontrolne, korzystając z trzech podstawowych algorytmów: CRC-32, MD5 i SHA-1. W odpowiednich okienkach pokazywane są generowane sumy w postaci ciągu liczb, zapisanych w systemie szesnastkowym. CheckSum Veryfier 1.0.1 umożliwia natomiast sprawdzenie kilku zbiorów na podstawie listy ich sum kontrolnych, umieszczonej w pliku.

Kolejną aplikacją, którą warto się zainteresować, jest EF CheckSum Manager 1.25. Za jej pomocą możemy stworzyć i sprawdzić sumy kontrolne zapisywane w plikach MD5 i SFV, jednak na szczególną uwagę zasługuje przede wszystkim bardzo duża liczba różnych funkcji pomocniczych. EF CheckSum Manager 1.25 ma pewne elementy funkcjonalności Eksploratora Windows, tak więc aplikacja umożliwia podejrzenie właściwości katalogów lub plików, edycję wybranych typów zbiorów itp.

Zastosowania sum kontrolnych
-kontrola spójności plików pobieranych z i umieszczanych w Sieci
-sprawdzanie wersji pliku (np. w zaporach ogniowych i skanerach antywirusowych)
-odzyskiwanie skasowanych lub uszkodzonych danych (np. na płytach CD)
-badanie poprawności transmisji danych przez łącze (np. w Ethernecie)

Na komendę

Osobną grupę stanowią programy obsługiwane z linii komend, takie jak FastSum. Praca z tego typu aplikacjami nie jest zbyt wygodna z uwagi na konieczność samodzielnego wydawania poleceń. Pozwalają one jednak sprawdzić sumy kontrolne np. z poziomu środowiska MS-DOS. Choć na pierwszy rzut oka tego typu narzędzia wydają się mało interesujące, to często nie odbiegają one funkcjonalnością od ich okienkowych odpowiedników. Interesująca jest także aplikacja napisana w Javie – JackSum 1.5.1, którą możemy uruchomić zarówno pod Linuksem, jak i w Windows.

Pliki do kontroli

Sprawdzenie sumy kontrolnej pobranego z Sieci pliku nie zajmuje wiele czasu. Warto go poświęcić, by mieć pewność, że dysponujemy zbiorem oryginalnym lub nieuszkodzonym – szczególnie jeśli kopiujemy aplikacje lub obrazy ISO, które później wypalamy na płytach. Także wtedy, gdy na naszej stronie WWW udostępniamy jakieś dane, powinniśmy zadbać o podanie dla nich prawidłowej wartości sumy oraz informacji o użytym do jej obliczenia algorytmie. I choć nie jest to konieczne, stało się dobrym zwyczajem, który powinien wejść w krew każdemu profesjonalnemu webmasterowi.

Dane techniczne programów do sprawdzania i generowania sum kontrolnych
Advanced CheckSum Verifier 1.5.0AccuHash 2.0eXpress CheckSum Calculator 1.0.0eXpress CheckSum Verifier 1.0.1EF CheckSum Manager 1.25FastSumJackSum 1.5.1
Adres [http://www.]irnis.net/accuhash.com/irnis.net/irnis.net/efsoftware.com/fastsum.com/jonelo.de/java/jacksum/
Cenaok. 15 USDok. 20 USDfreewarefreewareok. 10 eurofreewarefreeware
Generowanie sum kontrolnych++++++
Weryfikowanie sum kontrolnych++++++
Interfejs graficzny+++++1)2)
CRC-32+++++++
MD5+++++++
SHA-1+++
+ – jest; – – nie ma; 1) – dostępna nakładka graficzna w wersji beta; 2) – można pobrać nakładkę z Sieci