Vous êtes sur la page 1sur 53

Technologies de Sécurité

Doudou FALL, Ph.D.


Enseignant-chercheur, Département Génie Informatique, Ecole
Supérieure Polytechnique, Université Cheikh Anta Diop de Dakar
Authentification
Comment prouver à quelqu'un
que vous êtes celui que vous
prétendez être ?

doudou@ESP 3
doudou@ESP 4
doudou@ESP 5
doudou@ESP 6
doudou@ESP 7
https://enterprise.verizon.com/resources/reports/dbir/2020/results-and-analysis/
Les moyens de prouver qui vous êtes
• Ce que vous savez
• Mots de passe
• Réponses à des quesIons que vous êtes le seul à connaître
• Où vous êtes
• Adresse IP, géolocalisaIon
• Ce que vous êtes
• Données biométriques
• Ce que vous avez
• Jetons sécurisés, disposiIfs mobiles

doudou@ESP 8
Mots de passe
Ce que vous savez

doudou@ESP 9
12345678
Est-ce un bon mot de passe ?

doudou@ESP 10
!@#$%^&*
Est-ce un bon mot de passe ?

doudou@ESP 11
Shift + 12345678 = !@#$%^&*
Clavier américain

doudou@ESP 12
Les mots de passe sont
terribles!
On peut les deviner, les oublier, les énumérer, les rejouer, les réutiliser,
les faire fuiter, “être écouté”, etc.
doudou@ESP 14
Morris, Thompson 1979: Avertissement!

“Human beings being what they are, there is a strong tendency for
people to choose rela9vely short and simple passwords that they can
remember.”

"Les êtres humains étant ce qu'ils sont, les gens ont une forte tendance
à choisir des mots de passe rela9vement courts et simples dont ils
peuvent se souvenir."

doudou@ESP 15
Morris, Thomson 1979 : Étude

Dans une collection de 3 289 mots de passe recueillis auprès de nombreux


utilisateurs sur une longue période de temps :

• 15 étaient un seul caractère ASCII ;


• 72 étaient des chaînes de deux caractères ASCII ;
• 464 étaient des chaînes de trois caractères ASCII ;
• 477 étaient des chaînes de quatre caractères alphanumériques ;
• 706 étaient des chaînes de cinq lettres, toutes en majuscules ou en minuscules ;
• 605 étaient des chaînes de six lettres, toutes en minuscules.

doudou@ESP 16
Morris, Thomson 1979: Recommendations

