Aanvallen opnieuw afspelen
Een herhalingsaanval treedt op wanneer een aanvaller een stroom berichten tussen twee partijen kopieert en de stream opnieuw afspeelt naar een of meer van de partijen. Tenzij verzacht, verwerken de computers die onderhevig zijn aan de aanval de stream als legitieme berichten, wat resulteert in een reeks slechte gevolgen, zoals redundante orders van een item.
Bindingen kunnen onderhevig zijn aan reflectieaanvallen
Reflectieaanvallen zijn herhalingen van berichten terug naar een afzender alsof ze afkomstig zijn van de ontvanger als antwoord. De standaardreplaydetectie in het WCF-mechanisme (Windows Communication Foundation) verwerkt dit niet automatisch.
Reflectieaanvallen worden standaard beperkt omdat het WCF-servicemodel een ondertekende bericht-id toevoegt om berichten aan te vragen en een ondertekende relates-to
header op antwoordberichten verwacht. Daarom kan het aanvraagbericht niet opnieuw worden afgespeeld als antwoord. In RM-scenario's (Secure Reliable Message) worden reflectieaanvallen beperkt omdat:
De schema's voor het maken van een reeks en het maken van een antwoordbericht zijn verschillend.
Voor simplex-reeksen kunnen sequentieberichten die de client verzendt, niet opnieuw worden afgespeeld omdat de client dergelijke berichten niet kan begrijpen.
Voor dubbelzijdige reeksen moeten de twee reeks-id's uniek zijn. Een uitgaand sequentiebericht kan dus niet opnieuw worden afgespeeld als een binnenkomend sequentiebericht (alle sequentieheaders en hoofdteksten worden ook ondertekend).
De enige bindingen die vatbaar zijn voor reflectieaanvallen zijn bindingen zonder WS-Adressering: aangepaste bindingen waarvoor WS-Adressering is uitgeschakeld en de symmetrische beveiliging op basis van sleutels gebruiken. WS-Addressing BasicHttpBinding wordt niet standaard gebruikt, maar er wordt geen symmetrische beveiliging op basis van sleutels gebruikt op een manier die het mogelijk maakt om kwetsbaar te zijn voor deze aanval.
De beperking voor aangepaste bindingen is het niet tot stand brengen van beveiligingscontext of het vereisen van WS-Adresseringsheaders.
Webfarm: Aanvaller probeert aanvragen opnieuw af te spelen op meerdere knooppunten
Een client maakt gebruik van een service die is geïmplementeerd in een webfarm. Een aanvaller afspeelt een aanvraag die naar het ene knooppunt in de farm is verzonden, opnieuw naar een ander knooppunt in de farm. Als een service opnieuw wordt opgestart, wordt de cache voor opnieuw afspelen leeggemaakt, zodat een aanvaller de aanvraag opnieuw kan afspelen. (De cache bevat eerder gebruikte waarden voor berichthandtekeningen en voorkomt herhalingen, zodat deze handtekeningen slechts één keer kunnen worden gebruikt. Caches voor opnieuw afspelen worden niet gedeeld in een webfarm.)
Oplossingen zijn onder andere:
Gebruik beveiliging in de berichtenmodus met stateful beveiligingscontexttokens (met of zonder beveiligd gesprek ingeschakeld). Zie How to: Create a Security Context Token for a Secure Session(s) voor meer informatie.
Configureer de service voor het gebruik van beveiliging op transportniveau.