Les principes de la conception de calcul bloquée


  Share  
|

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


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions