4min

HTTPS-beveiligde websites zorgen ervoor dat hackers het gegevensverkeer tussen browser en site niet kunnen controleren en geen authenticatiecookies kunnen krijgen of extra code laten uitvoeren op de machine van de browser. Het blijkt echter mogelijk te zijn om de browser om te leiden naar een e-mail- of FTP-server als die een veiligheidscertificaat gebruikt dat compatibel is met dat van de website. Dit nieuwe type aanvallen hebben de onderzoekers application layer protocols allow cross-protocol attacks gedoopt, ALPACA.

Onderzoekers van de Ruhr University Bochum in Duitsland lichten de aanval toe tegenover ArsTechnica. Omdat de domeinnaam van de website overeenkomt met de domeinnaam in het e-mail- of FTP-servercertificaat, zal de browser in veel gevallen een Transport Layer Security-verbinding tot stand brengen met een van deze servers, in plaats van met de website die de gebruiker wilde bezoeken. De browser communiceert via HTTPS, maar de e-mail- of FTP-server doen dat via SMTP, FTPS of een ander protocol.

Daarin ligt de mogelijkheid voor Man-in-the-Middle (MitM) aanvallen om  toegang te krijgen. Zo kan bijvoorbeeld een gedecodeerde authenticatiecookie naar een derde worden gezonden, of extra code toegevoegd om te laten uitvoeren op de bezoekende machine.

Taalverschil vereenvoudigt omleiding

Onderzoek heeft aangetoond dat ongeveer 1,4 miljoen webservers een domeinnaam gebruiken die compatibel is met de cryptografische referenties van een e-mail- of FTP-server van dezelfde organisatie. Van die sites worden ongeveer 114.000 als exploiteerbaar beschouwd, omdat de e-mail- of FTP-server software gebruikt waarvan bekend is dat deze kwetsbaar is voor dergelijke aanvallen.

Zulke aanvallen zijn mogelijk, omdat TLS er niet in slaagt de integriteit van de TCP-verbinding zelf te beschermen, in plaats van de integriteit van alleen de server die HTTP, SMTP of een andere internettaal spreekt. MitM aanvallers kunnen deze kwetsbaarheid misbruiken om TLS-verkeer om te leiden van de beoogde server en het beoogde protocol naar een ander, vervangend endpoint en protocol.

Daarin wijkt de aanpak af van de traditioneel verwachting van MitM-aanvallen, waarbij een browser wordt omgeleid naar een andere webserver. Bij de nieuwe aanpak leidt de aanvaller de browser om, van de webserver naar een andere applicatieserver, zoals FTP of e-mail, zo legt Marcus Brinkmann uit, een van de onderzoekers aan de Ruhr Univeriseit in Bochum. Vorige week  verscheen het onderzoeksrapport van zijn team, waarin de methode wordt uitgelegd.

Drie aanvalswijzen

“Over het algemeen is de aanval zeer situationeel en gericht op individuele gebruikers”, zei Brinkmann. “Het individuele risico voor gebruikers is dus waarschijnlijk niet erg hoog. Maar in de loop van de tijd worden steeds meer services en protocollen beschermd met TLS en ontstaan ​​er meer kansen voor nieuwe aanvallen die hetzelfde patroon volgen. We denken dat het tijdig en belangrijk is om de problemen te mitigeren op het niveau van standaardisatie voordat het een groter probleem wordt.” Het onderzoek identificeerde drie aanvalsmethoden die MitM-aanvallers zo zouden kunnen gebruiken.

Uploadenaanval: hier probeert de aanvaller delen van het HTTP-verzoek van de browser (met name de cookieheader) op Ssub (substitute server) op te slaan. Dit kan bijvoorbeeld gebeuren als de server het verzoek interpreteert als een bestandsupload of als de server inkomende verzoeken uitgebreid vastlegt. Bij een geslaagde aanval kan de aanvaller de inhoud op de server dan onafhankelijk van de verbinding van C (client application) naar Ssub ophalen en de HTTPS-sessiecookie ophalen.

Downloadaanval (stored XSS): hier is de aanvaller in staat geweest opgeslagen gegevens op Ssub voor te bereiden en te downloaden. Bij een downloadaanval maakt de aanvaller misbruik van goedaardige protocolfuncties om eerder opgeslagen (en specifiek vervaardigde) gegevens van Ssub naar C te “downloaden”. Dit is vergelijkbaar met een opgeslagen XSS-kwetsbaarheid. Omdat er echter een ander protocol dan HTTP wordt gebruikt, kunnen zelfs geavanceerde verdedigingsmechanismen tegen XSS, zoals het Content-Security-Policy (CSP), worden omzeild. Ssub zal zelf waarschijnlijk geen CSP verzenden. De aanvaller heeft zo grote delen van de respons in diens controle.

Spiegelaanval (reflected XSS): hierbij probeert de aanvaller de server Ssub te misleiden om delen van het verzoek van C weer te geven in zijn reactie op C. Als dit lukt, verzendt de aanvaller eigen JavaScript binnen het verzoek dat door Ssub wordt reflected. De client zal dan het antwoord van de server parsen, wat op zijn beurt kan leiden tot de uitvoering van JavaScript in de context van de beoogde webserver.

ALPN en SNI to the rescue

Om cross-protocol aanvallen te voorkomen, stelden de onderzoekers een strengere handhaving van twee bestaande beveiligingen voor. De eerste staat bekend als application layer protocol negotiation(ALPN), een TLS-extensie waarmee een applicatielaag, zoals een browser, kan onderhandelen over welk protocol in een beveiligde verbinding moet worden gebruikt. ALPN wordt gebruikt om verbindingen tot stand te brengen met behulp van het beter presterende HTTP/2-protocol zonder dat er extra heen en weer verzonden hoeft te worden. Door ALPN strikt af te dwingen zijn verbindingen, die zijn gemaakt door browsers of andere app-lagen die de extensie verzenden, niet kwetsbaar voor cross-protocol aanvallen.

Op dezelfde manier kan het gebruik van een aparte TLS-extensie, server name indication (SNI), beschermen tegen cross-hostname-aanvallen, als deze is geconfigureerd om de verbinding te beëindigen wanneer er geen overeenkomende host wordt gevonden. Dit kan beschermen tegen protocoloverschrijdende aanvallen waarbij de beoogde en vervangende server verschillende hostnamen hebben, maar ook tegen aanvallen met hetzelfde protocol, zoals HTTPS-virtuele virtual hos confusion of context confusion aanvallen.

 “Op dit moment vormt ALPACA voor de meeste mensen geen grote bedreiging,” stellen de onderzoekers gerust. “Maar het risico kan toenemen naarmate nieuwe aanvallen en kwetsbaarheden worden ontdekt, of TLS wordt gebruikt om extra communicatiekanalen te beschermen.”