Académique Documents
Professionnel Documents
Culture Documents
1. Diapo 1 - Généralités 2
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)
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
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.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)
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.
9
2.5. PKI : Public Key Infrastructure
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
11
2.6.3. SSH
SSH -> Port 22
Protocole de communication
Connexion au serveur de façon sécurisé
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
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
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
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)
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!
18