Een PDF kan meer bevatten dan wat u op de pagina ziet. Ingebed JavaScript, verborgen formuliervelden, oproepen van externe bronnen en aangepaste metagegevens kunnen allemaal worden gebruikt om bij te houden wanneer een document wordt geopend, waar het wordt geopend en wat de lezer ermee doet. PDF-beveiliging-scans voor trackingmechanismen worden een standaardstap in het zakelijke due diligence-onderzoek, vooral bij het ontvangen van PDF's van onbekende of niet-vertrouwde bronnen. De vraag is niet alleen of er trackingcode bestaat, maar ook of u over de middelen beschikt om deze te detecteren voordat u een gevoelig document opent.
Trackingcode in PDF's valt in twee categorieën: opzettelijk en goedaardig. Bij opzettelijke tracking wordt JavaScript gebruikt om naar huis te bellen wanneer het document wordt geopend, waarbij het IP-adres van de opener, de geschatte locatie en de leesduur naar een trackingserver worden verzonden. Goedaardige tracking omvat functies zoals leesbevestigingen die zijn ingesloten in pdf-facturen of digitaal rechtenbeheer waarmee een licentie wordt geverifieerd voordat inhoud wordt weergegeven. Beide typen gebruiken vergelijkbare technische mechanismen en de hier beschreven detectiemethoden werken voor beide.
De PDF Privacy-functies van WukongPDF omvatten beveiligingsinspectietools die documenten scannen op ingebedde scripts voordat ze worden verwerkt. Als u een snelle controle uitvoert voordat u een PDF van een onbekende afzender opent, wordt een beschermingslaag tegen tracking toegevoegd die de meeste PDF-lezers niet standaard bieden.

