Question

  

De Wired magazine:

     

... le hack Palin n'en a pas besoin   véritable compétence. Au lieu de cela, le pirate simplement   réinitialiser le mot de passe de Palin en l'utilisant   date de naissance, code postal et informations   sur l'endroit où elle a rencontré son épouse - la   question de sécurité sur son Yahoo   compte, qui a été répondu (Wasilla   High) par une simple recherche sur Google.

Nous ne pouvons pas faire confiance à de tels questions de sécurité pour réinitialiser les mots de passe oubliés.
Comment concevez-vous un meilleur système?

Était-ce utile?

La solution

La communication hors bande est la voie à suivre.

Par exemple, l'envoi d'un mot de passe temporaire dans SMS peut être acceptable (selon le système). J'ai souvent vu cela implémenté par les télécoms, où les SMS sont peu coûteux / gratuits / intégrés, et le numéro de téléphone portable de l'utilisateur est préenregistré ...

Les banques exigent souvent un appel téléphonique vers / depuis un numéro spécifique, mais personnellement, je ne suis pas trop folle de ça ....

Et bien sûr, selon le système, obliger l'utilisateur à se présenter à la succursale pour s'identifier personnellement peut également fonctionner (agacer simplement royalement l'utilisateur).

En bout de ligne, NE créez PAS un canal plus faible pour contourner les exigences en matière de mot de passe fort.

Autres conseils

L'insécurité de ce que l'on appelle les "questions de sécurité" est connu depuis longtemps. Comme Bruce Schneier le dit :

  

Le résultat est que le protocole de sécurité normal (mots de passe) retombe sur un protocole beaucoup moins sécurisé (questions secrètes). Et la sécurité de l'ensemble du système en souffre.

     

Que peut-on faire? Ma technique habituelle consiste à taper une réponse complètement aléatoire - je tape follement sur mon clavier pendant quelques secondes - puis je l’oublie. Cela garantit qu’un attaquant ne peut pas contourner mon mot de passe et essayer de deviner la réponse à ma question secrète, mais est assez désagréable si j’oublie mon mot de passe. La première fois que cela m'est arrivé, j'ai dû appeler la société pour obtenir la réinitialisation de mon mot de passe et de ma question. (Honnêtement, je ne me souviens pas comment je me suis authentifié auprès du représentant du service clientèle à l'autre bout de la ligne téléphonique.)

Je pense que la meilleure technique consiste simplement à envoyer un e-mail avec un lien permettant de générer un nouveau mot de passe aléatoire sur le compte de messagerie que l'utilisateur a initialement utilisé pour s'enregistrer. S'ils ne demandent pas un nouveau mot de passe, ils peuvent simplement l'ignorer et continuer à utiliser leur ancien. Comme d'autres l'ont fait remarquer, cela n'aurait pas forcément aidé Yahoo, puisqu'ils utilisaient un service de messagerie, mais pour la plupart des autres services, la messagerie constitue une mesure d'authentification décente (en fait, vous imputez le problème de l'authentification fournisseur de messagerie de l'utilisateur).

Bien sûr, vous pouvez simplement utiliser OpenID.

Après avoir vu de nombreuses affiches suggérant un courrier électronique, tout ce que je peux dire, c’est de NE PAS l’utiliser comme moyen de défense.

Il peut être relativement facile de compromettre le compte de messagerie de somebodys. De nombreux services de messagerie basés sur le Web NE PAS offrent non plus une réelle sécurité. Même s'ils offrent le protocole SSL, ce n'est souvent pas le défaut et vous vous fiez toujours à la faiblesse du . email mot de passe pour protéger l'utilisateur (qui, à son tour, a un mécanisme de réinitialisation la plupart du temps).

Le courrier électronique est l’une des technologies les moins sécurisées, et il existe de bonnes bonnes raisons pour lesquelles c’est une très mauvaise idée d’envoyer des informations telles que les détails de carte de crédit. Ils sont généralement transmis entre les serveurs en texte clair, et tout aussi souvent, entre le serveur et le client de bureau également non chiffrés. Il suffit simplement de renifler le fil pour obtenir l’URL de réinitialisation et le déclencher. (Ne dites pas que je suis paranoïaque, car les banques utilisent le cryptage SSL pour une bonne raison. Comment faire en sorte que les 20 à 200 périphériques physiques sur la route aient de bonnes intentions?)

Une fois les données de réinitialisation obtenues, vous pouvez réinitialiser le mot de passe, puis changer votre (leur) adresse e-mail et avoir le contrôle permanent de leur compte (cela se produit tout le temps).

Et s'ils obtiennent votre compte de messagerie, il leur suffit de parcourir votre boîte de réception pour rechercher les abonnés auxquels vous êtes abonné, puis de réinitialiser facilement le mot de passe SUR TOUS

Maintenant, en utilisant la sécurité basée sur la messagerie, vous risquez de créer une faiblesse de sécurité propogative ! Je suis sûr que c'est bénéfique!.

La question posée C’est quasiment impossible, je pense, à faire avec le logiciel seul. C’est la raison pour laquelle nous avons une authentification à deux facteurs avec des clés matérielles qui répondent aux défis avec leur propre signature de clé privée, et seulement si vous perdez votre confiance, et vous devez alors faire face à un humain (oh non) pour obtenir une nouveau.

Cela "dépend" du "système".

  • Si vous êtes une banque ou un fournisseur de cartes de crédit, vous avez déjà émis un jeton physique à votre client contre lequel vous pouvez valider et plus encore.

  • Si vous êtes un site de commerce électronique, vous demandez des transactions récentes. -les montants exacts, le numéro de carte de crédit utilisé, etc.

  • Si vous êtes comme Yahoo, une approche automatisée que j'utiliserais est d'envoyer un code d'activation via un appel téléphonique ou un message texte à la cellule téléphone avec une autre question de base et des réponses.

Jay

Demandez à l’utilisateur de saisir 3 questions et réponses. Lorsqu'ils demandent une réinitialisation, présentez-leur un menu déroulant composé de 5 questions, l'une aléatoire, sur les 3 saisies. Envoyez ensuite un e-mail de confirmation pour réinitialiser le mot de passe.

Bien sûr, rien ne sera vraiment "à l'épreuve des hackers".

Éliminez complètement les questions de sécurité. C’est une faille de sécurité si évidente que je suis un peu étonné que cela leur ait pris tant de temps pour créer un incident grave (bien, très médiatisé).

Jusqu'à ce qu'ils disparaissent, je vais simplement continuer à dire aux sites Web qui les utilisent que je suis allé à " n4weu6vyeli4u5t " lycée ...

Lorsque les utilisateurs sont impliqués (et surtout lorsque ce n'est pas le cas également), il n'y a pas de sécurité. il n'y a que l'illusion de sécurité. Vous ne pouvez pas faire grand chose à ce sujet. Vous pouvez avoir des questions de sécurité «moins communes», mais elles sont même susceptibles d’être exploitées, certaines personnes exposant tout au grand public.

Les canaux secondaires tels que le courrier électronique offrent une solution raisonnable au problème. Si l'utilisateur demande une réinitialisation du mot de passe, vous pouvez lui envoyer un jeton de réinitialisation du mot de passe. Comme d'autres l'ont déjà dit, ce n'est toujours pas parfait, mais pour l'exploiter, l'attaquant devrait se situer quelque part dans la ligne de mire du site Web, de son MTA et des MUA des utilisateurs. C'est techniquement facile, mais je pense que la réalité est que c'est simplement trop de travail / risque pour eux de se soucier de qui que ce soit, sauf de très haut niveau.

Demander à l'utilisateur de fournir les clés publiques SSL ou GPG au moment de la création du compte aidera énormément, mais les utilisateurs désemparés ne sauront pas ce que ces éléments permettent de garder leurs clés privées sécurisées et sauvegardées afin de ne pas t les perdre.

Demander à l'utilisateur de fournir un deuxième mot de passe d'urgence (un peu comme PIN / PUK sur les cartes SIM de téléphones mobiles) peut aider, mais il est probable que l'utilisateur utilisera le même mot de passe deux fois ou oubliera également le deuxième mot de passe.

Réponse courte, vous êtes SOL, sauf si vous souhaitez informer vos utilisateurs sur la sécurité, puis les frapper avec un bâton de frappe jusqu'à ce qu'ils se rendent compte qu'il est nécessaire d'être en sécurité et que le peu de travail supplémentaire nécessaire ne suffit pas. douleur dans le cul.

Tout authentifier en envoyant des courriels est une solution raisonnablement efficace. (bien que, dans ce cas, cela n'aurait peut-être pas fonctionné pour Yahoo:)).

Plutôt que de vous mêler de questions de sécurité ou d'autres moyens de récupérer des mots de passe, répondez simplement aux demandes de récupération de mot de passe en envoyant un courrier électronique à un compte de messagerie prédéfini avec un lien d'autorisation. À partir de là, vous pouvez changer les mots de passe ou ce que vous devez faire (n'envoyez jamais le mot de passe - vous devriez toujours le stocker comme un hachage salé, changez-le toujours. Ensuite, si le compte de messagerie a été compromis, au moins, il y a une indication à l'utilisateur ayant accédé à leurs autres services)

La vraie réponse est qu’il n’ya pas de moyen infaillible de garder les pirates informatiques à l’écart. Je déteste les questions de sécurité, mais si vous allez les utiliser, permettez aux questions de sécurité définies par l'utilisateur. En tant qu'utilisateur, si je dois poser une question de sécurité sur un site pour créer un compte, j'aime vraiment avoir la possibilité de configurer ma propre question de sécurité pour pouvoir poser une question à laquelle je suis le seul à pouvoir répondre. Cela ne doit même pas être une vraie question dans ce cas. Mais un compte d'utilisateur est alors aussi sécurisé que la stupidité de l'utilisateur et le fait que de nombreux utilisateurs vont utiliser quelque chose comme "question". et "répondez!" ou quelque chose d'aussi stupide. Vous ne pouvez pas sauver les utilisateurs de leur propre stupidité.

Traiter ces questions de sécurité comme une authentification à deux facteurs est totalement trompeur. A partir d'éléments parasites lus auparavant, lorsque certains sites (banques) étaient tenus de disposer d'une "authentification à deux facteurs". ils ont commencé à implémenter ceci comme un moyen bon marché de le faire. Bruce Schneier en a parlé [pendant tout le temps] [1].

Plusieurs facteurs sont les meilleures choses qui ne sont pas identiques. Il ne devrait pas s'agir de toutes les choses que vous "connaissez". mais quelque chose que vous savez et quelque chose que vous avez, etc. C'est là que les jetons d'authentification matérielle, les cartes à puce et autres dispositifs similaires entrent en jeu.

[1]: http://www.schneier.com /blog/archives/2005/03/the_failure_of.html : échec de l’authentification à deux facteurs

lorsqu'il ne s'agit pas d'un système de messagerie, envoyez-leur un lien vers une page sécurisée, avec un hachage qui doit revenir dans la chaîne de requête pour réinitialiser le mot de passe.

Ensuite, si quelqu'un essayait de réinitialiser votre mot de passe, vous le sauriez et il ne serait pas en mesure de deviner le hachage potentiellement.

Nous utilisons 2 guids multipliés ensemble, représentés par un hexagone.

Eh bien, pour l'un, il ne faut pas réinitialiser directement le mot de passe mais envoyer un e-mail avec un lien pour réinitialiser le mot de passe. Ainsi, elle aurait reçu le courrier électronique et su que ce n’était pas elle qui avait initié la réinitialisation et que sa question / réponse avait été compromise.

Si l'adresse e-mail n'est plus valide, vous devez attendre un délai d'attente (quelques jours ou une semaine) avant d'autoriser l'attachement d'un nouvel e-mail à un compte.

Envoyez un message à un autre compte de messagerie, envoyez un SMS à leur téléphone portable, appelez-le ou envoyez un message électronique. Tout ce qui ne concerne pas les dossiers publics ou les préférences qui peuvent changer à tout moment.

Les bonnes questions de sécurité sont abusives. Ils créent en réalité une vulnérabilité dans un système. Nous devrions les appeler des questions sécurisées. Cependant, reconnaissant le risque et la valeur qu’elles apportent, "bonnes" les questions de sécurité doivent avoir 4 caractéristiques:    1. ne peut pas être facilement deviné ou recherché (sûr),    2. ne change pas dans le temps (stable),    3. est mémorable,    4. est définitif ou simple. Vous pouvez en savoir plus à ce sujet sur http://www.goodsecurityquestions.com .

Voici une liste des bonnes questions de sécurité .

Les questions secrètes de l’OMI ne doivent être utilisées que comme contrôle très faible avec une limite de temps dans le cadre d’un système. Ex: système de réinitialisation de mot de passe.

  1. Vous êtes authentifié. Enregistrez votre numéro de téléphone mobile et votre réponse secrète (pas si secrète).

  2. Vous oubliez votre mot de passe.

  3. Vous demandez de le déverrouiller.

a) Votre " Pas si secret " question vous demande la "réponse pas si secrète". b) Le cas échéant, un message texte est envoyé au téléphone préenregistré.

De cette façon, si votre téléphone est volé et que des commandes telles que le verrouillage / verrouillage du téléphone ne fonctionnent pas. L’attaquant aura toujours une mesure d’obscurcissement lui permettant de réinitialiser le mot de passe jusqu’à ce qu’il soit signalé que le téléphone est perdu / volé et peut être désactivé.

Cet usage est ce que je pense être le seul objectif du "pas si secret" questions / réponses.

Je dirais donc qu’il ya une place dans ce monde pour eux et qu’un système doit normalement faire l’objet d’une discussion.

Ne fournissez que des questions qui ne figurent pas dans le dossier public.

envoyez toujours le mot de passe réinitialisé à un compte de messagerie enregistré (ce qui est délicat pour un compte de messagerie) ou envoyez un code PIN à un téléphone mobile enregistré, ou un lien vers une adresse de messagerie instantanée, etc. - enregistrez essentiellement des informations de contact secondaires lors de l'inscription et utilisez-le pour envoyer un lien 'réinitialisation du mot de passe'.

Ne laissez jamais personne changer son mot de passe directement, assurez-vous toujours qu'il passe par une étape supplémentaire.

Pourquoi ne pas demander aux utilisateurs de saisir leur propre question de sécurité et leur réponse, ainsi qu'un courrier électronique secondaire (et non celui où le lien de réinitialisation du mot de passe est envoyé). Stockez la question et la réponse de sécurité hachées dans la base de données pour cette étape supplémentaire de sécurité.

Si l'utilisateur oublie son mot de passe, envoyez le lien de réinitialisation du mot de passe à son courrier électronique principal . L'utilisateur clique ensuite sur le lien qui redirige et demande la question de sécurité et la réponse. Si cette étape réussit, autorisez l'utilisateur à réinitialiser son mot de passe. Si l'utilisateur oublie la question / réponse de sécurité, envoyez un lien à réinitialiser la question / réponse de sécurité au courriel secondaire de l'utilisateur .

Si l'attaquant a accès à l'un des e-mails, il sera toujours inutile sans accès à l'autre (il est très peu probable que l'attaquant puisse accéder aux deux). Je sais que ce processus nécessite beaucoup de travail supplémentaire pour les développeurs et les utilisateurs, mais je pense que cela en vaut la peine. (Nous pourrions peut-être donner aux utilisateurs une option recommandée pour activer la question / réponse de sécurité s'ils ont besoin de cette sécurité supplémentaire.)

L’essentiel, c’est que la force ou la faiblesse de ce système dépendra beaucoup de l’utilisateur. La force de la question / réponse de sécurité et la qualité de "non lié" des deux courriels (c’est-à-dire qu’il n’ya aucun moyen d’accéder à un courrier électronique par l’autre) décidera de la force de ce système.

Je ne sais pas s'il y a des problèmes avec cette façon de faire, mais s'il y en avait, je serais heureux si quelqu'un pouvait les signaler:)

Je préfère garder les choses simples et utiliser une approche fondée sur le système des honneurs. Par exemple, je vais présenter à l'utilisateur quelque chose comme,

  

Est-ce vraiment vous? Sélectionnez: Oui ou Non .

Générez un hachage contenant le nom d'utilisateur et le mot de passe de la personne et envoyez-le par Https à l'utilisateur sous forme de fichier. L'utilisateur enregistre le fichier sur le disque. Il leur incombe de stocker ce fichier dans un emplacement sécurisé. Sinon, vous pouvez l'envoyer à leur adresse électronique, mais cela entraînera une sécurité moindre. Si l'utilisateur oublie ses informations d'identification, il doit alors télécharger ce fichier. Une fois que le serveur a vérifié le nom d'utilisateur et le mot de passe, une boîte de dialogue permettant de modifier leur mot de passe s'affiche.

En raison de l'évolution des médias sociaux, les questions de sécurité posées par les sites Web sont trop faciles à résoudre. Étant donné que la plupart des questions sont des informations personnelles facilement disponibles sur les plates-formes de médias sociaux. Une des solutions pour éviter le piratage de compte consiste à rendre les règles de mot de passe strictes pour la connexion, telles que l'ajout de caractères spéciaux, de chiffres, de lettres majuscules, etc. Ce type de mot de passe est difficile à décoder et peut renforcer la sécurité dans une large mesure. Mais il existe de nouvelles méthodes alternatives, telles que l'authentification multi-facteurs, la connexion sans mot de passe, l'authentification SMS, etc. L'authentification SMS fait partie de l'authentification multi-facteurs lorsqu'un utilisateur reçoit un mot de passe à usage personnel sur son téléphone portable qu'il doit entrer pour pouvoir pour vous connecter à un site Web. C'est un moyen sécurisé puisque l'accès du mobile est limité à l'utilisateur (la plupart du temps). Une autre méthode d’authentification à plusieurs facteurs consiste à envoyer un lien de vérification à un courrier électronique afin de terminer la procédure de connexion. Il existe un blog très bien écrit sur ce sujet à l'adresse moyen qui explique ce concept de manière détaillée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top