59
Dr. Lilia SFAXI Sécurité des Systèmes Répartis Partie 1 : Systèmes Répartis et Mécanismes de Sécurité Classiques Doctorants ETIC, Ecole Polytechnique de Tunisie 2014

Sécurité des Systèmes Répartis- Partie 1

Embed Size (px)

DESCRIPTION

Visitez http://liliasfaxi.wix.com/liliasfaxi !

Citation preview

Page 1: Sécurité des Systèmes Répartis- Partie 1

Dr. Lilia SFAXI

Sécurité des ���Systèmes Répartis Partie 1 :

Systèmes Répartis et Mécanismes de Sécurité

Classiques

Doctorants ETIC, Ecole Polytechnique de Tunisie 2014

Page 2: Sécurité des Systèmes Répartis- Partie 1

Système Réparti

Ensemble composé d’éléments reliés par un système de communication ; les éléments ont des fonctions de traitement (processeurs), de stockage (mémoire), de relation avec le monde extérieur (capteurs, actionneurs)

Les différents éléments du système ne fonctionnent pas indépendamment mais collaborent à une ou plusieurs tâches communes. Conséquence : une partie au moins de l’état global du système est partagée entre plusieurs éléments (sinon, on aurait un fonctionnement indépendant)

1

Page 3: Sécurité des Systèmes Répartis- Partie 1

Système Réparti

Du point de vue utilisateur, un système réparti se comporte comme un système traditionnel, mais s’exécute sur de multiples unités indépendantes (Tannenbaum)

Un système réparti est un système qui vous empêche de

travailler quand une machine dont vous n’avez jamais entendu parler tombe en panne (Lamport)

2

Page 4: Sécurité des Systèmes Répartis- Partie 1

Informatique Répartie���Pourquoi? Raisons budgétaires : économie de logiciels, de matériels

Raisons intrinsèques : adapter le système à l’application (BDD réparties, Web, systèmes bancaires…)

Besoin de partager Des informations : fichiers, BDD, messages Des ressources : unités de stockage, imprimantes, serveurs Des services

Accélérer le calcul : Parallélisation de tâches

Alléger la charge : réduire les goulots d'étranglement

Augmenter la fiabilité : duplication de machines, de données ⇒ réalisation de systèmes à haute disponibilité

Qualité de service : diminuer les coûts, les délais, augmenter la disponibilité

Réaliser des systèmes ouverts, évolutifs : adjonction facile de matériels et logiciels.

3

Page 5: Sécurité des Systèmes Répartis- Partie 1

Informatique Répartie

En opposition à: L’informatique centralisée : celle des gros ordinateurs L’informatique individuelle : celle des micro-ordinateurs

Caractérisée par : 1.  Partage des données 2.  Partage des applications 3.  Partage des ressources 4.  Communication

4

Page 6: Sécurité des Systèmes Répartis- Partie 1

Utilité Partage des ressources (données, applications, périphériques)

Optimisation de leur utilisation

Interconnexion de machines dédiées

Facilité de communication entre les utilisateurs

Gain en coût des processeurs de petite puissance

Facilité d’extension du système en sauvegardant l’existant

Redondance à Tolérance aux pannes

Distribution des données à Fiabilité, Sécurité, Disponibilité

Parallélisme des exécutions à Performance 5

Page 7: Sécurité des Systèmes Répartis- Partie 1

Propriétés Souhaitées Le système doit pouvoir fonctionner (au moins de façon

dégradée) même en cas de défaillance de certains de ses éléments

Le système doit pouvoir résister à des perturbations du système de communication (perte de messages, déconnexion temporaire, performances dégradées)

Le système doit pouvoir résister à des attaques contre sa sécurité (violation de la confidentialité, de l’intégrité, usage indu de ressources, déni de service)

La Transparence! 6

Page 8: Sécurité des Systèmes Répartis- Partie 1

Transparence Transparence à la localisation

Utilisateur ignore la situation géographique des ressources

7

Page 9: Sécurité des Systèmes Répartis- Partie 1

Transparence Transparence à la localisation

Transparence d’accès Utilisateur accède à une ressource locale ou distante indifféremment