Hoe PDF-trackingcode technisch werkt
PDF-bestanden ondersteunen JavaScript via de Acrobat JavaScript API, een subset van JavaScript die wordt uitgevoerd in de scriptengine van de PDF-lezer. Scripts op documentniveau worden automatisch uitgevoerd wanneer de PDF wordt geopend, wanneer een pagina wordt bekeken, wanneer het document wordt afgedrukt of wanneer het wordt gesloten. Een trackingscript wordt doorgaans uitgevoerd op de DocOpen-gebeurtenis, verzamelt informatie die beschikbaar is via de JavaScript-API, zoals het IP-adres van de lezer via een HTTP-verzoek, en verzendt die gegevens naar een externe server met behulp van de methoden app.launchURL of Net.HTTP.request.
De gegevens die PDF JavaScript kan verzamelen zijn beperkt in vergelijking met browser JavaScript. Het heeft geen toegang tot bestanden op de computer van de gebruiker, kan geen browsercookies lezen of communiceren met andere geopende documenten. Het kan echter wel netwerkverzoeken doen, wat de kernfunctie is die tracking mogelijk maakt. Een PDF die wordt geopend in Adobe Acrobat Reader en waarin JavaScript is ingeschakeld, voert het trackingscript stil uit. Een PDF die wordt geopend in een browsergebaseerde viewer die de Acrobat JavaScript API niet ondersteunt, voert het script niet uit en de trackingpoging mislukt stilletjes.
Probeer PDF beveiligen
Geen installatie nodig. Werkt rechtstreeks in uw browser.
Methode 1: Controleer op JavaScript in Adobe Acrobat Pro
De meest directe manier om te controleren op trackingcode is door de JavaScript-inhoud van de PDF te inspecteren. Open in Adobe Acrobat Pro de PDF, ga naar het menu Bewerken, selecteer Voorkeuren en klik vervolgens op de JavaScript-categorie. Schakel het selectievakje Acrobat JavaScript inschakelen uit om alle JavaScript-uitvoering in de lezer globaal uit te schakelen. Dit voorkomt dat er een trackingscript wordt uitgevoerd wanneer u het bestand opent. Voordat u JavaScript uitschakelt, kunt u controleren welke scripts er bestaan zonder deze uit te voeren.
Om scripts te inspecteren, opent u de PDF in Acrobat Pro, gaat u naar Extra, vervolgens naar JavaScript en selecteert u Document JavaScripts in de vervolgkeuzelijst. In het dialoogvenster wordt elk script op documentniveau op naam vermeld. Selecteer een scriptnaam en klik op Bewerken om de broncode ervan te bekijken. Zoek naar patronen die tracking aangeven: URL's die verwijzen naar externe domeinen, app.launchURL-aanroepen, Net.HTTP.request-aanroepen of verwijzingen naar this.docOpened- of this.docClosed-gebeurtenissen. Als het script netwerkverzoeken doet en u niet had verwacht dat het document netwerktoegang nodig heeft, behandel dit dan als potentiële trackingcode.
U kunt individuele scripts verwijderen uit het dialoogvenster Document-JavaScripts. Selecteer de scriptnaam en klik op Verwijderen. Nadat u alle verdachte scripts heeft verwijderd, slaat u de PDF op onder een nieuwe bestandsnaam om het origineel als bewijsmateriaal te behouden. De opgeschoonde PDF behoudt alle zichtbare inhoud en formulierfunctionaliteit, maar voert de verwijderde scripts niet langer uit.
Methode 2: PDF-interne bestanden inspecteren met een teksteditor
Voor een diepere inspectie waarvoor Acrobat Pro niet nodig is, onderzoekt u de ruwe interne structuur van de PDF. PDF-bestanden gebruiken een op tekst gebaseerd objectformaat waarin door mensen leesbare tekenreeksen en trefwoorden worden afgewisseld met binaire gegevens. Open de PDF in een teksteditor die grote bestanden kan verwerken, zoals VS Code, Notepad++ of Sublime Text. Zoek naar de tekenreeks /JavaScript of /JS. Deze trefwoorden markeren het begin van JavaScript-codeobjecten. De broncode van het script volgt het trefwoord, meestal tussen haakjes of tussen stream- en endstream-markeringen.
Zoek ook naar /URI of /URL om hardgecodeerde webadressen te vinden die in de PDF zijn ingesloten. Een trackingscript kan de URL van een trackingserver bevatten. Zoek naar /AA of /OpenAction. Dit zijn PDF-woordenboeksleutels die acties specificeren die moeten worden uitgevoerd wanneer het document wordt geopend. Een /OpenAction-item dat naar een JavaScript-object verwijst, is het meest gebruikelijke mechanisme voor het activeren van trackingcode bij het openen van een document.
Deze handmatige inspectieaanpak vereist enige bekendheid met de PDF-syntaxis, maar vangt trackingcode op die geautomatiseerde tools mogelijk over het hoofd zien. Het is dezelfde techniek die beveiligingsonderzoekers gebruiken om verdachte pdf-bijlagen te analyseren bij phishing-onderzoeken. Als u trackingstructuren tegenkomt en deze wilt neutraliseren zonder Acrobat Pro, kunt u de relevante objecten uit de onbewerkte PDF verwijderen met behulp van een tool als qpdf met de vlag --remove-restrictions, hoewel deze aanpak voorzichtigheid vereist om beschadiging van de bestandsstructuur te voorkomen.
Methode 3: Geautomatiseerde PDF-beveiligingsscanners
Verschillende gratis en commerciële tools automatiseren de detectie van tracking en kwaadaardige code in PDF's. DID-SIEM en soortgelijke tools voor beveiligingsanalyse analyseren de PDF-structuur en markeren objecten die JavaScript, externe URL's, opstartacties en ingesloten bestanden bevatten. Online PDF-beveiligingscontroles accepteren een bestandsupload en retourneren een rapport met alle potentieel traceerbare elementen. Voor routinematige controle van PDF's ontvangen van externe bronnen is een geautomatiseerde scanner sneller en grondiger dan handmatige inspectie.
| Indicator | Wat het betekent | Hoe controleren |
|---|---|---|
| JavaScript documenteren | Scripts die worden uitgevoerd wanneer de PDF wordt geopend, gesloten of afgedrukt | Acrobat: Bewerken, Voorkeuren, JavaScript-paneel |
| Externe resourceoproepen | PDF laadt afbeeldingen, lettertypen of gegevens van externe URL's wanneer deze wordt geopend | Controleer documenteigenschappen voor ingesloten URL's |
| Verborgen formuliervelden | Onzichtbare velden die vooraf worden ingevuld met tracking-ID's of tokens | Open het paneel Formulieren en zoek naar verborgen veldvlaggen |
| Metagegevensscripts | XMP-metagegevens met aangepaste tracking-ID's | Bekijk documenteigenschappen en onbewerkte XMP-gegevens |
Wat u moet doen als u de trackingcode vindt
Het vinden van trackingcode in een PDF die u hebt ontvangen, betekent niet noodzakelijkerwijs dat de afzender kwaadwillig handelt. PDF-facturen bevatten doorgaans leesbevestigingsscripts die de afzender op de hoogte stellen wanneer de factuur wordt geopend. Marketingmateriaal kan het volgen van betrokkenheid omvatten, vergelijkbaar met trackingpixels voor het openen van e-mails. De vraag is of de tracking openbaar is en geschikt is voor het documenttype. Er wordt een leesbevestiging in een factuur verwacht. Een verborgen tracker in een contract dat tijdens een onderhandeling wordt verzonden, is problematisch.
Als u het document zonder de trackingcode met anderen wilt delen, verwijdert u het JavaScript zoals beschreven in Methode 1 en slaat u een schone kopie op. Als de trackingcode deel uitmaakt van een DRM- of licentiehandhavingssysteem, kan het verwijderen ervan in strijd zijn met de gebruiksvoorwaarden van het document. Voor juridisch gevoelige documenten dient u het juridische of beveiligingsteam van uw organisatie te raadplegen voordat u de ingebedde code verwijdert, aangezien de trackingmechanismen deel kunnen uitmaken van een compliance- of audittrailsysteem dat u contractueel verplicht bent te behouden.
PDF-trackingcode is detecteerbaar met de juiste tools. Het uitvoeren van een snelle JavaScript-inspectie voordat PDF's uit onbekende bronnen worden geopend, duurt minder dan een minuut en onderschept de meeste trackingmechanismen. Door deze controle onderdeel te maken van uw standaard documentverwerkingsroutine verkleint u de kans dat u onbewust uw leesactiviteit met externe partijen deelt. Voor organisaties die gevoelige documenten verwerken, biedt een beleid waarbij JavaScript in de PDF-lezer standaard wordt uitgeschakeld en alleen voor vertrouwde documenten wordt ingeschakeld, een sterke basisverdediging zonder voortdurende inspectie-inspanningen per document.
JavaScript uitschakelen voor alle PDF-lezers in een organisatie
Individuele inspectie van elke PDF op trackingcode is praktisch voor incidenteel gebruik, maar is niet geschikt voor een organisatie die dagelijks honderden externe PDF's ontvangt. Een meer systematische aanpak is het uitschakelen van JavaScript-uitvoering op lezerniveau op alle apparaten. In Adobe Acrobat Reader bevindt de instelling zich onder Bewerken, Voorkeuren, JavaScript, waar het uitschakelen van Acrobat JavaScript inschakelen alle scriptuitvoeringen blokkeert. Deze instelling kan worden geïmplementeerd via Groepsbeleid op Windows, via een configuratieprofiel op Mac en via beheerde voorkeuren op bedrijfsimplementaties van Acrobat Reader.
Het wereldwijd uitschakelen van JavaScript heeft wel een functionele impact. Sommige PDF-formulieren gebruiken JavaScript voor veldvalidatie, automatische berekeningen en dynamisch formuliergedrag. Deze functies werken niet meer wanneer JavaScript is uitgeschakeld. Voor organisaties die afhankelijk zijn van interactieve PDF-formulieren zou de aanpak moeten zijn om JavaScript standaard uit te schakelen en dit alleen in te schakelen voor formulieren van vertrouwde interne bronnen, in plaats van het veiligheidsrisico te accepteren van JavaScript-uitvoering op elke PDF van elke externe afzender. PDF-beveiligingsinspectie voor trackingcode is een moderne vaardigheid in documentgeletterdheid. Door een minuut te nemen om te controleren op JavaScript, externe URL's en verborgen formuliervelden voordat u een PDF vanuit een onbekende bron opent of deelt, voorkomt u een subtiele vorm van informatielekken waarvan de meeste PDF-gebruikers niet eens weten dat deze bestaat. Een veiligheidsbewuste benadering van PDF-verwerking beschermt zowel de individuele privacy als de informatiebeveiliging van de organisatie, zonder dat daarvoor gespecialiseerde software of geavanceerde technische kennis nodig is.
Probeer PDF beveiligen
Geen installatie nodig. Werkt rechtstreeks in uw browser.
