Spela upp attacker
En reprisattack inträffar när en angripare kopierar en ström av meddelanden mellan två parter och spelar upp strömmen till en eller flera av parterna. Om de inte minimeras bearbetar de datorer som utsätts för attacken strömmen som legitima meddelanden, vilket resulterar i en rad dåliga konsekvenser, till exempel redundanta beställningar av ett objekt.
Bindningar kan utsättas för reflektionsattacker
Reflektionsattacker är repriser av meddelanden tillbaka till en avsändare som om de kom från mottagaren som svar. Standardidentifieringen av omspelning i WCF-mekanismen (Windows Communication Foundation) hanterar inte detta automatiskt.
Reflektionsattacker minimeras som standard eftersom WCF-tjänstmodellen lägger till ett signerat meddelande-ID för att begära meddelanden och förväntar sig en signerad relates-to
rubrik på svarsmeddelanden. Det innebär att begärandemeddelandet inte kan spelas upp som ett svar. I säkra scenarier med tillförlitligt meddelande (RM) minimeras reflektionsattacker eftersom:
Scheman för att skapa sekvenser och skapa sekvenssvarsmeddelanden skiljer sig.
För simplex-sekvenser kan sekvensmeddelanden som klienten skickar inte spelas upp igen eftersom klienten inte kan förstå sådana meddelanden.
För duplexsekvenser måste de två sekvens-ID:erna vara unika. Det innebär att ett utgående sekvensmeddelande inte kan spelas upp igen som ett inkommande sekvensmeddelande (alla sekvensrubriker och organ signeras också).
De enda bindningar som är känsliga för reflektionsattacker är de utan WS-adressering: anpassade bindningar som har WS-Addressing inaktiverade och använder den symmetriska nyckelbaserade säkerheten. BasicHttpBinding Använder inte WS-Adressering som standard, men den använder inte symmetrisk nyckelbaserad säkerhet på ett sätt som gör att den kan vara sårbar för den här attacken.
Begränsningen för anpassade bindningar är att inte upprätta säkerhetskontext eller kräva WS-adresseringshuvuden.
Webbgrupp: Angriparen spelar upp begäran till flera noder
En klient använder en tjänst som implementeras i en webbgrupp. En angripare spelar upp en begäran som skickades till en nod i servergruppen till en annan nod i servergruppen. Om en tjänst startas om töms dessutom återspelningscacheminnet så att en angripare kan spela upp begäran igen. (Cachen innehåller använda, tidigare sedda meddelandesignaturvärden och förhindrar återspelningar så att dessa signaturer bara kan användas en gång. Replay-cacheminnen delas inte i en webbgrupp.)
Här är några av följande åtgärder:
Använd säkerhet i meddelandeläge med tillståndskänsliga säkerhetskontexttoken (med eller utan säker konversation aktiverat). Mer information finns i Så här skapar du en säkerhetskontexttoken för en säker session.
Konfigurera tjänsten så att den använder säkerhet på transportnivå.