fixmint
NL

Is een ZIP-bestand veilig? Controleer het voor je het uitpakt

Door · · 4 min leestijd

Controleer een ZIP-bestand voordat je het uitpakt. De inhoudslijst toont elk bestand met naam, grootte en hoeveel het is gekrompen. Vijf dingen duiken daar op wanneer een ZIP problemen probeert te veroorzaken: een grootte die bij het uitpakken enorm uitzet, namen die uit hun map klimmen, een tweede extensie die het echte type verbergt, een versleutelde invoer, en een bestand waarvan het echte type niet overeenkomt met de naam. Bekijk de inhoud van de ZIP eerst, en pak alleen uit wat je verwachtte.

ZIP-viewerWat zit er in deze ZIP?Gratis doen

Wat de inhoudslijst van een ZIP laat zien

Een ZIP slaat elk bestand op als invoer. Aan het eind van het archief staat een lijst, de centrale directory, met één record per invoer. Elk record bevat de naam en het pad van de invoer, de grootte vóór en na compressie, de compressiemethode, een controlegetal genaamd CRC-32 (een kort getal dat uit de inhoud wordt berekend, om beschadiging te herkennen), en of de invoer versleuteld is.

Uitpakprogramma's lezen deze lijst eerst. De ZIP-viewer leest alleen de lijst, zodat je kunt zien wat erin zit zonder iets uit te pakken. Niets in het archief wordt uitgevoerd.

Zipbommen: kleine bestanden die enorm uitpakken

Compressie werkt door herhaalde data te vervangen door korte codes, dus hoe meer herhaling, hoe kleiner het resultaat. De compressieverhouding is de ongecomprimeerde grootte gedeeld door de gecomprimeerde grootte. Lange reeksen herhaalde data comprimeren extreem goed. De gebruikelijke ZIP-methode kan een lange reeks identieke bytes ongeveer duizend keer kleiner maken.

Een zipbom maakt daar misbruik van. Het is een klein archief dat uitpakt tot vele gigabytes, soms met archieven in archieven om de grootte te vermenigvuldigen. Uitpakken vult de schijf en kan de computer doen vastlopen.

Gewone bestanden geven je een idee van de normale verhouding. Tekst en code krimpen sterk. Foto's, video's en bestanden die al gecomprimeerd zijn, zoals .docx, .xlsx en .jpg, krimpen nauwelijks. Een verhouding in de honderden bij iets wat een gewoon document zou moeten zijn, is een waarschuwingsteken.

Namen die uit de map klimmen

Elke invoernaam kan mappen bevatten. Een naam zoals ../../Startup/update.bat vertelt het uitpakprogramma om twee niveaus omhoog te gaan en te schrijven in een opstartmap, waar het programma elke keer draait wanneer je inlogt. Dit heet path traversal, of „zip slip”. Zorgvuldige uitpakprogramma's verwijderen de ../-delen. Oudere tools en zelfgemaakte scripts doen dat misschien niet.

Een naam die begint met een schuine streep, zoals /etc/... of C:\..., is hetzelfde probleem: het probeert naar een vaste plek op je schijf te schrijven. De viewer toont namen precies zoals ze zijn opgeslagen, zodat je ze kunt lezen voordat er iets wordt geschreven.

Dubbele extensies en verborgen types

De laatste extensie van een bestandsnaam vertelt het systeem wat voor soort bestand het is. invoice.pdf.exe eindigt op .exe, dus het is een programma, ook al begint de naam als een pdf. Windows verbergt standaard de extensie van bekende bestandstypen, dus de naam kan verschijnen als „invoice.pdf”.

Controleer het echte type aan de hand van de eerste bytes

Elk bestandstype begint met een paar handtekeningbytes. De extensie is slechts een label, en iedereen kan die veranderen. Controleer het echte type van een bestand leest die eerste bytes en vergelijkt ze met de naam.

TypeEerste bytes (hexadecimaal)
PDF-document25 50 44 46 (de tekst %PDF)
PNG-afbeelding89 50 4E 47
JPEG-afbeeldingFF D8 FF
ZIP, en Word- of Excel-bestanden (die zelf ZIP's zijn)50 4B 03 04 (de tekst PK)
Windows-programma4D 5A (de tekst MZ)

Een afwijking bewijst niet dat een bestand schadelijk is. Het betekent wel dat het bestand niet is wat de naam belooft, en dat is reden genoeg om te stoppen en na te gaan waar het vandaan komt.

Versleutelde invoer

Een met wachtwoord beveiligde invoer verbergt zijn inhoud. De viewer kan nog wel namen en groottes tonen, maar wat erin zit kan hier niet worden gecontroleerd, en scanners kunnen er ook niet in kijken. Daarom gebruiken aanvallers versleutelde archieven om bestanden langs filters te smokkelen. Bankafschriften en belastingformulieren worden ook vaak bewust versleuteld. Als de afzender iemand is die je kent, vraag dan het wachtwoord via een ander kanaal, en open het archief alleen als je weet wie het heeft verstuurd.

Mac- en Windows-rommel

Twee systemen voegen bestanden toe die jij niet hebt gemaakt:

  • macOS slaat extra gegevens per bestand op in een verborgen map __MACOSX, met ._-namen naast de bestanden, en schrijft .DS_Store-bestanden die de weergave-instellingen van Finder bewaren.
  • Windows voegt Thumbs.db toe, een miniatuurcache, en desktop.ini, dat de weergave-instellingen van mappen bevat.

Ze zijn onschadelijk, maar ze maken het archief rommelig en verwarren de ontvanger.

Ruim een archief op voordat je het verstuurt

ZIP-bestand opschonen maakt een nieuw archief zonder de Mac- en Windows-bestanden. Je origineel blijft zoals het was. Een veilige volgorde:

  1. Open het archief in de ZIP-viewer en lees elke naam.
  2. Controleer bestanden waarvan de naam of het type niet klopt met Bestandstype controleren.
  3. Maak het archief schoon en open daarna de opgeschoonde kopie om te bevestigen dat die nog bevat wat je wilde versturen.
  4. Verstuur de opgeschoonde kopie.

Randgevallen

  • Archieven in archieven. De viewer toont de buitenste lijst. Open het binnenste archief apart en controleer het op dezelfde manier.
  • Beschadigde archieven. De centrale directory staat aan het eind, dus een kapot einde kan ervoor zorgen dat een ZIP helemaal niet opent. Dat is een beschadigingsprobleem, geen bewijs dat het archief veilig is. Controleer het op beschadiging.
  • Zelfuitpakkende bestanden. Een archief met een programma eraan vast, vaak met de naam .exe, is een programma. Voer het niet uit tenzij je de bron vertrouwt.
  • Een schone lijst is geen garantie. Een nette lijst laat zien dat de namen en groottes normaal lijken. Het bewijst niet dat elk bestand onschadelijk is. Voer geen programma uit uit een archief dat je niet vertrouwt, ook niet na controle.

Vertaald uit de Engels origineel met hulp van AI.

Reacties

    Nog geen reacties. Wees de eerste.

    Je waardering (optioneel)

    Je e-mail wordt nooit getoond of bewaard.

    Omslag van Digital Workflow ToolkitDigital Workflow Toolkit

    Recepten, sjablonen en patronen om kleine bestandsklussen (converteren, hernoemen, comprimeren, samenvoegen) aan elkaar te koppelen tot workflows die elke keer hetzelfde verlopen.

    $19.00Koop op GumroadIn het Engels