Cours MIT "Sécurité des systèmes informatiques". Conférence 17: Authentification des utilisateurs, partie 2

Institut de technologie du Massachusetts. Cours magistral # 6.858. "Sécurité des systèmes informatiques." Nikolai Zeldovich, James Mickens. 2014 année


Computer Systems Security est un cours sur le développement et la mise en œuvre de systèmes informatiques sécurisés. Les conférences couvrent les modèles de menace, les attaques qui compromettent la sécurité et les techniques de sécurité basées sur des travaux scientifiques récents. Les sujets incluent la sécurité du système d'exploitation (OS), les fonctionnalités, la gestion du flux d'informations, la sécurité des langues, les protocoles réseau, la sécurité matérielle et la sécurité des applications Web.

Cours 1: «Introduction: modèles de menace» Partie 1 / Partie 2 / Partie 3
Conférence 2: «Contrôle des attaques de pirates» Partie 1 / Partie 2 / Partie 3
Conférence 3: «Débordements de tampon: exploits et protection» Partie 1 / Partie 2 / Partie 3
Conférence 4: «Séparation des privilèges» Partie 1 / Partie 2 / Partie 3
Conférence 5: «D'où viennent les systèmes de sécurité?» Partie 1 / Partie 2
Conférence 6: «Opportunités» Partie 1 / Partie 2 / Partie 3
Conférence 7: «Native Client Sandbox» Partie 1 / Partie 2 / Partie 3
Conférence 8: «Modèle de sécurité réseau» Partie 1 / Partie 2 / Partie 3
Conférence 9: «Sécurité des applications Web», partie 1 / partie 2 / partie 3
Conférence 10: «Exécution symbolique» Partie 1 / Partie 2 / Partie 3
Conférence 11: «Ur / Web Programming Language» Partie 1 / Partie 2 / Partie 3
Conférence 12: Sécurité du réseau, partie 1 / partie 2 / partie 3
Conférence 13: «Protocoles réseau», partie 1 / partie 2 / partie 3
Conférence 14: «SSL et HTTPS» Partie 1 / Partie 2 / Partie 3
Conférence 15: «Logiciel médical» Partie 1 / Partie 2 / Partie 3
Conférence 16: «Side Channel Attacks» Partie 1 / Partie 2 / Partie 3
Conférence 17: «Authentification des utilisateurs», partie 1 / partie 2 / partie 3

L'une des choses intéressantes dont parle cet article est que si vous passez par tous ces schémas d'authentification, les auteurs disent: «OK, ce sont des mots de passe, ils sont en quelque sorte nul, et il y a d'autres choses qui offrent une bien meilleure sécurité mais ils échouent souvent au déploiement, sont peu pratiques à utiliser, etc. »



Il s'agit d'un résultat intéressant et en même temps décevant de ce travail, qui consiste dans le fait que même si nous avons tous ces outils qui offrent une sécurité de protocole plus élevée, nous ne pouvons pas les utiliser à cause des inconvénients extrêmes.

Telepathwords n'est donc qu'un site amusant, ils affirment qu'ils ne stockent pas vos mots de passe, vous pouvez donc les croire si vous le souhaitez. Mais il est très intéressant de s’asseoir et de réfléchir à la qualité du mot de passe que j’ai trouvé. Et entrez-le ici et voyez comme il est facile de le deviner. Il vous permet même de faire des choses comme l'analyse heuristique d'expressions populaires à partir de plusieurs mots, à partir desquelles seule la première lettre de chaque mot est sélectionnée pour le mot de passe. Cette chose est donc très utile.

Une autre chose intéressante est que vos mots de passe peuvent être devinés hors ligne. Cette vulnérabilité, appelée pré-authentification ou «pré-authentification», était inhérente à Kerberos v4 et v5. N'importe qui pouvait demander un ticket chiffré avec le mot de passe de l'utilisateur à KDC.

Par conséquent, KDC n'a pas authentifié les demandes du client. KDC a renvoyé un ensemble de plusieurs bits en réponse à la demande, qui a été chiffré avec la clé client. C'est ce qui a été retourné au client. Le problème était que le serveur n'a pas vérifié qui a envoyé cet ensemble de choses cryptées, donc en gros l'attaquant pourrait obtenir cette chose et essayer de deviner ce qu'est K_C.



