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 ...........................................................................
Principe de «nécessité d’accès» .............................................................. Domaine de protection ........................................................................... Matrice de droits ...................................................................................

2
3 4 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 = 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 correspondent aux variables utilisées par la procédure. Commutation de domaine à 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écution. • 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 privilè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ésenter 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 domaine vers un autre). Copie par transfert ou propagation. • Propriétaire : permet l’ajout et la suppression de tout droit dans la colonne considérée. • Contrôle : applicable seulement aux objets domaine. Permet la modification 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), matrice creuse. Difficulté de profiter des groupements d’objets ou de domaines. • 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. Extension 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 = 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’environnement 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 versions 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 programmation (ex. «buffer overflow»). Vulnérabilité accrue avec des langages 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»). Contourner les procédures normales de sécurité pour un utilisateur précis (typiquement : le concepteur du programme). Contournement plus pernicieux : 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. Reproduction par contamination d’autres programmes. Aucun antivirus universel : 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
Attaque mots de passe

s

Vers

Téléchargement du vers

Vers Machine infectée

Machine cible

• Lancé le 2 soir du 2 Novembre 1988 • Neutralisé le 3.

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

16

Sign up to vote on this title
UsefulNot useful