Accueil Développement Qu'est-ce que la sécurité d'accès au code (CAS)? - définition de techopedia

Qu'est-ce que la sécurité d'accès au code (CAS)? - définition de techopedia

Table des matières:

Anonim

Définition - Que signifie la sécurité d'accès au code (CAS)?

La sécurité d'accès au code (CAS) est un mécanisme de sécurité par lequel le Common Language Runtime (CLR) du framework .NET peut restreindre le code managé pour exécuter des opérations avec un ensemble limité d'autorisations.


CAS applique les politiques de sécurité dans le cadre .NET en empêchant tout accès non autorisé aux ressources et opérations protégées. Contrairement aux méthodes de sécurité traditionnelles, où les informations d'identification de l'utilisateur sont obtenues auprès de l'utilisateur, CAS est conçu pour résoudre les problèmes rencontrés lors de l'obtention de code à partir de sources externes, qui contiennent des bogues et des vulnérabilités. Ces bogues et vulnérabilités peuvent rendre le système d'un utilisateur vulnérable aux codes malveillants, qui peuvent effectuer des tâches sans que l'utilisateur le sache. CAS connaît et autorise uniquement les opérations qu'un code d'utilisateur donné peut et ne peut pas effectuer. Cette fonctionnalité est applicable à tout le code géré ciblant le CLR.


CAS offre une sécurité basée sur des preuves reposant sur une couche supérieure à la sécurité fournie par le système d'exploitation Windows. Alors que Windows est basé sur les autorisations de l'utilisateur, CAS est basé sur les preuves de l'assemblage. L'assembly contient les autorisations définies dans la stratégie de sécurité et constitue la base permettant au code d'exécuter les actions nécessaires.

Techopedia explique la sécurité d'accès au code (CAS)

CAS est construit sur les éléments suivants, entre autres:

  1. Autorisations: il s'agit des droits de base nécessaires pour accéder à une ressource protégée ou exécuter une opération protégée.
  2. Jeu d'autorisations: il s'agit d'un ensemble d'autorisations, telles que «confiance totale», «rien», «Internet», «intranet local» et autres.
  3. Groupe de codes: il s'agit d'un regroupement logique de code avec une condition d'adhésion spécifiée, telle que LocalIntranet_zone et Internet_zone.
  4. Preuve: il s'agit d'informations liées à l'assembly telles que le répertoire d'application, l'éditeur, l'URL et la zone de sécurité.
  5. Politique de sécurité: il s'agit d'un ensemble de règles configurées par un administrateur pour déterminer les autorisations accordées pour un code exprimé hiérarchiquement à quatre niveaux en tant qu'entreprise, machine, utilisateur et domaine d'application.

L'opération privilégiée d'exécution de code requiert le CLR pour une ou plusieurs autorisations. L'autorisation réelle est calculée à l'aide de l'union des autorisations définie dans les groupes de codes, puis d'une intersection au niveau de la stratégie. Le CLR garantit que les autorisations demandées se trouvent dans les autorisations accordées de la méthode de cet assembly. Si l'autorisation n'est pas accordée, une exception de sécurité sera levée.


CAS propose deux modes de sécurité pour définir les autorisations pour le code:

  • La sécurité déclarative est implémentée en définissant des attributs de sécurité au niveau de l'assembly, au niveau de la classe ou au niveau du membre. Le mode déclaratif est utilisé lorsque les appels doivent être évalués au moment de la compilation.
  • La sécurité impérative utilise des appels de méthode d'exécution pour créer des instances de classes de sécurité. Le mode impératif est utilisé lorsque les appels doivent être évalués au moment de l'exécution.

CAS présente des limites, notamment le dysfonctionnement d'une application déplacée vers un autre système lorsque la politique de sécurité est différente. De plus, il n'y a aucun contrôle sur le code non managé et aucun contrôle sur le développement d'applications pour répondre aux besoins des différents scénarios de paramètres de sécurité sur les systèmes utilisateur.


Pour utiliser efficacement la technologie de sécurité fine de CAS, les développeurs doivent écrire du code de type sécurisé, utiliser une syntaxe déclarative ou impérative basée sur le contexte, demander des autorisations au moment de l'exécution pour que le code s'exécute et utiliser des bibliothèques sécurisées.

Qu'est-ce que la sécurité d'accès au code (CAS)? - définition de techopedia