Sécurité des systèmes d’exploitation et du logiciel

Page 1 sur 117Lecteur de document UniversityLib

Sécurité des systèmes d’exploitation et du logiciel

Sécurité informatique, Authentification, SSO · course

Voir tous les documents en sécurité informatique

Ecole Nationale des Sciences de l’Informatique

Cours: Sécurité informatique

Sécurité des systèmes d'exploitation et Sécurité des systèmes d'exploitation et du logiciel du logiciel

Préparé par: Laabidi Mounira

05/11/2014

II3-ING(ILSI, IM,IF)

LAABIDI Mounira

1

Plan du Chapitre

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Sécurité des systèmes d'exploitation et du

logiciel

 Contrôle d’accès Sécurité des systèmes Aperçu d’architectures matérielles Sécurité du logiciel

05/11/2014

LAABIDI Mounira

2

Introduction

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

 Cette section a pour but de présenter les méthodes et les

protocoles permettant de gérer l’authentification et les accès au système d’information :

 Le concept du « Single Sign On »  Les méthodes et modèles de contrôle d’accès  Les protocoles RADIUS, TACACS, Kerberos

05/11/2014

LAABIDI Mounira

3

Authentification Unique SSO (Single Sign On)

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

 Le Single Sign On est une facilité permettant à un utilisateur de ne s’authentifier qu’une seule fois pour accéder à un ensemble de ressources hétérogènes ; on distingue :

 Le « SSO Poste » appliqué aux autorisations pour l’accès aux

serveurs applicatifs du Système d’information

 Le « SSO Serveur » appliqué aux applications Web type Intranet,

Services Internet,

 Le Single Sign On permet à l’utilisateur de n’avoir qu’un seul

mot de passe pour l’accès à un ensemble d’applications:

 réduction du nombre de mots de passe à mémoriser par

l’utilisateur, évitant les mots de passe trop simples ou écrits sur un papier

 Pour l’administrateur, la centralisation de la base des mots de

passe garantie une administration simplifiée et homogène de la politique d’authentification

05/11/2014

LAABIDI Mounira

4

Inconvénients du SSO

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

 Le bénéfice apporté par le SSO en terme de sécurité est

grandement atténué par le fait qu’il permet de contourner d’une certaine manière le processus d’authentification en l’automatisant:

 Comment garantir que c’est bien l’utilisateur qui se trouve devant

son poste si celui-ci n’a plus à intervenir pour s’authentifier ?  Le SSO implique la mise en place de mécanismes garantissant la

présence PHYSIQUE de l’utilisateur devant son poste

• Carte à puce dans un lecteur par exemple L’utilisateur devant enlever la carte à puce du lecteur à chaque fois qu’il s’absente

 Le SSO est souvent présenté par les constructeurs comme un

moyen de préparer l’arrivée des PKI .

05/11/2014

LAABIDI Mounira

5

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

SSO Serveur

 3 alternatives d’architecture

 SSO Reverse Proxy: L’accès aux applications et l’authentification

primaire sont réalisés par un serveur de sécurité installé en mode reverse proxy,

 SSO proxy web: L’accès aux applications et l’authentification primaire

sont réalisés par un serveur de sécurité installé en mode proxy web ou associé à un portail d’entreprise,

 SSO basée sur des agents filtres: Un agent installé sur chaque serveur est intercalé entre le poste client et le serveur de sécurité dont il est le client.

 Les 3 architectures peuvent être associées pour répondre aux

contraintes imposées par l’environnement technique et applicatif.

05/11/2014

LAABIDI Mounira

6

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

SSO Serveur(2)

• Architecture SSO Reverse Proxy

PROCESSUS ETAPE 1: Le client demande au DNS l’@ IP du serveur intranet , le DNS lui communique l’@ IP du Reverse Proxy SSO.

ETAPE 2: Le client réalise une authentification primaire auprès du reverse proxy SSO et demande la connexion au serveur intranet, interroge le reverse proxy SSO l’annuaire pour valider les droits de client et récupérer le couple L/P correspondant à l’Intranet,

 ETAPE 3: Le reverse proxy SSO établit une connexion avec le serveur intranet en présentant le couple L/P du client.

05/11/2014

LAABIDI Mounira

7

ANNUAIREClient webReverse Proxy web@YApplication RHPortailINTRANET@ XDNS@ INTRANET ?@ YETAPE 1ETAPE 2ETAPE 3

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

SSO Serveur (3)

• Architecture SSO Proxy Web

PROCESSUS