Essayez simplement de deviner la valeur K_C, essayez de la crypter, voyez si elle lui ressemble, sinon, essayez de deviner une autre K_C, décryptez-la, voyez si elle ressemble à la vérité, etc. La raison qui permet à un attaquant d'organiser ce type d'attaque est que cette chose ici, à l'intérieur des crochets, ce TGT a en fait un format connu. Il y a quelque chose comme des horodatages et des champs de référence cohérents internes, et tout cela aide l'attaquant à deviner le mot de passe. Parce que si l'attaquant devine K_C et reçoit le contenu déchiffré des crochets, mais que les champs internes ne sont pas vérifiés, l'attaquant comprend qu'il a choisi le mauvais K_C et est pris pour le suivant.

Dans Kerberos version 5, le client doit transmettre un horodatage au KDC, après quoi l'étiquette sera chiffrée à l'aide de K_C. Tout cela est envoyé au serveur, le serveur regarde cette demande et la vérifie avant d'envoyer quelque chose au client. Ainsi, n'importe quel client aléatoire peut venir demander cette chose au serveur.

Étudiant: l'horodatage apparaît-il dans le message? Un attaquant pourrait-il simplement prendre et déchiffrer ce message en utilisant la force brute?

Professeur: voyons. Un attaquant peut-il obtenir ce message {time stapm} K_C?

Etudiant: oui, c'est un message crypté.



Professeur: c'est-à-dire que vous pensez qu'un attaquant pourrait, par exemple, simplement simuler ce message?

Étudiant: non, il utiliserait la force brute pour correspondre à K_C.

Professeur: Je vois, en d'autres termes, vous craignez que quelqu'un espionne le contenu de ces crochets. Je crois que le contenu est à l'intérieur de la chose cryptée qui appartient au serveur, ou de la clé qui appartient au serveur, afin d'empêcher une telle attaque, mais ce n'est que mon avis. Mais en général, vous avez raison, si un attaquant parvient à trouver l’horodatage dans la demande d’un client, cela lui sera très utile. Dans ce cas, il peut deviner dans quelle plage les horodatages voisins peuvent être, et l'utiliser pour une attaque similaire.

Étudiant: dans ce cas, l'attaquant devrait être «un homme au milieu».
Professeur: il en est ainsi, l'attaquant doit être quelque part sur le réseau entre le client et le serveur afin de "flairer" de telles choses.

Une autre chose importante est la récupération de mot de passe. Le fait est que si vous perdez votre mot de passe, vous devez vous rendre au bureau et demander un mot de passe différent. Mais avant d'obtenir ce mot de passe, vous devez en quelque sorte prouver que vous êtes bien.

Alors comment ça marche? Comment récupérer mon mot de passe? Fait intéressant, les gens se concentrent souvent sur l'entropie du mot de passe lui-même. Mais le problème est que si les questions utilisées pour récupérer le mot de passe ou le schéma de récupération de mot de passe ont peu d'entropie, cela affecte l'entropie du schéma d'authentification général. En d'autres termes, la force du schéma d'authentification général est égale à l'entropie minimale du mot de passe et à l'entropie minimale du problème pour la récupération du mot de passe. Il existe de nombreux scénarios et règles, il y a suffisamment de cas connus, comme le cas de Sarah Palin. Quelqu'un a pu récupérer son mot de passe de manière frauduleuse parce que ses questions de récupération de mot de passe étaient telles que n'importe quel étranger pouvait y trouver une réponse, par exemple, en lisant un article Wikipedia à son sujet qui écrivait dans quelle école elle était allée et ainsi de suite.



Si souvent, ces questions de récupération de mot de passe ne sont pas suffisantes pour plusieurs raisons. Parfois, ces choses ont une entropie très faible. Par exemple, si votre question pour la récupération de mot de passe est «quelle est votre couleur préférée», les réponses les plus populaires seront «bleu» et «rouge». Personne ne répondra «blanc», «fuchsia» ou «violet». Ainsi, certains de ces problèmes de récupération sont intrinsèquement incapables de fournir suffisamment d'entropie.

