Title: Protection des donn
1Protection des données
http//w3.uqo.ca/luigi/
http//www.fotosearch.com/IGS236/is102-015/
2Concepts importants du chapitre
- Niveaux de protection, anneaux en Multics
- Domaines dexécution
- Besoin de connaître
- Protection sur les descripteurs des segments
- Matrices daccès
- Copier, modifier, octroyer les droits daccès
- Implémentation des droits daccès
- Listes daccès aux objets
- Liste de capacité des processus
- Compromis, solutions mixtes
3Le problème de la protection
- Sassurer quun objet ne puisse être accédé que
- par les processus qui sont autorisés
- dans la façon autorisée
- Importante
- pour la protection des données des usagers,
- pour le bon fonctionnement du système entier
- vulnérabilité des SE qui ont des mauvais
mécanismes de protection
4Exigences, besoins. Exemple 1
- Niveaux de protection un programme de
correction, écrit par un prof, exécute des progs.
d étudiants. - Nous avons 3 niveaux de protection
- Système d exploitation
- Doit être protégé par rapport aux programmes
usagers - Peut les affecter (R,W,X?)
- Programme du prof
- Doit être protégé par rapport aux progrs.
étudiants - Peut les affecter
- Programme étudiant
- Doit être protégé par rapport aux programmes
dautres étudiants
5Exigences, besoins. Exemple 2
- Nous avons vu que les systèmes dexploitation
modernes sont organisés par couches de
fonctionnalités - Il est souhaitable de pouvoir protéger les
couches les plus internes (les plus critiques)
contre les plus externes - P.ex le noyau contre les programmes dapplication
6Exigences, besoins. Exemple 3
- Protection par rapport aux domaines dexécution
dans lesquelles lusager se trouve - Quand jexécute un programme de traitement de
texte, jaurai accès à certaines données - Fichiers .doc, .txt
- Quand jexécute mon application de courriel,
jaurai accès à dautres données - Fichiers .pst
- Pour éviter la corruption de données .pst, il
devrait être empêché de les ouvrir par les
logiciels conçus pour .txt
7Principe besoin de connaître (need to know)
- On ne devrait permettre à une entité que
daccéder à linfo dont elle a vraiment besoin - Si un processus invoque une procédure, cette
procédure doit avoir accès à ses paramètres, mais
ne devrait pas être capable d accéder aux
variables du processus - Dans un hôpital,
- Un statisticien aura accès aux données disant les
types de maladies, mais pas aux noms des patients - Un médecin aura accès aux infos concernant ses
patients, mais pas accès aux infos concernant
dautres patients
8Mécanismes
- Comment trouver des mécanismes parfaitement
adaptés aux besoins dont nous avons parlé? - Ce qui suit présente quelques uns des mécanismes
connus
9Importance du SE
- Tout mécanisme de protection des données doit
être fondé sur des mécanismes de protection de
base du SE - La sécurité des données commence dans le SE
10Mécanismes de protection de base
- Modes superviseur usager (bit dans UCT)
- LUCT passe en mode superviseur par effet dune
interruption, qui peut être provoquée par une
application - P.ex. appel au système
- Elle passe en mode usager par requête du SE
- Instructions privilégiées peuvent être
exécutées seulement en mode superviseur ?
interruption si un usager cherche à les exécuter - Les instructions importantes pour la protection
sont privilégiées - Le fait que les instructions dE/S sont protégées
permet la protection des fichiers -
11Protection de zones de mémoire principale
- Contrôle dadresses générées pas la MMU
- bornes inférieures, supérieures
- ne peuvent pas être modifiées en mode usager
- les tentatives daccéder à une adresse au delà
des bornes causent une interruption
12Partage et protection de segments (ou de pages)
- Deux processus qui partagent un programme
- Mais les données de lun sont protégées par
rapport à lautre
13Protection de segments partagés
- Protection sur le chemin daccès entre processus
et segment - Le contrôle d accès est effectué chaque fois
quune adresse est calculée (donc besoin de
matériel qui fasse ceci)
Tabl. segms. Proc. 1
Base
Lim.
R,W
Segment partagé
Tabl. segms. Proc. 2
R
Les deux proc partagent un segment, cependant
Proc. 2 ne peut que le lire
14Question
- Expliquer pourquoi les mécanismes de protection
de la mémoire dépendent de lexistence des deux
modes - usager et superviseur
15Machines virtuelles
- Le concept de protection de base dans
linfonuagique (cloud computing) - Chaque machine virtuelle se comporte comme un
ordi séparé donc en principe ses données ne
peuvent pas être saisies de la part dune autre
machine virtuelle - Chaque usager aura donc sa propre machine
virtuelle
16Couches dans les systèmes de protection de données
- Couche 1 Chiffrement
- Couche 2 Contrôle didentité
- Couche 3 Contrôle daccès
- Couche 4 Contrôle de flux
- Couche 5 Protection de lintimité (privacy)
17Couche 1 Chiffrement
- Tout le système de sécurité dépend de la capacité
de chiffrer certaines informations critiques pour
les garder sécrètes - Mots de passe
- Certains fichiers
18Couche 2 Contrôle de lidentité
- Aussi, tout système de sécurité dépend de la
capacité didentifier les personnes, processus,
etc. qui interviennent dans un système, - Ainsi que de déterminer leurs droits et
prérogatives sur les différentes ressources du
système - Cette couche utilise les fonctionnalités de la
couche chiffrement
19Couche 3 Contrôle daccès
- Cette couche gère les requêtes des personnes,
processus etc. qui demandent accès aux
différentes ressources, données etc. - Pour lire, écrire, exécuter, etc.
- Intercepte les requêtes des usagers, et autorise
ou nie laccès - Cette couche utilise les fonctionnalités de la
couche du contrôle de lidentité, pour déterminer
qui est qui et qui peut faire quoi
20Couche 4 Contrôle de flux
- Cette couche détermine qui peut avoir accès à
quelle information dans un système - Ex un employé ne peut pas avoir accès au salaire
dun autre employé, ni directement ni
indirectement - Elle utilise les fonctionnalités du contrôle
daccès
21Couche 5 Protection de la vie privée (Privacy)
- Cette couche se préoccupe dimplémenter les
exigences de protection de la vie privée des
individus - P.ex. dans un réseau social certains individus
pourraient demander que certaines informations
(disons date de naissance) ne soient pas
accessibles à autres individus - Utilise les fonctionnalités du contrôle de flux
22Modèles de protection
23Modèles MAC et DAC
- Modèles MAC Mandatory Access Control
- Le SE, programmé par un administrateur, détermine
qui peut faire accès à quelles informations et
pour faire quoi - Accès aux informations selon les qualifications
(credentials) de lusager qui cherche à faire
accès - Application systèmes dhaute sécurité
- Modèles DAC Discretionary Access Control
- Lusager a le contrôle daccès à ses données
- Peut déterminer qui peut accéder à quoi
24Systèmes MAC et leurs implémentations
25Exemple dapplication militaire
- Le soldat simple ne peut pas savoir (lire) ce que
le général sait, - Mais il peut linformer (écrire)
- No read up, no write down
- Read down, write up
26Modèle Bell-La Padula (BLP) un système MAC
- Les Objets (données, fichiers) sont classifiés en
niveaux de sensibilité - P.ex. Public, Classifié, Secret, Très Secret
- Les Sujets sont classifiés en catégories
dhabilitation (clearance) par rapport aux
données auxquelles ils peuvent avoir accès - P.ex. Soldat dans Public, Capitan dans Classifié,
Colonel dans Secret, Général dans Très Secret - Règles
- Un sujet ne peut pas lire dans une catégorie plus
élevée - No read up read down permis
- Un sujet peut ne peut pas écrire dans une
catégorie moins élevée - No write down write up permis
27Cheval de Troie!
- Vicky crée un fichier appelé MesAffaires,
seulement pour elle - Jean crée un fichier XXX et donne à Vicky
lautorisation décrire sur ce fichier (à linsu
de Vicky) - Jean crée un Programme et donne à Vicky
lautorisation à lexécuter - Ce Programme (le cheval de Troie!) fait des
choses utiles pour Vicky mais aussi il lit de
MesAffaires et écrit sur XXX - Dans BLP
- Si le ficher MesAffaires est classifié dans un
niveau de sensibilité supérieur à celui de XXX,
linformation ne peut pas être copiée de
MesAffaires à XXX - Si Programme est défini comme sujet à un niveau
inférieur à celui de MesAffaires, Programme ne
peut pas lire MesAffaires
http//www.springerreference.com/docs/html/chapter
dbid/317733.html Lire aussi lhistoire mythique
du Cheval de Troie
INF6153
27
28Exercice
- Prouver que ce mécanisme empêche vraiment la
circulation de linformation dans la direction
non souhaitée - Non seulement de manière directe, mais aussi de
manière indirecte
29Implémentations
- Le SE Multics a implémenté ce concept déjà à
partir des années 196X - Les systèmes Intel ont fourni du matériel pour
ceci à partir des modèles x86 - Mais les implémentations logiciel ont tardé
- Linux implémente maintenant un modèle de
protection à anneaux ou niveaux
30Multics Anneaux de protection (peau doignon)
- Extension du concept de mode superviseur-usager
(chaque mode est un anneau) - Chaque anneau est un domaine de protection
- Les anneaux les plus internes sont les plus
essentiels, les plus privilégiés, et les plus
protégés
31Affectation de processus aux anneaux
- Exemple
- anneau 0 noyau du SE
- anneau 1 fonction dadministration système
- anneau 2 programme de correction du prof
- anneau 3 programme de létudiant
- Chaque segment dun processus est affecté à un
anneau - À un moment donné, un processus se trouve dans un
anneau - Quand un proc. se trouve dans un anneau n, il
peut - accéder librement aux segments dans l anneau n,
ou anneaux extérieurs - il ne peut pas accéder aux segments dans les
anneaux intérieurs
32Mécanisme danneaux
- LUCT a un registre qui contient le numéro de
lanneau où elle est en train d exécuter - Un proc qui exécute dans un anneau peut accéder
aux données dans les anneaux plus externes. - cependant ses capacités peuvent être limitées par
rapport à certains fichiers (R,W,E) comme discuté
(need to know) - Lappel aux procédure plus externes et
relativement libre, cependant il faut copier
les params dans une zone où il puissent être lus
en exécutant dans un anneau qui a moins de
capacités - Il faut aussi se préoccuper que les paramètres
puissent être rendus disponibles au niveau plus
externe - Lappel aux procédures plus internes est contrôlé
par le SE par des règles rigoureuses v. manuel
33Intégrité et diffusion de linformation
- Le système Bell-LaPadula se préoccupe de limiter
laccès aux informations - Dans dautres systèmes, la préoccupation pourrait
être surtout de sauvegarder lintégrité de
linformation - P.ex. quun subordonné, pouvant écrire en haut,
pourrait modifier les directives provenant de là
34Système Biba
- Le système Biba se préoccupe justement de
protéger lintégrité des infos des niveaux
supérieurs - Règles
- Un sujet ne peut pas écrire dans une catégorie
plus élevée - No write up write down permis
- Un sujet peut ne peut pas lire dans une catégorie
moins élevée - No read down read up permis
- Persuadez-vous que les information plus sécrètes
ne peuvent pas être corrompues
35Domaines dapplication
- Il est clair que Bell-LaPadula et Biba ne peuvent
pas simultanément être en vigueur pour les mêmes
sujets et données - Cependant chacun a son domaine dapplication dans
une entreprise, p.ex. - Les subordonnés peuvent écrire en haut les
statistiques de vente, les gérants ne peuvent pas
les changer (Bell-LaPadula) - Les gérants peuvent écrire en bas les politiques
de vente, les subordonnés ne peuvent pas les
changer - On peut donc penser à une répartition dune
organisation - Partie où on applique BLP et partie où on
applique Biba
36Systèmes DAC Discretionary Access Control
37Domaines dexécution
38Domaines dexécution modèle abstrait
- Nous avons dans un systèmes des domaines
dexécution qui déterminent ce quun processus
peut faire quand il se trouve dans chaque domaine
Limpression de O4 peut être effectuée dans
domaine D2 ou D3, pas D1
39Changement de domaines dexécution
- À chaque moment dans son exécution, un processus
(ou usager...) se trouve dans un domaine
dexécution
En exécutant, un proc peut passer dun domaine à
un autre Limpression de O4 peut être effectuée
dans domaine D2 ou D3, pas D1
40Réalisation de domaines
- Un usager peut être associé à un domaine
- changement de domaine au moment de changement
dusager - Un processus peut être associé à un domaine
- changement de domaine au moment de changement de
processus - Une procédure ou méthode peut être un domaine
- changement de domaine au moment de changement de
procédure ou méthode
41Méthode de la matrice daccès
- Indique les capacités dun processus exécutant
dans un domaine Di sur différents objets
capacités du dom. D2
capacités sur le fichier F2
42La matrice daccès sépare le mécanisme des
critères
- Mécanismes
- Le SE fournit la matrice daccès et les règles
- Assure que la matrice ne soit manipulée que par
des agents autorisés et que les règles soient
respectées - Critères (politiques, policies)
- sont dictés par les usagers
- quels domaines peuvent accéder à quel objet avec
quelles capacités
43Extensions de la méthode de la matrice daccès
44Changement de domaine comme capacité
- Un usager qui se trouve dans le domaine D2 peut
changer au domaine D3 ou D4.
45Capacité de copier les droits daccès
- Un processus peut avoir le droit de recopier un
droit daccès d un domaine à un autre (signalé
par ) - p.ex. un proc exécutant dans domaine D2 peut
copier son droit d accès sur fichier F2 à un
autre domaine
Après modif
46Droits de propriétaire
- Droit d un propriétaire de changer les droits
dautres sur les objets qui lui appartiennent - si (i,j) contient owner, un proc dans Di peut
ajouter ou enlever des droits dans la colonne j
47Implantation des matrices daccès
- Difficile à implanter de façon que chaque accès
de mémoire puisse être contrôlé - Tableau global. Désavantages
- grand, éparpillé, doit être paginé
- Par colonne chaque objet est associé à une liste
daccès (qui peut faire quoi sur l objet) - facile à mettre à jour à partir de l objet
- difficile à mettre à jour à partir des domaines
- Par ligne chaque domaine est associé à une liste
de ses capacités - facile et difficile contraire du précédent
- etc v. discussion dans manuel
48Mécanismes serrure-clé (lock-key) un compromis
- Chaque objet a une liste de patrons de bit
unique ses serrures - Chaque domaine a aussi une liste de patrons de
bits unique ses clés - Un processus qui exécute dans un domaine a accès
à un objet seulement si une des clés du domaine
correspond à une des serrures sur lobjet - Serrures et clés sont gérées par le SE
49Solutions mixtes exemple
- Les objets ont des listes daccès
- Quand un processus cherche à accéder à un objet
(p.ex. un fichier) le SE cherche sur la liste
daccès de lobjet si le domaine du proc a droit
daccès à lobjet - Si oui, la capacité daccéder à lobjet est
ajoutée à la liste des capacités du processus - Dans le cas de segmentation, quand un nouveau
segment est ajouté à un proc, on crée une entrée
additionnelle dans le tableau des segments, avec
la protection appropriée
50Fonctionnement possible
lim
base
R
R
R,W
R,W
R,W
X
Le tableau de segments dun proc qui a droit
daccès à 2 segms
Le proc a demandé accès à un 3ème segment pour
lexécuter. Le SE contrôle quil a droit, si oui
il ajoute le droit daccès au tableau des
segments du processus
51Problèmes
- 1) implantation efficace
- 2) comment sassurer que la matrice correspond
aux exigences de sécurité
52Solutions basées sur les langages de programmation
- Les langages de programmation peuvent inclure des
énoncés qui déterminent les droits de protection.
- p.ex. en Java contrôle d accès aux méthodes et
variables - Considérations
- Fiabilité ? un système basé sur les
mécanismes d un langage de programmation peut
être moins fiable quun système basé sur le noyau
du SE - Efficacité ? un système qui utilise le
noyau, le matériel, etc. sera normalement plus
efficace - Flexibilité un système basé sur un langage de
programmation sera plus flexible et plus adapté
aux besoins de l usager - Cependant, le langage de programmation peut faire
appel au noyau.
53Conclusion
- Les exigences de protection peuvent être très
complexes - La méthode de la matrice daccès est puissante et
générale, mais son implantation efficace est
problématique - Les systèmes réels cherchent à approximer le
résultats désirés par des solutions mixtes
54Concepts importants du chapitre
- Niveaux de protection
- Modèle de protection à couches 5 couches
- Protection de diffusion et dintégrité
- Bell-LaPadula, Biba
- Implémentation de Bell-LaPadula dans système
Multics - Domaines dexécution
- Besoin de connaître
- Protection sur les descripteurs des segments
- Matrices daccès
- Copier, modifier, octroyer les droits daccès
- Implémentation des droits daccès
- Listes daccès aux objets
- Liste de capacité des processus
- Compromis, solutions mixtes
55Par rapport au livre Chap 18
- Sauf
- Protection en Unix
- Mécanismes spécifiques Hydra, CAP etc.
- Section 18.6 connaissance générale
56(No Transcript)