ETAPE 1: Le client web se connecte au serveur proxy web SSO.

ETAPE 2: Le client réalise une authentification primaire auprès du proxy web SSO et demande la connexion au serveur intranet, le proxy web SS0 interroge l’annuaire pour valider les droits de client et récupérer le couple à L/P l’Intranet,

correspondant

 ETAPE 3: Le proxy web SSO établit une connexion avec le serveur intranet en présentant le coupe L/P du client.

05/11/2014

LAABIDI Mounira

8

ANNUAIREClient web avec config url « Proxy.ccinca.fr »Proxy.ccinca.frApplication RHPortailINTRANET@ XETAPE 2ETAPE 3ETAPE 1

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

SSO Serveur (4)

• Architecture SSO Agents

PROCESSUS

ETAPE 1: Le client web se connecte au serveur portail sur lequel est installé l’agent SSO et fournit son couple L/P.

ETAPE 2: L’agent interroge le serveur SSO pour valider le couple L/P. Ce dernier interroge l’annuaire et retourne la réponse.

0

 ETAPE 3: Le client à cliqué sur l’icône intranet dans le portail. L’agent transmet au serveur SSO l’identité du client et du serveur cible (intranet). Le serveur SSO interroge l’annuaire et envoi à l’agent du serveur intranet le couple L/P secondaire. Ce dernier joue l’authentification.

05/11/2014

LAABIDI Mounira

9

ANNUAIREOU SGBDClient webServeur SSOApplication RHPortailINTRANET@ X?ETAPE 3ETAPE 1OKHTTPCouple L/P portailETAPE 2JetonLDAP/SQLL/P Intranet

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Techniques de contrôle d’accès

DAC

 MAC

 RBAC

05/11/2014

LAABIDI Mounira

10

Contrôle d’accès

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

 Le contrôle d’accès est le modèle de mise en place d’autorisations (ex : x a besoin de permissions pour accéder à cette ressource).

 Il est nécessaire pour permettre:

 Aux utilisateurs autorisés d’accéder aux ressources dont ils ont

besoin.

 D’empêcher les autres utilisateurs (non autorisés) d’accéder aux

ressources.

05/11/2014

LAABIDI Mounira

11

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Contrôle d’accès

 Le contrôle d’accès recouvre :

 L’identification : l’entité indique qui elle est (= son identité, ex : je

suis Foulen).

 L’authentification : vérification / validation de l’identité d’une

entité (ex : l’utilisateur est bien Foulen).

 L’autorisation : vérification / validation qu’une entité a la

permission d’accéder à une ressource (ex : Foulen a la permission d’accéder à cette ressource).

05/11/2014

LAABIDI Mounira

12

De l’authentification à l’autorisation

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

 Avant d’accorder des permissions ou des privilèges, il est

important de savoir à qui ou à quoi on compte les accorder. L’authentification précède donc l’autorisation.

 L’authentification la plus courante est celle des utilisateurs (on

peut aussi authentifier un service, une machine)

 Modèle de contrôle d’accès  « Reference Monitor » :

• Procédure de décision filtrant les demandes d’accès • Gardien contrôlant si un sujet est autorisé à accéder à un objet ou non

05/11/2014

LAABIDI Mounira

13

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Définir des autorisations d’accès

 ACL : Access Control List

 Définies à 3 niveaux :

 Niveau système d’exploitation : utilisateur → accès au SGF (fichier,

périphérique, répertoire),

 Niveau réseau : quelles machines sont autorisées à communiquer

entre elles ?quels types de flux sont autorisés ?(routeur avec filtrage, Firewall)

 Niveau application, logiciel serveur : utilisateur ou machine → accès

à une ressource, un service

 Nécessité d’authentifier les utilisateurs et les machines

05/11/2014

LAABIDI Mounira

14

Autorisation

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

 Basée sur des critères d’accès:

 Rôle  Groupe  Emplacement physique ou logique  Heure  Type de transaction

 Par défaut, dans un système sécurisé, l’accès devrait être refusé (si rien n’autorise explicitement l’accès alors il doit être implicitement refusé)

 Ex : pare-feu

 Principe du besoin de savoir

05/11/2014

LAABIDI Mounira

15

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Discretionary Access Control (DAC)

Le modèle de contrôle d’accès couramment utilisé sur les systèmes d’exploitation actuels est le Discretionary Access Control.

