PGP is lek: hoe een hacker de e-mailencryptie kan kraken

De onderzoekers die gisteren waarschuwden voor een kritiek lek in twee populaire encryptiestandaarden voor e-mail, hebben vandaag hun paper gepubliceerd met meer informatie.

Het onderzoek werd uitgevoerd door een team van de University of Applied Sciences in Münster onder leiding van professor Sebastian Schinzel. Ook onderzoekers van de Ruhr-universiteit in Bochum en onze eigen KU Leuven werkten er aan mee. De academici legden verschillende problemen bloot in S/MIME en OpenPGP, twee standaarden voor de encryptie van e-mail, en verzamelden die onder de naam EFAIL.

Directe exfiltratie

In hun paper beschrijven ze twee methoden waarmee een aanvaller de kwetsbaarheden in OpenPGP en S/MIME kan misbruiken om de plaintext versie van versleutelde e-mails te onthullen. Beide methoden vereisen dat de aanvaller eerst een kopie van een versleutelde e-mail kan bemachtigen. Dat kan bijvoorbeeld door het netwerkverkeer te onderscheppen of in te breken op de e-mailclient of e-mailserver van het slachtoffer. Het hoeft overigens geen recente e-mail te zijn. Hij kan ook al jaren geleden ontfutseld zijn.

De eerste aanval is een “direct exfiltration”-aanval. Die wordt mogelijk gemaakt door de manier waarop bepaalde e-mailclients HTML-mails weergeven aan de gebruiker. De aanvaller maakt een nieuwe versleutelde e-mail die ook de oude versleutelde boodschap bevat, en stuurt die naar het slachtoffer. Wanneer de e-mailclient van het slachtoffer de HTML-inhoud van de e-mail probeert weer te geven, wordt daarbij de volledige ontcijferde boodschap teruggestuurd naar een server in handen van de aanvaller.

Tekortkomingen

De tweede aanval misbruikt een aantal tekortkomingen in beide encryptiestandaarden om op een gelijkaardige manier de versleutelde e-mail te ontcijferen. Bij het versleutelen van een boodschap wordt de informatie onleesbaar gemaakt in codetaal die alleen door de ontvanger weer naar leesbare tekst kan worden omgezet. Bij sommige encryptiealgoritmes is het evenwel mogelijk voor een aanvaller om die codetaal aan te passen, zonder dat hij daarvoor de tekst moet ontcijferen en zonder de encryptie te breken.

Moderne encryptiealgoritmes doen daarom een integriteitscheck, om te garanderen dat er niet gesjoemeld is met het versleutelde bericht. Dat wordt door OpenPGP niet verplicht en de standaard zegt ook niet wat de e-mailclient moet doen wanneer zo’n integriteitscheck faalt. Er zijn bovendien manieren om een integriteitscheck uit een versleuteld bericht te verwijderen.

Zonder integriteitscheck is het voor een aanvaller opnieuw mogelijk om een geëncrypteerde e-mail zo aan te passen dat de e-mailclient het ontcijferde bericht meteen doorstuurt van zodra de ontvanger de versleutelde e-mail opent en decrypteert.

Risico’s beperken

Om het risico op een EFAIL-aanval op korte termijn te beperken, raden de onderzoekers aan om versleutelde berichten voorlopig niet in je e-mailclient te ontcijferen, maar een externe applicatie te gebruiken. Het weergeven van HTML-emails uitschakelen in je e-mailclient, helpt ook al een heel eind om je tegen misbruik te beschermen.

De onderzoekers hebben de leveranciers van e-mailclients en encryptieplug-ins op de hoogte gebracht van de kwetsbaarheden, zodat zij patches voor hun software beschikbaar kunnen stellen. Het gaat dan evenwel maar om hotfixes die een oplossing bieden voor de bekende exfiltratiemethodes. Het is niet uitgesloten dat er nog meer methodes bestaan die nog niet werden ontdekt.

Op de lange termijn is er daarom een update voor de OpenPGP en S/MIME-standaarden zelf nodig, oordelen Schinzel en zijn collega’s.