Forside › Sikring: metoderne samlet · Gennemgået oktober 2026 · Af John Nielsen
Fuzzy hashing er en samlebetegnelse for metoder, der måler, hvor meget to filer ligner hinanden, i stedet for blot om de er identiske. En almindelig kryptografisk hashværdi ændrer sig fuldstændigt ved én ændret byte. En fuzzy hashværdi ændrer sig kun lidt, når filen ændres lidt, så to næsten ens filer kan findes og sammenlignes. Metoden er nyttig til at pege på kandidater i kopisager, men en lighedsscore er ikke et bevis for kopiering og skal altid følges op af en direkte sammenligning.
Hvorfor almindelig hash ikke rækker
En kryptografisk hashværdi som SHA-256 er bygget til at skjule enhver sammenhæng mellem input og output. Det er en styrke ved integritetskontrol og en svaghed, når spørgsmålet er, om en fil er en let ændret udgave af en anden. En kundeliste, hvor én kolonne er slettet, et dokument, hvor firmanavnet er skiftet ud, eller en programfil, der er genkompileret, giver alle helt nye hashværdier. Søgning med hashlister finder derfor kun bitidentiske kopier. Se Hashlister og kendte filer.
De udbredte metoder
ssdeep (CTPH)
ssdeep bygger på context triggered piecewise hashing. Filen deles i stykker ud fra indholdet selv: Et rullende vindue løber hen over data, og hvor værdien i vinduet opfylder en bestemt betingelse, sættes et skæringspunkt. Hvert stykke får en kort hashværdi, og de sættes sammen til en signatur. Fordi skæringspunkterne afhænger af indholdet og ikke af faste positioner, påvirker en indsat eller slettet blok kun de nærmeste stykker.
To signaturer sammenlignes med en score fra 0 til 100. Scoren er et mål for, hvor meget af signaturen der går igen. Den er ikke en sandsynlighed og ikke en procentdel af filen, der er ens. Sammenligningen virker kun, når de to filers blokstørrelser er ens eller tæt på hinanden, så filer af meget forskellig størrelse kan få score 0, selv om den ene indeholder den anden.
TLSH
TLSH (Trend Micro Locality Sensitive Hash) bygger et histogram over korte bytesekvenser i filen og koder fordelingen i en signatur. Sammenligningen giver en afstand, hvor lav afstand betyder stor lighed og 0 betyder praktisk talt ens. TLSH er generelt mere robust end ssdeep over for omrokering af indhold og kan sammenligne filer af forskellig størrelse bedre, men kræver en vis minimumsstørrelse og nok variation i data. I referenceimplementeringen er grænsen 50 byte i standardtilstand og 256 byte i den konservative tilstand, og data, der fx kun består af ens bytes, giver ingen hashværdi.
sdhash og andre
sdhash udvælger statistisk usædvanlige byte-sekvenser og gemmer dem i et Bloom-filter. Metoden er god til at finde et fragment af en fil i en større datamængde. Til billeder findes perceptuelle hashværdier, der beskriver billedets udseende frem for dets bytes, så et skaleret eller genkomprimeret billede stadig kan genkendes.
Billeder og perceptuelle hashværdier
Ved billeder er bytes et dårligt mål for lighed. Et foto, der er skaleret ned, beskåret lidt eller gemt igen med anden kvalitet, har næsten ingen fælles bytes med originalen, selv om det ser ens ud. Perceptuelle hashværdier beregnes ud fra en formindsket gråtoneudgave af billedet, fx ud fra lysforskelle mellem områder, og sammenlignes med en afstand, hvor lav afstand betyder visuel lighed.
Metoden er nyttig, når spørgsmålet er, om produktbilleder, tegninger eller grafik er genbrugt, fx på en konkurrents webshop. Den er følsom over for spejling, rotation og større beskæring, afhængigt af algoritmen, og den kan give falske match ved billeder med enkel komposition som hvide baggrunde med et enkelt produkt. Et match skal derfor efterprøves visuelt og ved at sammenligne metadata og opløsning. Billedmetadata er beskrevet i EXIF, XMP og IPTC.
Hvor metoderne virker dårligt
- Komprimerede formater: Word-, Excel- og PowerPoint-filer i de moderne formater er zip-arkiver. En lille ændring i teksten ændrer det komprimerede indhold mange steder, så to næsten ens dokumenter kan få lav lighed. Det samme gælder PDF med komprimerede strømme, JPEG og zip-filer. Sammenlign hellere det udpakkede eller udtrukne indhold, fx dokumentets tekst eller de enkelte XML-dele.
- Krypterede filer har ingen målbar lighed.
- Små filer giver for få stykker til en meningsfuld score.
- Filer med meget gentagelse, fx skabeloner og logfiler, kan give høj lighed uden at have noget relevant tilfælles.
- Fælles skabeloner: To dokumenter fra samme firmaskabelon kan ligne hinanden betydeligt, selv om ingen har kopieret indholdet.
Fremgangsmåde i en kopisag
- Afgræns kildesættet, fx dokumenter eller kildekode fra virksomhedens systemer, sikret og hashet.
- Normalisér, hvor det giver mening: Udtræk tekst fra dokumenter, pak arkiver ud, og fjern standardelementer som sidehoveder og licenstekster.
- Beregn fuzzy hashværdier for kildesættet og for de undersøgte data med samme værktøj og version.
- Brug scoren til at prioritere, ikke til at konkludere. Sæt en lav tærskel, så kandidater ikke overses, og beskriv den.
- Sammenlign kandidaterne direkte med en tekst- eller binær sammenligning, så de konkrete fælles og forskellige dele kan vises; se Dokumentlighed: sammenligning.
- Undersøg oprindelsen af de relevante filer: placering, tidsstempler, metadata og spor efter overførsel.
Kildekode har sine egne udfordringer, fordi formatering, omdøbning af variabler og genkompilering ændrer bytes uden at ændre logikken. Der findes særlige metoder til kodesammenligning. Se Kodelighed: sammenligning af to kodebaser.
Spørgsmålet om, hvorvidt en medarbejder har taget filer med, er beskrevet fra virksomhedens side i Kan vi se, om en medarbejder har kopieret filer?. Fuzzy hashing er et af de tekniske redskaber bag svaret.
Typiske fejlkilder i fortolkningen
- Scoren som procent: “92 procent ens” er en fejlagtig gengivelse af en ssdeep-score på 92. Skriv den rå værdi og metoden.
- Score 0 som bevis for forskel: Blokstørrelse, komprimering eller filstørrelse kan give 0 for filer med fælles indhold.
- Sammenligning på tværs af værktøjer og versioner: Signaturer fra forskellige implementeringer eller versioner er ikke altid sammenlignelige.
- Manglende baseline: Uden at vide, hvor meget to uafhængige filer af samme type normalt ligner hinanden, kan en høj score ikke vurderes. Mål baggrundsligheden mellem ikke-relaterede filer af samme type som kontrol.
Hvad fuzzy hashing kan og ikke kan bevise
En høj lighed viser, at to filer deler betydelige dele af deres bytes. Den viser ikke, at den ene er kopieret fra den anden, i hvilken retning en eventuel kopiering er sket, eller hvem der har gjort det. Fælles kilder, skabeloner og standardkomponenter kan forklare lighed. Metoden er dermed et redskab til at finde kandidater og kvantificere lighed, mens selve konklusionen må bygge på den direkte sammenligning og på spor efter filernes oprindelse. Konklusionens styrke bør angives på en fast skala. Se Konklusionsgrader.
Dokumentation
Angiv metode, værktøj og version, tærskler, eventuel normalisering og baggrundsligheden. Gengiv scorerne rå og forklar dem. Vis de direkte sammenligninger, der bærer konklusionen, og beskriv, hvordan værktøjet er afprøvet på kendte filpar, som beskrevet i Verifikation af forensiske værktøjer.
Kilder og versioner
- TLSH: referenceimplementering fra Trend Micro
- ssdeep: projektets dokumentation
- NIST SP 800-168: Approximate Matching, Definition and Terminology
Senest gennemgået: oktober 2026.
Næste skridt
- Oprettet, ændret, åbnet: hvad fildatoerne betyder
- Hash af en fil: Get-FileHash, certutil og sha256sum
Del af: Sikring: metoderne samlet
Læs også: Hashlister og kendte filer: filtrering med referencesæt · Tidsstempelformater: FILETIME, Unix, Apple og WebKit, og konvertering
→ Forensisk sikring · For sagkyndige · Tlf. 70 13 63 23 · Digital bevissikring hos Nielco IT