Le DAC délègue l’accord des permissions d’accès à la discrétion des propriétaires des ressources du système.

 En résumé, le contrôle d’accès discrétionnaire

 Permet de limiter l’accès d’utilisateurs honnêtes et d’éviter l’altération

d’information.

 N’est pas adapté au contexte où l’information est très sensible.

05/11/2014

LAABIDI Mounira

16

Publicité

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Discretionary Access Control (DAC)

• Exemple : contrôle d’accès aux fichiers dans Unix

•

Contrôle d’accès discrétionnaire – Suppose que l’on puisse définir un propriétaire pour chaque ressource – Ne satisfait pas le « principe du moindre privilège » : un utilisateur peut

transmettre plus de droits que nécessaire à un autre utilisateur

05/11/2014

LAABIDI Mounira

17

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Discretionary Access Control (DAC)

• Contrôle d’accès discrétionnaire

– Un droit d’accès peut être transmis sans que son propriétaire soit informé: A

donne un droit en lecture à B sur un de ses fichiers, B copie ce fichier, B étant propriétaire de la copie, transmet son droit de lecture à C

 A doit faire confiance à B • La confiance ne suffit pas :

– A possède un fichier sensible, B n’est pas autorisé à le lire – B implémente un cheval de Troie, et réussit à convaincre A de l’utiliser – Si A exécute le programme, le programme acquiert les droits de A le temps de l’exécution, et peut copier le fichier sensible dans un fichier auquel B a accès

• En résumé, le contrôle d’accès discrétionnaire

– Permet de limiter l’accès d’utilisateurs honnêtes et d’éviter l’altération

d’information.

– N’est pas adapté au contexte où l’information est très sensible.

05/11/2014

LAABIDI Mounira

18

Mandatory Access Control (MAC)

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

 Contrôle d’accès obligatoire/par mandats  Objectif :

 Contrôler la diffusion de l’information même si les applications

ne sont pas de confiance.

 Assurer le cloisonnement des informations.

 Principes :

 Basé sur le contenu, i.e. la sensibilité de l’information.  Un niveau de sensibilité (label) est attribué aux objets.  Un utilisateur doit obtenir un « mandat » (une autorisation)

pour accéder à une information sensible.

 Seule l’organisation a le pouvoir de donner des droits.

 Dans la pratique :

 Modèle le plus répandu : multi-niveau sécurisé dans le domaine de la

défense.

 Modèle de Bell LaPadula.

05/11/2014

LAABIDI Mounira

19

Role Based Access Control (RBAC)

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

 Contrôle non centré sur les notions de sujets/objets  Basé sur les rôles (RBAC) : l’accès à un objet est accepté/refusé non pas en fonction du sujet mais de son rôle (exemple sa fonction dans l’entreprise)(Peut être implémenté avec des privilèges)

Sujets

Rôles Opérations

 Contrôlé par l’origine : le sujet qui a créé l’objet (ou l’information qu’il contient) peut contrôler la dissémination de l’information

 Orienté Tâches (TBAC) : autorisation à différents points durant la

complétion d’une tâche (« workflow management »)

05/11/2014

LAABIDI Mounira

20

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

EXERCICE

Classifier chacune des politiques de sécurité suivantes selon son type de contrôle d’accès

1. Les mécanismes de contrôle d’accès des fichiers Unix,

2. Une politique d’une organisation militaire dans laquelle généraux peuvent entrer dans une salle

les

seuls particulière,

3. Une politique d’une université dans laquelle il est stipulé que l’accès au registre d’un étudiant par un professeur (dans lequel un professeur de l’université peut consulter les notes de l’étudiant) est permis si l’étudiant en question a donné une autorisation écrite au professeur (le professeur ne pouvant les diffuser à un tiers).

05/11/2014

LAABIDI Mounira

21

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Modèles de contrôle d’accès

Bell LaPadula

 HRU

Domain and type

enforcement

RBAC

05/11/2014

LAABIDI Mounira

22

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Contrôle d’accès multi-niveaux

 Pour certaines politiques de sécurité, il est nécessaire de

considérer différents « niveaux » de sécurité

 Niveaux de sécurité

– Niv: ensemble des niveaux : les objets sont classifiés en fonction de

leur sensibilité :

– Exemples

Niv est complètement ordonné, T>S>C>NC et R>Prop>Sens>Pub

05/11/2014

LAABIDI Mounira

23

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Catégories de sécurité

 Cat : ensemble des catégories, permet de partitionner les

objets de manière non hiérarchique – Principe du besoin d’en savoir (« need to know ») : l’information n’est

transférée qu’aux sujets qui en ont besoin

