{"id":14598,"date":"2020-04-07T12:50:07","date_gmt":"2020-04-07T12:50:07","guid":{"rendered":"https:\/\/www.kaspersky.fr\/blog\/?p=14598"},"modified":"2020-04-07T12:50:07","modified_gmt":"2020-04-07T12:50:07","slug":"username-enumeration-attack","status":"publish","type":"post","link":"https:\/\/www.kaspersky.fr\/blog\/username-enumeration-attack\/14598\/","title":{"rendered":"Dangers de l&rsquo;attaque par \u00e9num\u00e9ration"},"content":{"rendered":"<p>Alors que les experts de Kaspersky Blockchain Security testaient une plateforme blockchain pour d\u00e9tecter des vuln\u00e9rabilit\u00e9s, ils ont r\u00e9cemment d\u00e9couvert que le processus de r\u00e9cup\u00e9ration du mot de passe de la plateforme \u00e9tait vuln\u00e9rable. Il pouvait \u00eatre attaqu\u00e9 \u00e0 partir de l\u2019\u00e9num\u00e9ration du nom d\u2019utilisateur. Les d\u00e9veloppeurs Web doivent conna\u00eetre ces attaques et leurs dangers.<\/p>\n<h2>Qu\u2019est-ce qu\u2019une attaque par \u00e9num\u00e9ration ?<\/h2>\n<p>En g\u00e9n\u00e9ral, les applications Web qui utilisent un identifiant et un mot de passe pour s\u2019authentifier comprennent diff\u00e9rents composants qui interagissent avec la base de donn\u00e9es de l\u2019utilisateur\u00a0: fen\u00eatre de connexion (pour des raisons \u00e9videntes), formulaire d\u2019inscription (pour \u00e9viter la duplication des noms d\u2019utilisateur) et page pour r\u00e9initialiser le mot de passe (pour v\u00e9rifier que le compte correspondant existe). Si les d\u00e9veloppeurs Web ne prot\u00e8gent pas suffisamment bien le d\u00e9ploiement de ces fonctions, les cybercriminels peuvent alors s\u2019en servir pour d\u00e9terminer si un certain nom d\u2019utilisateur figure dans la base de donn\u00e9es.<\/p>\n<p>Autrefois, il \u00e9tait assez courant de constater que les d\u00e9veloppeurs mettaient en place toutes ces fonctions sans les prot\u00e9ger, et les pirates informatiques pouvaient utiliser une liste de noms d\u2019utilisateur et un programme qui les saisissait un par un. Avec le temps, et pour se prot\u00e9ger des \u00e9ventuels cybercriminels, \u00a0les d\u00e9veloppeurs ont commenc\u00e9 \u00e0 employer certaines m\u00e9thodes de protection comme le test CAPTCHA, un nombre limit\u00e9 de tentative de connexion et l\u2019utilisation de l\u2019ast\u00e9risque, ou d\u2019un autre symbole, pour cacher certains d\u00e9tails d\u2019une r\u00e9ponse.<\/p>\n<p>Quant aux applications Web modernes, la fen\u00eatre de connexion poss\u00e8de g\u00e9n\u00e9ralement ce genre de protection. Pourtant, les formulaires d\u2019inscription et les pages permettant de r\u00e9initialiser le mot de passe n\u2019en sont parfois pas \u00e9quip\u00e9s. De plus, certains d\u00e9veloppeurs Web ne croient pas que l\u2019on puisse utiliser le temps de r\u00e9ponse du serveur pour d\u00e9terminer si un utilisateur figure ou non dans la base de donn\u00e9es. Par exemple, si le nom d\u2019utilisateur est dans la base de donn\u00e9es le serveur r\u00e9pond en 2 millisecondes. Dans le cas contraire, la r\u00e9ponse est deux fois plus longue (4 millisecondes). Un \u00eatre humain ne peut pas percevoir cette diff\u00e9rence\u00a0; en revanche, les outils d\u2019\u00e9num\u00e9ration automatiques s\u2019en rendent facilement compte.<\/p>\n<h2>Les dangers de l\u2019attaque par \u00e9num\u00e9ration du nom d\u2019utilisateur<\/h2>\n<p>L\u2019attaque par \u00e9num\u00e9ration permet au cybercriminel de v\u00e9rifier si la base de donn\u00e9es contient un nom. Cela ne lui permet pas de se connecter imm\u00e9diatement mais il obtient la moiti\u00e9 des renseignements n\u00e9cessaires. Par exemple, si le pirate informatique veut mettre en place une attaque par force brute, il lui suffit de trouver le mot de passe qui correspond au nom d\u2019utilisateur d\u00e9j\u00e0 v\u00e9rifi\u00e9. Moins de temps perdu et moins de travail puisqu\u2019il n\u2019a pas \u00e0 rechercher les paires identifiants\/mot de passe.<\/p>\n<p>N\u2019oubliez pas que la plupart des services utilisent l\u2019adresse e-mail comme nom d\u2019utilisateur. Par cons\u00e9quent, un utilisateur quelconque a le m\u00eame identifiant sur plusieurs sites Internet. Pourtant, certaines pages ne prennent pas la s\u00e9curit\u00e9 au s\u00e9rieux. Il est d\u00e9sesp\u00e9r\u00e9ment courant d\u2019entendre que certains identifiants, et les mots de passe correspondants, ont \u00e9t\u00e9 divulgu\u00e9s. On trouve des collectes de donn\u00e9es consolid\u00e9es et obtenues lors de ces fuites sur les forums de discussion de cybercriminels. De plus, les gens ont tendance \u00e0 utiliser le m\u00eame mot de passe pour plusieurs services. Apr\u00e8s avoir v\u00e9rifi\u00e9 que le nom d\u2019utilisateur existe sur le site Internet, le pirate informatique peut exploiter ce genre de collectes pour voir si cet utilisateur a des mots de passe diff\u00e9rents sur d\u2019autres sites, puis les essayer.<\/p>\n<p>En outre, les op\u00e9rateurs d\u2019harponnage (spear phishing) r\u00e9alisent souvent des attaques par \u00e9num\u00e9ration en phase de reconnaissance. Apr\u00e8s avoir devin\u00e9 que la cible a un compte pour ce service, ils peuvent envoyer un e-mail en son nom et demander \u00e0 l\u2019utilisateur de modifier son mot de passe en le dirigeant vers une page d\u2019hame\u00e7onnage qui ressemble au site en question. Lorsque le client peu m\u00e9fiant saisit un nouveau mot de passe, il doit d\u2019abord confirmer l\u2019ancien. De cette fa\u00e7on, l\u2019escroc obtient tout ce dont il a besoin.<\/p>\n<h2>Comment se prot\u00e9ger d\u2019une attaque par \u00e9num\u00e9ration<\/h2>\n<p>Avez-vous d\u00e9j\u00e0 remarqu\u00e9 comment les sites Internet actuels vous r\u00e9pondent apr\u00e8s avoir rempli un formulaire pour r\u00e9initialiser votre mot de passe ? Contrairement \u00e0 ce qui se faisait avant, ils ne vous disent pas \u00ab\u00a0Nous vous avons envoy\u00e9 un lien pour que vous puissiez r\u00e9initialiser votre mot de passe\u00a0\u00bb ou \u00ab\u00a0Cette adresse e-mail ne figure pas dans notre base de donn\u00e9es\u00a0\u00bb. Ils vous indiquent plut\u00f4t que \u00ab\u00a0Vous recevrez un message avec un lien si cette adresse e-mail fait partie de notre base de donn\u00e9es\u00a0\u00bb. En d\u2019autres termes, ces sites ne confirment ni ne d\u00e9nient explicitement l\u2019existence du nom d\u2019utilisateur. Ils ont apport\u00e9 ces changements pour prot\u00e9ger les utilisateurs des attaques par \u00e9num\u00e9ration.<\/p>\n<p>Dans le m\u00eame esprit, dans la fen\u00eatre de connexion, il est inutile d\u2019expliquer en d\u00e9tail que l\u2019utilisateur a saisi un mot de passe incorrect, ou que cet identifiant n\u2019existe pas. Il suffit de dire que cette combinaison identifiant\/mot de passe est inconnue. Ce n\u2019est pas la meilleure solution d\u2019un point du vue exp\u00e9rience utilisateur. C\u2019est assez rare, mais je perds patience lorsque je ne sais plus quelle adresse e-mail j\u2019ai utilis\u00e9e pour m\u2019inscrire mais que je suis certain du mot de passe, ou vice versa, et que le site ne me dit pas lequel des deux est incorrect. La s\u00e9curit\u00e9 entra\u00eene toujours une perte virtuelle de confort mais, lorsqu\u2019il s\u2019agit des services d\u2019authentification, la moindre pr\u00e9f\u00e9rence pour la s\u00e9curit\u00e9 est justifi\u00e9e.<\/p>\n<p>Il est \u00e9vident que l\u2019utilisation d\u2019un test CAPTCHA et d\u2019un nombre limit\u00e9 de tentative de connexion sont indispensables. En plus de ces outils, et pour garantir la s\u00e9curit\u00e9 de votre application Web, nous vous conseillons de demander \u00e0 un tiers de r\u00e9aliser un audit. Si vous utilisez des technologies qui reposent sur la blockchain, nos coll\u00e8gues <a href=\"https:\/\/www.kaspersky.fr\/enterprise-security\/blockchain-security\" target=\"_blank\" rel=\"noopener\">Kaspersky Blockchain Security peuvent vous aider \u00e0 \u00e9valuer la s\u00e9curit\u00e9 de votre application Web<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nos experts ont d\u00e9tect\u00e9 une vuln\u00e9rabilit\u00e9 aux attaques par \u00e9num\u00e9ration lorsqu\u2019ils \u00e9valuaient des applications Web. Nous vous expliquons ce probl\u00e8me et comment y faire face.<\/p>\n","protected":false},"author":40,"featured_media":14599,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2112,3150,3151],"tags":[25,2555,3892],"class_list":{"0":"post-14598","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-business","8":"category-enterprise","9":"category-smb","10":"tag-applications-web","11":"tag-blockchain","12":"tag-developpement-web"},"hreflang":[{"hreflang":"fr","url":"https:\/\/www.kaspersky.fr\/blog\/username-enumeration-attack\/14598\/"},{"hreflang":"en-in","url":"https:\/\/www.kaspersky.co.in\/blog\/username-enumeration-attack\/20300\/"},{"hreflang":"en-ae","url":"https:\/\/me-en.kaspersky.com\/blog\/username-enumeration-attack\/16279\/"},{"hreflang":"ar","url":"https:\/\/me.kaspersky.com\/blog\/username-enumeration-attack\/8152\/"},{"hreflang":"en-us","url":"https:\/\/usa.kaspersky.com\/blog\/username-enumeration-attack\/21337\/"},{"hreflang":"en-gb","url":"https:\/\/www.kaspersky.co.uk\/blog\/username-enumeration-attack\/19579\/"},{"hreflang":"es-mx","url":"https:\/\/latam.kaspersky.com\/blog\/username-enumeration-attack\/18335\/"},{"hreflang":"es","url":"https:\/\/www.kaspersky.es\/blog\/username-enumeration-attack\/22322\/"},{"hreflang":"it","url":"https:\/\/www.kaspersky.it\/blog\/username-enumeration-attack\/21222\/"},{"hreflang":"ru","url":"https:\/\/www.kaspersky.ru\/blog\/username-enumeration-attack\/28049\/"},{"hreflang":"tr","url":"https:\/\/www.kaspersky.com.tr\/blog\/username-enumeration-attack\/8044\/"},{"hreflang":"x-default","url":"https:\/\/www.kaspersky.com\/blog\/username-enumeration-attack\/34618\/"},{"hreflang":"pt-br","url":"https:\/\/www.kaspersky.com.br\/blog\/username-enumeration-attack\/14668\/"},{"hreflang":"pl","url":"https:\/\/plblog.kaspersky.com\/username-enumeration-attack\/13269\/"},{"hreflang":"de","url":"https:\/\/www.kaspersky.de\/blog\/username-enumeration-attack\/23670\/"},{"hreflang":"zh","url":"https:\/\/www.kaspersky.com.cn\/blog\/username-enumeration-attack\/11317\/"},{"hreflang":"nl","url":"https:\/\/www.kaspersky.nl\/blog\/username-enumeration-attack\/25243\/"},{"hreflang":"ru-kz","url":"https:\/\/blog.kaspersky.kz\/username-enumeration-attack\/22009\/"},{"hreflang":"en-au","url":"https:\/\/www.kaspersky.com.au\/blog\/username-enumeration-attack\/27193\/"},{"hreflang":"en-za","url":"https:\/\/www.kaspersky.co.za\/blog\/username-enumeration-attack\/27031\/"}],"acf":[],"banners":"","maintag":{"url":"https:\/\/www.kaspersky.fr\/blog\/tag\/blockchain\/","name":"blockchain"},"_links":{"self":[{"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/posts\/14598","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/users\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/comments?post=14598"}],"version-history":[{"count":1,"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/posts\/14598\/revisions"}],"predecessor-version":[{"id":14600,"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/posts\/14598\/revisions\/14600"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/media\/14599"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/media?parent=14598"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/categories?post=14598"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/tags?post=14598"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}