• Hachage lent (ils l'ont appelé cryptage)


• Mots de passe moins prévisibles
• Ajouter du “sel” avant le hachage
• Éviter l'aJaque temporelle pour dis9nguer un mauvais login

doudou@ESP 17
Les événements depuis 1979

doudou@ESP 18
Mot de passe : Architecture de base

S'inscrire : doudou, mdp Stocker doudou, mdp sous une certaine forme.

Système d'authenIficaIon

Login: doudou, mdp’ Vérifiez que mdp’=mdp

doudou@ESP 19
Vérification des mots de passe
• Le système doit valider les mots de passe fournis par les utilisateurs
• Les mots de passe doivent donc être stockés quelque part (sous une
forme ou une autre)
• Stockage de base : texte clair

S’inscrire: doudou, mdp Stocker doudou, mdp en clair.

Système d'authentification

doudou@ESP 20
Problème : vol du fichiers de mots de passe
• Les attaquants compromettent souvent les systèmes
• Ils peuvent être en mesure de voler le fichier des mots de passe
• Linux :
• Windows :

doudou@ESP 21
Problème : vol du fichiers de mots de passe
• Les attaquants compromettent souvent les systems
• Ils peuvent être en mesure de voler le fichier des mots de passe
• Linux : /etc/shadow
• Windows : c:\windows\system32\config\sam

• Effet domino ou effet de cascade


• L'attaquant peut se connecter en tant que n'importe quel utilisateur, y compris
root/administrateur
• De plus, l'attaquant aura accès aux autres machines auxquelles les utilisateurs ont
accès

• Les mots de passe ne doivent jamais être stockés en texte clair

doudou@ESP 22
• Entreprise de jeux sociaux
• Base de données contenant 32 millions de mots de passe
d'utilisateurs de réseaux sociaux partenaires
• Mots de passe stockés en clair

doudou@ESP 23
https://www.computerworld.com/article/2522045/rockyou-hack-exposes-names--passwords-of-30m-accounts.html
Grand tournant

doudou@ESP 24
Principaux mots de passe dans la base de
données RockYou

doudou@ESP 25
https://carrero.es/wp-content/uploads/2010/02/WP_Consumer_Password_Worst_Practices.pdf
ConstataKons

doudou@ESP 26
https://carrero.es/wp-content/uploads/2010/02/WP_Consumer_Password_Worst_Practices.pdf
Mots de passe par défaut

doudou@ESP 27
https://www.usenix.org/system/files/conference/usenixsecurity17/sec17-antonakakis.pdf
doudou@ESP 28
hNps://www.usenix.org/system/files/conference/usenixsecurity17/sec17-antonakakis.pdf
doudou@ESP 29
hNps://www.usenix.org/system/files/conference/usenixsecurity17/sec17-antonakakis.pdf
Je devine...

doudou@ESP 30
Récupération de mot de passe : Sarah Palin
• Son compte de messagerie Yahoo! a été piraté le 16 septembre 2008
• Réinitialisation du mot de passe
• Code postal ?
• Seulement 2 à Wasilla
• Date de naissance ?
• Wikipédia a l'information
• Où avez-vous rencontré votre conjoint ?
• Wikipédia : ”J’ai rencontré Todd au lycée..."

doudou@ESP 31
Morris, Thomson 1979: Recommendations

• Hachage lent (ils l'ont appelé cryptage)


• Mots de passe moins prévisibles
• Ajouter du “sel” avant le hachage
• Éviter l'attaque temporelle pour distinguer un mauvais login

doudou@ESP 32
Password hashing
• Stocker Hash du mot de passe
• Le système ne stocke pas les mots de passe réels
• Impossible de passer du hachage au mot de passe
• Sauf en devinant le mot de passe

Inscrire: doudou, mdp Stocker doudou, Hash(mdp)

Système d'authentification

doudou@ESP 33
FoncKons de hachage cryptographiques
• H fait correspondre le message à un condensé court (par exemple,
une chaîne de 256 bits)
• Fonction à sens unique
• Étant donné y = H(M), il est difficile de calculer M
• Résistant aux collisions
• Impossible de trouver M, M' pour que H(M) = H(M')
• Bonnes fonctions de hachage
• SHA256, SHA512, SHA-3
• Fonctions de hachage obsolètes : MD5, SHA-1

doudou@ESP 34
Attaque par dictionnaire
• Les mots de passe ne sont pas aléatoires
• 52 lettres majuscules et minuscules + 10 chiffres + 32 symboles de
ponctuation == 6 quadrillions de mots de passe de 8 caractères possibles
• Les humains sont terribles pour générer/mémoriser des chaînes aléatoires
• Pré-calcul
• H(tous les mots du dictionnaire et les mots de passe qui ont fuité)
• Ne le faire qu'une fois
• Une fois le fichier de mots de passe obtenu, le craquage est instantané
• Outils sophistiqués de craquage de mots de passe
• John the Ripper, hashcat, hydra

doudou@ESP 35
A7aque par dic9onnaire

Ha
sh
() Mots_de_passe_hachés.txt
Dictionnaire français

sh ()
H a

Liste des hachages possibles de mots de passe


Mots de passe courants (violés)
doudou@ESP 36
Breaches

• Mot de passe stocké sous la forme :


• MD5(mdp)

• 2012 : 6,5 millions de hachages ont fuité sur Internet


• 90 % craqués en 2 semaines
• 2016 : 177,5 millions de hachages supplémentaires ont fuité
• 98% des codes ont été crackés en une semaine

doudou@ESP 37
hNps://arstechnica.com/informaPon-technology/2016/06/how-linkedins-password-sloppiness-hurts-us-all/
Fonctions de hachage cryptographiques
• H fait correspondre le message à un condensé court (par exemple,
une chaîne de 256 bits)
• Fonction à sens unique
• Étant donné y = H(M), il est difficile de calculer M
• Résistant aux collisions
• Impossible de trouver M, M' pour que H(M) = H(M')
• Bonnes fonctions de hachage
• SHA256, SHA512, SHA-3
• Fonctions de hachage obsolètes : MD5, SHA-1

