Cours 5 Scurit dans le Web Nguyen Tuan
Cours 5 : Sécurité dans le Web Nguyen Tuan Loc
Sécurité des réseaux (Web) Objectifs Ø Comprendre les principes de la sécurité des réseaux l l Cryptographie et ses nombreux usages en dehors de la confidentialité Authentification Intégrité des messages Distribution des clés Ø sécurité en pratique l l firewalls sécurité dans les couches • • Application Transport Réseau Liaison
Plan 1 Qu'est-ce que la sécurité ? 2 Principes de cryptographie 3 Authentification 4 Intégrité 5 Distribution de clés et certification 6 Contrôle d'accès : firewalls 7 Attaques and parades 8 Sécurité dans plusieurs couches
Types d'attaques courantes Attaques d'entreprise Pirates Attaques automatisées Données confidentielles Violations accidentelles de la sécurité Virus, chevaux de Troie et vers Do. S Échec de la connexion Déni de service (Do. S) Securité vs Proctection
Qu'est-ce que la sécurité des réseaux ? Confidentialité : seuls l'émetteur et le récepteur visé doivent pouvoir comprendre le contenu du message l L'émetteur chiffre le message l Le récepteur déchiffre message Authentification : l'émetteur et le récepteur veulent confirmer l'identité de leur correspondant Intégrité du message : l'émetteur et le récepteur veulent s'assurer que le message n'a pas été altéré (durant le transit, ou après) sans que cela n'ait été détecté Accès et disponibilité : les services doivent être accessibles et disponibles pour les utilisateurs
Amis et ennemis : Alice, Bob, Trudy Bien connus dans le monde de la sécurité ! Ø Bob, Alice (amoureux !) veulent communiquer "de manière sûre" Ø Trudy (intrus) peut intercepter, effacer et ajouter des messages Ø Alice data channel secure sender Bob data, control messages secure receiver Trudy data
Qui pourraient être Bob et Alice? Ø … des êtres humains ! Ø Des serveurs ou browsers Web pour des transactions électroniques (ex : achats en ligne) Ø Client/serveur de banque en ligne Ø Serveurs DNS Ø Routeurs échangeant des mises à jour de tables de routage Ø. . .
Il y a des méchants ! Q : Que peut faire un "méchant" ? R : Beaucoup de choses! l Écoute (eavesdrop) : interception de messages l Insertion active de messages dans la connection l Imitation : falsification (spoof) de l'adresse source dans le paquet (ou tout autre champ du paquet) l Détournement : “prise de contrôle” de la connexion en cours en écartant l'émetteur ou le récepteur et en prenant sa place l Déni de service : empêcher le service d'être utilisé par les autres (ex : en surchargeant les ressources)
Plan 1 Qu'est-ce que la sécurité ? 2 Principes de cryptographie 3 Authentification 4 Intégrité 5 Distribution de clés et certification 6 contrôle d'accès : firewalls 7 Attaques and parades 8 Sécurité dans plusieurs couches
Vocabulaire de cryptographie Alice’s K encryption A key plaintext encryption algorithm Bob’s K decryption B key ciphertext decryption plaintext algorithm Cryptographie à clé symétrique : clés identiques pour l'émetteur et le récepteur Cryptographie à clé publique : clé de chiffrement publique, clé de déchiffrement secrète (privée)
Cryptographie à clé symétrique KA-B plaintext message, m encryption ciphertext algorithm K (m) A-B decryption plaintext algorithm m=K A-B Cryptographie à clé symétrique : Bob et Alice partagent une même clé (connue) : K A-B ( KA-B(m) ) Ex : la clé consiste à connaître le mode de substitution dans un chiffrement par subtitution monoalphabétique Ø Q: Comment Bob et Alice se mettent-ils d'accord sur la valeur de la clé ? Ø
Cryptographie à clé symétrique : DES: Data Encryption Standard Ø Ø Standard de chiffrement américain [NIST 1993] Clé symétrique sur 56 bits, input plaintext 64 bits À quel point le DES est-il sûr ? l Challenge du DES : phrase (“Strong cryptography makes the world a safer place”) chiffrée avec une clé de 56 bits déchiffrée en 4 mois (de manière brutale) l Pas d'approche de déchiffrage "backdoor" connue Rendre le DES plus sûr : l Utilier 3 clés successivement (3 -DES) sur chaque donnée l Utiliser le chaînage par bloc
Crypto à clé symétrique : DES Algo du DES Permutation initiale 16 boucles identiques de la fonction application, utilisant chacune 48 bits différents de la clé Permutation finale
AES : Advanced Encryption Standard Ø Standard NIST à clé symétrique récent (Nov. 2001), remplaçant le DES Ø Traite les données par blocs de 128 bits Ø Clés de 128, 192, ou 256 bits Ø Le déchiffrement brutal (essai de toutes les clés) prenant 1 sec avec le DES prend 149 trillions d'annés pour AES
Cryptographie à clé publique Crypto à clé symétrique Ø Nécessite le partage d'une clé entre l'émetteur et le récepteur Ø Q: comment se mettre d'accord sur la clé au départ (surtout s'ils ne se sont jamais rencontrés) ? Crypto à clé publique Ø Approche radicalement différente [Diffie-Hellman 76, RSA 78] Ø L'émetteur et le récepteur ne partagent pas de clé secrète Ø clé de chiffrement publique connue de tous Ø la clé de déchiffrement privée n'est connue que du récepteur
Cryptographie à clé publique + Bob’s public B key K K plaintext message, m encryption ciphertext algorithm + K (m) B - Bob’s private B key decryption plaintext algorithm message + m = K B(K (m)) B
Algorithmes de chiffrement par clé publique Besoins : 1 + - ( ) telles. . Besoin de K ( ) et de K B B que - + B B K (K (m)) = m 2 À partir de la clé + publique BK , il devrait être impossible de calculer la clé privée K B RSA : algorithme de Rivest, Shamir, Adelson
RSA : autre propriété importante La propriété suivante sera très utile plus tard: - + B B K (K (m)) + = m = K (K (m)) B B Utiliser la clé publique, PUIS la clé privée Utiliser la clé privée, PUIS la clé publique Le résultat est le même !
Plan 1 Qu'est-ce que la sécurité ? 2 Principes de cryptographie 3 Authentification 4 Intégrité 5 Distribution de clés et certification 6 contrôle d'accès : firewalls 7 Attaques and parades 8 Sécurité dans plusieurs couches
Autorisation Stratégie Principal Requête Moniteur de référence Qui Quoi Gardien Ressources La stratégie : Qui peut faire quoi à quoi Quoi
Authentification Principal ? Requête ? Stratégie Moniteur de référence Ressources ? La stratégie : Qui peut faire quoi à quoi ?
Authentification But : Bob veut qu'Alice lui “prouve” son identité Protocole ap 1. 0: Alice dit “Je suis Alice” Scénario d'échec ?
Authentification But : Bob veut qu'Alice lui “prouve” son identité Protocole ap 1. 0: Alice dit “Je suis Alice” Dans un réseau, Bob ne peut pas "voir” Alice, alors Trudy dit “Je suis Alice” simplement qu'elle est Alice
Authentification : autre tentative Protocole ap 2. 0 : Alice dit “Je suis Alice” dans un paquet IP contenant son adresse IP source Alice’s “Je suis Alice” IP address Scénario d'échec ?
Authentification : autre tentative Protocole ap 2. 0 : Alice dit “Je suis Alice” dans un paquet IP contenant son adresse IP source Alice’s “Je suis Alice” IP address Trudy peut créer un paquet en usurpant (“spoofing”) l'adresse d'Alice
Authentification : autre tentative Protocole ap 3. 0 : Alice dit “Je suis Alice” et envoie son mot de passe secret pour le prouver. Alice’s “Je suis Alice” IP addr password Alice’s IP addr OK Scénario d'échec ?
Authentification: autre tentative Protocole ap 3. 0 : Alice dit “Je suis Alice” et envoie son mot de passe secret pour le prouver. Alice’s “Je suis Alice” IP addr password Alice’s IP addr OK Attaque par rejeu : Trudy enregistre le paquet d'Alice et le renvoie plus tard à Bob Alice’s “Je suis Alice” IP addr password
Authentification : encore un autre essai Protocole ap 3. 1 : Alice dit “Je suis Alice” et envoie son mot de passe secret chiffré pour le prouver. Alice’s encrypted "Je suis Alice” IP addr password Alice’s IP addr OK Scénario d'échec ?
Authentification : encore un autre essai Protocole ap 3. 1 : Alice dit “Je suis Alice” et envoie son mot de passe secret chiffré pour le prouver. Alice’s encryppted “Je suis Alice” IP addr password Alice’s IP addr OK L'enregistrement et le rejeu fonctionnent encore ! Alice’s encrypted “Je suis Alice” IP addr password
Authentification : encore un autre essai But : éviter l'attaque du rejeu Nonce: nombre (R) utilisé seulement-une-fois ap 4. 0: pour prouver qu'Alice est “en live”, Bob envoie à Alice nonce, R. Alice doit renvoyer R, chiffré avec la clé secrète “Je suis Alice” R KA-B(R) Échecs, inconvénients ? Alice est en live, et seule Alice connaît la clé pour chiffer nonce, donc ça doit être Alice!
Authentification : ap 5. 0 ap 4. 0 nécessite le partage d'une clé symétrique Ø Peut-on authentifier en utilisant des techniques de clé publique ? ap 5. 0: utiliser nonce, crypto à clé publique “Je suis Alice” R Bob calcule + - - K A (R) “envoie-moi ta clé publique” + KA KA(KA (R)) = R Et sait que seule Alice peut avoir la clé qui a chiffré R telle que + K (K (R)) = R A A
ap 5. 0 : trou de sécurité I am Alice R K (R) T K (R) A Send me your public key + K personne. Aau + K T Attaque d'une personne au milieu : Trudy +se fait K (m) T Trudy gets passer pour Alice (vis-à-vis- de+ Bob) et pour Bob (vis m = K (K (m)) -à-vis d'Alice)+ T T K (m) - + m = K (K (m)) A A A sends m to Alice encrypted with Alice’s public key
ap 5. 0 : trou de sécurité Attaque d'une personne au milieu : Trudy se fait passer pour Alice (vis-à-vis de Bob) et pour Bob (vis -à-vis d'Alice) Difficile à détecter : q Bob reçoit tout ce qu'Alice envoie et vice versa. qle problème est que Trudy reçoit également tous les messages !
Plan 1 Qu'est-ce que la sécurité ? 2 Principes de cryptographie 3 Authentification 4 Intégrité 5 Distribution de clés et certification 6 contrôle d'accès : firewalls 7 Attaques and parades 8 Sécurité dans plusieurs couches
Signatures numériques Technique cryptographique analogue aux signatures manuscrites. L'émetteur (Bob) signe le document de manière numérique et établit qu'il est le créateur/propriétaire du document. Ø Vérifiable, non falsifiable: le récepteur (Alice) peut prouver à quelqu'un que Bob et personne d'autre (y compris Alice) a signé ce document Ø
Signatures numériques Signature numérique simple pour le message m : Ø Bob signe m en chiffrant avec sa clé privée KB, créant le message "signé" KB(m) Bob’s message, m Dear Alice Oh, how I have missed you. I think of you all the time! …(blah) Bob - Bob’s private KB key Public key encryption algorithm - K B(m) Bob’s message, m, signed (encrypted) with his private key
Signatures numériques (suite) Ø Supposons qu'Alice reçoit le msg m et la signature numérique KB(m) Ø Alice vérifie que m-a été signé par Bob+ en-appliquant la + clé publique de Bob KB à KB(m) et vérifie que KB(KB(m) ) + = m. Ø Si KB(KB(m) ) = m, la personne qui a signé m a forcément utilisé la clé privée de Bob. Alice vérifie ainsi que : ü Bob a signé m. ü Personne d'autre n'a signé m. ü Bob a signé m et pas m’. Non-répudiation: ü Alice peut emporter m et la signature KB(m) à un procès et prouver que Bob a signé m. -
Messages condensés (message digests) large message m H: Hash Function Le chiffrement par clé publique de longs messages est très H(m) onéreux "computationnellement" Propriétés de la fonction de hachage: many-to-1 Ø Produit des messages condensés de But : "empreinte digitale" de longueur fixe et facile à calculer taille fixe ("empreinte digitale") Ø Étant donné un message condensé x, Ø Appliquer une fonction de il est computationnellement hachage H à m, recevoir un impossible de trouver m tel que x = message condensé de H(m) Ø longueur fixe, H(m).
Signature numérique = message digest signé Bob envoie un message signé numériquement : large message m H: Hash function Bob’s private key + - KB Alice vérifie la signature et l'intégrité du message signé sumériquement : encrypted msg digest H(m) digital signature (encrypt) encrypted msg digest KB(H(m)) large message m H: Hash function KB(H(m)) Bob’s public key + KB digital signature (decrypt) H(m) equal ?
Plan 1 Qu'est-ce que la sécurité ? 2 Principes de cryptographie 3 Authentification 4 Intégrité 5 Distribution de clés et certification 6 contrôle d'accès : firewalls 7 Attaques and parades 8 Sécurité dans plusieurs couches
Intermédiaires de confiance Problème des clés symétriques Ø Comment 2 entités établissent-elles une clé secrète partagée à travers un réseau ? Solution : Ø Problème des clés publiques : Ø Quand Alice obtient la clé publique de Bob (à partir d'un site Web, d'un e-mail, d'une disquette), comment sait-elle que c'est la clé publique de Bob, et pas celle de Trudy ? Centre de distribution de clé de confiance (KDC) agissant comme un intermédiaire Solution : entre les entités Ø Autorité de certification de confiance (CA)
Key Distribution Center (KDC) Alice et Bob doivent partager une clé symétrique. KDC KP-KDC Ø KDC : le serveur partage une clé secrète avec KA-KDCdifférente KX-KDC chaque utilisateur enregistré ( nombreux utilisateurs ) KB-KDC KP-KDC KY-KDC Ø Alice et Bob possèdent leur propre clé symétrique KA-KDC KZ-KDC KB-KDC , pour communiquer avec le KDC. Ø KA-KDC KB-KDC Pay. Pal ?
Key Distribution Center (KDC) Q : Comment le KDC permet-il à Bob et Alice de déterminer une clé secrète symétrique partagée pour communiquer l'un avec l'autre ? KDC generates R 1 KA-KDC(A, B) Alice knows R 1 KA-KDC(R 1, KB-KDC(A, R 1) ) KB-KDC(A, R 1) Bob knows to use R 1 to communicate with Alice et Bob communiquent : utilisation de R 1 comme clé de session pour le chiffrement symétrique partagé
Autorités de certification Certification authority (CA) : relie une clé publique à une entité particulière E. Ø E (personne, routeur) enregistre sa clé publique auprès du CA. l E fournit une “preuve d'identité” au CA l Le CA crée un lien certifié entre e et sa clé publique l Le certificat contenant la clé publique de E est signé numériquement par le CA – le CA dit “ceci est la clé publique de E” Ø Bob’s public key Bob’s identifying information + KB digital signature (encrypt) CA private key K- CA + KB certificate for Bob’s public key, signed by CA
Autorités de certification Ø Quand Alice veut la clé publique de Bob : l Elle obtient le certificat de Bob (par Bob ou autre). l Elle applique la clé publique du CA au certificat de Bob et obtient la clé publique de Bob. + KB digital signature (decrypt) CA public key + K CA Bob’s public + key KB
Un certificat contient : Un numéro de série (unique pour chaque émetteur) Ø info sur le propriétaire du certificat, y compris l'algorithme et la valeur de la clé elle-même Ø info sur l'émetteur du certificat Ø Dates de validité Ø Signature numérique de l'émetteur Ø
Plan 1 Qu'est-ce que la sécurité ? 2 Principes de cryptographie 3 Authentification 4 Intégrité 5 Distribution de clés et certification 6 contrôle d'accès : firewalls 7 Attaques and parades 8 Sécurité dans plusieurs couches
Firewalls firewall Isole le réseau interne d'une organisation de l'Internet, en permettant à certains paquets de passer et en en bloquant d'autres. Internet public réseau administré firewall
Firewalls : pourquoi ? Évite les attaques par déni de service : l SYN flooding : l'attaquant établit de nombreuses connexions TCP "bidon", plus de ressources pour les vraies connexions. Évite la modification / l'accès illégal aux données internes. l Ex : l'attaquant remplace la page du CIA par autre chose Autorise uniquement les accès autorisés à l'intérieur du réseau (ensembles d'utilisateurs / hôtes authentifiés) 2 types de firewalls : l Niveau applicatif l Filtrage de paquets
Gateway aplicative Filtre les paquets en fonction des données applicatives aussi bien qu'en fonction des champs IP/TCP/UDP. Ø Exemple : permettre à des utilisateurs internes autorisés d'effectuer un telnet à l'extérieur. Ø host-to-gateway telnet session application gateway-to-remote host telnet session router and filter 1. Nécessite que tous les utilisateurs de telnet passent par la gateway. 2. Pour des utilisateurs autorisés, la gateway établit une connexion telnet à l'hôte de destination. La gateway fait transiter les données entre les 2 connexions. 3. Le filtre du routeur bloque toutes les connexions telnet ne provenant pas de la gateway.
Limites des firewalls et des gateways IP spoofing : le routeur ne peut pas savoir si les données proviennent vraiment d'une source autorisée Ø Si plusieurs applications ont besoin d'un traitement spécial, chacune a sa propre gateway applicative. Ø Le logiciel client doit savoir comment contacter la gateway. l Ex : il doit configurer l'adresse IP du proxy dans le browser Web Ø Les filtres utilisent souvent une politique tout ou rien pour UDP. Ø Compromis : degré de communication avec le monde extérieur, niveau de sécurité Ø De nombreux sites hautement protégés souffrent toujours d'attaques. Ø
Plan 1 Qu'est-ce que la sécurité ? 2 Principes de cryptographie 3 Authentification 4 Intégrité 5 Distribution de clés et certification 6 contrôle d'accès : firewalls 7 Attaques and parades 8 Sécurité dans plusieurs couches
Menaces de sécurité sur Internet Mapping : l l l Avant d'attaquer : trouver quels services sont implémentés sur le réseau Utiliser ping pour déterminer quels hôtes ont des adresses sur le réseau Scan des ports : essayer d'établir des connexions TCP avec chaque port (regarder ce qui se passe)
Menaces de sécurité sur Internet Mapping : parades l l Enregistrer le trafic pénétrant dans le réseau Chercher une activité suspecte (adresses IP, ports scannés les uns après les autres)
Menaces de sécurité sur Internet Reniflement de paquets (packet sniffing) : l Médium à diffusion l Une machine proche lit tous les paquets qui passent l peut lire toutes les données en clair (par ex les mots de passe) l Ex : C sniffe les paquets de B C A src: B dest: A Parades ? payload B
Menaces de sécurité sur Internet Packet sniffing : parades l Tous les hôtes d'une organisation utilisent des logiciels vérifiant périodiquement si l'interface de l'hôte est en mode promiscuous. l Un hôte par segment du médium à diffusion (switched Ethernet at hub) C A src: B dest: A payload B
Menaces de sécurité sur Internet IP Spoofing (usurpation d'adresse IP) : l l l Peut générer des paquets IP directement à partir d'une application, en mettant n'importe quelle valeur dans le champ d'adresse IP source Le récepteur ne peut pas dire si la source est spoofée Ex : C se fait passer pour B C A src: B dest: A Parades ? payload B
Menaces de sécurité sur Internet IP Spoofing : ingress filtering l l Les routeurs ne doivent pas transmettre des paquets sortants avec des adresses source invalides (ex : adresse source du datagramme pas dans le réseau du routeur) Bien, mais ce filtrage ingress ne peut pas être effectué dans tous les réseaux C A src: B dest: A payload B
Menaces de sécurité sur Internet Déni de Service (DOS) : l Flot de paquets malicieux générés pour inonder un récepteur l DOS distribué (DDOS): plusieurs sources coordonnées pour inonder un récepteur l Ex : C et un hôte distant font une SYN-attack vers A C A SYN SYN SYN B Parade ? SYN
Menaces de sécurité sur Internet Deni de service (DOS) : parades l Filtrer le flot de paquets (ex : SYN) avant qu'ils n'atteignent l'hôte : on jette les bons comme les mauvais l Remonter à la source des flots (probablement une machine innocente, compromise) C A SYN SYN SYN B SYN
Secure sockets layer (SSL) Sécurité de niveau transport pour toute application basée sur TCP utilisant des services SSL. Ø Utilisé entre des browsers Web, des serveurs pour le commerce électronique (shttp). Ø Services de sécurité : l Authentification du serveur l Chiffrement des données l authentication du client (optionnel) Ø Ø Authentification du serveur : l Le browser SSL-capable contient les clés publiques pour les CAs de confiance. l Le browser demande le certificat du serveur, fourni par un CA de confiance. l Le browser utilise la clé publique du CA pour extraire la clé publique du serveur du certificat. l Vérifier le menu de sécurité de votre browser pour voir ses CAs de confiance.
SSL (suite) Session chiffrée avec SSL : Ø Le browser génère une clé de session symétrique, la chiffre avec la clé publique du serveur et envoie la clé chiffrée au serveur. Ø En utilisant la clé privée, le serveur décriffre la clé de session. Ø Le browser et le serveur connaissent la clé de session l Toutes les données envoyées dans la socket TCP (par le client ou par le serveur) sont chiffrées avec la clé de session. SSL : base du Transport Layer Security (TLS) de l'IETF. Ø SSL peut être utilisé pour des applications non-Web, ex : IMAP. Ø L'authentification du client peut être effectuée avec des certificats de client. Ø
Références Ø http: //www. microsoft. com/security/ security_bulletins/alerts 2. asp Ø http: //www. microsoft. com/france/ securite/default. asp Ø http: //msdn. microsoft. com/security Ø http: //www. microsoft. com/france/ technet/themes/secur/default. asp
- Slides: 63