Exemples de bonnes et mauvaises pratiques en cryptographie ... · Exemples de bonnes et mauvaises...
Transcript of Exemples de bonnes et mauvaises pratiques en cryptographie ... · Exemples de bonnes et mauvaises...
Exemples de bonnes et mauvaises pratiquesen cryptographie et sécurité
Guenaëlle De Julis 1 Marie-Angela Cornelie 2
Kevin Layat 2,3
Institut Fourier, Grenoble
{guenaelle.dejulis, marie-angela.cornelie,kevin.layat}@ujf-grenoble.fr
1DGA
2LabEx PERSYVAL-Lab (ANR-11-LABX-0025)
3CEA Leti (Grenoble)
8 Avril 2014
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
1 Introduction
2 Les bases du chiffrement
3 Protocoles et implantations
4 Vulnérabilités Logicielles
5 Mots de passe et fonctions de hachage
6 Réseaux et serveurs
7 Attaques combinées
8 En résumé
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
A l’institut Fourier
Labex PERSYVAL-LabSCCYPhy50 personnes10 Labos Philippe
Elbaz-VincentProfesseur
Vanessa VitseMaitre de
Conférence
AlexandreWallet
Doctorant
Guenaëlle DeJulis
DoctoranteMarie-Angela
CornélieIngénieureDoctorante
Kevin LayatDoctorant
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
1 Introduction
2 Les bases du chiffrement
3 Protocoles et implantations
4 Vulnérabilités Logicielles
5 Mots de passe et fonctions de hachage
6 Réseaux et serveurs
7 Attaques combinées
8 En résumé
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Cryptologie symétrique
k
c
c = f (m, k) m = f−1(c, k)
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Cryptologie asymétrique
kpub
cb cc
cb = f (mb, kpub) cc = f (mc , kpub)
(kpub, kpriv)
mb = f−1(cb, kpriv)
mc = f−1(cc , kpriv)
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Chiffrement par bloc : mode ECB
Auteur : Dake
http://fr.wikipedia.org/wiki/Mode_d’opération_(cryptographie)
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Chiffrement par bloc : mode CBC
Auteur : Dake
http://fr.wikipedia.org/wiki/Mode_d’opération_(cryptographie)
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Chiffrement par bloc : mode CFB
Auteur : Dake
http://fr.wikipedia.org/wiki/Mode_d’opération_(cryptographie)
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Chiffrement par bloc : mode OFB
Auteur : Dake
http://fr.wikipedia.org/wiki/Mode_d’opération_(cryptographie)
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Comparaison des modes
Message clair mode ECB autres modes
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Quelques recommandations
NIST SP800-57 (Juillet 2012)
Bits Chiff. symétrique Chiff. asymétriquesde séurité RSA ECC
80 2T-DEA RSA 1024 160 ∼ 223112 3T-DEA RSA 2048 224 ∼ 255128 AES 128 RSA 3072 256 ∼ 383192 AES 192 RSA 7680 384 ∼ 511256 AES 256 RSA 15360 512+
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
1 Introduction
2 Les bases du chiffrement
3 Protocoles et implantations
4 Vulnérabilités Logicielles
5 Mots de passe et fonctions de hachage
6 Réseaux et serveurs
7 Attaques combinées
8 En résumé
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Attaques sur modules RSA
Chiffrement asymétriqueClé publique : (N,e)Clé privée : (N,d)N = pq, produit de deux nombres premiers. p et q secrets.e et d reliés par (p − 1)(q − 1).
→ Si on peut factoriser un module N, on peut facilementretrouver la clé privée à partir de la clé publique.→ Sécurité RSA : la factorisation de N = pq est un problèmedifficile.
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Attaques sur modules RSA
Module communClé publique de Bob : (N,e1)Clé publique de Bernard : (N,e2)Alice envoie C1 = Me1 [N] à Bob et C2 = Me2 [N] à Bernard.Charlie intercepte C1 et C2 . . .
→ Charlie trouve a et b tels que ae1 + be2 = 1→ Il calcule Ca
1Cb2 [N] = M
Génération aléatoire de nombres premiers pour fabriquerdes modules RSA (Fév 2012 : Lenstra et al., Heninger et al.)
12 millions de clés publique (Ni ,ei) collectées en scannantles adresses IPv4.pgcd(Ni ,Nj) = p 6= 1 . . .
→ Ni = pqi et Nj = pqj→ déduction de qi et qj par simple division . . .→ Ni et Nj factorisés !
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Partager une clé : protocole Needham-Shroeder(1978)
Est-ce que NB est vraiment un secret partagé par Alice etBob ? . . .
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
G. Lowe : Attaque du protocole Needham-Shroeder(1995)
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
G. Lowe : Correction du protocole Needham-Shroeder(1995)
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Niveau de sécurité d’un protocole
Rechercher les paramètres faiblesAttaques logiques : les capacités d’un attaquant sontillimitées
middle-manrejeuxoracles. . .
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Génération d’aléa
Utilisation en crypographie :Génération de clefs.Protocoles (indistinguabilité, challenges, . . .).. . .
Deux méthodes de génération :Deterministic RBG (graine + algorithme).Non deterministic RBG (phénomène physique).
http://xkcd.com/221/, http://creativecommons.org/licenses/by-nc/2.5/
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Attaque sur DSA
Paramètres publiques : (p,q,g,gk mod p).Paramètre privé : k .Signature :
On choisit aléatoirement x ∈ [1, . . . ,p].On signe (r , s) = ((gx mod p) mod q, (H(m) + rk)x−1).
Si on signe deux messages m1 et m2 avec la même valeur x ona : {
r1 = r2 = (gx mod p) mod qs1 − s2 = (H(m1)− H(m2))x−1
Exemple : L’algorithme ECDSA et la PS3
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Failles relatives à l’utilisation d’aléa
SHA1PRNG : Problème de graine (entropie réduite à 64ou 31 bits en fonction des méthodes).Debian : générateur prédictible à cause d’un patch suropenssl (2006-2008).Dual_EC_DRBG : générateur préconisé par le NISTcontenant une trappe. Il est présent dans la bibliothèqueRSA_BSAFE.
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
1 Introduction
2 Les bases du chiffrement
3 Protocoles et implantations
4 Vulnérabilités Logicielles
5 Mots de passe et fonctions de hachage
6 Réseaux et serveurs
7 Attaques combinées
8 En résumé
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
OpenSSL
Outil contenant des bibliothèques cryptographiques etimplémentant le protocole SSL.
Serge Vaudenay 2003 : Exploitation de vulnérabilités dansle padding du mode CBC par timing attackhttp://lasecwww.epfl.ch/php_code/publications/
search.php?ref=CHVV03
7 Avril 2014 : Faille dans TLS permet de récupérer jusqu’à64kB de mémoire du client ou du serveur.http://www.openssl.org/news/vulnerabilities.html
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Dropbox
Outil de stockage, partage et synchronisationde fichiers.
2011 : L’authentification utilisée par Dropbox est cassée.2012 : Un compte d’un d’employé de Dropbox a été piratéet les attaquants ont pu récupéré les adresses mails debeaucoup d’utilisateurs.http://arstechnica.com/security/2012/07/
dropbox-confirms-it-got-hacked-will-offer-two-factor\
-authentication/
2013 : DropSmack : Un audit révèle que l’on peut voler desfichiers et transmettre des malwares en utilisant Dropbox.https://media.blackhat.com/eu-13/briefings/Williams/
bh-eu-13-dropsmack-jwilliams-slides.pdf
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
1 Introduction
2 Les bases du chiffrement
3 Protocoles et implantations
4 Vulnérabilités Logicielles
5 Mots de passe et fonctions de hachage
6 Réseaux et serveurs
7 Attaques combinées
8 En résumé
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Fonction de hachage cryptographique
Exemples : signatures, stockages de mots de passe, . . .
DéfinitionUne fonction f : {0,1}n → {0,1}p vérifiant trois propriétés :
résistance à la pré-imageétant donné h ∈ {0,1}p, il est difficile de trouverm ∈ {0,1}n tel que f (m) = h.résistance à la seconde pré-imageétant donné m1 ∈ {0,1}n, il est difficile de trouverm2 ∈ {0,1}n, m1 6= m2 tel que f (m1) = f (m2).
résistance aux collisionsil est difficile de trouver m1,m2 ∈ {0,1}n, m1 6= m2 tels quef (m1) = f (m2).
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Attaque sur le stockage de mots de passe
Stockage en clair
Retrouver le fichier de stockage et l’ouvrir.Peut nécessiter d’avoir des droits spéciaux.
Stockage sous forme de hashBrute-Force direct
Envisager toutes les possibilités sur l’alphabet utilisé et lataille du mot de passe.Très couteux.
Brute-Force + Social EngineeringRéalité : 1 caractère spécial (souvent parmi 10) et le resteen alphanumérique.Taille usuelle : 8 caractères ou moins.Structure particulière : ex 1 Majuscule + 5-6 minuscules +1-2 chiffres.
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
RemarquesIl est aussi facile de casser 10000 mots de passe qu’unseul.Il existe d’autres techniques : dictionnaire, Rainbow-Table.
HashCathttp://hashcat.net/oclhashcat/
Ubuntu 64b Catalyst 13.12 8x AMD R9 290X
MD5 : 81549 M c/sSHA1 : 27333 M c/s
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Bit de sécurité d’un mot de passe
www.securite-informatique.gouv.fr/gp_article728.html
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Portefeuille électronique
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Sécurité des mots de passe
À ne pas faireMots de passe évidents.Mots de passe trop courts.Utilisation de peu de caractères. (ex uniquement desminuscules)Utiliser le même schéma de mot de passe pour tous lesutilisateurs.Utiliser un même mot de passe pour plusieurs applicationsProtéger l’ensemble de ses mots de passe ou clés avec unmot de passe faible.Utiliser un algorithme de hachage cassé pour protéger lesmots de passe.
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
1 Introduction
2 Les bases du chiffrement
3 Protocoles et implantations
4 Vulnérabilités Logicielles
5 Mots de passe et fonctions de hachage
6 Réseaux et serveurs
7 Attaques combinées
8 En résumé
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Infrastucture
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Attaque DNS
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Attaque DOS (Denial Of Service)
SYN FloodUDP FloodingPacket Fragment...
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Pages web
Injection MySQL
http://xkcd.com/327/, http://creativecommons.org/licenses/by-nc/2.5/
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Pages web
Usurpation de sessions
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Élévation de privilèges
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
1 Introduction
2 Les bases du chiffrement
3 Protocoles et implantations
4 Vulnérabilités Logicielles
5 Mots de passe et fonctions de hachage
6 Réseaux et serveurs
7 Attaques combinées
8 En résumé
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Attaque de RSA SecureID Token (Mars 2011)
Protocole d’authentification.Une graine initialise l’algorithme dans le même état côtéserveur et côté client.Les tokens client et serveur sont identiques.La graine est différente pour chaque client, et secrète.Le token serveur et client change à intervalle régulier.A chaque requête, le serveur compare son token aveccelui donné par le client.
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Attaque de RSA SecureID Token (Mars 2011)
→ Social engineering : envoi d’un email aux employés deRSA . . .avec une pièce jointe : un fichier excel contenant unmalware→ Vulnérabilité logicielle : à l’ouverture dudit fichier, lemalware exploite une faille de Adobe Flash . . .→ L’exploit permet une élévation de privilèges . . .→ . . .qui donne accès aux serveurs contenant les grainesactivées.Mai 2011 : «No customer, program or employee personal datawas compromised», dixit Lockheed MartinJuin 2011 : RSA a offert des services de surveillance-sécuritéà plus de 30000 clients . . .
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Anonymous vs HBGary
Vulnérabilité dans le CMS→ Injection SQL.http://www.hbgaryfederal.com/pages.php?pageNav=2&page=27
Mauvaise utilisation de MD5 + mauvais format de mdp (6minuscules + 2 chiffres)→Attaque Rainbow-Table.Code non mis à jour qui introduisait une faille favorable àune élévation de privilège.Social Engineering
http://arstechnica.com/tech-policy/2011/02/
anonymous-speaks-the-inside-story-of-the-hbgary-hack/
1/
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Attaque Stuxnet
Code comme les autres.Repéré en juin 2009.Exploite 3 failles de Windows non patchées à l’époque.Cible : systèmes de contrôle industriel SCADA.Cheval de Troie doublé de technologie rootkit + Utilisationde certificats Verisign volés.
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Attaque Stuxnet
Illustration : L-Dopa c© 2013 IEEE Spectrum magazine
http://spectrum.ieee.org/telecom/security/the-real-story-of-stuxnet
Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé
Conclusion
On considère que le materiel est plus sûr que le logiciel(ex : carte à puce).Il est important de faire des recherches sur les bonsparamètres à utiliser pour les outils cryptographiques.Les mises à jour sont primordiales pour garantir la sécurité.Le maillon faible est souvent entre le clavier et la chaise.
1- 1234562- password3- welcome4- ninja5- abc123