8

Page 10: Sécurité des Systèmes Répartis- Partie 1

Transparence Transparence à la localisation

Transparence d’accès

Transparence à l’hétérogénéité Interopérabilité: l’utilisateur ne se soucie pas des différences matérielles ou logicielles des ressources

9

Page 11: Sécurité des Systèmes Répartis- Partie 1

Transparence Transparence à la localisation

Transparence d’accès

Transparence à l’hétérogénéité

Transparence aux pannes Pannes et réincarnations sont cachées à l’utilisateur

10

Page 12: Sécurité des Systèmes Répartis- Partie 1

Transparence Transparence à la localisation

Transparence d’accès

Transparence à l’hétérogénéité

Transparence aux pannes

Transparence à l’extension des ressources Extension ou réduction du système sans gêne pour l’utilisateur

11

Page 13: Sécurité des Systèmes Répartis- Partie 1

Difficultés Asynchronisme du système de communication

Pas de borne supérieure stricte pour le temps de transmission d’un message Ø  Difficulté pour détecter les défaillances Ø  Difficulté de coordination

Dynamisme : La composition du système change en permanence Ø  Difficulté pour définir un état global Ø  Difficulté pour administrer le système

Grande taille : nombre de composants, utilisateurs, dispersion géographique Ø  Difficulté de supporter un système extensible (scalable)

Sécurité !

12

Page 14: Sécurité des Systèmes Répartis- Partie 1

Exemples de Systèmes Répartis

Malgré les difficultés, des systèmes répartis sont largement utilisés: DNS : Domain Name Service FTP : File Transfer Protocol Services de courrier électronique

Exemple le plus célèbre: Internet!

13

Page 15: Sécurité des Systèmes Répartis- Partie 1

MENACES ET PROPRIÉTÉS CLASSIQUES DE LA SÉCURITÉ DES SYSTÈMES RÉPARTIS

Systèmes Répartis

14

Page 16: Sécurité des Systèmes Répartis- Partie 1

Notions de Base���Politique, Propriété et Mécanisme de Sécurité

Politique de Sécurité " Ensemble de lois, règles et pratiques qui régissent la façon dont l’information sensible et les autres ressources sont gérées, protégées et distribuées à l’intérieur d’un système spécifique" [ITSEC]

Ø  Permet de déterminer les objets à sécuriser et identifier les menaces à prendre en compte

Pour construire une politique de sécurité, il faut définir un ensemble de propriétés de sécurité 15

Page 17: Sécurité des Systèmes Répartis- Partie 1

Notions de Base���Politique, Propriété et Mécanisme de Sécurité

Propriété de Sécurité Une propriété de sécurité est une condition qui doit être satisfaite par le système

Exemple : « Une information classifiée ne doit pas être transmise à un utilisateur non habilité à la connaître  » à Propriété de confidentialité

16

Page 18: Sécurité des Systèmes Répartis- Partie 1

Notions de Base���Politique, Propriété et Mécanisme de Sécurité

Mécanisme de Sécurité Moyen utilisé pour mettre en œuvre une propriété de sécurité

Exemple : Le chiffrement symétrique est un mécanisme possible pour assurer la propriété de confidentialité

17

Page 19: Sécurité des Systèmes Répartis- Partie 1

Notions de Base���Politique, Propriété et Mécanisme de Sécurité

18

Propriété de Sécurité

Propriété de Sécurité

Mécanisme1 Mécanisme3 Mécanisme2

Politique de Sécurité

Mécanisme1 Mécanisme2

Middleware

Page 20: Sécurité des Systèmes Répartis- Partie 1

Objectifs de Sécurité Informatique

Préserver la confidentialité et l’intégrité de l’information

Garantir l’origine d’une information, l’identité d’une personne ou organisation

Protéger l’accès aux services

Fournir des éléments de preuve sur les actions réalisées

19

Page 21: Sécurité des Systèmes Répartis- Partie 1

Menaces Classiques Menaces des systèmes répartis : surtout causées par

des attaques en réseau

1.  DDoS 2.  MITM

3.  IP Spoofing

4.  Packet Sniffing 5.  Replay Attack

