Sécurité d'accès du code
De nos jours, du fait d'une interconnexion extrême, les systèmes informatiques sont fréquemment exposés à du code provenant de diverses sources parfois inconnues. Du code peut être attaché à un message électronique, contenu dans des documents ou téléchargé via Internet. Malheureusement, de nombreux utilisateurs d'ordinateurs ont personnellement fait l'expérience de code mobile malveillant, y compris de virus et de vers, qui peuvent endommager ou détruire des données et coûter du temps et de l'argent.
La plupart des mécanismes de sécurité courants accordent des droits aux utilisateurs en fonction de leurs informations d'identification de connexion (généralement un mot de passe) et limitent les ressources (souvent des répertoires et fichiers) auxquelles ils peuvent accéder. Cependant, cette approche ne parvient pas à répondre à plusieurs questions : les utilisateurs peuvent obtenir du code provenant de nombreuses sources dont certaines peuvent ne pas être fiables, le code peut contenir des bogues ou des vulnérabilités qui permettent à du code nuisible de l'exploiter et le code fait parfois des choses dont l'utilisateur n'a pas conscience. Les systèmes informatiques peuvent donc être endommagés et des données confidentielles peuvent être divulguées si des utilisateurs prudents et dignes de confiance exécutent un logiciel malveillant ou rempli d'erreurs. La plupart des mécanismes de sécurité des systèmes d'exploitation exigent que chaque partie du code ait un niveau de confiance suffisant afin de s'exécuter, sauf peut-être pour les scripts d'une page Web. Par conséquent, il est encore besoin d'un mécanisme de sécurité largement applicable qui permette à du code provenant d'un système informatique de s'exécuter en toute sécurité sur un autre système, même s'il n'existe pas de relations de confiance entre les systèmes.
Pour aider à protéger les systèmes informatiques contre du code mobile malveillant, pour permettre à du code d'origine inconnue de s'exécuter en toute sécurité et pour éviter que du code ayant un niveau de confiance élevé ne compromette la sécurité de manière intentionnelle ou accidentelle, le .NET Framework fournit un mécanisme de sécurité appelé sécurité d'accès du code. La sécurité d'accès du code permet au code d'avoir un niveau de confiance à différents degrés, en fonction de son origine et d'autres aspects de son identité. La sécurité d'accès du code applique aussi différents niveaux de confiance au code, ce qui réduit la quantité de code dont le niveau de confiance doit être suffisant pour s'exécuter. L'utilisation de la sécurité d'accès du code peut diminuer la probabilité que votre code soit utilisé de manière abusive par du code malveillant ou rempli d'erreurs. Elle peut réduire votre responsabilité puisque vous pouvez spécifier l'ensemble des opérations que votre code est autorisé à exécuter ainsi que celles qu'il ne doit jamais être autorisé à effectuer. La sécurité d'accès du code peut aussi aider à réduire les dommages qui peuvent résulter de la mise en danger de la sécurité dans votre code.
Tout le code managé qui cible le Common Language Runtime bénéficie de la sécurité d'accès du code, même si ce code ne fait aucun appel de sécurité d'accès du code. Cependant, toutes les applications doivent faire des demandes d'accès du code, comme cela est décrit dans Notions fondamentales de la sécurité d'accès du code.
Dans cette section
- Introduction à la sécurité d'accès du code
Offre une vue d'ensemble de la sécurité d'accès du code.
- Notions fondamentales de la sécurité d'accès du code
Décrit la sécurité d'accès du code et ses principales utilisations.
- Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel
Décrit comment activer des bibliothèques en vue d'une utilisation avec du code non managé et comment utiliser des bibliothèques à partir d'un code non managé.
- Écriture des bibliothèques de classes sécurisées
Explique les considérations relatives à la sécurité pour des bibliothèques de classe.
- Écriture de contrôles managés sécurisés
Explique les considérations en matière de sécurité pour le développement et le déploiement de contrôles managés.
- Création de vos propres autorisations d'accès du code
Explique comment créer des autorisations personnalisées.
Rubriques connexes
- Sécurité dans le .NET Framework
Offre une vue d'ensemble du système de sécurité .NET Framework complet.
- Concepts fondamentaux sur la sécurité
Offre une vue d'ensemble de nombreux termes et concepts clés utilisés dans le système de sécurité .NET Framework.
- Sécurité basée sur les rôles
Décrit comment incorporer la sécurité basée sur les rôles.
- Services de chiffrement
Décrit comment incorporer le chiffrement dans vos applications.
- Gestion de la stratégie de sécurité
Explique comment gérer la stratégie de sécurité.
- Outils de sécurité
Décrit les outils utilisés pour implémenter et gérer le système de sécurité .NET Framework.