Les principes de la conception de calcul bloquée
Les principes de la conception bloquée discutés
dans cette section expriment commun-sentent des applications de
simplicité et de restriction en termes de calcul.
Principe de moindre privilège
Ce principe limite comment on accorde des
privilèges.
Le principe de moindre privilège déclare qu'un sujet devrait être donné seulement ces
privilèges dont il a besoin afin d'accomplir le son chargent.
Si un sujet n'a pas besoin d'un droit d'accès, le sujet
ne devrait pas avoir cela bien. En outre, la fonction du sujet
(par opposition à son identité) devrait commander l'attribution des
droites. Si une action spécifique exige que des droits de
l'accès d'un sujet soient augmentés, ces droites supplémentaires
devraient être abandonnées immédiatement sur l'accomplissement de
l'action. C'est l'analogue de l'"nécessité de savoir" la
règle : si le sujet ne a pas besoin de l'accès à un objet
pour exécuter le son chargez, il ne devrait pas avoir le
droit d'accéder à cet objet. Plus avec précision, si un sujet
doit apposer à un objet, mais ne pas changer l'information a déjà
contenu dans l'objet, il devrait être donné apposent des droites et
ne pas écrire des droites.
Dans la pratique, la plupart des systèmes n'ont pas le
granularity des privilèges et des permissions exigés pour appliquer
ce principe avec précision. Les concepteurs des mécanismes de
sécurité appliquent alors ce principe comme mieux ils peuvent.
Dans de tels systèmes, les conséquences des problèmes de
sécurité sont souvent plus graves que les conséquences pour les
systèmes qui adhèrent à ce principe.
EXEMPLE : Le logiciel d'exploitation d'UNIX ne
s'applique pas des contrôles d'accès à la racine d'utilisateur.
Que l'utilisateur peut terminer n'importe quel processus et
lire, écrit, ou supprime n'importe quel dossier. Ainsi, les
utilisateurs qui créent des protections peuvent également supprimer
des dossiers. Le compte d'administrateur sur Windows a les
mêmes puissances. |
Ce principe exige que des processus devraient être
confinés à en tant que petit un domaine de protection comme
possibles.
EXEMPLE : Un mail server accepte le courrier de
l'Internet et copie les messages dans un annuaire de bobine ; un
serveur local accomplira la livraison. Le mail server a besoin
des droits d'accéder au port approprié de réseau, de créer des
dossiers dans l'annuaire de bobine, et de changer ces dossiers (ainsi
dans lui peut copier le message dans le dossier, récrit l'adresse de
livraison si nécessaire, et ajoute les lignes)"reçues" appropriées.
Il devrait rendre la droite d'accéder au dossier dès qu'il
finira d'écrire le dossier dans l'annuaire de bobine, parce qu'il n'a
pas besoin d'accéder à ce dossier encore. Le serveur ne
devrait pas pouvoir accéder aux dossiers d'aucun utilisateur, ou tous
les dossiers autres que sa propre configuration classe. |
Principe des défauts fiables
Ce principe limite comment des privilèges sont
initialisés quand un sujet ou un objet est créé.
Le principe des déclarer de
défauts fiables que, à moins qu'un sujet
soit donné l'accès explicite à un objet, il devrait refuser à
accès à cet objet.
Ce principe exige que l'accès de défaut à un objet n'en
est aucun. Toutes les fois qu'on n'accorde pas explicitement
l'accès, les privilèges, ou un certain attribut sécurité-connexe,
il devrait nier. D'ailleurs, si le sujet ne peut pas accomplir
son action ou la charger, il devrait défaire ces changements
qu'il a faits dans l'état de sécurité du système avant qu'il se
termine. De cette façon, même si le programme échoue, le
système est encore sûre.
EXEMPLE : Si le mail server ne peut pas créer un
dossier dans l'annuaire de bobine, il devrait fermer le raccordement
de réseau, publie un message d'erreur, et s'arrête. Il ne
devrait pas essayer de stocker le message ailleurs ou d'augmenter ses
privilèges de sauver le message dans un autre endroit, parce qu'un
attaquant pourrait employer que capacité de recouvrir d'autres
dossiers ou de remplir d'autres disques (un démenti d'attaque de
service). Les protections sur l'annuaire de bobine de courrier
elle-même devraient laisser créent et écrivent l'accès seulement
au mail server et lisent et suppriment l'accès seulement au serveur
local. Aucun autre utilisateur ne devrait avoir accès à
l'annuaire.
Dans la pratique, la plupart des systèmes permettront un
accès d'administrateur à l'annuaire de bobine de courrier. Par
le principe de moindre privilège, cet administrateur devrait pouvoir
accéder seulement aux sujets et aux objets impliqués dans s'aligner
et la livraison de courrier. Comme nous avons vu, cette
contrainte réduit au minimum les menaces si le compte de cet
administrateur est compromis. Le système de courrier peut être
endommagé ou détruit, mais rien autrement ne peut être. |
Principe de l'économie du mécanisme
Ce principe simplifie la conception et
l'exécution des mécanismes de sécurité.
Le principe de l'économie du mécanisme déclare que les mécanismes de sécurité devraient
être aussi simples comme possible.
Si une conception et une exécution sont simples, peu de
possibilités existent pour des erreurs. Le processus de
vérification et d'essai est moins complexe, parce que peu de
composants et cas doivent être examinés. Les mécanismes
complexes font souvent des prétentions au sujet du système et de
l'environnement dans lesquels ils fonctionnent. Si ces
prétentions sont incorrectes, les problèmes de sécurité peuvent
résulter.
EXEMPLE : Le protocole d'identification envoie le
nom d'utilisateur lié à un processus qui a un raccordement de TCP à
un centre serveur à distance. Un mécanisme sur le centre
serveur A qui permet l'accès basé sur les résultats d'un résultat
de protocole d'identification fait la prétention que le centre
serveur de commencement est digne de confiance. Si le centre
serveur B décide d'attaquer le centre serveur A, il peut relier et
puis envoyer n'importe quelle identité qu'il choisit en réponse à
la demande d'identification. C'est un exemple d'un mécanisme
faisant une prétention incorrecte au sujet de l'environnement
(spécifiquement, ce centre serveur B peut être fait confiance). |
Les interfaces à d'autres modules sont particulièrement
suspectes, parce que les modules font souvent des prétentions
implicites au sujet des paramètres d'entrée ou de rendement ou de
l'état courant de système ; si un quelconque de ces
prétentions sont mal, les actions du module peuvent produire
inattendu, et incorrect, résultats. L'interaction avec les
entités externes, telles que d'autres programmes, systèmes, ou les
humains, amplifie ce problème.
EXEMPLE : Le protocole de doigt transmet des
informations sur un utilisateur ou un système. Beaucoup de
réalisations de client supposent que la réponse du serveur est bien
formée. Cependant, si un attaquant devaient créer un serveur
qui a produit d'un jet infini des caractères, et un client de doigt
devaient se relier à lui, le client imprimerait tous les caractères.
En conséquence, des dossiers de notation et les disques ont pu
être remplis, ayant pour résultat un démenti d'attaque de service
sur le centre serveur de question. C'est un exemple des
prétentions incorrectes au sujet de l'entrée au client. |
Principe de la médiation complète
Ce principe limite cacher d'information, qui mène
souvent à des réalisations plus simples des mécanismes.
Le principe de la médiation complète exige que tous les accès aux objets soient vérifiés pour
s'assurer qu'ils sont permis.
Toutes les fois qu'un sujet essaye de lire un objet, le
logiciel d'exploitation devrait négocier l'action. D'abord, il
détermine si on permet au le sujet de lire l'objet. Si oui, il
fournit les ressources pour lues se produisent. Si le sujet
essaye de lire l'objet encore, le système devrait vérifier qu'on
permet encore au le sujet de lire l'objet. La plupart des
systèmes ne feraient pas le deuxième contrôle. Ils
cacheraient les résultats du premier contrôle et baseraient le
deuxième accès sur les résultats cachés.
EXEMPLE : Quand un processus d'UNIX essaye de lire
un dossier, le logiciel d'exploitation détermine si on permet au le
processus de lire le dossier. Si oui, le processus reçoit un
descripteur de dossier codant l'accès permis. Toutes les fois
que le processus veut lire le dossier, il présente le descripteur de
dossier au grain. Le grain permet alors l'accès.
Si le propriétaire du dossier rejette la permission de
processus de lire le dossier après que le descripteur de dossier soit
publié, le grain permet toujours l'accès. Cet arrangement
viole le principe de la médiation complète, parce que le deuxième
accès n'est pas vérifié. La valeur cachée est employée,
ayant pour résultat le démenti de l'accès étant inefficace. |
EXEMPLE : Le service de Domain Name (DNS) cache
l'information traçant des noms d'hôte dans des adresses d'IP.
Si un attaquant peut "empoisonner" la cachette par
l'implantation enregistre associer un IP address faux à un nom, un
centre serveur conduira des raccordements à un autre centre serveur
inexactement. |
Principe de conception ouverte
Ce principe suggère que la complexité n'ajoute
pas la sécurité.
Le principe de la conception ouverte déclare que la sécurité d'un mécanisme ne devrait pas
dépendre du secret de sa conception ou exécution.
Les concepteurs et les applicateurs d'un programme ne
doivent pas dépendre du secret des détails de leur conception et
exécution pour assurer la sécurité. D'autres peuvent fureter
hors de tels détails par des moyens techniques, tels que le
démontage et l'analyse, ou par des moyens non techniques, tels que
rechercher par des réceptacles d'ordures des listes de code source
(appelées la "décharge-plongée"). Si la force de la
sécurité du programme dépend de l'ignorance de l'utilisateur, un
utilisateur bien informé peut défaire ce mécanisme de sécurité.
Le terme "sécurité par l'obscurité" capture ce concept
exactement.
C'est particulièrement vrai du logiciel et des systèmes
cryptographiques. Puisque la cryptographie est un sujet fortement
mathématique, les compagnies qui lancent la cryptographie
cryptographique de logiciel ou d'utilisation pour protéger des
données d'utilisateur maintiennent fréquemment leurs algorithmes
secrets. L'expérience a prouvé qu'un tel secret ajoute peu si
quelque chose à la sécurité du système. Plus mauvais, elle
donne une aura de la force qui est toute qui manque trop souvent dans
l'exécution réelle du système.
Maintenant des clefs cryptographiques et des mots de passe
secrets ne viole pas ce principe, parce qu'une clef n'est pas un
algorithme. Cependant, gardant les algorithmes chiffrants et de
déchiffrements secrets la violerait.
Les issues du logiciel de propriété industrielle et des
secrets commerciaux compliquent l'application de ce principe.
Dans certains cas, les compagnies peuvent ne pas vouloir leurs
conceptions faites public, de peur que leurs concurrents les
emploient. Le principe exige alors que la conception et
l'exécution soient à la disposition des gens empêchés de le
révéler en dehors de la compagnie.
EXEMPLE : Le système content de brouillage (CSS)
est un algorithme cryptographique qui protège des disques de film de
DVD contre copier non autorisé. Le disque de DVD a une clef
d'authentification, une clef de disque, et une clef de titre. La
clef de titre est chiffrée avec la clef de disque. Un bloc sur
le DVD contient plusieurs copies de la clef de disque, de chacune
chiffrées par une clef différente de joueur, et d'une somme de la
clef de disque. Quand un DVD est inséré dans un joueur de DVD,
l'algorithme lit la clef d'authentification. Il déchiffre alors
les clefs de disque en utilisant la clef unique du joueur de DVD.
Quand il trouve une clef déchiffrée avec les informations
parasites correctes, lui les utilisations qui verouillent au
déchiffrement la clef de titre, et lui emploie la clef de titre pour
déchiffrer le film. L'authentification et les clefs de disque
ne sont pas situées dans le dossier contenant le film, ainsi si on
copie le dossier, un distillateur a besoin du disque de DVD dans le
joueur de DVD pour pouvoir jouer le film.
En 1999, un groupe en Norvège a acquis a (logiciel) DVD
jouant le programme qui a eu unenciphered la clef. Ils ont
également dérivé un algorithme complètement compatible avec
l'algorithme de CSS du logiciel. Ceci leur a permis de
déchiffrer n'importe quel dossier de film de DVD. Le logiciel
qui pourrait exécuter ces fonctions rapidement est devenu disponible
dans tout l'Internet, beaucoup au malaise de l'association de commande
de copyright de DVD, qui a promptement poursuivi pour empêcher le
code d'être faite à public. Comme si pour souligner les
problèmes de fournir la sécurité en cachant des algorithmes, les
avocats du plaignant ont classé une déclaration contenant le code
source d'une exécution de l'algorithme de CSS. Quand ils ont
réalisé ceci, ils ont demandé que la déclaration soit scellée de
la vue publique. D'ici là, la déclaration avait été
signalée sur plusieurs sites Internet, y compris un qui ont eu plus
de 21.000 téléchargements de la déclaration avant que la cour l'ait
scellée. |
Principe de séparation de privilège
Ce principe est restrictif parce qu'il limite
l'accès aux entités de système.
Le principe de la séparation du privilège déclare qu'un système ne devrait pas accorder la
permission basée sur un état simple.
Ce principe est équivalent à la séparation du principe
de devoir. La compagnie vérifie plus de $75.000 doivent être
signés par deux officiers de la compagnie. Si l'un ou l'autre
ne signe pas, le contrôle est inadmissible. Les deux conditions
sont les signatures des deux officiers.
De même, les systèmes et les programmes accordant
l'accès aux ressources devraient faire ainsi seulement quand plus
d'une condition est réunie. Ceci fournit un contrôle à grain
fin de la ressource aussi bien que l'assurance additionnelle que
l'accès est autorisé.
EXEMPLE : Sur des versions Berkeley-basées du
logiciel d'exploitation d'UNIX, on ne permet pas à des des
utilisateurs de changer de leurs comptes en le compte de racine à
moins que deux conditions soient réunies. La première
condition est que l'utilisateur sait le mot de passe de racine.
La deuxième condition est que l'utilisateur est dans le groupe
de roue (le groupe avec GID 0). Rencontrer l'une ou l'autre
condition n'est pas suffisant pour acquérir l'accès de racine ;
rencontrer les deux conditions est exigé. |
Principe de moindre mécanisme commun
Ce principe est restrictif parce qu'il limite le
partage.
Le principe de moindre mécanisme de terrain
communal déclare que des mécanismes employés pour
accéder à des ressources ne devraient pas être partagés.
Le partage des ressources fournit un canal le long dont
l'information peut être transmise, et ainsi un tel partage devrait
être réduit au minimum. Dans la pratique, si le logiciel
d'exploitation fournit l'appui pour les machines virtuelles, le
logiciel d'exploitation imposera ce privilège automatiquement à un
certain degré. Autrement, il fournira un certain appui (tel
qu'un espace de mémoire virtuelle) mais n'accomplira pas l'appui
(parce que le système de fichiers apparaîtra comme mis en commun
entre plusieurs processus).
EXEMPLE : Un emplacement de Web fournit des
services électroniques de commerce pour une compagnie importante.
Les attaquants veulent priver la compagnie du revenu qu'elle
obtient à partir de cet emplacement de Web. Ils inondent
l'emplacement avec des messages et attachent les services
électroniques de commerce. Les clients légitimes ne peuvent
pas accéder à l'emplacement de Web et, en conséquence,
prendre leurs affaires ailleurs.
Ici, le partage de l'Internet avec les emplacements des
attaquants a fait réussir l'attaque. Les contre-mesures
appropriés devraient limiter l'accès des attaquants au segment de
l'Internet relié à l'emplacement de Web. Les techniques
pour faire ceci incluent des serveurs de procuration tels que
l'étranglement d'intermédiaire ou de trafic de Purdue SYN. Les
raccordements suspects d'anciennes cibles ; le dernier réduit
la charge sur le segment approprié du réseau aléatoirement. |
Principe de l'acceptabilité psychologique
Ce principe identifie l'élément humain dans le
degré de sécurité d'ordinateur.
Le principe de l'acceptabilité psychologique déclare que les mécanismes de sécurité ne
devraient pas rendre la ressource plus difficile à accéder que si
les mécanismes de sécurité n'étaient pas présents.
La configuration et l'exécution d'un programme devraient
être aussi faciles et aussi intuitives comme possible, et n'importe
quel rendement devrait être clair, direct, et utile. Si le
logiciel sécurité-connexe est trop compliqué pour configurer, les
interfaces gestionnaire peuvent involontairement installer le logiciel
d'une façon de nonsecure. De même, les programmes utilisateur
sécurité-connexes doivent être faciles à employer et doivent
produire les messages compréhensibles. Si un mot de passe est
rejeté, le programme changeant de mot de passe devrait énoncer
pourquoi il a été rejeté plutôt que de donner un message d'erreur
caché. Si un dossier de configuration a un paramètre
incorrect, le message d'erreur devrait décrire le paramètre
approprié.
EXEMPLE : Le programme de ssh permet à un
utilisateur d'installer un mécanisme principal public pour chiffrer
des communications entre les systèmes. Les mécanismes
d'installation et de configuration pour la version d'UNIX permettent
à on d'arranger que la clef publique soit stockée localement sans
n'importe quelle protection par mot de passe. Dans ce cas-ci, on
n'a pas besoin de fournir un mot de passe pour se relier au système
à distance, mais immobile obtiendra le raccordement chiffré.
Ce mécanisme satisfait le principe de l'acceptabilité
psychologique. |
D'autre part, la sécurité exige que les messages ne
donnent aucune information inutile.
EXEMPLE : Quand un utilisateur fournit le mot de
passe faux pendant l'ouverture, le système devrait rejeter la
tentative avec un message déclarant que l'ouverture a échoué.
S'il devaient dire que le mot de passe était incorrect,
l'utilisateur saurait que le nom de compte était légitime. Si
l'"utilisateur" étaient vraiment un attaquant non autorisé, elle
saurait alors le nom d'une explication qu'elle pourrait essayer pour
deviner un mot de passe. |
Dans la pratique, le principe de l'acceptabilité
psychologique est interprété pour signifier que le mécanisme de
sécurité peut ajouter un certain fardeau supplémentaire, mais que
le fardeau doit être minimal et raisonnable.
EXEMPLE : Un système d'unité centrale permet à
des utilisateurs de placer des mots de passe sur des dossiers.
L'accès des dossiers exige que l'approvisionnement de programme
le mot de passe. Bien que ce mécanisme viole le principe comme
indiqué, on le considère comme étant suffisamment minimal
acceptable. Sur un système interactif, où le modèle des
accès de dossier est plus fréquent et plus passager, cette condition
serait un fardeau trop grand à être acceptable. |
c'est un article supplémentaire par Bill Kuriko