20

Page 22: Sécurité des Systèmes Répartis- Partie 1

Distributed Denial of Service DDoS : Attaque qui rend le service indisponible pour

les utilisateurs en le submergeant de trafic inutile

Provoquée par plusieurs machines à la fois (contrairement au DoS)

Risque : Déni de Service

21

Page 23: Sécurité des Systèmes Répartis- Partie 1

Man In The Middle (MITM) L’attaquant établit des connexions indépendantes avec

les victimes et relaie les messages entre elles, en leur faisant croire qu’elles discutent entre elles

L’attaquant intercepte les messages et les réinjecte Risques :

Violation de confidentialité Violation d’intégrité Usurpation d’identité

22

Page 24: Sécurité des Systèmes Répartis- Partie 1

Usurpation d’Adresse IP IP Spoofing

L’attaquant personnifie une autre machine en envoyant des messages avec son adresse IP

Risque: Usurpation d’identité

23

IP: 10.9.9.100

IP: 10.9.9.100

Page 25: Sécurité des Systèmes Répartis- Partie 1

Reniflement de Paquets Packet Sniffing

L’attaquant intercepte et enregistre le trafic circulant sur le réseau

Risques : Violation de confidentialité Usurpation d’identité

24

Page 26: Sécurité des Systèmes Répartis- Partie 1

Attaque Par Rejeu Replay Attack Attaque MITM où l’attaquant répète ou retarde une

transmission de données valide.

Exemple : Sauvegarde un mdp et l’envoie au moment opportun.

Risques : Usurpation d’identité, Violation de confidentialité

25

Page 27: Sécurité des Systèmes Répartis- Partie 1

Propriétés de Sécurité

Pour contrer ces attaques, nous avons besoin d’assurer plusieurs propriétés de sécurité

1.  Authentification 2.  Autorisation 3.  Confidentialité 4.  Intégrité 5.  Disponibilité 6.  Imputation 7.  Non Répudiation

26

Page 28: Sécurité des Systèmes Répartis- Partie 1

Authentification Procédure permettant au système de vérifier l’identité d’une

entité Identification

Simple déclaration pour connaître l’identité d’une personne Code d’identification (identifiant, carte d’identité…) n’est pas secret

Authentification S’appuie sur un élément de preuve (secret commun) pour vérifier l’identité d’une personne Besoin de 2 éléments au moins

Un identifiant pour permettre l’identification de l’entité Un facteur d’authentification : élément que l’on sait (code secret), que l’on possède (support physique) ou que l’on est (biométrie).

Multiplication des facteurs d’authentification augmente le niveau de sécurité

27

Page 29: Sécurité des Systèmes Répartis- Partie 1

Autorisation

Associer à une entité un ensemble de droits sur une ressource

Vérifier que l’envoyeur d’une requête est autorisé à l’émettre, et donc que le système est autorisé à la satisfaire

28

Page 30: Sécurité des Systèmes Répartis- Partie 1

Confidentialité

Protéger une information dont l’accès est limité aux seules entités admises à la connaître

Définition de plusieurs degrés de confidentialité, selon la criticité de l’information

29

Page 31: Sécurité des Systèmes Répartis- Partie 1

Intégrité Vérifier que l’altération d’une information ne se fait

que dans le cadre volontaire et légitime Deux types d’intégrité:

Intégrité des informations : propriété de ne pas être altérée ou détruite de manière non autorisée, volontairement ou accidentellement Intégrité des systèmes ou processus : propriété de réaliser la fonction désirée de façon complète et selon les attentes, sans être altérée par une intervention non autorisée, volontaire ou accidentelle.

30

Page 32: Sécurité des Systèmes Répartis- Partie 1

Disponibilité

Garantir l’aptitude du système à remplir une fonction dans les conditions définies d’horaires, délai et performances

31

Page 33: Sécurité des Systèmes Répartis- Partie 1

Imputation

Garantir que les actions d’une entité sont tracées et attribuées à cette seule entité

Assure deux propriétés intrinsèques: Identification : Pouvoir identifier, pour toutes les actions accomplies, les personnes, systèmes ou processus qui les ont initiées Traçabilité : Garder une trace de l’acheminement des données et des actions

