Når vi downloader et ISO-billede eller en DMG-fil for at installere software på macOS, Windows eller Linux, er det ikke nok, at det "ser ud", som om alt gik godt. Vi skal sikre os, at dataene er identiske med det, som udvikleren har offentliggjort.som ikke er blevet korrumperet undervejs, og som ingen har manipuleret med onde intentioner.
I denne sammenhæng kommer checksums, kryptografiske hashes og, i tilfælde af macOS, i spil. digitale signaturer og certifikatvalideringAt forstå, hvordan alt dette fungerer, er nøglen til at stole på en installatør, validere en ISO, som du vil brænde til et USB-drev med balenaEtcher eller Ventoy, og generelt flytte vigtige filer uden overraskelser.
Hvad er en checksum egentlig, og hvilken rolle spiller den?
En checksum er i bund og grund, en streng af alfanumeriske tegn, der opsummerer indholdet af en filDen opnås ved at anvende en matematisk algoritme (en kryptografisk hashfunktion) på filens bits og fungerer som et unikt fingeraftryk for at verificere dens integritet.
Når en softwareleverandør udgiver et installationsprogram, en ISO eller en større opdatering, inkluderer den normalt dens kontrolsum. Brugeren downloader filen, beregner den samme type hash lokalt og sammenligner begge værdier.Hvis de stemmer overens, er det meget sandsynligt, at filen er identisk med originalen; hvis ikke, er der gået noget galt (fejl i download, ondsindet manipulation, lagringsfejl osv.).
Disse beløb er også kendt som hashværdier, hashkoder, hashsummer eller blot hashDeres anvendelighed rækker langt ud over downloads: de bruges til at kontrollere pakker på netværk, til sikkert at gemme adgangskoder i databaser, til at underskrive e-mails eller til at garantere integriteten af retsmedicinske billeder af hele diske.
Sådan fungerer en hashfunktion: fra fil til fingeraftryk
Kryptografiske hashfunktioner er envejsalgoritmer: De tager input af en hvilken som helst størrelse og producerer et output med en fast længde.Det er ligegyldigt, om inputfilen er et par kilobyte eller flere gigabyte; resultatet af SHA-256 vil for eksempel altid være en 256-bit sekvens (64 hexadecimale tegn).
En nøgleegenskab er den såkaldte lavineeffekt: En minimal ændring i inputdataene resulterer i en helt anden hashHvis du beregner MD5-hashen for sætningen "Dette er en test" og derefter fjerner punktummet, vil den resulterende værdi være helt anderledes, hvilket giver dig mulighed for at registrere selv små ændringer.
Derudover er en god hashfunktion designet til at resultere i Beregningsmæssigt umuligt at rekonstruere det oprindelige indhold fra hashenog også for at gøre det ekstremt vanskeligt at finde to forskellige input, der producerer den samme værdi (en kollision). Når praktiske kollisioner opdages i en algoritme, som det er sket med MD5 eller SHA-1, anses den for at være usikker til visse anvendelser.
Typer af checksumalgoritmer og hvordan de adskiller sig
Bag hver checksum er der en specifik algoritme. Ikke alle tjener det samme formål eller tilbyder det samme garantiniveauOg det er nyttigt at kende i det mindste de mest almindelige kategorier for at vide, hvad vi bruger på et givet tidspunkt.
Enkle fejlkontrolalgoritmer
Letvægtsmekanismer, der ikke er ægte kryptografiske, men som hjælper med at detektere transmissionsfejl, er blevet brugt i årtier i basale netværk og systemer. Et klassisk eksempel er longitudinelt paritetsord eller byte, som grupperer dataene i n-bit ord, anvender en XOR-operation mellem dem alle og tilføjer resultatet som et ekstra ord til sidst.
Ved modtagelse genberegnes XOR inklusive sumordet, og Hvis resultatet ikke er udelukkende nuller, antages det, at der har været en fejl.Det er en billig metode inden for databehandling og rimelig effektiv mod enkelt-bit- eller ulige-bit-fejl, men den registrerer ikke visse mønstre godt (såsom symmetriske ændringer i to ord eller blokomarrangering).
Algoritmen til komplement af sum Det var et forsøg på at forbedre den tidligere metode. Den summerer ordene som usignerede binære heltal og tilføjer tokomplementet af denne sum som en checksum. Ved destinationen summeres alt igen, inklusive checksummen, og hvis resultatet ikke er et ord med nuller, ved vi, at noget er gået galt. Den forbliver simpel, og ligesom paritet, Den registrerer simple fejl, men er ikke robust over for bevidst manipulation..
Positionsafhængige kontrolsummer
For at reducere antallet af tilfælde, hvor en fejl går ubemærket hen, er der opstået algoritmer, der ikke kun tager højde for ordenes værdier, men også deres rækkefølge. Positionsafhængige checksums tildeler en forskellig vægt til hver blok afhængigt af dens placering i sekvensen..
Eksempler på denne familie er Adler-32, de forskellige typer CRC (cyklisk redundanskontrol) eller Fletcher-kontrolsummen. De er meget almindelige i netværksprotokoller, komprimerede filer og lagringssystemer, da de forbedrer detekteringen af gentagne fejl, blokindsættelser eller sletninger betydeligt, selvom de stadig ikke er kryptografisk stærke algoritmer.
Fuzzy checksum
Forskellige teknikker anvendes inden for spamfiltrering og samarbejdsbaseret spamdetektion: fuzzy checksumsI stedet for at søge, at enhver lille ændring fuldstændigt ændrer værdien, søges det modsatte: at meget ens e-mails genererer identiske eller meget ens hashes.
For at opnå dette normaliseres meddelelsesindholdet og reduceres til en minimal version (eliminering af variable dele, formater osv.), og derefter beregnes checksummen. Tjenester som DCC modtager millioner af disse hashes fra forskellige e-mailudbydereog de markerer mønstre som potentielt spam, når den samme værdi gentages over en bestemt tærskel.
moderne kryptografiske hashfunktioner
Når vi taler om at verificere ISO-billeder, installationsprogrammer eller firmwareDet er almindeligt at støde på kryptografiske hash-algoritmer som MD5, SHA-1, SHA-2 eller SHA-3. Dens mål er ikke kun at opdage utilsigtede fejl, men også at modstå specifikke angreb. der har til hensigt at generere ondsindede filer med samme hash som en legitim original.
MD5 var for eksempel i årevis de facto-standarden til validering af downloads med 128-bit hashes. Imidlertid er der blevet demonstreret praktiske kollisioner, og I dag anses det for usikkert at beskytte integritet mod angribere., selvom det stadig bruges i sammenhænge, hvor kun detektion af utilsigtede skader er vigtig.
SHA-1 (160 bit) fulgte en lignende vej: bredt anvendt i certifikater, signaturer og filvalidering, men frarådes i øjeblikket til nye systemer på grund af sårbarheder. SHA-2-familien (SHA-224, SHA-256, SHA-384, SHA-512) Det har i vid udstrækning erstattet MD5 og SHA-1, og SHA-256 er blevet den standard, der anbefales af NIST og bruges i browsere, protokoller som TLS, VPN'er eller endda i netværk som Bitcoin.
SHA-3 er den seneste standardiserede generation med outputlængder svarende til SHA-2, men et andet internt design. Moderne algoritmer som BLAKE2 eller BLAKE3 tilbyder også høj hastighed og høj sikkerhedDerfor er de almindelige i værktøjer og applikationer til verifikation af massefiler, der kræver ekstrem ydeevne.
Sådan tjekker du checksummer i Windows
I Windows behøver du ikke at installere noget for at beregne grundlæggende filhashes. Du kan bruge certutil-kommandoen i kommandoprompten eller PowerShelleller brug Get-FileHash cmdlet'en i PowerShell for mere bekvem brug.
Med certutil skal du blot åbne et kommandovindue og køre noget i retning af certutil -hashfile "sti\til\fil.iso" SHA256Værktøjet genererer checksummen ved hjælp af den algoritme, du angiver (MD5, SHA1, SHA256, SHA384, SHA512 osv.), og du skal blot sammenligne den med den, der tilbydes af udvikleren på deres side.
I PowerShell, kommandoen Get-FileHash C:\sti\til\fil.iso Den returnerer som standard en SHA-256-hash af filen, selvom du kan angive andre algoritmer med parameteren -Algorithm (MD5, SHA1, SHA384, SHA512, RIPEMD160, MACTripleDES…).
Hvis den viste værdi stemmer tegn for tegn overens med den, der er offentliggjort på den officielle hjemmeside, kan du antage, at filen er intakt. Hvis det er anderledes, er det rimelige at slette det og downloade det igen.fordi du kunne have at gøre med en korrupt fil eller en fil, der er manipuleret af en tredjepart med ondsindede intentioner.
Sådan validerer du checksums i macOS: Terminal, ISO og DMG
macOS indeholder alt, hvad du behøver for at generere og sammenligne filhashes til ISO, DMG og andre formater. Der kræves ingen yderligere softwareinstallation; brug blot Terminal-appen..
Den mest alsidige kommando er `shasum`, som giver dig mulighed for at vælge forskellige algoritmer fra SHA-familien. Hvis du for eksempel har downloadet et installationsprogram som `vlc-3.0.6.dmg`, og projektets hjemmeside offentliggør sin SHA-256-hash, kan du på macOS gøre følgende:
shasum -a 256 vlc-3.0.6.dmg
Terminalen viser en linje med hashværdien og filnavnet, og du skal bare placere den ved siden af den, der vises på nettet, og kontrollere, at der ikke er nogen forskel. For andre algoritmer har du direkte kommandoer tilgængelige.md5 for MD5, shasum -a 1 for SHA-1, -a 384 for SHA-384, -a 512 for SHA-512 osv.
I tilfælde af ISO-billeder, der indeholder en md5sum.txt-fil eller lignende, er det normalt, at denne fil indeholder hashen for hver intern fil i ISO-filen, ikke kun for selve billedet. Når ISO-filen er brændt til USB-drevet, kan du montere drevet og bruge md5sum -c md5sum.txt i Linux eller tilsvarende kommandoer i macOS at verificere fil for fil, selvom det i macOS er mere almindeligt at verificere hashen af hele ISO-filen, før den kopieres til USB-drevet.
Signaturer og certifikater i macOS: ud over hashen
Ud over hashes er macOS i høj grad afhængig af et system af digitale signaturer, certifikater og tillidspolitikker som administreres via Nøgleringstilgang og Gatekeeper. Det faktum, at et installationsprogram har den korrekte hash, garanterer ikke, at den kommer fra en legitim udvikler; det er det, kodesignaturer er til for.
Med Nøgleringstilgang-appen kan du bruge Certifikatassistent For at undersøge et specifikt certifikat, gennemgå dets tillidspolitik og bestemme dets gyldighed, kontrollerer macOS, at certifikatet er udstedt af en betroet rodmyndighed, ikke er udløbet og ikke er blevet tilbagekaldt, og baseret på det tillader eller blokerer udførelsen af bestemte binære filer.
I hverdagen, når du åbner en DMG-fil eller kører en app, der er downloadet fra internettet, macOS kombinerer Bekræftelse af udviklersignatur med mekanismer som Gatekeeper og notarbekræftelseHash-delen fokuserer på filens integritet; signatur- og certifikatdelen tager sig af udstederens ægthed.
Hvordan validerer værktøjer som balenaEtcher eller Ventoy indholdet af USB-drevet?
Når du bruger værktøjer som balenaEtcher eller Ventoy til at lave et bootbart USB-drev, kopierer du ikke bare bytes og krydser fingre. Disse værktøjer udfører en eftervalidering for at verificere, at det, der er skrevet på drevet, stemmer overens med kilden., normalt ved at sammenligne indholdet, der læses fra enheden, med indholdet fra den originale ISO.
Den typiske arbejdsgang minder meget om, hvad du ville gøre manuelt med dd: download ISO'en, rens drevet, skriv dataene, og læs dem derefter igen. balenaEtcher, for eksempel, læser normalt blokke fra USB-drevet og sammenligner dem direkte med de samme blokke i diskbilledet.Hvis den registrerer nogen forskel, markerer den processen som mislykket uden at kræve en md5sum.txt-fil i ISO-filen.
Ventoy følger en anden strategi, da den ikke "brænder" ISO-filen til drevet, men kopierer den som den er til en særlig partition og Det starter med at vise en menu, hvorfra du vælger, hvilken ISO du vil bruge.I dette tilfælde kan integriteten verificeres ved at sammenligne hashen af ISO-filen, der er gemt på USB-drevet, med den hash, den havde på kildecomputeren, uden at det er nødvendigt at inspicere billedets interne indhold.
Hvis en Linux-distributions ISO indeholder filer som md5sum.txt eller SHA256SUMS, og installationsbootloaderen er forberedt til dem, De interne filer i billedet kan valideres under selve opstartsprocessen.Men optagelsesværktøjerne er ikke afhængige af disse filer: deres verifikation er frem for alt baseret på at sammenligne skrevne data med kildedata på blokniveau.
Hvad skal man gøre, når ISO-filen ikke indeholder en intern checksumfil
Ikke alle ISO-billeder indeholder en md5sum.txt eller lignende fil med hashes af deres indhold. Det, du altid bør kræve, er, at den officielle hjemmeside leverer mindst en hash af den komplette ISO. (normalt SHA-256) på downloadsiden eller i en separat fil (SHA256SUMS, CHECKSUMS osv.).
Hvis der ikke er nogen intern fil med summer pr. fil, reduceres valideringen til at sammenligne ISO-hashen. Du beregner SHA-256 hashværdien for den downloadede fil i dit system og sammenligner den med den publicerede værdi.Hvis de matcher, ved du, at det komplette billede er det samme som det, der er genereret af udvikleren, og derfra kan du brænde det til USB-drevet med fuld tillid.
Hvis leverandøren ikke offentliggør nogen form for kontrolsum eller signatur, bliver tingene komplicerede. Du kan sammenligne hashen i din ISO med hashen i en anden kopi, der er downloadet fra et andet netværk eller af en anden person.Men du ville stadig mangle officiel reference. I disse scenarier er det klogt at være forsigtig, hvis softwaren er følsom (operativsystem, sikkerhedsværktøj, kryptovaluta-tegnebog osv.) og søge en mere pålidelig kilde.
Husk at selv med en publiceret hash afhænger sikkerheden af at få den fra [kilde mangler]. en pålidelig kilde og via en sikker forbindelse (HTTPS)En angriber kunne oprette en falsk hjemmeside med en ondsindet ISO og sin egen hash, så verifikation er kun meningsfuld, hvis du rent faktisk er på projektets officielle hjemmeside.

