Hvis du har vært en stund i dataverdenen, og kanskje til og med har snust litt på cybersikkerhet, har du sikkert hørt om begrepet sjekksum. Det dukker opp litt her og der, til og med i tilfeldige samtaler. Det er fordi sjekksummer fortsatt er en solid metode for å vurdere om en samling data eller en enkelt fil stemmer overens med visse parametere, eller om den har blitt endret på noen måte.
Når du laster ned åpen kildekode fra forskjellige nettsteder, kan du ha sett at noen av dem stolt viser denne sjekksumverdien. Ofte følger det med en melding om at sjekksummen til filen du har lastet ned, skal samsvare med den som er oppgitt på nettsiden. Hvis du har stusset over dette rådet og den tilsynelatende tilfeldige rekken av alfanumeriske tegn, skal vi nå forklare dette for deg.
Hva er en sjekksum?
Teknisk sett er en sjekksum en liten datablokk som er utledet fra en annen datablokk. Hensikten er enkel, men viktig: å utføre kontroller og finne ut om det har oppstått feil i dataene under lagring eller overføring. Det er altså en liten indikator som forteller oss om de opprinnelige dataene er endret.
Sjekksummen oppstår ikke tilfeldig. Den er generert gjennom en operasjon som kalles en sjekksumfunksjon. Du kan også se den omtalt som en kontrollsumalgoritme. Algoritmens utforming kan variere, men en effektiv sjekksumalgoritme skal gi en betydelig annen verdi (sjekksum) selv ved de minste endringer i inndata, uavhengig av type dokument eller data.
Hva brukes sjekksum til?
De små datablokkene (sjekksummene) brukes oftest til å utføre dataintegritetskontroller på ulike filer. Som vi nevnte tidligere, kan en utvikler generere en sjekksum for et program og vise den på nettsiden. Når du laster ned programmet, kan du sjekke om sjekksummen stemmer overens med den opprinnelige verdien.
Hvis sjekksummen for den aktuelle filen (eller datainndata) ikke er den samme som den tidligere beregnede kontrollsummen, er det et klart tegn på at inndataene er manipulert på en eller annen måte. Hvis sjekksummene samsvarer, er det stor sannsynlighet for at dataene ikke er endret eller korrupte, verken ved uhell eller med vilje.
Ulike typer sjekksum
Akkurat som med kryptografiske algoritmer, finnes det forskjellige typer kontrollsumalgoritmer. Noen er mer egnet for visse formål enn andre. Vi skal nå se nærmere på de vanligste algoritmene for kontrollsummer, slik at du lettere kan forstå konseptet.
Hvis du ikke er spesielt teknisk anlagt, eller ikke liker teknisk sjargong, kan du hoppe over de neste avsnittene om sjekksumalgoritmer og gå direkte til instruksjonene om hvordan du bruker sjekksummer for å validere filer.
Paritetsord eller paritetsbyte
Vi starter med den enkleste kontrollsumalgoritmen, kjent som longitudinell paritetssjekk. Den deler dataene i ord med et fast antall biter (n), og beregner deretter «eksklusivt eller» (XOR) for alle ordene. Resultatet legges til meldingen som et ekstra ord.
For å sjekke meldingens integritet, beregner mottakeren «eksklusivt eller» (XOR) for alle ordene, inkludert sjekksummen, og sjekker om resultatet er et ord som består av (n) nuller. Hvis det stemmer, er alt i orden. Hvis ikke, har det oppstått en feil under overføringen.
Selv om dette er den enkleste kontrollsumalgoritmen, er den ikke den mest effektive. Paritetsord/byte-algoritmen vil oppdage feil hvis overføringsfeilen påvirker en enkelt bit i inndataene, eller et oddetall av biter.
Men hvis bitene er plassert på samme posisjon i to forskjellige ord, og feilen påvirker dem, vil ikke algoritmen oppdage feilen. Den kan også bli lurt hvis du bytter om to eller flere ord. I et tredje scenario, der du velger bitene tilfeldig, er sannsynligheten for å oppdage en feil med to biter 1/n (n = det faste antallet biter).
Sum komplement
Sum komplement-algoritmen ble utviklet for å forbedre paritetssjekk-algoritmen. I motsetning til paritetssjekk, adderer sum komplementet alle «ordene» som binære, usignerte tall, og forkaster overløpsbiter. Deretter legges det to-komplementære resultatet til som kontrollsummen.
For å validere en melding, legger mottakeren til alle ordene, inkludert sjekksummen, akkurat som i longitudinell paritetssjekk. Hvis den resulterende strengen ikke er et ord fullt av nuller, er det en sterk indikasjon på en overføringsfeil. Men denne algoritmen kan også bare oppdage enkeltbitsfeil. SAE J1708 bruker imidlertid den modulære summen.
Posisjonsavhengig
Den posisjonsavhengige kontrollsumalgoritmen ble utviklet for å rette opp feilene til de to foregående algoritmene. De var ikke i stand til å oppdage mange vanlige feil som kan oppstå på mer enn én bit, som å sette inn eller fjerne ord med nuller, eller endre rekkefølgen på dataord.
Denne algoritmen sjekker ikke bare verdien av hvert ord i inndataene, men også posisjonen i sekvensen. Ettersom den tar hensyn til flere parametere, øker kostnadene ved sjekksumberegningen. Eksempler på posisjonsavhengige sjekksumalgoritmer er Adler-32, sykliske redundanssjekker (CRCs) og Fletchers sjekksum.
Uklar kontrollsum
Denne typen kontrollsumalgoritme ble utviklet for å oppdage søppelpost. Den genererer samarbeidsdatabaser fra flere internettleverandører. Disse databasene består av e-poster som er mistenkelige eller rapportert som søppelpost.
Siden innholdet i hver søppelpost kan være veldig forskjellig, blir klassiske sjekksumalgoritmer ineffektive. En uklar kontrollsumalgoritme reduserer innholdet i en e-post til et minimum, og beregner deretter en kontrollsum. Dette øker sjansen for at litt forskjellige e-poster vil generere samme kontrollsum. Tjenester som DCC mottar innsendinger fra internettleverandører og sjekker for søppelpost basert på uklare kontrollsummer.
Det er en viss terskel for antall innsendte uklare sjekksummer. Hvis denne overskrides, blir innsendingen merket som potensiell søppelpost.
Hvordan bruker jeg filsjekksum?
Hvis du er opptatt av datasikkerhet og forstår risikoen ved å laste ned filer fra tvilsomme nettsteder, bør du bruke sjekksummen til å bekrefte filenes integritet før du laster ned eller kopierer dem. Enhver kilde kan bli kompromittert, og et smart forkledd angrep kan lure deg til å tro at du har lastet ned filen fra en pålitelig kilde. Det er derfor viktig å sørge for at du virkelig har lastet ned riktig fil.
1. Windows
Windows har dessverre ikke et GUI-sjekksumverktøy. Du må enten bruke CMD-verktøyet eller laste ned et tredjepartsverktøy med et brukervennlig grensesnitt. Vi anbefaler det siste, spesielt hvis du ikke har erfaring med dataintegritetsverifikasjoner, kontrollsummer og bruk av dataintegritetsverktøy.
I denne artikkelen bruker vi IrfanView, en populær gratis bildviser. På IrfanView-nedlastingssiden ser du at det under hver versjon er en ekstra linje som kan se ut som vrøvl om du ikke har sett noe lignende før.
Linjen kan se slik ut:
(SHA-256 sjekksum: 6a67f079f8036a30e9e13fd9baecf0d37da18106050880a3f12845e445f8786f)
Noter deg dette. Vi kommer tilbake til den om litt. Last ned en versjon av IrfanView, men merk deg den underlige linjen under nedlastingslenken.
1. Bruke certutil
Last ned IrfanView
Trykk Win + R
Skriv CMD og trykk Enter
I CMD, bruk CD for å gå til mappen der du lastet ned IrfanView
Skriv inn følgende kommando, men erstatt FILE med filen du vil sjekke (inkludert filendelsen) og HASH med algoritmen som er spesifisert av utvikleren (i vårt tilfelle SHA256).
certutil -hashfile FIL HASH
Trykk Enter
Sjekk om de to kontrollsummene er like.
Hvis det er en feil, er det svært usannsynlig at de to kontrollsummene (den offisielle og den du har beregnet med certutil) er like. Enhver endring i inndatafilen vil generere en helt annen kontrollsum. Du bør sjekke om sjekksummen er NØYAKTIG lik den på nettsiden.
Hvis kontrollsummene er identiske, har du en fil med 100 % integritet. Det betyr at du har lastet ned en kopi av samme fil som nettstedet har, og det skal være trygt å lagre den på PC-en eller installere den.
Certutil fungerer med flere andre hash-algoritmer enn SHA256, som MD2, MD4, MD5, SHA1, SHA384 og SHA512. Endre hash-typen til den som den offisielle fileieren bruker, hvis den er annerledes enn SHA256.
2. Bruke MD5 Checksum Tool
MD5 Checksum Tool er et gratis program for å beregne fil-hasher uten erfaring. Du installerer programmet, mater det med en fil, og lar det gjøre jobben. Programmet har også tilleggsfunksjoner som batch-filbehandling, støtte for flere hash-algoritmer og en komponent som lar deg sammenligne en fil med en kontrollsum uten å se på dem.
Du kan bruke et annet tredjepartsverktøy, men vi bruker MD5 Checksum Tool. Last ned programmet fra en pålitelig kilde og følg disse trinnene:
Last ned MD5 Checksum Tool
Kjør installasjonsprogrammet
Følg instruksjonene for å installere appen
Start MD5 Checksum Tool
Klikk på …-knappen ved siden av filboksen
Naviger til mappen der du har lastet ned IrfanView
Dobbeltklikk på IrfanView-installasjonsprogrammet
Klikk på Hash-knappen
Sjekk at alle feltene er fylt ut med tegnstrenger
Sammenlign den aktuelle hashen fra listen med den på IrfanView-nettstedet.
For å slippe å sjekke hvert tegn i hashen, kan du bruke MD5 Checksum Tool til å sammenligne en fil med en kjent kontrollsum. Dette fungerer bare for MD5-hasher. Følg disse trinnene for å sammenligne en fil med en kjent kontrollsum:
Start MD5 Checksum Tool
Naviger til Sammenlign-verktøyet
I det andre feltet, trykk på …-knappen
Naviger til stedet der du har lagret filen
Dobbeltklikk på filen for å laste den inn
Kopier den kjente MD5-hashen i feltet nedenfor
Trykk på Sammenlign-knappen
Hvis filen du lastet har en annen MD5-hash enn den du limte inn, vil MD5 Checksum Tool gi deg beskjed. Det kan bety at du har en annen versjon av filen, eller at den er manipulert. MD5 Checksum Tool kan også sammenligne to filer med hverandre på samme måte. Bruk den første delen av Sammenlign-fanen, der du kan laste inn to filer.
Når begge filene er lastet, trykker du på Sammenlign-knappen. Hvis filene er identiske, vil MD5 Checksum Tool varsle deg om det, og om kontrollsummen er forskjellig.
Som du ser tilbyr MD5 Checksum Tool et brukervennlig grensesnitt for å verifisere integriteten til filene. Men det er begrenset. Du kan for eksempel ikke sammenligne en fil med en SHA-256 sjekksum.
3. Bruke FCIV
Microsoft ga også ut et annet CMD-verktøy kalt FCIV (File Checksum Integrity Verifier). Dette verktøyet er ikke tilgjengelig som standard i Windows. Du må laste det ned og installere det. Verktøyet er sannsynligvis utdatert, og ble utviklet for eldre versjoner av Windows, som Windows 2000, XP og Windows Server 2003. Siste versjon av FCIV ble utgitt i desember 2004.
Hvis du likevel vil laste ned og installere FCIV, følg disse trinnene:
Trykk Win + R
Skriv CMD og trykk Enter
Skriv inn følgende kommando, men erstatt FILENAME med den faktiske filen (inkludert filendelsen):
fciv FILNAVN
Trykk Enter
Du vil se to hasher for filen: en MD5 og en SHA-1. Dette er problemet med FCIV, og hvorfor nesten ingen bruker det lenger. Det er foreldet og støtter bare MD5 og SHA-1. Du bør heller bruke MD5 Checksum Tool eller certutil-verktøyet.
Mac
Hvis du har brukt Mac, vet du sikkert hva Terminalen er. Mac har en konsoll som ligner på CMD, og den heter Terminal.
1. Bruke Terminal
Terminalen har mange verktøy du kan bruke, også et innebygd verktøy for å generere en kontrollsum. Her er noen trinn for å bekrefte sjekksummen til en fil på Mac. Vi bruker IrfanViews installasjonsprogram, som tilbyr en kontrollsum rett under nedlastingslenken. Noen utviklere (Ubuntu) tilbyr sjekksummen i et eget tekstdokument.
Last ned IrfanView-installasjonsprogrammet på datamaskinen din.
Klikk på forstørrelsesglassikonet (øverst til høyre)
Skriv terminal i søkefeltet
Velg Terminal fra listen over resultater
Bruk cd-kommandoen for å navigere til mappen der du lastet ned filen (cd nedlastinger hvis du har den i nedlastingsmappen)
Skriv inn følgende kommando i Terminal, men erstatt HASH med hash-typen (i vårt tilfelle 256) og FILENAME med filnavnet (vår er iview457_x64_setup.exe)
shasum -a HASH FILNAVN
Kommandoen din skal se omtrent slik ut: shasum – en 256 iview457_x64_setup.exe
Sjekk neste linje i terminalvinduet for kontrollsummen. Sammenlign den med den kjente (som den fra IrfanViews nettsted).
Macs Terminal støtter flere hash-algoritmer. Her er kommandoene du kan bruke:
MD5: md5 FILNAVN
SHA1: shasum -a 1 FILNAVN
SHA256: shasum -a 256 FILNAVN
SHA384: shasum -a 384 FILNAVN
SHA512: shasum -a 512 FILNAVN
Hvis kontrollsummen du beregnet er forskjellig fra den på nettsiden, er filen manipulert eller ødelagt under overføringen. Noen ganger kan nedlastinger gi ødelagte filer, spesielt hvis nedlastingen har blitt avbrutt. Prøv å laste ned filen på nytt. Det kan også skje at utgiveren har oppdatert filen og glemt å legge ut den nye kontrollsummen.
2. Bruke tredjepartsapper
Hvis du ikke liker Terminalen, kan du bruke Mac App Store for å finne et tredjepartsverktøy som har GUI. En slik app er Checksum Utility, som koster $1,99. Den har et enkelt grensesnitt, og forteller deg om integriteten til filene. Med Checksum Utility kan du sjekke om sikkerhetskopifiler fungerer, sammenligne filer med eldre kontrollsummer, og sammenligne viktige filer med duplikater for å sjekke om RAM er skadet.
I motsetning til Macs terminal støtter Checksum Utility flere kontrollsumalgoritmer: CRC 32, MD5, SHA 1, MD2, MD4, SHA 2: SHA 224, SHA 256, SHA 384 og SHA 512. Du kan også lagre den beregnede sjekksummen som en .checksum-fil.
Du kan sammenligne en .checksum-fil, en fil i lagringen, og en kontrollsumverdi som du legger inn manuelt. Hvis du har en kontrollsum, men ikke vet hvilken algoritme den er generert med, kan Checksum Utility hjelpe deg med å identifisere den.
Checksum Utility kan ikke beregne og sammenligne kontrollsum for alle filene i en mappe. Hvis du vil beregne og sammenligne kontrollsummer i bulk, kan du finne en Checksum Folders-app i Mac App Store. Checksum Utility er enklere å bruke enn Mac-terminalen, og har flere funksjoner, som sammenligning av sjekksum, et algoritmeidentifikasjonsverktøy og muligheten til å lagre en beregnet kontrollsum som en .checksum-fil.
Linux
Erfarne Linux-brukere vet alt om sjekksummer. Men hvis du nettopp har begynt, trenger du kanskje hjelp med å beregne og sammenligne kontrollsummer på Linux. Linux er avhengig av Command Line Interface (CLI), selv om det også finnes GUI-baserte apper. CLI er generelt bedre, og GUI er ganske begrenset. Vi skal nå se hvordan du beregner kontrollsummer ved å bruke terminalen og et tredjepartsverktøy.
Instruksjonene og verktøyene er utviklet for Ubuntu. De kan fungere på andre Linux-systemer, men det er ikke sikkert, da forskjellige systemer har forskjellige instruksjoner.
1. Terminal
Hvis du vil bruke Linux i sin reneste form, må du mestre terminalen. Det er et av de kraftigste verktøyene du kan bruke på dette operativsystemet. Det er enkelt å jobbe med denne konsollen, men du må aldri kjøre en terminalkommando hvis du ikke er sikker på hva den vil gjøre.
Linux har forskjellige kommandoer for hver kontrollsumalgoritme. Her er en oversikt:
MD5 – md5sum – brukes til å beregne MD5-sjekksummer
SHA-1 – sha1sum – brukes til å beregne SHA-1 kontrollsummer
SHA-256 – sha256sum – brukes til å beregne SHA-256-sjekksummer
SHA-224 – sha224sum – brukes til å beregne SHA-224-sjekksummer
SHA-384 – sha384sum – brukes til å beregne SHA-384-sjekksummer
SHA-512 – sha512sum – brukes til å beregne SHA-512-sjekksummer
La oss nå se hvordan du beregner kontrollsummen for en fil du har lastet ned. Vi bruker IrfanView. Last ned hvilken som helst fil, så lenge du også har tilgang til den opprinnelige filens kontrollsum.
Trykk på Win-tasten
Skriv terminal
Velg Terminal fra listen over resultater
Bruk CD-kommandoen for å navigere til mappen der du lastet ned filen (cd downloads)
Skriv inn følgende kommando for å beregne kontrollsummen, men erstatt FILENAME med filnavnet (inkludert filtypen).
sha256sum FILNAVN
Kommandoen din skal se omtrent ut som sha256sum iview457_x64_setup.exe
Hvis filen din bruker en annen algoritme, bruker du den tilsvarende kommandoen.
Profftips: Du kan også bruke filutforskeren (Filer) for å navigere til katalogen der du lastet ned filen, og deretter bruke Shift + Høyreklikk på et tomt sted i den katalogen og velge Åpne i terminal. Dette lar deg hoppe over CD-kommandoen.
Når du har kjørt kommandoen, skal du kunne se hashen. Sammenlign den med hashen til den opprinnelige filen (sjekksummen på nedlastingssiden, eller den i et tekstdokument). Hvis hashene er like, er filen ikke endret. Hvis det er forskjeller, bør du kvitte deg med filen, da den kan inneholde skadelig programvare.
2. Bruke en tredjepartsapp
Hvis du ikke liker terminalen, kan du bruke tredjepartsapper. Disse appene må installeres, og en av de beste metodene er å bruke terminalen. Et enkelt verktøy er GtkHash. Det er enkelt å installere og bruke, og støtter mange hash-funksjoner. Følg disse trinnene for å installere GtkHash på Ubuntu:
Trykk på Win-tasten
Skriv terminal
Klikk på Terminal-ikonet
Skriv inn følgende kommando:
sudo apt-get install gtkhash
Start GtkHash. Hvis du starter den gjennom terminalen, må du la terminalvinduet være åpent.
Gå til GtkHash sin Rediger-meny
Velg Preferanser
Sjekk algoritmene du skal bruke (som standard er MD5, SHA1 og SHA256 valgt)
Her er en komplett liste over alle hash-funksjonene som støttes av denne appen:
MD2
MD4
MD5
MD6-224
MD6-256
MD6-384
MD6-512
SHA1
SHA224
SHA256
SHA384
SHA512
RIPEMD128
RIPEMD160
RIPEMD256
RIPEMD320
TIGER128
TIGER160
TIGER192
BOBLOE
HAVAL 128-3
HAVAL 160-3
HAVAL 192-3
HAVAL 224-3
HAVAL 256-3
GOST
SNEFRU 128
SNEFRU 256
CRC32
ADLER32
La oss nå se hvordan du bruker GtkHash til å beregne hashen til en fil:
Start GtkHash
Klikk på filikonet i Fil-feltet
Naviger til filen du vil beregne kontrollsummen for
Dobbeltklikk på filen for å laste den inn i GtkHash
Klikk på Hash-knappen i hovedvinduet
Sjekk om hashen er identisk med den på nettstedet. Hvis hashene er identiske, er filen ikke endret. Hvis hashene er forskjellige, bør du kvitte deg med filen.
Bredden på GtkHash er redusert, så noen hashes vil ikke være helt synlige. Endre størrelsen på hovedvinduet, eller kopier kontrollsummen og lim den inn i et annet program. Hvis du ikke finner riktig algoritme i GtkHash, kan du åpne innstillingsvinduet og aktivere flere hash-funksjoner.
GtkHash er bare et eksempel. Du kan utforske andre apper, og kanskje finne en som har flere funksjoner, støtter flere algoritmer og er enklere å bruke.
Sjekksum – KONKLUSJON
Sjekksummer er avgjørende for å sjekke integriteten til data, og det gjelder et bredt spekter av områder, som e-poster, passord, nedlastede filer og feilsøking av RAM/HDD. Hvert operativsystem har sine egne særtrekk for beregning og sammenligning av sjekksummer. Se våre instruksjoner hvis du har problemer med å beregne sjekksummer i Linux, Mac eller Windows. Hvis du merker forskjeller mellom den beregnede kontrollsummen og den opprinnelige, kan det være et tegn på manipulasjon eller korrupsjon.