Strikt och skriv strikta kontextreferenser
Använd attributet strict_context_handle för alla kontextreferenser. Som standard är en kontextreferens inte associerad med ett gränssnitt, vilket innebär att en kontextreferens kan skapas i ett gränssnitt och sedan skickas till ett annat. Det här är ett enkelt angrepp och många RPC-servrar kan inte förhindra det.
Om två gränssnitt samexisterar i samma process kan en angripare öppna ett kontexthandtag i ett gränssnitt och skicka det till ett annat, vilket kan komma över oväntade data. Många utvecklare tror att deras programvara är det enda gränssnittet i en process, men mycket ofta är det inte fallet, eftersom både systemet och många komponenter från tredje part använder RPC internt, och dessa gränssnitt kan skapa kontexthandtag. När strict_context_handle-attributet används ser RPC-körningstiden till att en kontext som skapats i ett gränssnitt endast kan skickas som ett argument till metoderna i gränssnittet.
I situationer där ett program har utvecklats för Windows Vista är användningen av type_strict_context_handle tillgänglig och rekommenderas. Kontextreferenser är inte associerade med en viss typ som standard. När flera typer av kontextreferenser används i samma process är det möjligt för en skadlig klient att skicka ett kontexthandtag i stället för en annan för att ge oönskade resultat. Användningen av type_strict_context_handle gör det möjligt för program att framtvinga konsekvens för kontexthandtagstyp och förhindra eventuell felaktig användning av kontexthandtagstyper.