Un autre problème est que parfois les réponses aux questions de récupération de mot de passe peuvent être divulguées via les réseaux sociaux. Par exemple, si l'une des questions pour la récupération de mot de passe est "quel est votre film préféré", alors il y a beaucoup plus de devinettes, par exemple, je peux regarder votre profil sur IMDB ou Facebook et trouver le nom de votre film préféré là-bas .

Et un autre problème, le plus drôle, est que les utilisateurs eux-mêmes posent des questions de récupération très faibles, par exemple, ce qui sera 2 plus 3? Autrement dit, l'utilisateur pense que pour quelqu'un, ce sera un gros problème de donner la bonne réponse à de telles questions, mais la plupart des gens qui réussissent le test de Turing peuvent y répondre avec succès et utiliser votre mot de passe.



Étudiant: est- il possible d'utiliser des informations supplémentaires au lieu de questions pour la récupération de mot de passe, tout comme nous insérons notre nom dans un e-mail ou décrivons brièvement le contenu de la lettre dans l'en-tête - une telle approche peut-elle assurer la sécurité de ce genre de choses?

Professeur: Je ne connais pas de telles recherches, mais en réalité ces choses sont bien meilleures. Je le sais parce que j'ai essayé d'aider ma copine à traverser ce processus. Elle a perdu le contrôle de son compte Gmail et a essayé de prouver que c'était son compte. Et les propriétaires du site lui ont posé des questions telles que, par exemple, quand elle a créé son compte, si elle parlait à quelqu'un de son compte, par exemple, le Hezbollah, avant de perdre le contrôle, etc. C'est en fait un processus assez long, mais au final, des informations supplémentaires sont plus importantes que les questions de récupération de mot de passe. Je ne connais aucune étude officielle sur ce sujet, mais il semble que cela soit évident.

Si vous n'avez pas de questions, nous pouvons commencer le sujet de la conférence d'aujourd'hui décrit dans l'article. Ainsi, les auteurs proposent de considérer un ensemble de facteurs qui peuvent être utilisés pour évaluer l'efficacité des schémas d'authentification. Ce qui est vraiment cool dans cet article, c'est qu'il dit que la plupart d'entre nous dans la communauté de la sécurité ne se battent que pour des principes esthétiques. Par exemple, "nous devons choisir cela parce que j'aime juste l'apparence des accolades dans la preuve", ou "nous devons choisir cela parce qu'il utilise beaucoup de méthodes mathématiques".

Ils disent: pourquoi n’essayons-nous pas d’établir des critères d’évaluation de l’efficacité? Peut-être que certains de ces critères seront un peu subjectifs, mais essayons simplement de systématiser les méthodes d'évaluation des schémas d'authentification. Voyons simplement comment ces différents motifs sont empilés dans des piles distinctes.

Les auteurs de l'article ont proposé trois paramètres de haut niveau pour évaluer ces schémas. Le premier paramètre est l'utilisabilité. La première exigence de ce paramètre est la facilité d'apprentissage de la méthode d'authentification. Son idée principale est la facilité avec laquelle les utilisateurs peuvent interagir avec le schéma d'authentification. Ici, ils notent quelques propriétés caractéristiques, par exemple, est-il facile d'apprendre cette méthode et ce schéma d'identification de l'utilisateur est-il facile à apprendre.

Certaines de ces catégories sont assez simples, certaines incluent des astuces, mais cela a beaucoup de sens. Si vous regardez les mots de passe, ils satisfont à cette exigence, parce que tout le monde est habitué à utiliser des mots de passe, donc nous dirons que leur utilisation est facile à apprendre et répondons «oui».

La deuxième exigence est la rareté des erreurs d'authentification. Cela signifie que si vous êtes un utilisateur réel du système, il ne devrait y avoir aucune erreur lors de la tentative d'authentification. Et ici, en ce qui concerne les mots de passe, les auteurs disent qu'ils correspondent conditionnellement à ce paramètre. «Conditionnellement» dans ce cas signifie que les auteurs reconnaissent la présence de subjectivité dans leur évaluation. Ainsi, à la question de savoir si des erreurs se produisent rarement lors de l'authentification avec des mots de passe, nous ne pouvons pas répondre de manière définitive ni «oui» ni «non».

