Vakbijlage Forensisch gebruik van bestandskenmerken Inhoudsopgave 1. 2. 3 4. 5. 6. 7. 8. 9.
De vakbijlage algemeen Inleiding Bestandskenmerken Niet-omkeerbare hashalgoritmen Forensische toepassingen De praktijk bij de afdeling DT&B Gebruikte hashalgoritmen Verklarende woordenlijst Literatuurlijst
1. De vakbijlage algemeen Het Nederlands Forensisch Instituut (NFI) kent een groot aantal typen onderzoeken. Uit een deel van deze onderzoeken komen in rapportages opmerkingen voort over bestandskenmerken en het forensisch gebruik daarvan. Onderzoeksrapporten van het NFI gaan vaak vergezeld van een vakbijlage, zoals deze. Dit document dient als toelichting op het onderzoek en heeft een zuiver informatief karakter; het bevat geen zaakspecifieke informatie. De vakbijlage geeft weer volgens welke methoden het onderzoek is uitgevoerd. Ook bevat het met welke technieken en hulpmiddelen het NFI een dergelijk onderzoek over het algemeen uitvoert. Aan het eind van de vakbijlage zijn een verklarende woordenlijst en een literatuur- en bronvermelding opgenomen.
geen informatie over de inhoud van het materiaal. Een willekeurige wijziging van slechts één bit of teken in een bestand leidt bijna altijd tot een heel ander bestandskenmerk voor dit bestand. De twee belangrijke forensische gebruiksmogelijkheden van bestandskenmerken zijn: • integriteitscontrole van digitaal materiaal; • het efficiënter maken van identificatie en classificatie van bestanden. Integriteitscontrole van digitaal materiaal heeft als belangrijkste doel toevallige wijzigingen in (kopieën van) digitaal materiaal te detecteren. Daarnaast kunnen met integriteitscontrole sommige vormen van bewuste manipulatie van digitaal materiaal voorkomen of gedetecteerd worden. Vaak wordt de Engelse term voor bestandskenmerk gebruikt: hash, hash value, of hashwaarde. Een bestandskenmerk wordt ook wel een ‘digitale vingerafdruk’ genoemd. Deze vakbijlage gaat in op bestandskenmerken en legt de belangrijkste forensische toepassingen ervan uit. Ook het gebruik van bestandskenmerken in de praktijk komt aan de orde. Tenslotte wordt beschreven welke technische keuzes de afdeling Digitale Technologie & Biometrie (DT&B) van het NFI gemaakt heeft voor het gebruik van bestandskenmerken.
2. Inleiding
3. Bestandskenmerken
Het NFI ontvangt en onderzoekt veel digitaal materiaal. Deskundigenrapporten van de afdeling Digitale Technologie & Biometrie (DT&B) bevatten vaak bestandskenmerken van onderzoeksmateriaal. Een bestandskenmerk is een compacte representatie van de inhoud van digitaal materiaal, maar verschaft
Een digitaal bestand bestaat uit een reeks nullen en enen. Het aantal en de posities van deze nullen en enen bepalen de inhoud van het bestand. Het is mogelijk om uit elk digitaal bestand een bestands kenmerk te berekenen. Een methode om dit te doen maakt gebruik van een zogeheten hashalgoritme.
Een dergelijk algoritme berekent op basis van de inhoud van het oorspronkelijke bestand, een reeks nullen en enen van vaste lengte die de inhoud van dat bestand kenmerkt. Deze reeks is het bestandskenmerk. De rapporten van DT&B geven bestandskenmerken in zestientallige ofwel hexadecimale notatie weer. In deze notatie worden vier opeenvolgende nullen en enen (bits) genoteerd als één van de volgende zestien tekens: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f. Om de leesbaarheid te vergroten staan tekens vaak in groepjes van vier, gescheiden door spaties. Een voorbeeld van een bestandskenmerk met een lengte van 256 bits ziet er in deze notatie als volgt uit:
2584 878d 8694 6001 3fab 045c 4de2 03d1 ca8a bb44 3b6b 2169 c9a1 4021 8d2b 21bb
4. Niet-omkeerbare hashalgoritmen Een willekeurige wijziging van slechts één bit of teken in een bestand leidt bijna altijd tot een heel ander bestandskenmerk voor dit bestand. Ook het wijzigen van de volgorde van gegevens leidt bijna altijd tot een ander bestandskenmerk. Het is eenvoudig om van digitaal materiaal een bestandskenmerk te berekenen, maar er is geen efficiënte methode bekend om digitaal materiaal te vinden dat een vooraf gegeven wille keurige hashwaarde heeft. Deze vakbijlage beperkt zich tot een specifieke categorie hashalgoritmen en bijbehorende bestandskenmerken, de zogeheten cryptografische of niet-omkeerbare hashalgoritmen. In het Engels heten deze one-way hash algorithms. Waar dit document de term hashalgoritmen vermeldt, gaat het steeds om dergelijke niet-omkeerbare hashalgoritmen. Ze hebben twee eigenschappen die voor forensisch gebruik van belang zijn: • Bij wijziging van een bestand zal het hashalgoritme voor het gewijzigde bestand met grote waarschijn lijkheid een ander bestandskenmerk berekenen dan het bestand vóór wijziging had. • Het is bijzonder moeilijk om twee bestanden met een verschillende inhoud te vinden of te creëren die hetzelfde bestandskenmerk hebben. Deze eigenschappen maken het mogelijk om de integriteit van bestanden te controleren. De kans om twee verschillende bestanden te vinden die hetzelfde bestandskenmerk hebben wordt klein geacht. Daarom kunnen bestandskenmerken worden gebruikt om de identificatie van bestanden efficiënter te maken; in eerste instantie worden alleen de bestandskenmerken vergeleken en alleen als deze overeenkomen worden de, vaak veel grotere,
Vakbijlage Forensisch gebruik van bestandskenmerken
bestanden zelf met elkaar vergeleken om te bepalen of ze inderdaad gelijk aan elkaar zijn. De twee beschreven eigenschappen van een hashalgoritme zijn aannames die werkbaar zijn tot het tegendeel is aangetoond. Er is zelfs geen wiskundig bewijs dat niet-omkeerbare hashalgoritmen bestaan. Een niet-omkeerbaar geacht hashalgoritme verliest zijn veronderstelde niet-omkeerbare status zodra het gekraakt is. Het kraken van een hashalgoritme is meestal een zoektocht naar bestanden die hetzelfde bestandskenmerk hebben. Vervolgens wordt een methode gezocht om efficiënt dergelijke bestanden te vinden. Zodra een dergelijke methode gevonden is voor een hashalgoritme, dan zijn de twee beschreven eigenschappen (deels) niet meer van toepassing op dit algoritme. Als een gangbaar hashalgoritme is gekraakt of dreigt te worden gekraakt, zal dit doorgaans plaatsmaken voor een nieuw hashalgoritme dat niet op dezelfde manier valt te kraken. Het overstappen op een nieuw hashalgoritme is daarom na verloop van tijd noodzakelijk.
5. Forensische toepassingen Bestandskenmerken kennen twee belangrijke forensische toepassingen, namelijk integriteits controle en identificatie van bestanden. 5.1 Integriteitcontrole Het is vaak eenvoudig om, al dan niet opzettelijk, digitaal materiaal te wijzigen. Via bestandskenmerken kunnen verschillende personen eenvoudig aan elkaar laten weten met welk materiaal zij hebben gewerkt. Ook kunnen ze ermee vaststellen of ze met hetzelfde materiaal werken als een andere persoon. De ene persoon, bijvoorbeeld een digitaal rechercheur, rapporteert het bestandskenmerk van het digitale materiaal aan een andere persoon, bijvoorbeeld een onderzoeker van het NFI. Die berekent vervolgens het bestandskenmerk opnieuw over (een kopie van) het aangeleverde materiaal. De uitkomst wordt vergeleken met de gerapporteerde waarde. Als de uitkomst niet exact gelijk is aan de eerder gerapporteerde waarde, dan is het materiaal in de tussentijd gewijzigd. Hoe of waar de gegevens verschillen van de originele gegevens maakt de hashwaarde overigens niet duidelijk. Als de resulterende waarde gelijk is aan de gerapporteerde waarde, dan wordt aangenomen dat het materiaal niet gewijzigd is sinds de gerapporteerde waarde werd berekend.
versie 1, januari 2010 - 2
5.2 Bestandsidentificatie Bestandskenmerken helpen ook bij het identificeren van bestanden. Bij deze forensische toepassing wordt gebruik gemaakt van een database met bestands kenmerken van bekende, geclassificeerde bestanden. Een voorbeeld is het identificeren van bestanden met kinderpornografische afbeeldingen. Om een bestand te identificeren wordt eerst de hash van dat bestand berekend. Vervolgens gaat de onderzoeker na of dit bestandskenmerk voorkomt in de database. Is dit het geval, dan kijkt hij hoe het bestandskenmerk is geclassificeerd. De database kan zowel bestandskenmerken bevatten van bestanden die eerder aangemerkt zijn als kinder pornografisch als van bestanden die bekende nietrelevante gegevens bevatten. Deze methode maakt het daarom mogelijk om zowel relevante bestanden te ontdekken als om niet-relevante bestanden vroegtijdig voor verder onderzoek uit te sluiten.
Bij het controleerbaar maken gaat het om digitale onderzoeksresultaten van de afdeling DT&B die aan de opdrachtgever op een digitaal opslagmedium, zoals een cd-recordable, worden verstrekt. Om in de toekomst de integriteit van de resultaten te kunnen controleren berekent de afdeling een bestands kenmerk van elk bestand dat wordt verstrekt. In zaken waarbij het resultaat bestaat uit een klein aantal bestanden, rapporteert DT&B soms de bestands kenmerken van alle bestanden. Als het resultaat bestaat uit een groot aantal bestanden, dan slaat DT&B de bestandskenmerken van deze bestanden op in een nieuw bestand dat meestal hashes.txt genoemd wordt. Vervolgens wordt het bestandskenmerk van hashes.txt berekend. Dit laatste bestandskenmerk staat dan vermeld in het DT&B-rapport.
7. Gebruikte hashalgoritmen
De afdeling DT&B van het NFI gebruikt bestands kenmerken hoofdzakelijk om de integriteit van digitaal materiaal te controleren of controleerbaar te maken.
7.1 Huidige status van hashalgoritmen Voorbeelden van hashalgoritmen zijn MD4 en MD5 (`Message Digest’) en de SHA (`Secure Hash Standard’) serie van gestandaardiseerde hashalgoritmen. De hashalgoritmen MD4 en SHA-0 zijn inmiddels gekraakt. In 1995 beval de Amerikaanse National Security Agency (NSA) aan om op het verbeterde hashalgoritme SHA-1 over te stappen omdat een zwakheid in SHA-0 was ontdekt. In 2004 hebben onderzoekers zwakheden in het veelgebruikte hashalgoritme MD5 ontdekt en gepubliceerd. Het werd daardoor mogelijk om twee bestanden met dezelfde MD5-waarde te maken. Later is deze aanval op MD5 nog breder toepasbaar gemaakt. Hierdoor werd het relatief eenvoudig om twee verschillende, betekenisvolle bestanden (zoals leesbare documenten) te maken met hetzelfde MD5-bestandskenmerk. Als de huidige trend zich voortzet dan zal een vergelijkbare aanval op SHA-1 niet lang op zich laten wachten.
Bij het controleren gaat het om de vaststelling of tijdens het transport naar het NFI en tijdens het onderzoek zelf geen fouten zijn ontstaan in het aangeleverde materiaal of kopieën daarvan. Een praktijkvoorbeeld vormt het veiligstellen door de politie van de gegevens die zijn opgeslagen op de harde schijf van een computer. In dat geval wordt over de veiliggestelde gegevens - dat wil zeggen de volledige inhoud van de gekopieerde harde schijf - een bestands kenmerk berekend. De kopie van de harde schijf wordt vervolgens samen met het bestandskenmerk aangeleverd bij het NFI. Een medewerker van het NFI herberekent het bestandskenmerk en vergelijkt het met de door de politie aangeleverde waarde.
Voor sommige toepassingen is het een groot probleem als een efficiënte methode beschikbaar komt om twee verschillende bestanden met hetzelfde bestands kenmerk te maken. Zo’n zogeheten collision attack kan in theorie ook een probleem vormen bij het classificeren van bestanden, namelijk wanneer een database met bestandskenmerken wordt gebruikt om niet-relevante bestanden van onderzoek uit te sluiten. De maker van een dergelijk bestand kan dan misschien ook een ander, minder onschuldig bestand hebben gemaakt, dat toch hetzelfde bestandskenmerk heeft. In de praktijk valt dit probleem te ontwijken. De oplossing is alleen bestanden van bekende en vertrouwde oorsprong als niet-relevant te classificeren
Verschillende bestanden kunnen hetzelfde bestands kenmerk hebben, ook al wordt de kans klein geacht dat twee willekeurig geselecteerde bestanden hetzelfde bestandskenmerk hebben. Het blijft dus belangrijk om niet alleen de bestandskenmerken te vergelijken, maar ook altijd de inhoud van de geselecteerde bestanden te onderzoeken, zodat foute classificaties worden ontdekt. Als het bestandskenmerk gebruikt wordt om niet-relevante bestanden van verder onderzoek uit te sluiten, zal er geen nader onderzoek van het bestand volgen en kan een foute classificatie van het bestand onontdekt blijven.
6. De praktijk bij de afdeling DT&B
Vakbijlage Forensisch gebruik van bestandskenmerken
versie 1, januari 2010 - 3
in de database en geen bestanden van onbekende makers als niet-relevant te classificeren. Een veel groter probleem voor forensische toepassingen is het, wanneer een efficiënte methode beschikbaar komt om een bestand te produceren dat hetzelfde bestandskenmerk heeft als een ander, vooraf gegeven, bestand. In het Engels heet dit een second preimage attack. Een dergelijke methode is nog niet bekend voor de gangbare algoritmen MD5 en SHA-1, maar de vakliteratuur beschrijft wel voortgang in het zoeken naar zo’n second preimage attack voor MD5 en SHA-1. Een overstap naar één van de veiliger geachte SHA-2 hashalgoritmen is daarom aan te bevelen voor forensische toepassingen. 7.2 Huidige keuze hashalgoritmen bij het NFI De wereldwijd meest gebruikte hashalgoritmen om de integriteit van digitale gegevens te controleren zijn MD5 met een lengte van 128 bits en SHA-1 met een lengte van 160 bits. Zowel binnen als buiten de forensische wereld vinden ze veel toepassing. De veiligheidsgaranties die ze bieden, worden vanwege de vooruitgang in de ‘aanvallen’ erop steeds zwakker. Daarom is DT&B in 2010 uit voorzorg overgestapt op de SHA-2 algoritmen met een lengte van 256, 384 en 512 bits. Maar de afdeling moet in de praktijk ook vaak bestandskenmerken verifiëren die ketenpartners aanleveren. Zij gebruiken veelal MD5 en SHA-1.
8. Verklarende woordenlijst Algoritme: Een eindige reeks instructies om vanuit een gegeven begintoestand het daarbij behorende duidelijk beschreven eindresultaat te bereiken (naar de naam van de Arabische wiskundige Al-Chwarizmi). Een algoritme kan geïmplementeerd worden door een computerprogramma en zo door een computer automatisch uitgevoerd worden. Bestandskenmerk: De uitvoer van een hashalgoritme is een reeks bits van vaste lengte. Die uitvoer heet een hashwaarde (Eng: hash or hash value). Bij een niet-omkeerbare hashalgoritme is het mogelijk van een bestand een hashwaarde te berekenen, maar is het ondoenlijk om van de hashwaarde terug te rekenen naar de bron waarover hij gemaakt is. (Eng: one-way or cryptographic hash). Bits: Tweetallige cijfers (nullen en enen) Hexadecimale notatie: Notatie met zestientallige cijfers; de decimale cijfers 0 t/m 9 van het gangbare tientallige stelsel worden hierbij aangevuld met de letters a t/m f om de cijferwaarden 10 t/m 15 weer te geven.
Hoewel SHA-2 voorlopig nog veilig is, loopt momenteel via het Amerikaanse National Institute for Standards and Technology (NIST) al een openbare wedstrijd om een nog beter niet-omkeerbaar hashalgoritme te kiezen. De winnaar zal medio 2012 tot nieuwe standaard worden gekozen en als SHA-3 de wereld ingaan. Zodra deze beschikbaar komt, zal DT&B waarschijnlijk overstappen op deze nieuwe standaard.
Vakbijlage Forensisch gebruik van bestandskenmerken
versie 1, januari 2010 - 4
9. Literatuurlijst 1. J.-P. Aumasson, W. Meier and F. Mendel. “Preimage Attacks on 3-Pass HAVAL and Step-Reduced MD5”, Cryptology ePrint Archive, Report 2008/183, 2008. 2. C. Cannière, and C. Rechberger, “Preimages for Reduced SHA-0 and SHA-1”. Advances in Cryptology, Springer Verlag, LNCS 5157., 2008. 3. F. Chabaud, and A. Joux. “Differential Collisions in SHA-0”, Advances in Cryptology, Springer Verlag, LNCS 1462, 1998. 4. P. Hoffman and B. Schneier. “Attacks on Cryptographic Hashes in Internet Protocols”, Request For Comments (RFC) 4270, Internet Engineering Task Force. 5. A. Joux, “Multicollisions in iterated hash functions. Application to cascaded constructions”, DCSSI Crypto Lab, France, 2005. 6. R.L. Rivest, “The MD4 Message Digest Algorithm”, Crypo’90 Proceedings, 1991. 7. R.L. Rivest, “The MD5 Message-Digest Algorithm”, Request For Comments (RFC) 1321, Internet Activities Board, Internet Privacy Task Force, 1992. 8. FIPS 180-1, Secure hash standard, National Institute for Standards and Technology (NIST), US Department of Commerce, Washington D.C., April 1995. Springer-Verlag, 1996. 9. X.Y. Wang, F.D. Guo, X.J. Lai, H.B. Yu, “Collisions for Hash Functions MD4, MD5, HAVAL-128 and RIPEMD”, Rump Session of Crypto’04, E-print, 2004 10. X.Y. Wang, X.J. Lai, D. Feng, H. Chen, and X. Yu, “Cryptanalysis of the Hash Functions MD4 and RIPEMD”, Advances in Cryptology, Springer Verlag, LNCS 3494, 2005.
Vakbijlage Forensisch gebruik van bestandskenmerken
versie 1, januari 2010 - 5
Contactgegevens Nederlands Forensisch Instituut Postbus 24044 2490 AA Den Haag Laan van Ypenburg 6 2497 GB Den Haag www.forensischinstituut.nl Voor inhoudelijke vragen kunt u contact opnemen met de afdeling Digitale Technologie & Biometrie (DT&B), telefoon 070 - 8886400
Vakbijlage Forensisch gebruik van bestandskenmerken
versie 1, januari 2010 - 6