47
Exemples de bonnes et mauvaises pratiques en 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 1 DGA 2 LabEx PERSYVAL-Lab (ANR-11-LABX-0025) 3 CEA Leti (Grenoble) 8 Avril 2014

Exemples de bonnes et mauvaises pratiques en cryptographie ... · Exemples de bonnes et mauvaises pratiques en cryptographie et sécurité Guenaëlle De Julis 1 Marie-Angela Cornelie

  • Upload
    trannga

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

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

Introduction Les bases Protocoles Logiciel Mots de passe Réseaux et serveurs Attaques combinées En résumé

Merci pour votre attention.