{"id":14668,"date":"2020-04-07T19:51:16","date_gmt":"2020-04-07T22:51:16","guid":{"rendered":"https:\/\/www.kaspersky.com.br\/blog\/?p=14668"},"modified":"2020-04-07T20:30:49","modified_gmt":"2020-04-07T23:30:49","slug":"username-enumeration-attack","status":"publish","type":"post","link":"https:\/\/www.kaspersky.com.br\/blog\/username-enumeration-attack\/14668\/","title":{"rendered":"Os perigos dos ataques de enumera\u00e7\u00e3o"},"content":{"rendered":"<p>Recentemente, ao auditar uma plataforma blockchain em busca de vulnerabilidades, nossos especialistas da <a href=\"https:\/\/www.kaspersky.com.br\/enterprise-security\/blockchain-security\" target=\"_blank\" rel=\"noopener\">Kaspersky Blockchain Security<\/a> descobriram que o processo de recupera\u00e7\u00e3o de senha era vulner\u00e1vel a um ataque por meio da enumera\u00e7\u00e3o de nomes de usu\u00e1rio. Os desenvolvedores web precisam estar atentos a esse tipo de ataque e seus perigos.<\/p>\n<h2>O que \u00e9 um ataque de enumera\u00e7\u00e3o?<\/h2>\n<p>Aplicativos web com autentica\u00e7\u00e3o de senha e login geralmente incluem v\u00e1rios componentes que interagem com o banco de dados do usu\u00e1rio: a janela de login (por motivos \u00f3bvios), o formul\u00e1rio de cadastro (para evitar duplica\u00e7\u00e3o de nomes de usu\u00e1rio) e a p\u00e1gina de redefini\u00e7\u00e3o de senha (para garantir a exist\u00eancia da conta correspondente). Se os desenvolvedores web n\u00e3o implementarem esses recursos com a devida seguran\u00e7a, os invasores poder\u00e3o us\u00e1-los para determinar se consta um nome de usu\u00e1rio espec\u00edfico no banco de dados.<\/p>\n<p>No passado, era comum os desenvolvedores implementarem todos esses recursos sem nenhuma prote\u00e7\u00e3o, e os cibercriminosos podiam usar uma lista de nomes de usu\u00e1rios e um programa que os introduzia um por um. Com o tempo, para afastar poss\u00edveis hackers, os desenvolvedores come\u00e7aram a aplicar truques de prote\u00e7\u00e3o, como captcha, limites no n\u00famero de tentativas de login e o uso de asteriscos ou outros meios para ocultar certos detalhes da resposta.<\/p>\n<p>Nos aplicativos web de hoje em dia, a janela de login geralmente possui esse tipo de prote\u00e7\u00e3o. No entanto, \u00e0s vezes n\u00e3o h\u00e1 formul\u00e1rios de registro e p\u00e1ginas de redefini\u00e7\u00e3o de senha. Al\u00e9m disso, os desenvolvedores nem sempre consideram que a presen\u00e7a ou aus\u00eancia de um usu\u00e1rio no banco de dados pode ser determinada pelo tempo da resposta do servidor. Por exemplo, se o nome do usu\u00e1rio aparecer no banco de dados, a resposta do servidor levar\u00e1 2 milissegundos. Caso contr\u00e1rio, a resposta leva o dobro do tempo \u2013 4 milissegundos. Para um ser humano, a diferen\u00e7a \u00e9 indetect\u00e1vel, mas f\u00e1cil de ser percebida pelas ferramentas de enumera\u00e7\u00e3o automatizadas.<\/p>\n<h2>Os perigos de um ataque de enumera\u00e7\u00e3o com nome de usu\u00e1rio<\/h2>\n<p>Um ataque de enumera\u00e7\u00e3o permite a um hacker verificar se existe um nome no banco de dados. Isso n\u00e3o permitir\u00e1 o login imediato, mas fornece metade da informa\u00e7\u00e3o necess\u00e1ria. Por exemplo, para configurar um ataque de for\u00e7a bruta, em vez de pesquisar por pares de login e senha, tudo o que precisam \u00e9 de uma senha correspondente para um nome de usu\u00e1rio verificado, economizando tempo e esfor\u00e7o.<\/p>\n<p>Lembre-se tamb\u00e9m de que quase todos os servi\u00e7os usam endere\u00e7os de e-mail como nomes de usu\u00e1rio. Portanto, o usu\u00e1rio m\u00e9dio possui um login para muitos sites e nem todos os sites levam a seguran\u00e7a igualmente a s\u00e9rio; not\u00edcias de <a href=\"https:\/\/www.kaspersky.com.br\/blog\/data-breach-stress\/10530\/\" target=\"_blank\" rel=\"noopener\">vazamentos de combina\u00e7\u00f5es de login<\/a> e senha s\u00e3o deprimentemente comuns. <a href=\"https:\/\/www.kaspersky.com.br\/blog\/collection-numba-one\/11256\/\" target=\"_blank\" rel=\"noopener\">Cole\u00e7\u00f5es consolidadas<\/a> de dados desses vazamentos est\u00e3o dispon\u00edveis em f\u00f3runs de mensagens de hackers. Al\u00e9m disso, as pessoas tendem a usar as mesmas senhas em sites diferentes; portanto, depois de garantir que exista um nome de usu\u00e1rio no site, um invasor pode buscar em um acervo desses e ver se as senhas do mesmo usu\u00e1rio existem em outros sites \u2013 e depois tentar essas senhas.<\/p>\n<p>Al\u00e9m disso, os operadores de <a href=\"https:\/\/www.kaspersky.com.br\/blog\/what-is-spearphishing\/9933\/\" target=\"_blank\" rel=\"noopener\"><em>spear phishing<\/em><\/a> costumam usar ataques de enumera\u00e7\u00e3o durante a fase de reconhecimento. Depois de verificar se o alvo tem uma conta em um determinado servi\u00e7o, podem enviar um e-mail que parece vir de voc\u00ea, solicitando ao usu\u00e1rio que altere sua senha e fa\u00e7a o link para uma p\u00e1gina de phishing parecida com o site original. Quando o cliente desavisado digita uma nova senha, tamb\u00e9m \u00e9 preciso confirmar a antiga \u2013 e, assim, fornecer aos golpistas tudo o que precisam.<\/p>\n<h2>Como se proteger contra um ataque de enumera\u00e7\u00e3o<\/h2>\n<p>Voc\u00ea j\u00e1 reparou como os sites atuais respondem ao envio de um formul\u00e1rio de redefini\u00e7\u00e3o de senha? Eles n\u00e3o dizem \u201cUm link para redefinir sua senha foi enviado a voc\u00ea\u201d ou \u201cO e-mail especificado n\u00e3o est\u00e1 em nosso banco de dados\u201d, como costumava ser. Em vez disso, escrevem: \u201cSe este e-mail existir em nosso banco de dados, enviaremos uma mensagem com um link\u201d. Em outras palavras, os sites n\u00e3o confirmam ou negam explicitamente a exist\u00eancia do nome de usu\u00e1rio. Essa altera\u00e7\u00e3o foi feita especificamente para proteger os usu\u00e1rios contra ataques de enumera\u00e7\u00e3o.<\/p>\n<p>Da mesma forma, n\u00e3o \u00e9 necess\u00e1rio explicar em detalhes na janela de login que o usu\u00e1rio digitou uma senha incorreta ou que esse nome de usu\u00e1rio n\u00e3o existe no sistema. Basta dizer que a combina\u00e7\u00e3o de login \/ senha n\u00e3o foi encontrada. N\u00e3o \u00e9 o ideal do ponto de vista de experi\u00eancia do usu\u00e1rio \u2013 eu fico exasperado quando esque\u00e7o qual e-mail usei para cadastro, mesmo tendo certeza da senha ou vice-versa, mas o site n\u00e3o me d\u00e1 nenhuma pista sobre qual campo eu errei. No entanto, a seguran\u00e7a quase sempre tem o custo do conforto e, no caso de servi\u00e7os de autentica\u00e7\u00e3o, torna-se um pequeno pre\u00e7o para um ganho maior.<\/p>\n<p>Obviamente, o uso de um captcha e as limita\u00e7\u00f5es nas tentativas de login tamb\u00e9m s\u00e3o obrigat\u00f3rios. Al\u00e9m disso, para garantir a seguran\u00e7a do seu aplicativo web, recomendamos a realiza\u00e7\u00e3o de uma auditoria de terceiros. E se voc\u00ea estiver na tecnologia blockchain, nossos colegas do <a href=\"https:\/\/www.kaspersky.com.br\/enterprise-security\/blockchain-security\" target=\"_blank\" rel=\"noopener\">Kaspersky Blockchain Security<\/a> podem ajudar na an\u00e1lise de seguran\u00e7a de aplicativos web.<br>\n<input type=\"hidden\" class=\"category_for_banner\" value=\"b2cpromo\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Enquanto auditavam aplica\u00e7\u00f5es web, nossos especialistas encontraram uma vulnerabilidade para ataques de enumera\u00e7\u00e3o. Descrevemos o problema e explicamos como combate-lo.<\/p>\n","protected":false},"author":700,"featured_media":14671,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1119,1655],"tags":[2229,616,1185,2230],"class_list":{"0":"post-14668","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-business","8":"category-enterprise","9":"tag-aplicacoes-da-web","10":"tag-blockchain","11":"tag-business","12":"tag-desenvolvimento-web"},"hreflang":[{"hreflang":"pt-br","url":"https:\/\/www.kaspersky.com.br\/blog\/username-enumeration-attack\/14668\/"},{"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":"fr","url":"https:\/\/www.kaspersky.fr\/blog\/username-enumeration-attack\/14598\/"},{"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.com.br\/blog\/tag\/business\/","name":"Business"},"_links":{"self":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts\/14668","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/users\/700"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/comments?post=14668"}],"version-history":[{"count":2,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts\/14668\/revisions"}],"predecessor-version":[{"id":14673,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts\/14668\/revisions\/14673"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/media\/14671"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/media?parent=14668"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/categories?post=14668"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/tags?post=14668"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}