Vous êtes sur la page 1sur 17

Systèmes d’Exploitation

Protection et Sécurité
Didier Verna
didier@lrde.epita.fr
http://www.lrde.epita.fr/˜didier
Table des matières

Table des matières

Notion de protection ........................................................................... 2

Principe de «nécessité d’accès» .............................................................. 3

Domaine de protection ........................................................................... 4

Matrice de droits ................................................................................... 7

Notion de sécurité ............................................................................... 10

Authentification..................................................................................... 11

Menaces contre les programmes ............................................................. 13

Menaces contre les systèmes ................................................................. 15

Systèmes d’Exploitation – Protection et Sécurité, Didier Verna 1


Notion de protection

Notion de protection

Accessoire des systèmes multiprogrammés

• Utilisateurs : éviter les violations malencontreuses ou pernicieuses de


restrictions d’accès.
• Processus : vérifier la cohérence d’utilisation des ressources système.

=⇒ Les politiques de protection ne s’adressent plus qu’aux concepteurs


de systèmes, mais aussi aux programmeurs et aux utilisateurs.

=⇒ Politique de protection 6= mécanisme de protection.

Systèmes d’Exploitation – Protection et Sécurité, Didier Verna 2


Notion de protection Principe de «nécessité d’accès»

Principe de «nécessité d’accès»

Un système informatique est :


• Un ensemble de processus.
• Un ensemble d’objets matériels (CPU, mémoire. . .).
• Un ensemble d’objets logiciels (programmes, fichiers. . .).
• Un ensemble d’opérations processus −→ objet.
Les opérations peuvent dépendre des objets.
Principe de «nécessité d’accès» :
• Restreindre l’accès aux seules ressources autorisées.
• Restreindre l’accès à tout moment aux seules ressources nécessaires.

Systèmes d’Exploitation – Protection et Sécurité, Didier Verna 3


Notion de protection Domaine de protection

Domaine de protection

• Droit d’accès : paire objet / ensemble de droits : (O, {D1, D2, . . .}).
• Domaine : ensemble de droits d’accès {DA1, DA2, . . .}.

=⇒ Les domaines ne sont pas forcément disjoints.


=⇒ Chaque processus s’exécute dans un domaine.

Liaison processus / domaine :


• Statique : ensemble de ressources disponibles fixe. Le principe de né-
cessité d’accès requiert un mécanisme de modification des contenus
de domaines.
• Dynamique : requiert un mécanisme de «commutation de domaine»
(pas nécessairement de modification).

Systèmes d’Exploitation – Protection et Sécurité, Didier Verna 4


Notion de protection Domaine de protection

Réalisation de domaines

• Domaine = Utilisateur : les objets auxquels on peut accéder dépendent


de l’utilisateur qui y accède. Commutation de domaine au changement
d’utilisateur.
• Domaine = Processus : les objets auxquels on peut accéder dé-
pendent du processus qui y accède. Commutation de domaine à la
commutation de contexte.
• Domaine = Procédure : les objets auxquels on peut accéder corres-
pondent aux variables utilisées par la procédure. Commutation de do-
maine à chaque appel de procédure.

Systèmes d’Exploitation – Protection et Sécurité, Didier Verna 5


Notion de protection Domaine de protection

Exemples

Systèmes Unix :
• Domaine = Utilisateur
• Bit «setuid» : indique un éventuel changement d’identité pour l’exécu-
tion.
• Accès aux ressources privilégiées par setuid root. Autres possibilités :
répertoires d’exécutables privilégiés, communication avec des démons
(TOPS-20).
Système Multics :
• 7 domaines de protection organisés en anneaux (par quantité de privi-
lèges).
• Espace d’adressage segmenté correspondant aux 7 anneaux.
• «Liste de guichets» : points d’entrée autorisés pour la commutation vers
des anneaux plus privilégiés.
Systèmes d’Exploitation – Protection et Sécurité, Didier Verna 6
Notion de protection Matrice de droits

Matrice de droits

• Matrice représentant les droits de chaque objet en fonction du domaine.


• Le domaine d’exécution d’un processus est généralement choisi par le
système d’exploitation.
• Les entrées de la matrice de droits sont généralement spécifiées par
les utilisateurs.

Entrées particulières :
• Contrôle de commutation de domaine : représenter les domaines
comme des objets.
• Contrôle de modification des entrées de la matrice de droits : représen-
ter les entrées comme des objets.

Systèmes d’Exploitation – Protection et Sécurité, Didier Verna 7


Notion de protection Matrice de droits

Attributs supplémentaires

Requis pour les modifications sur la matrice de droits

• Copie : permet le transfert d’un droit au sein d’une colonne (d’un do-
maine vers un autre). Copie par transfert ou propagation.
• Propriétaire : permet l’ajout et la suppression de tout droit dans la co-
lonne considérée.
• Contrôle : applicable seulement aux objets domaine. Permet la modifi-
cation de droits par ligne et non par colonne.