32

Page 34: Sécurité des Systèmes Répartis- Partie 1

Non Répudiation

Assurer que l’information ne pourra pas être plausiblement désavouée

Un expéditeur ne pourra ainsi pas plus nier avoir reçu un message, qu’un destinataire l’avoir reçu. Un contrat est un contrat!

33

Page 35: Sécurité des Systèmes Répartis- Partie 1

MÉCANISMES CLASSIQUES DE LA SÉCURITÉ DES SYSTÈMES RÉPARTIS

Systèmes Répartis

34

Page 36: Sécurité des Systèmes Répartis- Partie 1

Mécanismes de Sécurité

Plusieurs types de mécanismes de sécurité classiques pour les systèmes répartis, selon la propriété à satisfaire :

1.  Contrôle d’accès 2.  Primitives Cryptographiques 3.  Délégation

35

Page 37: Sécurité des Systèmes Répartis- Partie 1

Contrôle d’Accès

Permet de protéger les ressources physiques em vérifiant si une entité qui demande accès à une ressource a les droits nécessaires pour le faire

À la fois un mécanisme d’authentification et d’autorisation

36

Page 38: Sécurité des Systèmes Répartis- Partie 1

Contrôle d’Accès RBAC : Role-Based Access Control

Définir les autorisations et les permissions selon le rôle Un utilisateur peut avoir plusieurs rôles, et cumuler ainsi les capacités (capabilities)

Définition du concept de matrice de contrôle d’accès Colonnes : Sujets (entités actives) ou Rôles Lignes : Objets (ressources) Cellule : Actions que le sujet est autorisé à réaliser sur l’objet

Chaque ligne de la matrice représente une ACL (Access Control List) et chaque colonne une capability (capacité)

37

Page 39: Sécurité des Systèmes Répartis- Partie 1

Contrôle d’Accès

Pages Admin

Paiement Public Utilisation compte

Admin Compte

Admin X

Propriétaire X X X

Invité X

Utilisateur X X

Payeur X X X X

38 ACL

Capability

Exemple de Matrice de Contrôle d’Accès

Page 40: Sécurité des Systèmes Répartis- Partie 1

Mécanismes d’Authentification Plusieurs facteurs d’authentification possibles

Identifiant et mot de passe : le plus célèbre Identifiant et mot de passe OTP (One Time Password) Certificats PKI (Public Key Infrastructure) Clefs Confidential Defense

Clef multifonction regroupant un certificat, des données, ressources crypto…

Carte à puce Contient un identifiant et un mot de passe, en général très complexe

Biométrie Vérification d’un élément du corps de l’utilisateur (gen. Empreinte)

Identification sans contact Lecture d’une puce RFID active (alimentée) ou passive (sans alimentation propre), seulement pour identification.

39

Page 41: Sécurité des Systèmes Répartis- Partie 1

Primitives Cryptographiques Sécuriser les données au niveau applicatif, pendant

leur transport

Permet d’assurer : Confidentialité : Données secrètes invisibles par l’attaquant Intégrité : Données non modifiées par des entités tierces Authentification et Non Répudiation : Vérifier que les données proviennent bien de l’entité qui prétend l’avoir envoyé

40

Page 42: Sécurité des Systèmes Répartis- Partie 1

Fonction de Hachage Fonction qui assure l’intégrité d’un message Génère un bloc de bits (de plusieurs centaines de

longueur) à partir d’un message è  Empreinte numérique ou message digest

Fonction à sens unique (one-way function) Si le message est modifié, même légèrement, un

changement significatif est opéré dans l’empreinte (à hauteur de 50% de changement pour un bit modifié)

Plusieurs algorithmes existants, par exemple: MD5 (message digest 5), standard, empreinte de 128 bits SHA-1 (Secure Hash Algorithm-1), conçu par NSA, 160 bits

41

Page 43: Sécurité des Systèmes Répartis- Partie 1

Chiffrement Numérique

Assure la confidentialité d’un message

Principalement 3 types de chiffrement: 1.  Chiffrement Symétrique 2.  Chiffrement Asymétrique 3.  Chiffrement à Clef de Session