Specifikke værktøjer til at arbejde med hashes og verificere integritet
Ud over de værktøjer, der er indbygget i hvert operativsystem, er der mange specialiserede programmer, der letter håndteringen af hashes, især når du har brug for det. beregn summer for mange filer, sammenlign hele mapper eller automatiser verificerede kopier.
Applikationer som QuickHash De tilbyder en meget komplet grafisk brugerflade til Windows, Linux og macOS, med understøttelse af MD5, SHA-1, SHA-2 (256 og 512), SHA-3, BLAKE2, BLAKE3 og andreDe giver dig mulighed for at generere tekst-hashes, hashes for enkelte filer, hashes for flere filer, sammenligne to filer eller endda to mapper, samt lave hash-verificerede kopier.
Andre værktøjer som HashMyFiles, MultiHasher eller MD5 & SHA Checksum Utility fokuserer på Windows og tillader Generer hashes i bulk for hele mapper og undermapperog endda integreres i Explorers kontekstmenu for at åbne dem med et højreklik.
Der findes også lette eller bærbare løsninger (HashCalc, MD5 Hash Check, Hasher Lite, DeadHash, Hash Generator, FCIV, Checksum Control…), der dækker mere specifikke behov, såsom hurtig kontrol af et downloadet installationsprogramuden at skulle huske kommandoer eller åbne terminalen.
Risici, angreb og sikkerhedsgrænser for hashes
Selvom hash ofte beskrives som "ubrydelige", er det vigtigt at forstå, at der findes teknikker til at forsøge at bekæmpe dem. Det mest direkte er et brute force-angreb, og tester alle mulige inputkombinationer, indtil man finder en, der genererer den ønskede hash, noget der er urealistisk for lange adgangskoder med moderne algoritmer.
Ordbogsangreb og regnbuetabeller fremskynder processen, når angriberen har mistanke om typen af input (f.eks. typiske menneskelige adgangskoder). I stedet for at teste tilfældige strenge, fungerer den med prækompilerede lister og præberegnede hashes., hvilket reducerer den tid, det tager at afdække svage nøgler, betydeligt.
Kollisionsangreb udnytter det faktum, at da der er et begrænset rum af output, skal der være forskellige input, der genererer den samme hash. Hvis en algoritme har matematiske svagheder, er det muligt at finde kollisioner relativt effektivt.Dette ville muliggøre oprettelsen af to forskellige filer med den samme hash. Det er præcis, hvad der er sket med MD5 og SHA-1, som er blevet upålidelige til kritiske formål.
For at afbøde mange af disse risici anvendes adskillige strategier: Brug stærke og opdaterede hashes, tilføj tilfældige "salts" til inputtene, før du hasher dem, og brug specifikke algoritmer til adgangskoder. (bcrypt, scrypt, Argon2) designet til at være bevidst langsomme og dyre at parallelisere.
Bedste fremgangsmåder til verificering af ISO- og DMG-billeder på macOS
Hvis du skal downloade en ISO- eller DMG-fil til brug på macOS, især hvis du skal installere et følsomt system eller værktøj, er det tilrådeligt at følge en klar rutine. Først skal du altid downloade fra projektets officielle hjemmeside, og sørge for at URL'en og HTTPS-certifikatet er korrekte..
Find derefter det afsnit, hvor checksummerne eller tilhørende PGP-signaturer er offentliggjort. Giv præference til moderne algoritmer såsom SHA-256 eller højereog undgå MD5 eller SHA-1, medmindre du kun er interesseret i at opdage utilsigtet korruption i ikke-følsomme filer.
Når ISO- eller DMG-filen allerede er i din Downloads-mappe, skal du åbne Terminal, navigere til den mappe og Beregn hashen ved hjælp af shasum eller md5 efter behovSammenlign resultatet med den officielle værdi, og pas på ikke at udelade cifre eller forveksle lignende tegn. Hvis de ikke stemmer overens, skal du slette filen med det samme.
Hvis du skal bruge balenaEtcher, Ventoy eller et andet værktøj til at brænde billedet til et USB-drev, skal du sørge for at Applikationen tilbyder en valideringsfase efter skrivningPå denne måde stoler du ikke kun på, at ISO-filen er korrekt, men også på, at kopien på flashdrevet gengiver kildedataene trofast.
Selvom det kan virke som lidt mere arbejde, sparer denne verifikationsproces dig hovedpine og reducerer risikoen for at køre korrupt eller manipuleret kode. Hvis du forstår, hvordan checksummer, signaturer og certifikater fungerer i macOS, kan du bruge dine ISO- og DMG-filer med langt større ro i sindet.velvidende at det, du installerer, er præcis det, udvikleren havde til hensigt at levere, og intet andet.