Systèmes d’Exploitation – Protection et Sécurité, Didier Verna 8


Notion de protection Matrice de droits

Implémentation de la matrice de droits

• Table globale : ensemble de triplets (Di, Oj , Rk ).


Inconvénients : table de grande taille (ingérable en mémoire vive), ma-
trice creuse. Difficulté de profiter des groupements d’objets ou de do-
maines.
• Liste d’accès aux objets : chaque colonne est représentée par une
liste de paires (Di, Rk ) pour lesquelles les droits sont non vides. Exten-
sion par listes de droits par défaut.
• Listes de capacités des domaines : chaque ligne est représentée par
une liste de paires (Oj , Rk ).
• Mécanisme de clés / verrous : chaque objet possède des «verrous»,
chaque domaine possède des «clés». Une opération est permise à
condition qu’une clé du domaine corresponde à un verrou de l’objet.

Systèmes d’Exploitation – Protection et Sécurité, Didier Verna 9


Notion de sécurité

Notion de sécurité

Protection 6= Sécurité

• Protection : problème strictement interne. Fournir un accès contrôlé


aux ressources informatiques.
• Sécurité : problème externe. Requiert la prise en compte de l’environ-
nement du système.

=⇒ S’assurer que le système est utilisé comme il a été prévu qu’il le


soit.

Systèmes d’Exploitation – Protection et Sécurité, Didier Verna 10


Notion de sécurité Authentification

Authentification

L’utilisateur est-il celui qu’il prétend être ?

• Possession utilisateur : clé, carte d’accès. . .


• Connaissance utilisateur : identificateur, mot de passe. . .
• Attribut utilisateur : empreinte digitale, rétinienne, signature. . .

Problème des mots de passe : difficulté de les garder secret.


• Mot de passe transféré illégalement à une tierce personne.
• Mot de passe exposé accidentellement.
• Mot de passe «deviné».

Systèmes d’Exploitation – Protection et Sécurité, Didier Verna 11


Notion de sécurité Authentification

Faiblesses des mots de passe

Exposition accidentelle :
• Surveillance visuelle ou vidéo.
• Surveillance informatique (sniffers).
Deviner un mot de passe :
• Connaissance de l’utilisateur, mots de passe trop évidents.
• Force brute (test de toutes les combinaisons).
=⇒ Interdire les mots de passe trop simples, changer les mots de passe
à intervalles réguliers. . .

=⇒ Stocker les mots de passe encryptés (crypt d’Unix), cacher les ver-
sions cryptées.

Systèmes d’Exploitation – Protection et Sécurité, Didier Verna 12


Notion de sécurité Menaces contre les programmes

Menaces contre les programmes

Dès qu’on peut exécuter des programmes d’autres utilisateurs. . .

• Défauts : Défauts de conception (ex. cgi trop permissifs) ou de pro-


grammation (ex. «buffer overflow»). Vulnérabilité accrue avec des lan-
gages non sûrs.
• Cheval de Troie : utilisation à mauvais escient de son environnement
d’exécution (programmes mal intentionnés). Phénomène aggravé par le
principe du chemin d’accès (PATH d’Unix).
• Porte de contournement : (backdoor, «passer par derrière»). Contour-
ner les procédures normales de sécurité pour un utilisateur précis (ty-
piquement : le concepteur du programme). Contournement plus perni-
cieux : directement dans les compilateurs.

Systèmes d’Exploitation – Protection et Sécurité, Didier Verna 13


Notion de sécurité Menaces contre les programmes

=⇒ Éduquer les utilisateurs ! !


(de Windows)

Systèmes d’Exploitation – Protection et Sécurité, Didier Verna 14


Notion de sécurité Menaces contre les systèmes

Menaces contre les systèmes

Dès qu’on peut créer dynamiquement de nouveaux processus. . .

• Vers : programme autonome et auto-reproducteur. Consommation


(voire épuisement) des ressources systèmes. Dissémination à travers
les réseaux informatiques.
• Virus : fragment de code intégré dans un programme légitime. Repro-
duction par contamination d’autres programmes. Aucun antivirus univer-
sel : les antivirus évoluent en même temps que les virus. Les systèmes
multi-utilisateurs sont en général immunisés car les exécutables sont
protégés contre l’écriture.

=⇒ Éduquer les utilisateurs ! !


(de Windows)

Systèmes d’Exploitation – Protection et Sécurité, Didier Verna 15


Notion de sécurité Menaces contre les systèmes

Le vers de Morris

Attaque rsh
Attaque finger (buffer overflow)
Attaque sendmail (option debug)
Hook
Requ
ête d
e ver
s
Attaque mots de passe

Vers Vers
Téléchargement du vers

Machine cible Machine infectée

• Lancé le 2 soir du 2 Novembre 1988


• Neutralisé le 3.

Systèmes d’Exploitation – Protection et Sécurité, Didier Verna 16