42

Page 44: Sécurité des Systèmes Répartis- Partie 1

Chiffrement Symétrique (1/3) Chiffrement Symétrique ou à clef privée : 1.  Alice et Bob disposent d’une même clef secrète qu’ils

sont les seuls à connaître 2.  Ils se mettent d’accord pour utiliser un algo de crypto.

Commun (cipher) 3.  Pour envoyer un message secret à Bob, Alice le chiffre

(génère ainsi un cryptogramme) et l’envoie 4.  Bob déchiffre le message avec sa clef

43

Page 45: Sécurité des Systèmes Répartis- Partie 1

Chiffrement Symétrique (2/3) Il est possible de chiffrer les messages

bit par bit, (surtout utilisé dans les implémentations matérielles) ou bloc par bloc (bloc = 64 bits)

Dans le chiffrement bloc/bloc, si le message n’est pas multiple de 64, le dernier bloc est rempli de valeurs aléatoires jusqu’à atteindre 64 bits Concept de padding

44

Page 46: Sécurité des Systèmes Répartis- Partie 1

Chiffrement Symétrique (3/3)

Plusieurs algorithmes de chiffrement symétrique, dont : •  DES (Data Encryption Standard) •  TripleDES : application de l’algorithme DES 3 fois, avec

deux clefs différentes •  AES (Advanced Encryption Standard): remplace DES

Difficulté de ce type de chiffrement: Comment échanger la clef privée entre les deux sujets sans risque?

45

Page 47: Sécurité des Systèmes Répartis- Partie 1

Chiffrement Asymétrique (1/3) Appelé aussi Chiffrement à clef publique 1.  Chacune des parties dispose d’un couple de clefs: une clef

publique (visible par tout le monde) et une clef privée 2.  Pour envoyer un message à Bob, Alice le chiffre avec la clef

publique de Bob 3.  Bob reçoit le message, et le déchiffre avec sa clef secrète, la

seule qui puisse décoder un cryptogramme de la clef publique de Bob

46

B!B!

A A B! B! B! A

Page 48: Sécurité des Systèmes Répartis- Partie 1

Chiffrement Asymétrique (2/3)

Les clefs publiques et secrètes sont générées par paire, et sont plus grandes que les clefs de chiffrement symétriques équivalentes

Il est impossible de déduire une clef à partir d’une autre

47

Page 49: Sécurité des Systèmes Répartis- Partie 1

Chiffrement Asymétrique (3/3) Algorithmes de chiffrement asymétrique les plus

utilisés : •  RSA (Rivest Shamir Adleman): le plus populaire •  Diffie-Hellman : algorithme à key-agreement. Il n’est

pas utilisé pour le chiffrement, mais pour déduire une clef secrète, en partageant des informations sur un canal public

Inconvénient : Chiffrement très lent (100 à 1000 fois plus lent que le chiffrement symétrique!)

48

Page 50: Sécurité des Systèmes Répartis- Partie 1

Chiffrement à Clef de Session Technique hybride 1.  Alice génère une clef secrète, appelée clef de session 2.  Alice chiffre cette clef de session avec la clef publique de

Bob, et la lui envoie 3.  Bob déchiffre la clef de session avec sa clef privée. 4.  Désormais, Alice et Bob partagent une clef secrète, qu’ils

peuvent utiliser pour le chiffrement symétrique

49

B!

B! B! B!

B!

S

S!

S!

S! S!

S!S

Page 51: Sécurité des Systèmes Répartis- Partie 1

Signature Numérique (1/2) Problème du chiffrement et du hachage

Comment vérifier l’authenticité de l’expéditeur d’un message?

Assure principalement la propriété d’intégrité, couplée avec celle d’authentification et de non répudiation

Appelée aussi Signature Digitale Utilise le processus inverse au chiffrement

asymétrique 50

Page 52: Sécurité des Systèmes Répartis- Partie 1

A!

Signature Numérique (2/2) 1.  Alice utilise sa clef privée pour chiffrer l’empreinte

numérique (hash) 2.  Elle envoie le message en clair et le cryptogramme à Bob 3.  Bob utilise la clef publique de Alice pour déchiffrer le