– Exemples

– Ensemble non ordonné – Les parties de Cat sont partiellement ordonnées par ⊆

05/11/2014

LAABIDI Mounira

24

24

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Labels de sécurité

• L’ensemble des labels de sécurité : LS=Niv×P(Cat) • Exemple de label : (T,{US,EUR}) • Relation d’ordre partielle induite : dom (« domine »)

(niv1,ens_cat1) dom (niv2,ens_cat2) ssi niv1 ≥ niv2 et ens_cat2 ⊆ ens_cat1

• Exemple : (T,{US,EUR}) dom (S,{US})

– (LS,dom) est un treillis (dom est une relation d’ordre partielle et il existe

une borne inf et une borne sup pour chaque couple (l1,l2) de LS)

• Exercice : construire le treillis pour Niv={C,S} et Cat={US,EUR}

05/11/2014

LAABIDI Mounira

25

25

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Treillis des labels de sécurité

• Le treillis pour Niv={C,S} et Cat={US,EUR}

05/11/2014

LAABIDI Mounira

26

26

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Modèles de contrôles d’accès

 Un modèle de contrôle d’accès est une représentation abstraite partielle d’une classe de politiques de sécurité exprimée de manière plus ou moins formelle :

 Formule précisément les règles de la politique  Explicite comment le système réalise, autorise ou interdit  Abstrait des détails, se focalise sur une propriété spécifique ou un

comportement donné

 Intérêts :

 Donne des fondements théoriques au contrôle d’accès ou de

flux d’information

 Formalise des principes informels de sécurité comme le principe

de la séparation des fonctions, la séparation des tâches …

 Permet de prouver des propriétés sur une politique de sécurité

(détection de conflits, ...)

 Nécessaire dans le cadre d’un processus d’évaluation de la sécurité (Critères Communs, certification niveau EAL5)

05/11/2014

LAABIDI Mounira

27

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Modèles de contrôles d’accès  Modèles pour la confidentialité : assurent la non-divulgation

d’information

 Modèle de Bell La Padula (BLP)  Application : modélisation d’OS

 Modèles pour l’intégrité : assurent la non modification/

falsification de données:  Modèle de Biba  Application : sécurisation de bases de données

 Modèles spécifiques à un domaine:

 « Muraille de chine » (Brewer & Nash)  Modèle de sécurité « commercial » (plutôt intégrité, exemple Clark

& Wilson)

 Modèles hybrides:

 Contrôle d’accès basé sur des rôles (RBAC)

 Modèles pour la disponibilité

05/11/2014

LAABIDI Mounira

28

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Modèle Bell-Lapadula

 Historique:

 BLP : modèle basé sur une machine à état conçu au MITRE  Un des modèles de sécurité les plus influents depuis 30 ans

 Caractéristiques

 Capture les aspects confidentialité du contrôle d’accès  Modèle multi-niveaux : l’information ne peut circuler d’un

niveau donné à un niveau inférieur  BLP et Matrice de contrôle d’accès :

• BLP utilise une matrice de contrôle d’accès pour décrire

les contrôles d’accès discrétionnaires

05/11/2014

LAABIDI Mounira

29

Modèle Bell-Lapadula

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

 Date des années 70, modèle de sécurité sur la confidentialité

des flux de données.

 Pour système multi niveau (top secret, secret, confidentiel,

non classifié) ; utilise des labels.

 Objectif principal : empêcher que des infos secrètes puissent

être accédées de manière non autorisée.

 Modèle pour lequel il est prouvé mathématiquement qu’il empêche les données d’un niveau de sécurité supérieur de fuir vers un niveau de sécurité inférieur.

05/11/2014

LAABIDI Mounira

30

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Modèle Bell-Lapadula

 Principe :

 Un sujet d’un niveau donné ne peut pas lire des données d’un

niveau supérieur.

 Un sujet d’un niveau donné ne peut pas écrire des données dans

un niveau inférieur.

 Un sujet qui a le droit d’écrire et de lire ne peut le faire qu’à son

Publicité

niveau (rien au dessus, rien en dessous)

05/11/2014

LAABIDI Mounira

31

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Modèle Bell-Lapadula

 BLP a joué un rôle important dans la conception d’OS

sécurisés

 Unix System V/MLS (AT&T, 1984), Purple Penelope (DERA,

1998).

 Inconvénients:

 Traite uniquement de confidentialité, pas d’intégrité  Ne prend pas en compte la gestion des droits d’accès (pas

de mécanisme de modification des droits)

 N’empêche pas les canaux cachés