doudou@ESP 38
Ajouter du sel
• U>liser des sels aléatoires par u>lisateur
• Rendre le hachage plus lent pour ralen>r les aAaques par craquage
• Hachage à mémoire élevée : Scrypt, argon2, bcrypt
• Sans sel
• L'aBaquant peut précalculer les hachages de tous les mots de passe courants en une
seule fois
• Avec sel
• L'aBaquant doit calculer les hachages de tous les mots de passe courants pour
chaque valeur de sel possible
• Les u>lisateurs ayant le même mot de passe ont des entrées différentes
dans le fichier des mots de passe
• L'aAaque par dic>onnaire hors ligne devient beaucoup plus difficile

doudou@ESP 39
Mot de passe Facebook
$cur = ‘password’
$cur = md5($cur)
$salt = randbytes(20)
$cur = hmac_sha1($cur, $salt)
$cur = remote_hmac_sha256($cur, $secret)
$cur = scrypt($cur, $salt)
$cur = hmac_sha256($cur, $salt)
Crypto server
$cur
pw
$secret
hmac($cur, $secret)
Web server doudou@ESP 40
like PeaKx

doudou@ESP 41
AmélioraKon de la sécurité de votre système
UNIX

doudou@ESP 42
https://nvlpubs.nist.gov/nistpubs/Legacy/IR/nistir4453.pdf
La contemporanéité…
• Conseils manquants
• N'uIlisez pas le même mot de passe sur plusieurs sites web
• L'u9lisateur moyen a de nombreux mots de passe
• Au moins 25 [Florencio & Herley, 2007]

doudou@ESP 43
PoliKques en maKère de mots de passe
• Trop restrictif
• 7 ou 8 caractères
• Au moins 3 parmi les {chiffres, majuscules, minuscules, non-alphanumériques}
• Pas de mots du dictionnaire
• Changer tous les 4 mois
• Mot de passe non similaire aux 12 mots de passe précédents
• Etc.
• Fardeau de la conception, de l'apprentissage et de l'oubli des mots de
passe
• Les utilisateurs construisent des mots de passe de manière peu sûre, les
écrivent
• Réutilisation importante des mots de passe dans les différents systèmes

doudou@ESP 44
https://dl.acm.org/doi/pdf/10.1145/1753326.1753384
doudou@ESP 45
Alternatives
• Ges>onnaires de mots de passe
• Authen>fica>on à deux facteurs
• Authen>fica>on fédérée
• Authen>fica>on basée sur la localisa>on
• Géolocalisa>on basée sur l'IP
• Iden>fica>on du disposi>f
• Cookies, empreintes digitales des appareils
• Indices comportementaux
• Ac>ons typiques sur la plate-forme
• Biométrie

doudou@ESP 46
doudou@ESP 47
doudou@ESP 48
PIN
Personal IdenIficaIon Number
* Terme impropre : généralement uIlisé pour l'authenIficaIon et non
l'idenIficaIon.

doudou@ESP 49
doudou@ESP 50
doudou@ESP 51
Extracting iOS’ Passcode Blocklist
h|ps://this-pin-can-be-easily-guessed.github.io/media/Robot-2020-10-16.pdf

doudou@ESP 52
ありがとうございます。

doudou@ESP 53

Vous aimerez peut-être aussi