1. Início
  2. Explorar
  3. Informática
  4. Segurança da Informação
  5. Gerenciamento de Senhas

Gerenciamento de Senhas - Informática | Tuco-Tuco

Aula de Informática (Segurança da Informação): Gerenciamento de Senhas. Boas práticas para criação, armazenamento e gerenciamento seguro de senhas. Estude gratuitamente para concursos públicos e OAB no Tuco-Tuco.

Gerenciamento de Senhas: Boas Práticas, Ameaças e Soluções A Importância das Senhas na Segurança da Informação As senhas são o método de autenticação mais difundido para controlar o acesso a sistemas, aplicações, dispositivos e dados. Uma senha fraca, reutilizada ou mal armazenada pode comprometer não apenas uma conta, mas toda uma infraestrutura, permitindo que atacantes acessem informações sensíveis, realizem transações financeiras não autorizadas, instalem malwares ou avancem lateralmente em uma rede corporativa. O gerenciamento adequado de senhas é, portanto, uma das práticas mais críticas da segurança da informação, abrangendo desde a criação de senhas robustas até o armazenamento seguro, a troca periódica e o uso de autenticação adicional (multifator). Para concursos e vestibulares, o candidato deve conhecer os conceitos de hashing, salting, ataques a senhas (força bruta, dicionário, rainbow tables), gerenciadores de senhas e políticas de senhas. Características de Senhas Fortes Uma senha forte é aquela que resiste a ataques automatizados de adivinhação e é difícil de ser descoberta por engenharia social. As principais características são: Comprimento suficiente: Quanto maior, melhor. Recomenda-se no mínimo 12 caracteres (preferencialmente 14 ou mais). O comprimento tem mais impacto na resistência a ataques de força bruta do que a complexidade, especialmente contra ataques offline. Complexidade (opcional, mas recomendada): Combinação de letras maiúsculas e minúsculas, números e caracteres especiais (!@#$%^&*). No entanto, senhas muito longas e complexas podem ser difíceis de memorizar, levando a comportamentos inseguros (anotar em post-its). Por isso, as diretrizes atuais (NIST SP 800-63B) enfatizam o comprimento e a ausência de padrões previsíveis, em vez de regras arbitrárias de complexidade que forçam o usuário a escolher “Password123!”. Imprevisibilidade: Evitar palavras do dicionário (em qualquer idioma), nomes próprios, datas de aniversário, sequências de teclado (qwerty, 123456), repetições (aaaaaa) ou informações pessoais (nome do pet, placa do carro). Não reutilização: Cada conta deve ter uma senha única. A reutilização faz com que o comprometimento de um serviço (ex.: vazamento de dados de um fórum) exponha todas as outras contas que usam a mesma senha. Exemplo de senha forte (mas memorizável): (17 caracteres, combina palavras comuns em português com símbolo e número). Melhor ainda: usar uma frase longa (passphrase) como (fácil de lembrar, difícil de quebrar). Ameaças a Senhas 3.1. Ataque de Força Bruta (Brute Force) O atacante tenta todas as combinações possíveis de caracteres até encontrar a senha. A eficácia depende do comprimento da senha e do conjunto de caracteres. Uma senha de 8 caracteres com apenas letras minúsculas (26^8 ≈ 208 bilhões) pode ser quebrada em horas por hardware moderno (GPUs). Já uma senha de 12 caracteres com letras maiúsculas, minúsculas, números e símbolos (94^12 ≈ 10^24) leva bilhões de anos com a tecnologia atual. Sistemas online geralmente limitam tentativas por segundo (rate limiting) ou bloqueiam após tentativas falhas, inviabilizando força bruta online. O ataque de força bruta offline (sobre um hash de senha obtido) é mais perigoso. 3.2. Ataque de Dicionário O atacante usa uma lista de palavras comuns, senhas vazadas, variações (admin, password, 123456, letra+ano) e suas combinações. A lista pode conter milhões de entradas. Ataques de dicionário são muito mais rápidos que força bruta pura e frequentemente bem-sucedidos contra senhas fracas. 3.3. Ataque com Tabelas Rainbow (Rainbow Tables) Tabelas pré-computadas que contêm hashes de senhas comuns e suas respectivas senhas em texto claro. O atacante captura o hash de uma senha (ex.: do arquivo /etc/shadow ou do banco de dados) e procura o hash na tabela; se encontrar, a senha está revelada. A defesa contra rainbow tables é o uso de sal (salt) – um valor aleatório único por senha, que é combinado com a senha antes do hashing. Com salt, a pré-computação se torna inviável, pois cada senha teria um hash diferente mesmo que a senha seja idêntica. 3.4. Sniffing (Interceptação de Rede) Se a senha for transmitida em texto plano (ex.: HTTP sem TLS, Telnet, FTP), um atacante na mesma rede pode capturá-la facilmente. O uso de protocolos criptografados (HTTPS, SSH, SFTP) protege contra sniffing. 3.5. Phishing e Engenharia Social O atacante engana o usuário para que ele digite sua senha em um site falso (página clonada de banco, e-mail falso do suporte técnico). Mesmo senhas fortes são inúteis se o usuário as entrega voluntariamente. Treinamento de conscientização e autenticação multifator são as principais defesas. 3.6. Keylogging Malware que registra cada tecla digitada, capturando senhas quando o usuário as digita. Proteção: antivírus, não executar programas não confiáveis, usar teclado virtual para dados críticos. 3.7. Reutilização de Senhas (Credential Stuffing) O atacante obtém listas de credenciais vazadas de um serviço (ex.: violação de dados de um fórum) e tenta usá-las em outros serviços populares (bancos, redes sociais, e-mail). Muitos usuários reutilizam senhas, tornando esse ataque muito eficaz. Armazenamento Seguro de Senhas (Hashing e Salt) Sistemas e aplicações nunca devem armazenar senhas em texto claro. O padrão de segurança é armazenar apenas o hash da senha, combinado com um salt único. 4.1. Hash (Função de Resumo) Uma função hash criptográfica (SHA-256, SHA-3, bcrypt, Argon2) transforma uma entrada (a senha) em uma string de comprimento fixo (o hash). A função é unidirecional: não é possível obter a senha original a partir do hash (exceto por ataques de força bruta). Exemplo (simplificado): . 4.2. Salt Salt é um valor aleatório (geralmente de 16 a 32 bytes) gerado para cada usuário. Antes de aplicar o hash, o sistema concatena a senha com o salt (ex.: ). O salt é armazenado junto com o hash (em texto claro). A função do salt é garantir que senhas idênticas produzam hashes diferentes, frustrando ataques com rainbow tables. Além disso, o salt torna o ataque de força bruta mais caro, pois o atacante precisa recalcular hashes para cada salt diferente. 4.3. Funções de Hash Específicas para Senhas Funções como SHA-256 foram projetadas para serem rápidas, o que é ruim para hashing de senhas (um atacante pode testar bilhões de combinações por segundo). Por isso, utilizam-se funções intencionalmente lentas e com parâmetros de custo ajustáveis: bcrypt: Baseado no algoritmo Blowfish. Inclui salt e um fator de custo (número de iterações). É resistente a ataques com GPU/FPGA. PBKDF2 (Password-Based Key Derivation Function 2): Aplica a função hash (ex.: SHA-256) muitas vezes (iterações). Padrão em muitos sistemas (ex.: Windows, macOS, Android). Argon2: Vencedor do concurso de hashing de senhas de 2015. Possui parâmetros de memória, tempo e paralelismo, sendo resistente a ataques com hardware especializado (ASIC, FPGA). É a função mais recomendada atualmente. 4.4. Exemplo de Armazenamento em /etc/shadow (Linux) Cada linha armazena: . O indica o algoritmo (1 = MD5, 2a = bcrypt, 5 = SHA-256, 6 = SHA-512). Exemplo: . O significa SHA-512, é o salt. Gerenciadores de Senhas (Password Managers) Um gerenciador de senhas é um software que armazena todas as senhas do usuário em um cofre criptografado, protegido por uma senha mestra (única e muito forte). O gerenciador preenche automaticamente os campos de login em sites e aplicativos, evitando que o usuário precise memorizar dezenas de senhas diferentes. As principais vantagens: Senhas únicas e aleatórias para cada serviço: O gerenciador pode gerar senhas fortes (ex.: ), sem que o usuário precise decorá-las. Preenchimento automático: Reduz o risco de phishing, pois o gerenciador só preenche em URLs legítimas (verifica o domínio). Sincronização entre dispositivos: (em soluções baseadas em nuvem) – as senhas ficam disponíveis no computador, smartphone e tablet. Auditoria de senhas: Muitos gerenciadores identificam senhas fracas, reutilizadas ou vazadas (verificando contra bancos de dados de violações). 5.1. Tipos de Gerenciadores Local (offline): O cofre é armazenado localmente (ex.: KeePass, KeePassXC). O usuário é responsável por backup e sincronização manual. Mais controle, mas menos conveniente. Baseado em nuvem (online): O cofre é armazenado nos servidores do provedor (ex.: Bitwarden, 1Password, Dashlane, LastPass). Oferece sincronização automática e acesso via navegador. Requer confiança no provedor (criptografia ponta a ponta é essencial – o provedor não deve ter acesso à senha mestra). Integrado ao navegador/sistema: Navegadores (Chrome, Edge, Firefox) possuem gerenciadores de senhas embutidos, mas com menos recursos e segurança questionável (as senhas podem ser acessadas por qualquer pessoa com acesso ao sistema operacional, a menos que o navegador tenha senha mestra). 5.2. Melhores Práticas com Gerenciadores Escolher um gerenciador de código aberto e auditado (Bitwarden, KeePass) ou com boa reputação (1Password). Usar uma senha mestra muito forte (frase longa, única, não usada em nenhum outro lugar). Habilitar autenticação multifator (MFA) para acessar o cofre (ex.: YubiKey, TOTP). Manter backups do cofre (exportação criptografada) em local seguro. Não usar o gerenciador de senhas do navegador para senhas muito críticas (bancos, e-mail), pois muitos não criptografam a senha mestra adequadamente. Autenticação Multifator (MFA) como Camada Adicional MFA é a exigência de dois ou mais fatores de autenticação independentes: Algo que você sabe: senha, PIN. Algo que você tem: token físico (YubiKey), smartphone (código TOTP via Google Authenticator, Authy), cartão inteligente, SMS (menos seguro devido a ataques de SIM swap). Algo que você é: biometria (impressão digital, reconhecimento facial, íris). Mesmo que a senha seja comprometida, o atacante não consegue acessar sem o segundo fator. A MFA é obrigatória para contas críticas (e-mail principal, administração de sistemas, serviços financeiros). O padrão mais seguro é o WebAuthn (chaves de segurança físicas), seguido por TOTP (aplicativos autenticadores). SMS é considerado fraco e deve ser evitado quando possível. Políticas de Senhas em Organizações Empresas e órgãos públicos devem implementar políticas de senhas alinhadas com as melhores práticas atuais (NIST SP 800-63B, ISO 27002). Diretrizes modernas: Comprimento mínimo de 8 caracteres (recomenda-se 12 ou mais). Não exigir composição arbitrária (maiúscula, número, símbolo) se a senha for longa o suficiente. Permitir senhas de até 64 caracteres (frases longas são bem-vindas). Bloquear senhas fracas comuns (ex.: “password”, “123456”, nome da empresa). Manter lista de senhas proibidas. Não expirar senhas periodicamente sem necessidade (a menos que haja evidência de comprometimento). A troca forçada a cada 90 dias incentiva senhas previsíveis (Ex.: “Julho2025”, “Agosto2025”). Exigir troca de senha imediatamente se houver suspeita de vazamento. Armazenar senhas usando hashing com salt (bcrypt, Argon2). Nunca armazenar em texto claro. Implementar MFA para todos os acessos privilegiados e remotos. Exibir mensagem de última troca de senha e permitir que o usuário a troque quando desejar. Não permitir que o usuário reutilize as últimas X senhas (ex.: 5) – útil se a troca periódica for adotada. Senhas Descartáveis e Single Sign-On (SSO) Senhas descartáveis (OTP – One-Time Password): Geradas por tokens ou aplicativos (ex.: Google Authenticator). Válidas por curto período (30-60 segundos) e apenas uma vez. Usadas como segundo fator ou como senha principal em sistemas de alta segurança. SSO (Single Sign-On): O usuário autentica-se uma vez (ex.: com senha forte + MFA) e ganha acesso a múltiplos serviços (ex.: Google Workspace, Microsoft 365, aplicações corporativas via SAML, OAuth). Reduz o número de senhas que o usuário precisa gerenciar, mas concentra o risco na conta SSO (por isso a MFA é obrigatória). Exemplos Práticos e Ferramentas 9.1. Gerando senha forte manualmente Escolha uma frase fácil de lembrar: . Transforme em senha: (32 caracteres, fácil de digitar, difícil de quebrar). 9.2. Verificando se sua senha foi vazada Sites como (HIBP) permitem verificar se um endereço de e-mail ou senha (hash) consta em violações de dados conhecidas. Use a versão de hash anônimo para não enviar a senha real. 9.3. Configurando MFA no Google/Gmail Acesse → Segurança → Verificação em duas etapas. Escolha método: Google Authenticator (TOTP), chave de segurança (USB/NFC), ou prompt do Google (notificação no smartphone). Salve os códigos de backup em local seguro (offline). 9.4. Usando um gerenciador de senhas (Bitwarden, gratuito) Crie uma conta (ou use versão auto-hospedada). Instale a extensão do navegador e o aplicativo móvel. Defina uma senha mestra forte (ex.: frase de 4 palavras). Comece a adicionar logins (manualmente ou importando do navegador). Use o gerador de senhas integrado para criar senhas aleatórias para cada serviço. Quadro Comparativo: Métodos de Autenticação | Método | Fator | Segurança | Facilidade de uso | Exemplo | |--------|-------|-----------|-------------------|---------| | Senha (texto claro) | Sabe | Baixa (se fraca) | Alta | | | Senha forte + hashing | Sabe | Média (se única) | Média (memorização) | | | TOTP (aplicativo) | Tem | Alta (contra phishing) | Média | Google Authenticator | | Chave de segurança (WebAuthn) | Tem | Muito alta | Alta (física) | YubiKey | | Biometria (impressão digital) | É | Média (pode ser copiada) | Alta | Touch ID, Windows Hello | Considerações Finais O gerenciamento de senhas é uma disciplina que combina boas práticas de criação, armazenamento seguro (hashing + salt), uso de gerenciadores e autenticação multifator. Para concursos e vestibulares, o candidato deve saber diferenciar hashing de criptografia, entender o papel do salt, conhecer os ataques mais comuns (força bruta, dicionário, rainbow tables, credential stuffing) e as defesas correspondentes. Além disso, é importante conhecer as recomendações do NIST sobre políticas de senhas (evitar expiração forçada, priorizar comprimento) e as vantagens dos gerenciadores de senhas e da MFA. Exercícios: Sobre a reutilização de senhas em diferentes contas, é CORRETO afirmar que: Analise as alternativas a seguir e assinale aquela que representa uma MÁ PRÁTICA de gerenciamento de senhas. Sobre o uso de gerenciadores de senhas, marque a alternativa CORRETA, conforme a aula. Complete a frase: Para inviabilizar o uso de tabelas pré-computadas conhecidas como Rainbow Tables, os sistemas de segurança modernos adicionam um valor aleatório único para cada usuário chamado _____, antes de processar o hash da senha. Complete a frase: O ataque do tipo _____, ocorre quando um invasor utiliza bancos de dados de nomes de usuários e senhas vazados de um serviço específico para tentar obter acesso não autorizado em outras plataformas populares. Complete a frase: Um gerenciador de senhas baseado em nuvem deve obrigatoriamente implementar a _____, garantindo que nem mesmo o provedor do serviço tenha acesso à senha mestra ou ao conteúdo decifrado do cofre. Complete a frase: Na autenticação multifator (MFA), a utilização de um código temporário (TOTP) gerado por um aplicativo como o Google Authenticator é classificada como o fator de segurança baseado em _____. Complete a frase: De acordo com as diretrizes modernas do NIST (SP 800-63B), o fator que mais contribui para a resistência de uma senha contra ataques de força bruta offline é o seu _____, priorizando o uso de frases longas (passphrases). Complete a frase: A técnica de ataque em que o invasor testa sistematicamente palavras de uma lista pré-definida, termos comuns e variações previsíveis para descobrir a senha de um usuário é tecnicamente chamada de _____. Complete a frase: A função de hashing _____, é atualmente a mais recomendada para o armazenamento de senhas por ser resistente a ataques de hardware especializado (GPUs/ASICs) ao exigir o uso intensivo de memória e paralelismo. Complete a frase: No sistema operacional Linux, as informações sobre os hashes das senhas dos usuários e seus respectivos "salts" são armazenadas de forma protegida dentro do arquivo _____. Complete a frase: O mecanismo de _____ permite que um usuário se autentique uma única vez em um diretório central e obtenha acesso a diversos sistemas corporativos distintos sem precisar digitar a senha novamente. Complete a frase: A prática de segurança que exige a expiração de senhas por tempo (ex: a cada 90 dias) tem sido descontinuada por especialistas, pois incentiva tecnicamente os usuários a escolherem _____. Qual afirmação sobre a autenticação em duas etapas (2FA) está correta? Em relação à criação de senhas fortes, assinale a alternativa que apresenta a conduta CORRETA, segundo as recomendações de gerenciamento de senhas.