• flux d’information non contrôlé par un mécanisme de

sécurité

 Ne prend pas en compte le partage de fichiers

05/11/2014

LAABIDI Mounira

32

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Modèle Bell-Lapadula

• Eléments de base :

– S ens. de sujets, O ens. d’objets – A ens. d’attributs d’accès :

• Observation sans altération : read (r) • Observation et altération : write (w) • Altération sans observation : append (a) • Ni observation, ni altération : execute (e) • Beaucoup de modifs/ajouts selon les auteurs

05/11/2014

LAABIDI Mounira

33

33

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Modèle Bell-Lapadula

05/11/2014

LAABIDI Mounira

34

34

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Modèle Bell-Lapadula

05/11/2014

LAABIDI Mounira

35

35

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Le modèle HRU

Établi par [Harrison et al. 1976], le modèle HRU décrit les politiques de contrôle d’accès discrétionnaires traditionnelles.

Une matrice P représente l’ensemble des droits d’accès des sujets vers les objets. De plus, les sujets peuvent créer de nouveaux sujets ou objets, et ajouter des droits.

HRU propose de modéliser la protection dans les systèmes d’exploitation comme suit :

l’ensemble des sujets S et l’ensemble des objets O sont tous deux l’ensemble des entiers de 1 à k. R est l’ensemble des droits génériques (tels que possession, lecture, écriture, exécution).

05/11/2014

LAABIDI Mounira

36

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Le modèle HRU

Le système d’exploitation contient un ensemble fini C de commandes 1, . . . , n, qui représente toutes les opérations fournies par le système d’exploitation (création de fichier, modification des droits...).

Du point de vue de la protection, les commandes de l’ensemble C ont toutes la même forme : elles prennent en paramètre des sujets et objets, et suivant la présence de certains droits dans la matrice P, elles effectuent un ensemble d’actions élémentaires sur le système.

 Ces actions élémentaires sont : enter et delete pour l’ajout et la suppression de droits, create subject et create object pour la création de nouveaux sujets et objets et enfin destroy subject et destroy object pour la destruction de sujets et objets.

 La configuration du système de protection est le triplet (S,O, P). LAABIDI Mounira

05/11/2014

37

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Le modèle HRU

• HRU : Harrison, Ruzzo, et Ullman

– Prend en compte la création/suppression de sujets ou d’objets et le

changement de droit – Droits : own, read, write – Format des requêtes ou commandes

– M désigne la matrice de permission d’accès

05/11/2014

LAABIDI Mounira

38

38

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Le modèle BIBA

• Objectif : assurer l’intégrité

– Interdire toute propagation d’information d’un objet situé à un certain niveau d’intégrité vers un objet de niveau d’intégrité inférieur

– Interdire à tout sujet situé à un certain niveau d’intégrité

de modifier un objet possédant niveau d’intégrité supérieur

05/11/2014

LAABIDI Mounira

39

39

Le modèle de Biba

40

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Modèles de contrôles d’accès

Le modèle “Domain and Type Enforcement” (DTE)

Crée en1985, est assez différent des précédents, il ne cherche pas à garantir la sûreté de la protection .

 Il s’agit d’un mécanisme générique à partir duquel on peut implanter diverses politiques de sécurité dans un système d’exploitation.

 Dans un SE, les politiques de sécurité définies via le modèle DTE visent à :

 Restreindre les ressources accessibles par un programme, notamment les programmes privilégiés (s’exécutant sous le compte root), suivant le principe de “moindre privilège”.

 Contrôler quels programmes ont accès aux ressources “sensibles”, et empêcher l’accès par tout autre programme.

05/11/2014

LAABIDI Mounira

41

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Modèles de contrôles d’accès

Par exemple: DTE peut être utilisé pour contrôler un programme tel que le serveur Web apache, afin de garantir par exemple que même s’il s’exécute sous le compte root, il n’a accès qu’à ses fichiers de configuration, ses librairies et aux pages web.

Le modèle reprend les principes de sujet, d’objet et de matrice d’accès. Toutefois, les lois d’accès n’opèrent pas sur les sujets, mais les domaines, et de même les objets sont englobés dans des types. Ainsi chaque objet du système possède un type, et chaque processus s’exécute dans un domaine précis, dont découlent des droits d’accès.

05/11/2014

LAABIDI Mounira

42

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Le modèle RBAC

