Hoe Connectis omgaat met SAML-kwetsbaarheden

 

Al enkele jaren komen er met enige regelmaat nieuwe varianten voorbij van een zelfde soort kwetsbaarheid in verschillende SAML-implementaties. Het overkoepelende thema in deze kwetsbaarheden is dat informatie toegevoegd wordt aan het SAML-bericht, zonder dat de ontvangende partij merkt dat het bericht is aangepast. Wij krijgen soms de vraag van klanten hoe Connectis SAML heeft ingericht en hoe onze software omgaat met SAML-kwetsbaarheden. Het antwoord hierop is dat Connectis niet vatbaar is geweest voor de aanvallen van de afgelopen jaren, omdat onze software een categorische oplossing heeft.


SAML-aanvallen

SAML-berichten zijn XML-berichten met een cryptografische ondertekening. De ontvangende software controleert of de cryptografische handtekening klopt met de inhoud van het bericht. Zodoende is het in principe niet mogelijk voor een hacker om de inhoud van het bericht aan te passen: de cryptografische handtekening klopt dan niet meer en zodoende wordt door de ontvangende partij ontdekt dat het bericht is aangepast.

 

Echter, XML is een lastige standaard en er zijn allerlei trucjes om dusdanige aanpassingen te maken dat de software die de handtekening controleert bij de ontvangende partij de aanpassingen niet opmerkt. De SAML-hacks komen dus allemaal neer op het volgende:

De hacker bedenkt een aanpassing aan een SAML-bericht die:

  1. niet wordt ontdekt door de handtekeningcontrole van de ontvanger
  2. wel wordt verwerkt door de businesslogica van de ontvanger

 

Bij de laatste variant worden commentaren toegevoegd in de SAML-XML, dit gebeurde onder andere in de kwetsbaarheid waar Duo Security vorig jaar over heeft gepubliceerd. Commentaren worden normaal gesproken niet meegenomen in de berekening van de handtekening. Een hacker kan dan dus commentaren toevoegen in de XML zonder dat dit leidt tot een falende handtekeningcontrole. Als nu de software van de ontvanger echter zodanig is geschreven dat commentaar in de XML wel invloed kan hebben op de businesslogica, dan kan de hacker dit succesvol gebruiken om een aanval te doen. De businesslogica moet dus ook commentaren in de XML in alle gevallen negeren, want de handtekeningcontrole doet dat ook. Als de businesslogica commentaren niet negeert, heeft de hacker een succesvol aanvalsvlak dat voldoet aan de twee bovenstaande regels. Hij kan bijvoorbeeld proberen om de gebruikersnaam van de ingelogde gebruiker te veranderen. Stel de ingelogde gebruiker was username, dan kan de hacker proberen deze te veranderen in user<!–commentaar–>name, zonder dat de handtekeningcontrole faalt. Het blijkt voor te komen dat de businesslogica het deel van de username achter het commentaar negeert, dus nu is de inloggende gebruiker door de hacker van username veranderd in user door het toevoegen van een simpel commentaar.

Onze software gebruikt uitsluitend de XML source die relevant is voor de handtekeningcontrole

De meeste softwareleveranciers bouwen, wanneer een nieuwe potentiële aanval in het nieuws komt, een oplossing voor die specifieke aanval. In de bovengenoemde aanval bijvoorbeeld, zouden ze een fix kunnen implementeren die ervoor zorgt dat de businesslogica in usernames ook rekening houdt met de tekst achter eventuele commentaren. Echter, zulke oplossingen zijn niet categorisch: er kan morgen door iemand een nieuwe manier bedacht worden om de inhoud van de XML aan te passen op een andere manier die voldoet aan de genoemde twee regels.

 

De software van Connectis werkt anders. Wanneer onze software een bericht ontvangt, markeert deze eerst de XML source die relevant is voor de handtekeningcontrole. Alle andere tekst wordt verwijderd uit het XML-bericht. Zodoende houden we alleen de inhoud over waarvan we weten dat elke aanpassing in deze inhoud zou leiden tot een falende handtekening. Mocht een hacker bijvoorbeeld een commentaar hebben toegevoegd, dan wordt deze dus ongezien verwijderd door onze software, nog voor het bericht in behandeling wordt genomen.

 

Door deze manier van berichten verwerken is onze software door de jaren heen niet kwetsbaar gebleken voor SAML-aanvallen. Zowel onze adapters als de Connectis Identity Broker zelf gebruiken dit mechanisme.

 

Wordt uw online dienst op een veilige manier ontsloten?

De software van Connectis is goed beschermd tegen allerhande SAML-aanvallen. Indien u onze adapters gebruikt om te koppelen met de Connectis Identity Broker, loopt ook uw kant van de applicatie geen gevaar voor bovengenoemde SAML kwetsbaarheden. Wij leveren een bedrijfskritisch onderdeel van de IT-infrastructuur aan onze klanten. Onze specialisten werken daarom doorlopend aan de veiligheid van ons platform.

 

Indien u koppelt via software van derde partijen, is het belangrijk erop te letten dat die software ook goed beschermd is tegen zulke aanvallen. Raadpleeg daarom de documentatie van uw leveranciers of neem contact met ze op in geval van twijfel.

 

Robert van Herk, Director Research & Development