En règle générale, vous pouvez vous authentifier, mais par exemple, lorsque vous essayez d'accéder au serveur de messagerie à 3 heures du matin, en pensant mal, et en entrant plusieurs fois le mauvais mot de passe, dans ce cas, vous pouvez reconnaître une erreur du système d'authentification. Par conséquent, ils croient que les mots de passe répondent conditionnellement à cette exigence.

La prochaine exigence est l'évolutivité pour les utilisateurs. L'idée principale ici est que si un utilisateur dispose d'un ensemble de services différents dans lequel il souhaite s'authentifier, ce schéma évolue-t-il bien? L'utilisateur doit-il se souvenir de quelque chose de nouveau pour chacun des schémas? Ici, en ce qui concerne les mots de passe, les auteurs disent clairement «non», car l'authentification avec des mots de passe ne satisfait pas à cette exigence. Parce qu'en pratique, il est très difficile pour les utilisateurs de se souvenir d'un mot de passe distinct pour chaque site qu'ils visitent. En fait, c'est l'une des raisons pour lesquelles les gens utilisent souvent le même mot de passe pour l'authentification dans différents services.

Une autre condition d'utilisation est la facilité de récupération. Autrement dit, que se passe-t-il si vous perdez le jeton d'authentification, dans ce cas votre mot de passe, est-il facile de le réinitialiser? Dans ce cas, la réponse pour les mots de passe est oui. En fait, ils sont même trop faciles à réinitialiser, comme nous l'avons vu il y a quelques minutes.

La prochaine exigence est de ne rien exiger de plus, de ne transporter aucun moyen supplémentaire d'authentification. Par exemple, les protocoles d'authentification fantaisistes nécessitent que vous exécutiez une sorte d'application pour smartphone ou que vous ayez une sorte de jeton de sécurité, une carte à puce, etc. C'est donc un lourd fardeau. Peut-être qu'il n'y a pas tellement de problèmes avec le smartphone, il suffit d'installer l'application pour l'authentification, mais transporter tout le temps l'un des autres gadgets est assez gênant. Par conséquent, une bonne propriété des mots de passe est que vous ne devez les emporter avec vous que dans votre cerveau, que vous devriez toujours avoir avec vous.



Voici les critères d'utilisation d'un schéma d'authentification. D'une manière générale, il est intéressant de voir comment les membres de la communauté de la sécurité sont en désaccord sur l'importance de ces critères. Par exemple, ils disent: «cette chose utilise un million de morceaux d'entropie, et seule une catastrophe universelle peut la casser», tout en oubliant que les exigences ci-dessus sont également importantes pour les schémas d'authentification.

Ainsi, le prochain paramètre de haut niveau que les auteurs de l'article utilisent pour évaluer le schéma d'authentification est la déployabilité. Il décrit à quel point il est facile d'implémenter ce système d'authentification dans les services réseau existants. Par exemple, ils examinent la compatibilité des serveurs, c'est-à-dire, est-il facile d'intégrer ce schéma dans des serveurs modernes dans lesquels l'authentification est basée sur l'utilisation de mots de passe texte? En ce sens, les mots de passe répondent pleinement à cette exigence, nous pouvons donc répondre «oui».

La deuxième exigence est la compatibilité du navigateur, elle est similaire à la précédente et dit: puis-je utiliser ce schéma d'authentification pour les navigateurs populaires existants sans avoir besoin d'installer un plug-in ou quelque chose comme ça? Là encore, les mots de passe gagnent par défaut.

Une autre exigence intéressante est l'accessibilité, l'excessibilité. Autrement dit, les personnes handicapées physiques pourront-elles utiliser ce schéma d'authentification, par exemple, les aveugles ou les malentendants, avec une motricité insuffisante, etc. Il s'agit en fait d'une exigence assez importante.

Ici, les auteurs disent encore une fois «oui», ce qui est un peu étrange, car il n'est pas clair comment les personnes handicapées peuvent utiliser des mots de passe, mais les auteurs disent qu'ils le peuvent.