Role-Based Access Control

 Les permissions d’accès sont attribuées en fonction de rôle qu’occupe un utilisateur dans une entreprise ou une organisation. C’est ainsi qu’est conçu le modèle RBAC (Role-Based Access Control) ou contrôle d’accès déterminé par le rôle.

Les utilisateurs ont un certain rôle, qui caractérise leur activité.

Chaque rôle est associé à un ensemble de permissions, qui représentent des possibilités d’accès aux objets du système.

Enfin, l’utilisateur exerce son activité dans le cadre de sessions, durant lesquelles il peut activer un sous-ensemble des rôles auxquels il appartient

05/11/2014

LAABIDI Mounira

43

Exercice 1 : Contrôle d’accès multi-niveaux

• On considère un treillis de labels de confidentialité construit à partir de 4 niveaux de sécurité Top Secret >Secret > Confidentiel > Non Confidentiel, et 3 catégories de sécurité A, B et C. Dans les exemples ci-dessous, spécifiez quels sont les modes d’accès (observation, altération) permis suivant le modèle de Bell-LaPadula (on suppose que le contrôle d’accès discrétionnaire ne refuse pas l’accès).

•

–

–

– –

–

M. V ayant pour label (Top Secret,{A,C}) veut accéder à un document ayant pour label (Secret,{B,C}) ; M. W ayant pour label (Confidentiel,{C}) veut accéder à un document ayant pour label (Confidentiel,{B,C}) ; M. X ayant pour label (Secret,{C}) veut accéder à un document ayant pour label (Secret,{C}) ; Mme Y ayant pour label (Top Secret,{A,C}) veut accéder à un document ayant pour label (Confidentiel,{A}) ; Mme Z ayant pour label (Non Confidentiel,∅) veut accéder à un document ayant pour label (Confidentiel,{B}).

44

Exercice 1 : Contrôle d’accès multi-niveaux

– M. V ayant pour label (Top Secret,{A,C}) veut accéder à un document ayant pour label

(Secret,{B,C}) ;

Pas d’accès car Top Secret> Secret mais {B,C}{A,C} – M. W ayant pour label (Confidentiel,{C}) veut accéder à un document ayant pour

label (Confidentiel,{B,C}) ; Altération car {C}{C,D} – M. X ayant pour label (Secret,{C}) veut accéder à un document ayant pour label

(Secret,{C}) ;

Altération et modification – Mme Y ayant pour label (Top Secret,{A,C}) veut accéder à un document ayant pour

label (Confidentiel,{A}) ;

Observation car Top Secret> Secret et {A}  {A,C} – Mme Z ayant pour label (Non Confidentiel,∅) veut accéder à un document ayant pour

label (Confidentiel,{B}).

Altération

45

Exercice 2 : Système Unix Data General B2

Le système Unix Data General B2 (DG/UX B2) fournit un modèle multi-niveaux. Ce contrôle utilise des labels de sécurité correspondant à des « zones » distinctes, détaillées sur le schéma 1. La zone « administrative region » est dédiée aux données tels que les logs, la définition des labels MAC. Les programmes systèmes sont situés dans la zone « virus prevention region ».

•

•

46

Exercice 2 : Système Unix Data General B2

Vu qu’il s’agit d’un système UNIX sécurisé, quelle technique de contrôle d’accès est utilisée par ce système?

•

• Quel est le modèle de sécurité utilisé ? •

Pourquoi la zone «virus prevention region» est-elle en-dessous de la zone «user region»? Pourquoi la zone « administrative region » est-elle au-dessus de la zone « user region » ?

•

47

Exercice 2 : Système Unix Data General B2

Vu qu’il s’agit d’un système UNIX sécurisé, quelle technique de contrôle d’accès est utilisée par ce système?

•

MAC • Quel est le modèle de sécurité utilisé ? BEL-LAPADULA •

Pourquoi la zone «virus prevention region» est-elle en-dessous de la zone «user region»?

La zone « virus prevention region » contient les programmes systèmes. D’après la propriété de confinement de BLP aucun sujet de la zone « user region » (utilisateur) ne peut donc les modifier. D’après la propriété simple de BLP un utilisateur peut les exécuter. Le nom de la zone « virus prevention region » provient du fait qu’un virus nécessite l’altération d’un exécutable. (no write down) •

Pourquoi la zone « administrative region » est-elle au-dessus de la zone « user region » ?

D’après la propriété simple de BLP, les utilisateurs ne peuvent lire les données de la zone « administrative region » qui est réservée à des données auxquelles les utilisateurs ne doivent pas avoir accès (définition des labels, logs). (no read up)

