ublock play origin killer extensión extensiones chrome bloquear bloqueado anti administrador acceso .net-4.0 mef code-access-security

.net 4.0 - play - ¿Cómo puedo usar CAS en.NET 4 para bloquear mis extensiones MEF?



el administrador ha bloqueado la extensión (1)

Tengo una aplicación en .NET 4 que usa MEF para la extensibilidad. Mi aplicación principal tiene tres conjuntos: Host , Application y Contracts .

Host es el ejecutable "boot-strapping" que crea el contenedor y hace la composición.

Application contiene la lógica de mi aplicación y más puntos de extensión para terceros.

Contracts contiene las interfaces (y algunas clases de ayuda) que se usan en los puntos de extensión.

Por lo tanto, alguien que desarrolle una aplicación de terceros debe incluir una referencia a los Contracts , pero no a la Application .

Estoy pensando que mi modelo de seguridad debería verse así:

  1. Host y la Application deberían ser SecurityCritical
  2. Contracts deben ser SecuritySafeCritical
  3. Todas las extensiones de terceros deben ser SecurityTransparent

Creo que 1. se cumplirá por defecto. Sé que puedo implementar 2. con un atributo de ensamblaje. La pregunta es, ¿cómo hago cumplir la regla 3.? ¿El sistema operativo hace esto automáticamente al marcar todas las extensiones descargadas como no confiables? ¿Es posible que un ensamble de extensión descargado sea completamente confiable?


Si su aplicación se ejecuta con total confianza, de manera predeterminada sus extensiones se ejecutarán con plena confianza y podrán hacer lo que quieran. No importará qué atributos de seguridad tienen. Para limitar lo que pueden hacer las extensiones, debe crear un dominio de aplicación de zona de pruebas. Usted configuraría su Host y su Application como totalmente confiables en ese AppDomain y el resto del código solo tendría los permisos que usted le otorgue.

Aquí hay un artículo de MSDN sobre este tema: Cómo ejecutar código parcialmente confiable en un Sandbox