Hvordan, hvorfor, og når du bør hasjsjekk

Her på ProPrivacy vi bare kjærlighet open source programvare. Dette skyldes hovedsakelig, til tross for at den ikke er perfekt, er open source den eneste måten å vite det sikkert om at et program er på nivå.

Et problem er imidlertid hvordan vet du at et åpen kildekode-program du laster ned fra et nettsted, er programmet som utviklerne (r) hadde til hensikt å laste ned? Kryptografiske hasjer er en delvis løsning på dette problemet.

Hva er en kryptografisk hasj?

En kryptografisk hash er et kontrolsum eller et digitalt fingeravtrykk avledet ved å utføre en enveis hasjfunksjon (en matematisk operasjon) på dataene som omfatter et dataprogram (eller andre digitale filer).

Enhver endring i bare en byte av dataene som inneholder dataprogrammet, vil endre hashverdien. Hash-verdien er derfor et unikt fingeravtrykk for ethvert program eller andre digitale filer.

Hva er en hasjsjekk?

Å sikre at et program ikke har blitt tuklet med, eller bare blitt ødelagt, er en ganske enkel sak å beregne hashverdien og deretter sammenligne den med hasjsjekksummen som leveres av utviklerne..

Hvis det er det samme, har du en rimelig grad av tillit til at programmet du har lastet ned, er nøyaktig det samme som det som er utgitt av utvikleren. Hvis det ikke er det, er programmet blitt endret på noen måte.

Årsakene til dette er ikke alltid ondsinnede (se nedenfor), men en mislykket hasjkontroll bør stille alarmklokkene til å ringe.

Problemer med hasjkontroller

Du har kanskje oppdaget et varsel når du synger rosene om hasjsjekker...

Integritet, men ikke autentisering

Hash-sjekker er nyttige for å sikre filers integritet, men de gir ikke noen form for godkjenning. Det vil si at de er gode for å sikre at filen eller programmet du har samsvarer med kilden, men de gir ingen måte å bekrefte at kilden er legitim.

Hash-sjekker gir ingen garanti for kilden til hasjkontrollsummen.

For eksempel eksisterer falske nettsteder som distribuerer ondsinnede versjoner av populær open source-programvare som KeePass. Mange av disse nettstedene gir til og med hasjsjekksummer for programmene de leverer, og hvis du skulle sjekke disse mot falske programmet, ville de samsvare. Oops.

Matematiske svakheter

Et ekstra problem er at matematiske svakheter kan bety at hasjer ikke er så sikre som de burde være.

MD5-algoritmen, for eksempel, er fortsatt en svært populær hasjfunksjon, til tross for at det er kjent sårbarhet for kollisjonsangrep. Selv SHA1 anses ikke lenger som sikker i denne forbindelse.

Til tross for dette er MD5 og SHA1 fortsatt de mest populære algoritmene som brukes til å generere hasjverdier. SHA256 er imidlertid fortsatt sikker.

Utvikler latskap

Utviklere oppdaterer noen ganger programmene sine med bug fixes og nye funksjoner, men unnlater å publisere en oppdatert hash-sjekk. Dette resulterer i en mislykket hasjkontroll når du laster ned og prøver å bekrefte programmet deres.

Dette er selvfølgelig ingen steder så alvorlig som en hasjsjekk som gir ondsinnet programvare et pass, men det kan forringe tilliten til økosystemet, noe som resulterer i at folk ikke gidder å sjekke integriteten til filer de laster ned....

Kryptografiske hasjer kontra digitale signaturer

De fleste av problemene med kryptografiske hasjer løses ved bruk av digitale signaturer, som garanterer både integritet og autentisering.

Utviklere som er glade for å bruke proprietær kode, kan automatisk og transparent validere signaturer når programvaren deres først blir installert, ved å bruke mekanismer som Microsoft, Apple eller Google PKI (offentlig nøkkelinfrastruktur) -teknologi.

Open source utviklere har ikke denne luksusen. De må bruke PGP, som ikke naturlig støttes av noe proprietært operativsystem, og hvorfor det ikke finnes noen tilsvarende Microsoft, Apple eller Google PKIer i Linux.

Så PGP digitale signaturer må verifiseres manuelt. Men PGP er et komplett gris å bruke og er ikke en enkel prosess, ett raskt blikk på vår guide til å sjekke PGP-signaturer i Windows vil demonstrere.

Heller ikke den faktiske signeringsprosessen for utviklere, som er klar over at i den virkelige verden er det få som gidder å sjekke digitale signaturer manuelt, uansett.