48

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Les protocoles / Utilisation

 RADIUS  TACACS / TACACS+  Kerberos  802.1x

05/11/2014

LAABIDI Mounira

49

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Radius

RADIUS (Remote Authentication Dial-In User Service)  Radius est un protocole qui permet à un serveur d’accès (au sens large du terme) de communiquer avec un serveur central pour authentifier les utilisateurs et autoriser les accès.

 Modèle Client-serveur, standard de l’IETF RFC 2138.

 Toutes les transactions RADIUS sont authentifiées par l'utilisation d'un

secret qui n'est jamais transmis sur le réseau. De plus les communications sont en partie chiffrées en utilisant une clef secrète définie sur le serveur et le client.

 Le client RADIUS est souvent intégré dans les serveurs d’accès (NAS) émettant les requêtes pour authentifier les utilisateurs qui tentent d’accéder au réseau.

 La modularité du protocole permet son utilisation pour une grande variété

d’applications et notamment les proxys applicatifs.

05/11/2014

LAABIDI Mounira

50

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Radius exemple

05/11/2014

LAABIDI Mounira

51

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Radius: principe

1.L’utilisateur initie une connexion PPP avec le serveur d’accès 2.Le serveur d’accès demande l’identifiant et le mot de passe (PAP) ou envoi un challenge (CHAP – MD5) 3.L’utilisateur répond 4.Le client RADIUS (le NAS) envoi l’identifiant et le mot de passe au serveur RADIUS (authentification) en le chiffrant avec la clef qu’il partage avec le serveur 5.Le serveur RADIUS répond avec les messages Accept, Reject, or Challenge. 6.Le client RADIUS se configure en fonction du contenu des messages Accept ou Reject (autorisation)

05/11/2014

Publicité

LAABIDI Mounira

52

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Pourquoi utiliser RADIUS

 AAA (Authorization Authentication Accounting)

 Radius fournit en plus de l’Authentification, un moyen de gérer

les autorisations d’accès et la journalisation des échanges

 Protocole robuste et très répandu

 NAS, VPN, Authentification domaine, Proxy, …

 Modularité permettant une adaptation à la plupart des

contextes

 Attributs configurables

05/11/2014

LAABIDI Mounira

53

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Exemple d’utilisation RADIUS

 Accès nomades

NAS Opérateur

Dial

Elève

Opérateur Tiers

Authentification avec clé partagée ( preshared key )

Serveur Radius Opérateur

Authentification avec clé partagée Radius Opérateur ( preshared key )

Réseau privé

Commutateur

Serveur Radius

05/11/2014

LAABIDI Mounira

54

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Exemple d’utilisation RADIUS (2)

 Wifi

Adresse IP Options DHCP

WEP

Relais DHCP

Portable

Borne Wifi

Commutateur

RADIUS Authentification EAP

Authentification PEAP

DHCP

Serveur W2000

Serveur Radius

W2000 AD

Authentification domaine AD

05/11/2014

Enrôlement domaine ( filaire )

LAABIDI Mounira

55

TACACS

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

 TACACS (Terminal Access Controller Access Control System)

 TACACS est un ancien protocole du monde Unix qui permet à un serveur d’accès de faire suivre vers un serveur d’authentification les authentifiants (login/mot de passe) d’un utilisateur afin de déterminer quelles autorisations peuvent lui être attribuées

 TACACS est un protocole plus ancien et beaucoup moins sûr que

RADIUS et TACACS+

 TACACS ainsi qu’une version plus récente XTACACS (eXtended

TACACS – Cisco 1990) sont deux protocoles normalisés par l’IETF RFC 1492

 Cisco a déclaré en 1997 la fin du support de ces protocoles ceux-

ci ayant été remplacés

 TACACS et XTACACS ne sont plus utilisés de nous jours

05/11/2014

LAABIDI Mounira

56

TACACS+

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

 En dépit de son nom TACACS+ n’est pas une évolution de

TACACS mais un nouveau protocole

 TACACS+ est, au même titre que RADIUS un protocole qui

permet à un serveur d’accès de communiquer avec un serveur central pour authentifier les utilisateurs et autoriser les accès

 L’implémentation diffère cependant de celle de son

« concurrent » RADIUS sur certains points

 AAA (Authorization Authentication Accounting)

– TACACS+ fournit en plus de l’Authentification, un moyen de gérer les

autorisations d’accès et la journalisation des échanges

 TACACS+ a fait l’objet d’un Draft de la part de Cisco mais n’a

