2009-06-23 21 views
9

He configurado una aplicación WPF que es instancia única utilizando un Mutex, esto permite que la aplicación se ejecute dentro de cada cuenta de usuario si está utilizando el cambio de usuario. La aplicación configura un conducto con nombre WCF para que pueda comunicarme con la instancia única de otro proceso (es decir, cuando el segundo proceso se ejecuta antes de que termine debido a Mutex).WCF Named Pipe Security y Multiple User Sessions?

Me gustaría saber si se debe hacer algo (mejores prácticas) para asegurar la tubería con nombre?

También me gustaría saber si los mensajes de canalización con nombre llegarían a todos los procesos en ejecución dentro del sistema o solo dentro de la sesión de usuario actual. Si la tubería nombrada se envía a todo el sistema, ¿cuál sería la mejor implementación para restringir la comunicación a la sesión actual de los usuarios?

Respuesta

2

Las tuberías con nombre implican que la comunicación es punto a punto en la misma máquina. Creo que está protegido por defecto, pero como la comunicación nunca sale de la máquina, ni siquiera en la misma red, esa seguridad no es lo más importante de lo que preocuparse, al menos en lo que respecta a la comunicación entre un componente de tubería con nombre y su consumidor.

Consulte "Programación de WCF Services 2nd Edition" por Juval Lowy. El Capítulo 10 trata sobre la seguridad de los componentes. En la página 514, escribe "no tiene sentido usar Message security over IPC, ya que con IPC siempre hay exactamente un salto del cliente al servicio. El gráfico en esa página muestra que la seguridad de transporte está activada por defecto para named tuberías.

1

Este paper on named pipe security discute el tema en una gran cantidad de detalles.

en resumen, si no tienes cuidado que podría permitir que un programa malicioso que se ejecuta con el permiso de usuario estándar para explotar una tubería a elevarse a la mismo nivel de privilegio que el servidor de pipas nombrado.

Me temo que no sé si la implementación de WCF es segura contra este tipo de ataque de forma predeterminada.

7

Las tuberías con nombre en WCF no son accesibles desde la red y no se requiere cifrado para asegurarlas. Sin embargo, los servicios de WCF no son seguros contra el ataque mencionado por romkyns.

le sugiero que lea esta Mensajes:

Exploring the WCF Named Pipe Binding - Part 1

Exploring the WCF Named Pipe Binding - Part 2

Exploring the WCF Named Pipe Binding - Part 3

Exploring the WCF Named Pipe Binding - Part 4

sobre los problemas de seguridad implicados.

En resumen WCF permite a cualquier proceso para la mascarada de sí mismo como el servicio y:

  1. Cualquiera de simular el servicio o
  2. Eavesdrop y manipule datos asumiendo que el proceso rogue sí conectarse al servicio. Sin embargo, si el servicio utiliza seguridad de acceso para verificar la identidad del usuario que llama, puede que esto no sea posible.
+0

Todos los enlaces están muertos. – jesusduarte

+0

@jesusduarte Tarde, pero los enlaces están de vuelta. –

Cuestiones relacionadas