Kryptografiske hasjer er ikke i nærheten like sikre som PGP digitale signaturer, men de er mye enklere å bruke, med det resultat at mange utviklere ganske enkelt velger å stole på dem i stedet for å signere sitt arbeid digitalt.

Du bør virkelig sjekke hash (hvis ingen digital signatur er til stede)

Dette er en mindre enn ideell situasjon, og du bør alltid sjekke et open source-programmets digitale signatur når en er tilgjengelig. Hvis man ikke er det, er det mye bedre å sjekke kryptografisk hasj enn å gjøre ingenting.

Så lenge du er trygg på kilden (for eksempel er du sikker på at den kommer fra utviklerens virkelige nettsted, som ikke har blitt hacket for å vise en falsk kryptografisk hasj), så kontrollerer hashverdien din en god grad av tilfeldighet at programvaren du har lastet ned er programvaren utvikleren har tenkt å laste ned.

Hvis verken en digital signatur eller et sjekksum er tilgjengelig for åpen kildekode-programvare, må du ikke installere eller kjøre den.

Hvordan hasjekontroll

Den grunnleggende prosessen er som følger:

Valgfri underoverskrift

  1. Noter hashnummeret som er publisert av utvikleren
  2. Generer hashverdien til filen du har
  3. Sammenlign de to hasjverdiene

Hvis de er identiske, har du filen utvikleren ment du skulle ha. Hvis ikke, har den enten blitt ødelagt eller blitt tuklet med.

Hvis en SHA256 + hash er tilgjengelig, må du kontrollere det. Hvis ikke, bruk SHA1. Bare som en siste utvei bør du sjekke mot en MD5-hash.

Den enkle måten (alle systemer)

Den enkleste måten å generere hashverdien til filer er ved å bruke et nettsted som Online Tools. Bare velg hvilken type hashverdi du trenger å generere, og dra og slipp den nødvendige filen til det angitte rommet, og den relevante hashverdien blir generert.

Eksempel

Vi vil sjekke integriteten til KeePass-installasjonsfilen som vi har lastet ned fra KeePass.org-nettstedet (som vi vet er riktig domene). Nettstedet publiserer MD5, SHA1 og SHA256-hasj for alle versjoner av KeePass, så vi vil sjekke SHA256 for versjonen vi lastet ned.

  1. Vi noterer riktig hashverdi, som er publisert på KeePass-nettstedet.

  2. Vi besøker deretter nettstedet Online Tools, velger File Hash: SHA256 og drar den nedlastede KeePass-installasjonsfilen til det medfølgende rommet.

  3. Vi sammenligner resultatet med sjekksummen som er publisert på KeePass-nettstedet, og de er identiske. Så forutsatt at KeePass-nettstedet ikke er blitt hacket for å vise falske hasjverdier, kan vi være trygge på at vi har lastet ned en fil som ikke er manipulert med. Jippi!

    Windows, macOS og Linux har også innebygde hashverdifunksjoner som kan nås via kommandolinjen...

Windows

Denne metoden fungerer utenfor boksen i Windows 10, mens Windows 7-brukere først må oppdatere Windows PowerShell med Windows Management Framework 4.0.

For å få en SHA256-hash, høyreklikk på Start -> Windows PowerShell og skriv:

Get-FileHash [bane / til / fil]

For eksempel:

Get-FileHash C: \ Brukere \ Douglas \ Nedlastinger \ KeePass-2.43-Setup.exe

MD5- og SHA1-hasj kan beregnes ved å bruke syntaks:

Get-FileHash [bane til [bane / til / fil] -Algoritme MD5

og

Get-FileHash [bane til [bane / til / fil] -Algoritme SHA1

For eksempel:

Get-FileHash C: \ Brukere \ Douglas \ Nedlastinger \ KeePass-2.43-Setup.exe-Algoritme MD5

Mac os

Åpen terminal og type:

openssl [hash type] [/ path / to / file]

Hash-typen skal være md5, SHA1 eller SHA256.

For å sjekke SHA256-hash for Windows KeePass-installasjonsprogrammet (bare for å holde ting enkelt for denne opplæringen), skriver du inn:

openssl sha256 /Users/douglascrawford/Downloads/KeePass-2.43-Setup.exe

Linux

Åpne terminal og skriv enten:

Md5sum [bane / til / fil] Sha1sum [bane / til / fil]

eller

Sha256sum [bane / til / fil]

For eksempel:

sha256sum /home/dougie/Downloads/KeePass-2.43-Setup.exe

Brayan Jackson
Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me