pas été normalisé et reste propriétaire

05/11/2014

LAABIDI Mounira

57

Pourquoi utiliser TACACS+

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

 En environnement Cisco celui-ci semble plus sûr que RADIUS

 Chiffrement de la totalité du message  Utilisation de TCP

 TACACS+ soufre cependant de quelques vulnérabilités (au

même titre que RADIUS)

 Rejet, la taille du mot de passe peut être déterminée en fonction

de la taille du paquet, ...

 Celles-ci ont normalement été corrigées, mais combien

d’anciennes version de l’IOS continuent encore à être utilisées ?

 TACACS+ reste très populaire sur les réseaux Cisco

05/11/2014

LAABIDI Mounira

58

RADIUS/TACACS+

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Radius Radius

 Utilise UDP  Utilise UDP  Publique, normalisé,  Publique, normalisé, forte interopérabilité et forte interopérabilité et

modularité modularité

 Plus léger que TACACS+ (dans  Plus léger que TACACS+ (dans

son concept) son concept)

 Regroupe dans un seul profil  Regroupe dans un seul profil utilisateur authentification et utilisateur authentification et autorisation autorisation

TACACS+ TACACS+

 Utilise TCP  Utilise TCP  Chiffre la totalité des messages  Chiffre la totalité des messages  Propriétaire Cisco  Propriétaire Cisco

• On trouve cependant quelques • On trouve cependant quelques

implémentations sur d’autres produits implémentations sur d’autres produits

 Supporte plus de protocoles que  Supporte plus de protocoles que

RADIUS RADIUS

• AppleTalk Remote Access, Net BIOS • AppleTalk Remote Access, Net BIOS

Frame, … Frame, …

 Dissocie les profils d’authentification  Dissocie les profils d’authentification

et d’autorisation et d’autorisation

05/11/2014

LAABIDI Mounira

59

Kerberos

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

 Kerberos a été conçu au MIT (Massachusetts Institute of

Technology) dans les années 1980.

 Kerberos est un protocole d’authentification réseau

 Fournit l’authentification mutuelle grâce à des clefs partagées et

du chiffrement (DES ou 3DES) ou un tiers de confiance

 Utilise un mécanisme à base de Tickets  Principe : tous les mots de passe et les droits d’accès sont stockés

sur un serveur sécurisé

 Les constituants d’une infrastructure utilisant Kerberos sont :

 Les clients Kerberos  Les serveurs d’accès supportant Kerberos (routeur, passerelle ou

serveur d’accès)

 Les serveurs compatibles Kerberos  Le serveur de génération de Tickets (Key Distribution Center)

05/11/2014

LAABIDI Mounira

60

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Pourquoi utiliser Kerberos

 Authentification mutuelle sécurisée  Chiffrement des échanges

 Pas de transmission de mot de passe

• Transmission de clefs de session chiffrées

 Gestion centralisée de l’authentification

• Administration centralisée et audit facilité

 Kerberos permet le Single Sign On… • Facilite la vie de l’utilisateur

 Possibilité de Kerberisation de toutes les applications =>

Utilisation d’API Kerberos

 Facilite la convergence vers la PKI

• Dans la mesure ou une partie du travail aura déjà été fait

05/11/2014

LAABIDI Mounira

61

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Terminologie (1)

 Client

 Entité pouvant obtenir un ticket (user/host)

 Service

 Machine ou application (ftp, pop, ssh, …)

 Ticket

 Crédit (identité d’un client pour un service)

 TGT (Ticket Granting Ticket)

 Sorte de super-ticket obtenu à la première authentification, qui permet ensuite l’obtention de tickets pour les services accédés

 REALM (royaume)

 Domaine d’authentification

• 1 base de donnée Kerberos + 1 ou plusieurs KDC

 Organisation hiérarchique entre les domaines avec authentification

05/11/2014

LAABIDI Mounira

62

Chapitre 3: Sécurité des systèmes d’exploitation et du logiciel

Terminologie (2)

 « Principal »

 Triplet (nom, instance, domaine)

• ex: user/group@REALM ou service/host.domain@REALM

 KeyTab

 Fichier du client contenant une ou plusieurs clefs

 KDC (Key Distribution Center)

 Contient la base des clients et des serveurs ainsi que les clefs

• Gère les clefs pour les « principales » et tickets

 AS (Authentication Server/Service)

• Fournit au client une clef de session et un TGT

 TGS (Ticket Granting Server/Service)<