cryptogramme 4.  Bob compare le hash du message obtenu à celui du

message en clair envoyé par Alice.

51

A!

A A A

H!

H!

H!H!

H!H!

H!

Page 53: Sécurité des Systèmes Répartis- Partie 1

Certificat Digital (1/2)

Problème du Chiffrement à clef publique (et session) Comment s’assurer que la clef publique utilisée est bien celle de celui qu’il prétend être?

Solution : empaqueter une identité avec la clef publique, signée par une partie de confiance : autorité de certification (CA pour Certificate Authority)

52

Page 54: Sécurité des Systèmes Répartis- Partie 1

Certificat Digital (2/2) CA : organisme qui vérifie l’identité (dans le sens identité

physique réelle) d’une partie Le CA signe la clef publique et l’identité de cette partie

avec sa clef privée Le destinataire du message peut obtenir le certificat

digital de l’expéditeur et le déchiffrer avec la clef publique de la CA

On est sûr que le certificat est valide et que la clef publique qui y est incluse est bien celle de la partie qui prétend la posséder

53

Page 55: Sécurité des Systèmes Répartis- Partie 1

Délégation (1/4) Permet à un sujet de déléguer ses permissions et

droits à un autre sujet

Quand une entité est approuvée pour la délégation, elle peut représenter l’autre entité et faire appel à des services pour son compte

Utile si on veut : •  Optimiser le nombre d’entités stockées •  Éviter d’avoir un recours systématique à l’autorité de

certification 54

Page 56: Sécurité des Systèmes Répartis- Partie 1

Délégation (2/4) Deux types de délégation :

•  Au niveau de l’authentification : Définie si un mécanisme d’authentification fournit une identité différente de l’identité valide de l’utilisateur, à condition que le propriétaire de l’identité effective a déjà autorisé l’autre utilisateur à utiliser sa propre identité

•  Au niveau du contrôle d’accès : Réalisée quand un utilisateur délègue certaines de ses permissions à un autre pour accéder à une ressource

55

Page 57: Sécurité des Systèmes Répartis- Partie 1

Délégation (3/4) Implémentation de [Welsh03] •  Délégation = autorisation donnée à un utilisateur

d’affecter dynamiquement une identité X509 à une entité et lui déléguer ainsi quelques un de ses droits

•  Les utilisateurs créent un certificat de type proxy en délivrant un certificat X509 signé par ses propres créances au lieu d’avoir affaire à une autorité de certification

•  Construction de domaines de confiance : •  Deux entités utilisant des certificats proxy délivrés par la

même entité se font ainsi confiance

56

Page 58: Sécurité des Systèmes Répartis- Partie 1

Délégation (4/4) Implémentation de [Nikander99]

•  Délégation = attribuer à quelqu’un le pouvoir d’agir en tant que représentant

•  Possibilité de changement de la matrice de contrôle d’accès •  Certificat SPKI (Simple Public Key Infrastructure): C = (I,S,D,A,V)

•  I : Émetteur à Qui a créé et signé e certificat (représenté par sa clef publique)

•  S : Sujet à Partie pour qui le certificat est délivré •  A : Autorité à Contenu sémantique spécifique à l’application représentant

l’autorité •  D : Délégué? à Est-ce que cette autorité peut être déléguée à quelqu’un

d’autre? •  V : Validité à Période de validité du certificat

57 Partie II : Non-Interférence

Page 59: Sécurité des Systèmes Répartis- Partie 1

Sources Thèse L. Sfaxi : « Construction de systèmes répartis sécurisés à base de

composants », LIP2/Verimag, Mai 2012 Cours M. Boulaares, N. Ben Yahia : « Systèmes Répartis », ISI Kef. S. Krakowiak : «  Systèmes et Applications Réparties  », École Polytechnique,

Grenoble Liens «  La Sécurité des données à caractère personnel  », http://goo.gl/x8eaPz,

accédé le 5 juin 2014 Livre Blanc Stéphane Vinsot, «  Les 7 méthodes d’authentification les plus utilisées  »,

EVIDIAN

58