Volgens de specificaties van het bestandsformaat ondersteunen pdf-bestanden versleuteling met gebruik van het AES-algoritme met de Cipher Block Chaining-encryptiemodus. Daardoor zou het in theorie zo moeten zijn dat degene die een pdf-bestand versleutelt er zeker van kan zijn dat alleen iemand met het wachtwoord het bestand kan openen. Voortbordurend op het onderzoek van PDF security testte een team van onderzoekers van verschillende Duitse universiteiten hoe betrouwbaar de versleuteling in dit formaat is. Fabian Ising van de Fachhochschule Münster presenteerde hun bevindingen — en die waren teleurstellend.
In theorie gebruiken bedrijven versleutelde pdf-bestanden om gegevens over te dragen via een onbeveiligd of onbetrouwbaar kanaal, bijvoorbeeld om een bestand naar de cloud-opslag te uploaden waar veel mensen toegang tot hebben. De onderzoekers zochten een manier om het bronbestand op zo’n manier te wijzigen dat zodra het wachtwoord werd ingevoerd, de informatie in het pdf-bestand naar een derde partij zou worden verstuurd, maar dan zonder enige veranderingen door te voeren die zichtbaar zouden zijn voor de ontvanger.
De onderzoekers ontwikkelden twee aanvalsconcepten die ze in staat stelden om een derde partij toegang te geven tot de versleutelde inhoud. Bovendien vereist de eerste aanval (directe exfiltratie) geen speciale cryptografische vaardigheden, maar alleen een begrip van de formaatspecificaties van pdf-bestanden. De onderzoekers noemden het “cryptografie hacken zonder daadwerkelijk in contact te komen met cryptografie”. De tweede aanval, een malleability attack genaamd, is ingewikkelder en vereist een begrip van de Cipher Block Chaining-modus.
Wie maken er gebruik van versleutelde pdf-bestanden en waarom?
Bedrijven gebruiken versleutelde pdf’s om verschillende redenen.
- Banken gebruiken ze voor vertrouwelijkheid bij het uitwisselen van documenten met hun cliënten.
- Multifunctionele kopieerapparaten kunnen gescande documenten per e-mail accepteren, en beschermen pdf’s met een wachtwoord als de verzender de optie “in versleutelde vorm” selecteert.
- Apparaten voor medische diagnostiek gebruiken beveiligde pdf’s om testresultaten naar patiënten of medici te versturen.
- Overheidsinstellingen zoals het Amerikaanse ministerie van justitie accepteert inkomende documenten als versleutelde pdf’s.
Een aantal e-mailapplicatie-plug-ins biedt de mogelijkheid om een document als versleutelde pdf te versturen, dus er bestaat duidelijk vraag naar zo’n optie.
Directe exfiltratie-aanval
Bij het versleutelen van een df-bestand wordt alleen de inhoud versleuteld (dus de objecten in het bestand, die worden gekarakteriseerd als strings of streams). De resterende objecten, die de structuur van het document bepalen, blijven onversleuteld. In andere woorden: u kunt nog altijd meer te weten komen over het aantal en de grootte van pagina’s, objecten en links. Die informatie zou niet zomaar beschikbaar moeten zijn voor aanvallers, die deze kennis kunnen gebruiken om een manier te verzinnen om de versleuteling te omzeilen.
De onderzoekers vroegen zich eerst af of ze hun eigen informatie aan het bestand konden toevoegen. In theorie zou dat ze in staat stellen om een exfiltratie-kanaal te bedenken. Ze zagen in de formaatdocumentatie dat pdf’s fijnmazige controle over de versleuteling toestaan, waardoor je bijvoorbeeld alleen objecten van het type “string” of alleen objecten van het type “stream” kunt versleutelen, waardoor de rest van de content niet-versleuteld blijft.
Bovendien zijn er geen integriteitscontroles geïmplementeerd, dus als je iets aan een versleuteld document toevoegt, worden de gebruikers hier niet van op de hoogte gesteld. Dat “iets” kan bijvoorbeeld een “formulier verzenden”-actiefunctie zijn, wat betekent dat je een formulier in een pdf-bestand kunt integreren dat gegevens verstuurt. Bijvoorbeeld de volledige inhoud van het document. Naar een derde partij. Die functie kan ook nog eens worden gekoppeld aan een actie, zoals het openen van het document.
Het bovenstaande is eenvoudigweg één voorbeeld van exfiltratie, maar er zijn meer dan genoeg opties. Aanvallers kunnen een simpele link naar hun website toevoegen met de volledige inhoud van het bestand aan de URL toegevoegd. Of ze kunnen JavaScript gebruiken om de versleutelde inhoud waar dan ook naartoe te sturen. Natuurlijk voeren sommige pdf-readers een controle uit bij de gebruiker voordat er met een website wordt gecommuniceerd, maar dat doen ze niet allemaal. En niet elke gebruiker zal bij deze melding stilstaan voor ze toestemming geven.
Malleability attack
De tweede aanval op pdf-versleuteling maakt gebruik van een bekend nadeel van de Cipher Block Chaining-modus (CBC), waarbij het aan integriteitscontrole ontbreekt. De essentie van deze bekende aanval is dat een aanvaller die een gedeelte van de tekstuele informatie die versleuteld is kent, de inhoud van een block kan aanpassen.
Maar volgens de pdf-formaatspecificaties worden er elke keer dat er content in een pdf-bestand wordt versleuteld ook verschillende machtigingen versleuteld (bijvoorbeeld de auteur de mogelijkheid bieden om het document te bewerken en een eenvoudige lezer te weigeren om dit te doen). In theorie werd dit gedaan om te voorkomen dat aanvallers met machtigingen zouden gaan knoeien, die versleuteld zijn met dezelfde AES-sleutels als de rest van het document.
Tegelijkertijd zijn die machtigingen ook opgeslagen in het bestand in niet-versleutelde vorm. Dat bekent automatisch dat aanvallers weten wat de 12 bytes van het bestand zijn, en hierdoor kunnen ze met Cipher Block Chaining knoeien om de versleutelde gegevens te manipuleren, door bijvoorbeeld het data-exfiltratie-mechanisme aan het versleutelde bestand toe te voegen om de inhoud ervan naar een website van derden te versturen.
Resultaten
De onderzoekers testten hun methodes op 23 pdf-readers en 4 browsers. Ze ontdekten dat ze allemaal op zijn minst gedeeltelijk kwetsbaar waren voor minstens een van deze aanvallen.
Helaas kan geen enkel client-side-systeem de kwetsbaarheid van het formaat volledig tegengaan. Het is niet mogelijk om alle exfiltratie-kanalen te blokkeren zonder het formaat volledig te verlammen. De onderzoekers namen contact op met softwareontwikkelaars en meldden de problemen, en sommige van de bedrijven, waaronder Apple, probeerden te helpen door de meldingen van het feit dat het bestand toegang probeerde te verkrijgen tot een website van derden duidelijker te maken. Anderen zeiden dat ze het probeerden, maar het “onoplosbare niet op konden lossen”.
Wij raden u aan om als u vertrouwelijke gegevens moet versturen een alternatieve methode te gebruiken om deze informatie te beveiligen. U kunt bijvoorbeeld gebruikmaken van onze systemen om versleutelde containers te creëren.