Vous êtes sur la page 1sur 18

Révision - DS Sécurité Système

1. Diapo 1 - Généralités 2

2. Diapo 2 - Crypto et Applications 6


2.1. Cryptologie - Intro et définition 6
2.2. Méthode de chiffrement 7
2.2.1. Symétrique 7
2.2.2. Asymétrique 7
2.2.2.1. Diffie-Hellman 8
2.2.2.2. RSA 8
2.2.3. Bilan symétrique asymétrique 8
2.3. Hachage 9
2.4. Fonction de Hachage 9
2.4.1. Bilan MD5 - SHA1 9
2.5. PKI : Public Key Infrastructure 10
2.5.1. Certificats 10
2.6. Sécurité Internet 11
2.6.1. HTTPS 11
2.6.2. Secure Electronic Transaction 11
2.6.3. SSH 12

3. Diapo 3 Contrôle d’accès 12


3.0.1. Identification et Authentification 12
3.1. Autorisation 13
3.1.1. KERBEROS 14
3.2. Modèles de contrôles d’accès 14
3.3. Bilan 15

4. Diapo 4 : Authentification Web 15

Auth Web Classique 15


Basique 15
Digest 16
Token vs Session 17
Cookie (voir cours) 17
JSon Web Token : Composition d’un token 17
OAUTH 18
Open ID 18

1
1. Diapo 1 - Généralités
- Aujourd’hui majorité de robot que d’humain sur les interactions

- Changement drastiques
- Multiplication de la diversité des applications
- Facilitation d’accès aux ressources
- Multiplication des communications inter-application
- De nouveaux usages:
- Usage massif des réseaux sociaux
- La part du multimédia très impactant sur le réseau mondial
- Mobile plus utilisés que Laptop/Desktop
- Explosion des transactions M2M
- Augmentation constante des ventes sur internet /e-commerce
- Augmentation des menaces et des vulnérabilités

Etat d’urgence :
Information Warefare​ :
- se protéger contre
- démentire
- exploiter
- detruire
- corrompre

2
Enjeux de la sécurité:

Objectifs de la sécurité
- Confidentialité
- empêcher la divulgation d’information
- Intégrité
- données non modifiés, corrompu
- Disponibilité
- pouvoir accéder aux données à n’importe quel moment

Comment se protéger ?
- Identification
- Connaître l’identité d’une entité
- Authentification
- Vérifier l'authenticité de l’identité d’une entité
- Autorisation
- Accountability
- Capacité à traquer et enregistrer les activités du Systèmes d'information et de
ses utilisateurs
- Non répudiation
- mettre tout en place pour avoir des preuves en cas d’attaque (identifier
l’attaque)

Différents types d'attaques


- ARP Spoofing
- L’attaquant change les tables ARP pour détourner les messages et les
intercepter avant d'accéder à la passerelle