Ce sont les exigences que vous devez prendre en compte concernant la possibilité de déployer ce schéma d'authentification. La raison de l'importance particulière du déploiement est qu'il est extrêmement difficile de mettre à niveau toutes ces choses afin de mettre en œuvre un nouveau schéma, car il peut être difficile d'amener les gens à mettre à jour quelque chose. Je veux dire, souvent, les gens ne veulent même pas redémarrer leurs machines et installer une nouvelle mise à jour du système d'exploitation. Par conséquent, de grandes difficultés surviennent si le schéma d'authentification nécessite des modifications sur le serveur qui obligent les personnes qui le servent à effectuer des opérations supplémentaires. Ceci est pertinent pour votre question, pourquoi n'utilisons-nous aucune information supplémentaire ou pour améliorer la force du mot de passe. Les caractéristiques de déploiement dans de nombreux cas sont très, très importantes pour les gens.

Ainsi, le dernier paramètre que nous considérerons est la sécurité. Quels types d'attaques ce schéma peut-il empêcher? Je dénoterai cette caractéristique par Res - adaptabilité à foo, où foo est tout effet qui peut nuire.

Par exemple, la première caractéristique indique la stabilité du système à l'observation physique, au «voyeur» ou à «l'écoute». Le fait est que l'attaquant ne pouvait pas se faire passer pour le véritable utilisateur après avoir observé plusieurs fois son authentification dans le système. Imaginez que vous êtes dans un cours d'informatique et que quelqu'un se tient derrière vous et regarde ce que vous tapez. Peut-être que quelqu'un vous filme en vidéo, peut-être que quelqu'un a un microphone qui «décolle» la signature acoustique de votre clavier et essaie d'en extraire quelque chose, et ainsi de suite.

Les auteurs de l'article affirment que les mots de passe ne répondent pas à cette exigence, car un attaquant peut visualiser la vidéo et trouver assez facilement les lettres que vous avez tapées. Il existe des attaques qui utilisent des empreintes acoustiques sur le clavier pour identifier les caractères imprimables. Les mots de passe ne résistent donc pas aux observations physiques.

– , . , - – , , , , , . , , - , , , , , . « – ».
, , , - - , .

, . – . , , , Antihammering. , , «». , „“, , , , . .

– . , , . , . , «» , .

, , .

. , , , , , , , . , , , .

- , , . . .

, , . — . , , , DNS - , , . , : «, , , ». , , .



. : . , , . , , , , . , , .

, , , , , , , . . , , , , , , , .

, , , .

– , . , , . , . , – , .
, , , HTTPS . , CA, . - , , .



, , «». , . , - Gmail, Facebook.

, , . , .

, . , , . , , , , .

L'une des caractéristiques intéressantes de la biométrie est la dimension des clés, qui détermine le degré d'entropie. La dimension des touches n'est pas aussi grande qu'elle devrait l'être. Par exemple, pour les empreintes digitales, la dimension clé est d'environ 13,3 bits, pour le balayage de la rétine de l'œil est de 19,9 bits, la reconnaissance vocale a une dimension clé, ou un indice d'entropie de l'ordre de 11,7 bits.

54:15 sec

Cours MIT "Sécurité des systèmes informatiques". Conférence 17: «Authentification des utilisateurs», partie 3


La version complète du cours est disponible ici .

Merci de rester avec nous. Aimez-vous nos articles? Vous voulez voir des matériaux plus intéressants? Soutenez-nous en passant une commande ou en le recommandant à vos amis, une réduction de 30% pour les utilisateurs Habr sur un analogue unique de serveurs d'entrée de gamme que nous avons inventés pour vous: Toute la vérité sur VPS (KVM) E5-2650 v4 (6 cœurs) 10 Go DDR4 240 Go SSD 1 Gbps à partir de 20 $ ou comment diviser le serveur? (les options sont disponibles avec RAID1 et RAID10, jusqu'à 24 cœurs et jusqu'à 40 Go de DDR4).

VPS (KVM) E5-2650 v4 (6 cœurs) 10 Go DDR4 240 Go SSD 1 Gbit / s jusqu'en décembre gratuitement en payant pour une période de six mois, vous pouvez commander ici .

Dell R730xd 2 fois moins cher? Nous avons seulement 2 x Intel Dodeca-Core Xeon E5-2650v4 128 Go DDR4 6x480 Go SSD 1 Gbps 100 TV à partir de 249 $ aux Pays-Bas et aux États-Unis! Pour en savoir plus sur la création d'un bâtiment d'infrastructure. classe utilisant des serveurs Dell R730xd E5-2650 v4 coûtant 9 000 euros pour un sou?

Source: https://habr.com/ru/post/fr429682/


All Articles