Hogar Desarrollo ¿Qué es el código de seguridad de acceso (cas)? - definición de techopedia

¿Qué es el código de seguridad de acceso (cas)? - definición de techopedia

Tabla de contenido:

Anonim

Definición: ¿Qué significa Code Access Security (CAS)?

La seguridad de acceso al código (CAS) es un mecanismo de seguridad mediante el cual Common Language Runtime (CLR) del marco .NET puede restringir el código administrado para ejecutar operaciones con un conjunto limitado de permisos.


CAS aplica políticas de seguridad en el marco .NET al evitar el acceso no autorizado a recursos y operaciones protegidos. A diferencia de los métodos de seguridad tradicionales, donde las credenciales del usuario se obtienen del usuario, CAS está diseñado para abordar los problemas que se enfrentan al obtener código de fuentes externas, que contienen errores y vulnerabilidades. Estos errores y vulnerabilidades pueden hacer que el sistema de un usuario sea vulnerable al código malicioso, que puede estar realizando tareas sin que el usuario lo sepa. CAS realmente conoce y permite solo aquellas operaciones que el código de un usuario dado puede y no puede realizar. Esta característica es aplicable a todo el código administrado dirigido al CLR.


CAS proporciona seguridad basada en evidencia construida en una capa por encima de la seguridad proporcionada por el sistema operativo Windows. Si bien Windows se basa en los permisos del usuario, CAS se basa en la evidencia del ensamblaje. El ensamblado contiene los permisos definidos en la política de seguridad y constituye la base para permitir que el código ejecute las acciones necesarias.

Techopedia explica Code Access Security (CAS)

CAS se basa en los siguientes elementos, entre otros:

  1. Permisos: estos son los derechos básicos necesarios para acceder a un recurso protegido o ejecutar una operación protegida.
  2. Conjunto de permisos: este es un conjunto de permisos, como "plena confianza", "nada", "Internet", "intranet local" y otros.
  3. Grupo de código: es una agrupación lógica de código con una condición específica para la membresía, como LocalIntranet_zone e Internet_zone.
  4. Evidencia: se trata de información relacionada con el ensamblaje, como el directorio de aplicaciones, el editor, la URL y la zona de seguridad.
  5. Política de seguridad: es un conjunto de reglas configuradas por un administrador para determinar los permisos otorgados para un código expresado jerárquicamente en cuatro niveles como dominio de empresa, máquina, usuario y aplicación.

La operación privilegiada de ejecución de código exige al CLR uno o más permisos. El permiso real se calcula utilizando la unión de permisos establecida en los grupos de códigos y luego una intersección a nivel de política. El CLR garantiza que los permisos solicitados se encuentren en los permisos otorgados del método de ese ensamblado. Si no se otorga el permiso, se lanzará una excepción de seguridad.


CAS proporciona dos modos de seguridad para definir permisos para el código:

  • La seguridad declarativa se implementa definiendo atributos de seguridad en el nivel de ensamblado, nivel de clase o nivel de miembro. El modo declarativo se utiliza cuando las llamadas deben evaluarse en tiempo de compilación.
  • La seguridad imperativa utiliza llamadas a métodos de tiempo de ejecución para crear instancias de clases de seguridad. El modo imperativo se utiliza cuando las llamadas deben evaluarse en tiempo de ejecución.

CAS tiene limitaciones, incluido el mal funcionamiento de una aplicación movida a otro sistema cuando la política de seguridad es diferente. Además, no hay control sobre el código no administrado ni control del desarrollo de aplicaciones para satisfacer las necesidades de diferentes escenarios de configuraciones de seguridad en los sistemas de los usuarios.


Para utilizar eficazmente la tecnología de seguridad fina de CAS, los desarrolladores deben escribir código seguro de tipo, usar sintaxis declarativa o imperativa basada en el contexto, solicitar permisos del tiempo de ejecución para que el código se ejecute y usar bibliotecas seguras.

¿Qué es el código de seguridad de acceso (cas)? - definición de techopedia