3
- technique utilisée en informatique pour attaquer tout réseau local utilisant le
protocole de résolution d'adresse ARP, les cas les plus répandus étant les
réseaux Ethernet et Wi-Fi. Cette technique permet à l'attaquant de détourner
des flux de communications transitant entre une machine cible et une
passerelle : routeur, box, etc. L'attaquant peut ensuite écouter, modifier ou
encore bloquer les paquets réseaux
- DNS Spoofing
- Rediriger un utilisateur vers un autre serveur (les rediriger vers des sites
pirates) en changeant les tables DNS
- L'objectif de cette attaque est de rediriger, à leur insu, des Internautes vers
des sites pirates. Pour la mener à bien, le pirate utilise des faiblesses du
protocole DNS (Domain Name System) et/ou de son implémentation au
travers des serveurs de nom de domaine. A titre de rappel, le protocole DNS
met en oeuvre les mécanismes permettant de faire la correspondance entre
une adresse IP et un nom de machine (ex.: www.truc.com). Il existe deux
principales attaques de type DNS Spoofing : le DNS ID Spoofing et le DNS
Cache Poisoning. Concrètement, le but du pirate est de faire correspondre
l'adresse IP d'une machine qu'il contrôle à un nom réel et valide d'une
machine publique.
- Cache poisoining:​ but: mettre à jour le cache d’un serveur avec des
données corrompus.
- Le pirate envoie une requête vers le serveur DNS cible demandant la résolution du
nom d'une machine du domaine fourbe.com (ex.: www.fourbe.com)
- Le serveur DNS cible relaie cette requête à ns.fourbe.com (puisque c'est lui qui a
autorité sur le domaine fourbe.com)
- Le serveur DNS du pirate (modifié pour l'occasion) enverra alors, en plus de la
réponse, des enregistrements additionnels (dans lesquels se trouvent les informations
falsifiées à savoir un nom de machine publique associé à une adresse IP du pirate)
- Les enregistrements additionnels sont alors mis dans le cache du serveur DNS cible
- Une machine faisant une requête sur le serveur DNS cible demandant la résolution
d'un des noms corrompus aura pour réponse une adresse IP autre que l'adresse IP
réelle associée à cette machine.
- ID Spoofing​ : Lors d’une requête d’un client A vers B, le client A envoie une
requête DNS afin d’atteindre B. Cette requête comporte une ID. Celui qui fait
une attaque par ID Spoofing récupère cette ID et envoie une réponse au
client A avec l’ID de la requête (pour lui dire : c’est safe, j’ai bien l’ID regarde).
Cette réponse est censé être l’adresse de B mais est un site pirate
- TCP Session Hijacking
- Voler un cookie pour se faire passer pour une machine de confiance
- TCP Flooding
- DDoS : Envoyer pleins de demandes (client vers server) mais ne jamais
accepter. Pour rappel :
- Une demande :
- Client demande au serveur
- Serveur dit OK pour moi, et pour toi ?
- Client est censé dire OK (accepter)

4
- XSS
- Non persistant​ : Injecter du code via des formulaires, etc -> via l’url (coté
client)
- Persistant​ : Injecter du code via formulaire pour voler des info (coté server)

5
2. Diapo 2 - Crypto et Applications
Cryptographie
Science permettant de créer des systèmes de chiffrement
Système de Chiffrement
Opération de chiffrement qui transforme un texte en clair en un texte chiffré, appelé
cryptogramme, au moyen d’une clé (qu’on dénomme la clé de chiffrement)
Cryptanalyse
Science complémentaire qui consiste à déterminer certaines propriétés d’un système
cryptographique dans le but de reconstituer le texte en clair, souvent en l’absence des
paramètres qui sont nécessaires pour le déchiffrement

2.1. Cryptologie - Intro et définition


Puissance d’un algorithme de chiffrement
- Dépend de:
- La méthode de chiffrement
- La taille de la clé
- Les vecteurs d’initialisation
- La faculté de tous ces éléments à travailler ensemble
- Est liée à
- À La puissance
- Aux ressources
- > Nécessaires pour casser le système de chiffrement

One-Time Pad​: la pierre philosophale -> Considéré comme incassable


- Pourquoi incassable?
- La clé (pad) ne doit être utilisée qu’une seule fois
- La clé (pad) doit être aussi longue que le message
- La clé (pad) doit être distribuée de façon sécurisée avec le destinataire
Stéganographie:
- dissimuler un message dans un autre, ex: cacher des bits dans une image
Type de chiffrement​:
- Substitution : remplacer des bits, caractères ou blocks
- Transposition: déplace les informations (caractères ou blocks)
- Chiffrement par bloc
- Le chiffrement par bloc, utilisé pour le chiffrement et le déchiffrement, divise le
message en blocs de bits puis chiffre / déchiffre ces blocs les uns après les
autres
- Mêmes blocs de messages sont chiffrés de la même façon →
Divulgation d’information perte de confidentialité
- Chiffrement séquentiel → lenteur
- Chiffrement en parallèle possible

6
- Chiffrement par flux
- Le chiffrement traite le message comme un flux et chaque bit du message
original est chiffré (fonction mathématique) -> immédiat (​ONE-TIME PAD​)
- Initialisé avec une clé courte
- Chiffrement par flux largement basé sur le décalage de registre
- Avantages
- ❑ Très rapide
- ❑ Adapté aux applications temps réelles
- Inconvénients
- ❑ Propagation d’erreurs (problème de synchronisation)
- ❑ Sécurité difficile à atteindre (pas de preuve)

2.2. Méthode de chiffrement

2.2.1. Symétrique
→ Secret partagé (clé symétrique, partagé)
- Avantages
- Plus rapide que les chiffrements asymétriques
- Difficile à casser si grande taille de clé
- Inconvénients
- Demande un mécanisme permettant de délivrer les clés
- Chaque pair d’utilisateur à besoin d’une clé unique, problème de
management des clés
- Garantit la confidentialité mais pas l’authenticité et la non répudiation
- Exemples d’algorithmes de chiffrement
- Data Encryption Standard (DES) (Data Encryption Service)
- Chiffrement symétrique par blocs
- permuter et substituer des blocs de 64 bits
- 3DES(triple DES)
- Comme DES avec plus de rondes (ronde = substitution et
permutation)
- AES (Advenced Encryption Service)
- Chiffrement symétrique par blocs
- Blowfish
- Twofish
- IDEA (Internation Data Encryption Algorithme)
- RC4,RC5,RC6
- SAFER
- Serpent

2.2.2. Asymétrique
→ utilisation de clé publique et clé privée
- Le plus utilisé
- Avantages

7
- Distribution des clés plus facile
- Meilleur passage à l’échelle
- Garantit la confidentialité mais aussi l’authenticité et la non répudiation
- Inconvénients
- Bien plus lent que le chiffrement symétrique
- Demande beaucoup de ressource (calcul mathématique complexe)

2.2.2.1. Diffie-Hellman
Chiffrement asymétrique: Diffie-Hellman
- ❑ Vulnérable à l’attaque man in the middle
- ❑ Force de l’algorithme repose sur la difficulté du problème de logarithme discret
retrouver g^a , g^b à partir de g^ab très complexe
- ❑ Nécessité de vérifier l’identité de son interlocuteur avant de prendre la clé
publique

2.2.2.2. RSA
- Rivest, Shamir, Adleman
- Sélection des paramètres:
- p et q choisis au hasard de façon à ce que p-q pas trop petit
- p et q nombres premiers forts
- p-1 possède un grand facteur premier
- p+1 possède un grand facteur premier
- Peut être utilisé pour la signature numérique
- Force de l’algorithme repose sur la difficulté à factoriser n (calculer p et q)

2.2.3. Bilan symétrique asymétrique


- Utilisation de système hybride
- Utilisation de la puissance des algorithmes asymétriques pour l’échange de clé
- Utilisation du chiffrement symetrique rapide pour chiffrer les contenus

8
2.3. Hachage
Hachage
une fonction de hachage est un algorithme permettant de modifier un texte (appelé
message) en valeur de longueur fixe (appelé hash).

Le chiffrement
En cryptographie, on encode un texte de telle sorte que seuls des personnes autorisées
puissent le déchiffrer. Ici, le processus d'encodage se nomme : "chiffrement". Le mot
cryptage n'existe pas.

2.4. Fonction de Hachage


- Fonction de hachage ou One Way Hash
- Fonction capable à partir un élément de taille variable de fournir une valeur
de taille fixe appelée empreinte ou hash.
- Utilisation de fonction à sens unique
- Fonction facile à calculer dans un sens mais très difficile à inverser
- Propriétés
- Calcul rapide
- Eviter les collisions (2 données différentes représentées par une même
empreinte)
- Possibilité d’avoir une empreinte plus grande que données initiale (protection
des mots de passe)
- Volonté qu’un seul changement de bits entraine un changement important
dans l’empreinte résultante
- Notion de salting (salage)
- Ajout d’une chaine pseudo-aléatoire au message avant le hash
- e.g. password + MD5(login) → SHA (password + MD5(login)) → évite les
attaques par table de hash.

2.4.1. Bilan MD5 - SHA1


- MD5 et SHA1 encore très utilisés
- Préférable d’utiliser SHA256
- Permettent d’assurer l’intégrité d’un document
- Utilisé pour la signature numérique conjointement avec le chiffrement asymétrique
- Utilisé pour protéger du contenu stocké
- Sous linux traditionnellement MD5
- Possible de préciser la méthode
Elle génère une empreinte de 128 bits

9
2.5. PKI : Public Key Infrastructure

Tiers de confiance -> Autorité de certification


Résultats -> Certificats

2.5.1. Certificats
Objectifs :
- Preuve d’identité
- Pas de détournement de fonction
- Garantie d’accès sur le site cible
Contenu d’un certificat :
- Numéro de série
- Identité du porteur (owner)
- Identité du certifier émetteur (issuer)
- Période de validité (début-fin)
- Classe de certificat
- Clé public du porteur (+algo utilisé, longueur des clés,...)
- Signature (+algo utilisé, longueur des clés,...), auto-signé ou non

10
2.6. Sécurité Internet

2.6.1. HTTPS
Communication sécurisé : utilisation de http over SSL/TLS→HTTPS
Port 443 sécurisé
SSL utilise le chiffrement asymétrique afin de fournir
− Chiffrement de données (via une clé de session)
− L’authentification du serveur (et celle du client optionnelle)
− L’intégrité des données
TLS -> Couche transport

2.6.2. Secure Electronic Transaction


- Objectif: Sécuriser les transactions bancaires sur un réseau
non sécurisé
- Repose essentiellement sur le chiffrement asymétrique et
la signature numérique
- Permet d’assurer l’authenticité des utilisateurs, la
confidentialité de l’information et l’intégrité du paiement

11
2.6.3. SSH
SSH -> Port 22
Protocole de communication
Connexion au serveur de façon sécurisé

3. Diapo 3 Contrôle d’accès

Comment un sujet peut-il être authentifié?


❑ 3 facteurs:
- ❑ Quelque chose que le sujet connaît
- ❑ Quelque chose que le sujet possède
- ❑ Quelque chose qui définit le sujet (ce qu’il est)

3.0.1. Identification et Authentification


Management des identités
❑ Plusieurs outils spécialisés existent

12
❑ Types de technologies utilisées
- ❑ Annuaires
- ❑ Le management des accès web
- ❑ Les mots de passe
- Sécurisé les mots de passe
- Complexité ( exemple : au moins 1 majuscule, 1 caractère spécial,
taille min 8)
- Stockage: chiffrement ou Hash (MD4,MD5)
- Nombre de tentatives limité
- Durée de vie
- Autres types de mots de passe
- Mot de passe cognitif (série de questions)
- Mot de passe à usage unique
- Token synchrones
- Token asynchrones (challenge/response)
- ❑ Identification unique (Legacy single sign-on)
- ❑ Management des comptes / mise à jour des profiles

3.1. Autorisation
Concepts Clés
- Role : Utilisation de rôles pour déterminer le niveau d’autorisation. Le rôle est basé
sur la fonction (job) du sujet dans l’organisation
- Groupe: Rassembler les sujets possédant les mêmes types d’accès à un objet au
sein d’un groupe, facilite le management de l’autorisation
- Paramètres de restriction

13
3.1.1. KERBEROS
Protocole d’authentification délivrant des autorisations par
le biais de « tickets ».

Faiblesse
- Point unique de défaillance (serveur central doit être
constamment disponible)
- Basé sur horodatage, toutes les horloges doivent être
synchronisées (NTP)
- Protocol d’administration non standard
- Si le KDC (fournit les autorisations) est compromis → tout est compromis
- Le trafic n’est pas protégé par KERBEROS
SESAME basé sur KERBEROS

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


Framework définissant comment les sujets ont accès aux objets (Objet = ressources / Sujet
= utilisateurs et tout).
- DAC - Discretionary Access Control
- Les droits sont organisés en matrice (comme quand tu fais ls -l fdp : rwx)

14
- La définition des droits est laissée à la discrétion des propriétaires des objets.
- MAC- Mandatory Access Control
- Chaque sujet reçoit une habilitation (ou accréditation)
- Chaque objet reçoit une classification
- RBAC- Role Based Acces Control
- utilise un système de contrôle centralisé déterminant le type d’accès d’un
sujet à un objet en fonction de son rôle (job, fonction)
- Definition de role, on donne des droits a des roles etc

3.3. Bilan

4. Diapo 4 : Authentification Web

Auth Web Classique

Basique
Base 64 login:password (dans le header du paquet http)

Avantages :

15
- Authentification envoyée à chaque requête
- Simple à mettre en place (coté serveur et client)

Inconvénients :
- Authentification envoyée à chaque requête risque d’interception élevée
- Pas de chiffrement des données
- Pas de possibilité de log out
- Expiration d’authentification complexe (demande de changement de pwd ?)

Digest

Avantages :
- Challenge (le password ne passe jamais seul en clair)
- Password Hashé et Salé
- Evite les attaques par replay

Inconvénients :
- Beaucoup d’éléments optionnels
- Pas de chiffrement des données
- Man in the middle possible pour le Digest access
- Pas de possibilité de stocker les passwords coté serveur Hashé et salé
(besoin de retrouver login et pwd)

16
Token vs Session

Session : serveur qui génère un ID stocké sur le serveur


Avantages :
- Conservation d’une trace d’activité de l’utilisateur
- Login/logout plus facile
Inconvénients :
- Incompatible Full REST (stateless)
- Stockage d’info coté serveur, difficulté de passage à l’échelle
- Usage d’application Cloud, les coûts associés peuvent être
importants (mobilisation de plus de serveurs)

Token : token signé par le serveur créer à partir des infos du client (non réutilisable
par un tier)
Avantages :
- Stateless compatible avec les API FullRest
- Vérifier uniquement la signature des tokens, évite de stocker
des infos dans le serveur
- Possibilité de passer le token à d’autres applications
- Association d’un TTL au token possible
Inconvénients :
- Pas de maintien de session utilisateur
- Difficulté des logout (plutôt usage de TTL sur le token)

Cookie (voir cours)

JSon Web Token : Composition d’un token

17
OAUTH
OAuth n'est pas un protocole d'authentification, mais de « délégation d'autorisation ».

OAuth permet aux utilisateurs de donner, au site ou logiciel « consommateur », l'accès à des
informations personnelles provenant du site « fournisseur » de service ou de données, ceci
tout en protégeant le pseudonyme et le mot de passe des utilisateurs.

4 Types d’autorisation :
- Authorization code
- Implicit
- Resource owner credential
- Client credential

Open ID
Protocole de vérification d’identité :
- Protocole HTTP
- Possibilité de réaliser une Single Sign-On (SSO) → réutiliser une identité provenant
d’un fournisseur OpenID
- Uniquement le fournisseur OpenID gère les mots de passe des utilisateurs
Beaucoup utilisé :
- Google, Facebook, Stack Exchange, Yahoo!

OpenID est un système d’authentification décentralisé qui permet l’authentification unique,


ainsi que le partage d’attributs. Il permet à un utilisateur de s’authentifier auprès de plusieurs
sites (devant prendre en charge cette technologie) sans avoir à retenir un identifiant pour
chacun d’eux mais en utilisant à chaque fois un unique identifiant OpenID.

18

Vous aimerez peut-être aussi