1. Início
  2. Explorar
  3. Informática
  4. Segurança da Informação
  5. Autenticação e Controle de Acesso

Autenticação e Controle de Acesso - Informática | Tuco-Tuco

Aula de Informática (Segurança da Informação): Autenticação e Controle de Acesso. Métodos de autenticação e políticas de controle de acesso para proteger sistemas. Estude gratuitamente para concursos públicos e OAB no Tuco-Tuco.

Autenticação e Controle de Acesso Fundamentos da Autenticação e Autorização A segurança da informação depende de dois processos complementares, porém distintos: autenticação (verificação da identidade) e autorização (concessão de permissões). O controle de acesso é o mecanismo que implementa a autorização, determinando quem pode acessar quais recursos (arquivos, sistemas, dados, funções) e sob quais condições. Autenticação: Responde à pergunta “Você é quem diz ser?”. É o processo de verificar a identidade de um usuário, sistema ou dispositivo com base em credenciais fornecidas (senha, biometria, token, etc.). Autorização: Responde à pergunta “O que você pode fazer?”. Após a autenticação, o sistema consulta políticas de controle de acesso para determinar quais ações o sujeito autenticado pode executar sobre os objetos (leitura, escrita, execução, exclusão, etc.). É importante distinguir também identificação (o ato de declarar quem se é, ex.: digitar um nome de usuário) da autenticação (provar a identidade). Um sistema pode ter identificação sem autenticação (ex.: sites que mostram mensagens personalizadas sem exigir senha), mas para acesso a dados sensíveis, a autenticação é obrigatória. Métodos de Autenticação (Fatores) Os métodos de autenticação são classificados em três categorias (fatores) e suas combinações (autenticação multifator – MFA). 2.1. Fator 1: Algo que Você Sabe (Knowledge Factor) São informações memorizadas pelo usuário. Exemplos: Senhas (passwords) PIN (Personal Identification Number) Frases secretas (passphrases) Respostas a perguntas de segurança (menos seguras, pois podem ser descobertas ou forçadas) Vantagens: Baixo custo, fácil implementação, familiaridade. Desvantagens: Vulnerável a ataques de força bruta, phishing, reutilização, anotação insegura, keylogging. 2.2. Fator 2: Algo que Você Tem (Possession Factor) Objetos físicos ou digitais que o usuário possui. Exemplos: Smartphone com aplicativo autenticador (TOTP – Time-based One-Time Password) Token hardware (YubiKey, RSA SecurID, Google Titan) Cartão inteligente (smart card) com chip criptográfico Cartão de banda magnética (menos seguro) Dispositivo Bluetooth (ex.: carro que autentica chave) Vantagens: Não pode ser adivinhado remotamente; requer posse física para ataque. Desvantagens: Pode ser perdido, roubado ou clonado (em alguns casos). Exige infraestrutura adicional (leitor de cartão, app, etc.). 2.3. Fator 3: Algo que Você É (Inherence Factor) Características biométricas únicas do indivíduo. Exemplos: Impressão digital (Touch ID, leitores capacitivos) Reconhecimento facial (Face ID, Windows Hello) Íris ou retina Geometria da mão Reconhecimento de voz (menos preciso, suscetível a gravação) Assinatura dinâmica (padrão de movimento) Vantagens: Difícil de falsificar (em sistemas bem implementados), não pode ser esquecido ou perdido. Desvantagens: Falso positivo/negativo, privacidade (dados biométricos são imutáveis e sensíveis), custo do sensor, possibilidade de cópia (ex.: impressão digital pode ser capturada de superfície). 2.4. Autenticação Multifator (MFA) MFA exige dois ou mais fatores de categorias diferentes. Exemplos comuns: Senha (sabe) + Código TOTP (tem) – usado por Google Authenticator, Microsoft Authenticator. Senha (sabe) + Chave de segurança USB (tem) – WebAuthn/U2F. Cartão inteligente (tem) + PIN (sabe) – acesso a prédios ou computadores. Impressão digital (é) + senha (sabe) – desbloqueio de celular com biometria após senha. A MFA reduz drasticamente o risco de comprometimento de credenciais, pois mesmo que a senha seja roubada (por phishing, vazamento ou keylogger), o atacante ainda precisa do segundo fator físico (token) ou biométrico. Importante: Códigos enviados por SMS são considerados MFA, mas são mais fracos devido a ataques de SIM swap (transferência fraudulenta do número de telefone) e interceptação SS7. Recomenda-se TOTP (aplicativo) ou chave de segurança em vez de SMS. Protocolos e Padrões de Autenticação 3.1. TOTP (Time-based One-Time Password) Padrão RFC 6238. Gera códigos numéricos de 6 ou 8 dígitos que mudam a cada 30 segundos. Baseia-se em uma chave secreta compartilhada (geralmente codificada em QR Code) e o tempo atual. O servidor e o cliente (aplicativo) calculam o mesmo código. Exemplos: Google Authenticator, Authy, Microsoft Authenticator. 3.2. HOTP (HMAC-based One-Time Password) RFC 4226. Semelhante ao TOTP, mas baseado em contador (evento) em vez de tempo. Cada vez que o código é usado, o contador incrementa. Menos comum que TOTP. 3.3. WebAuthn / FIDO2 Padrão moderno da W3C para autenticação sem senha (passwordless) e MFA. Usa criptografia de chave pública. O usuário registra uma chave de segurança (dispositivo USB/NFC/Bluetooth ou biometria do dispositivo) no site. Durante o login, o site envia um desafio; o dispositivo assina o desafio com a chave privada, que nunca sai do dispositivo. Protege contra phishing porque a assinatura é vinculada ao domínio do site. Exemplos: YubiKey, Windows Hello, Face ID com WebAuthn. 3.4. SAML, OAuth e OpenID Connect São protocolos para autenticação e autorização federadas (Single Sign-On – SSO), não diretamente para autenticação local, mas relevantes no contexto de controle de acesso em sistemas distribuídos. SAML (Security Assertion Markup Language): Usado em ambientes corporativos para SSO baseado em XML. OAuth 2.0: Protocolo de autorização (delegação de acesso) – permite que um aplicativo acesse recursos em nome do usuário sem saber sua senha. OpenID Connect: Camada de autenticação sobre OAuth 2.0, usada por Google, Microsoft, Facebook para “Login com ...”. Modelos de Controle de Acesso Após autenticar o usuário, o sistema deve decidir se ele pode executar determinada ação sobre um objeto (arquivo, registro de banco de dados, função do sistema). Os principais modelos são: 4.1. DAC – Controle de Acesso Discricionário (Discretionary Access Control) No DAC, o proprietário do recurso (quem o criou) tem a discrição de conceder ou revogar permissões a outros usuários. É o modelo padrão em sistemas de arquivos como Windows (NTFS) e Unix/Linux (permissões tradicionais e ACLs). Características: Flexibilidade: o proprietário decide. Risco: um usuário pode (por engano ou malícia) dar acesso indevido. Exemplo: No Linux, dá permissão de leitura/execução para grupo e outros. O proprietário pode alterar a qualquer momento. Implementações: Permissões Unix/Linux tradicionais: 3 conjuntos (owner, group, others) com bits de leitura (r), escrita (w), execução (x). ACLs (Access Control Lists): Extensão que permite listar múltiplos usuários e grupos com permissões específicas. No Linux, e . No Windows, ACLs são nativas no NTFS (cada arquivo/pasta tem uma DACL – Discretionary Access Control List). 4.2. MAC – Controle de Acesso Obrigatório (Mandatory Access Control) No MAC, o sistema operacional impõe uma política global de segurança que não pode ser alterada pelos usuários (nem pelo proprietário do recurso). As decisões de acesso baseiam-se em rótulos de segurança atribuídos a sujeitos (processos) e objetos (arquivos, dispositivos). É comum em ambientes militares e de governo com níveis de classificação (público, sigiloso, secreto, ultrassecreto). Características: Alta segurança, adequado para sistemas que processam informações com diferentes níveis de confidencialidade. Exige administração centralizada. Exemplos: SELinux (Security-Enhanced Linux) no Linux, AppArmor (também MAC, mas baseado em caminhos), Windows Mandatory Integrity Control (MIC – parte do UAC). Funcionamento no SELinux: Cada processo tem um domínio (domain), cada arquivo tem um tipo (type). Regras definem quais domínios podem acessar quais tipos. Mesmo o usuário root pode ter ações restritas pela política MAC. 4.3. RBAC – Controle de Acesso Baseado em Papéis (Role-Based Access Control) No RBAC, as permissões são associadas a papéis (roles), e os usuários são atribuídos a papéis. Um papel representa uma função organizacional (gerente, analista, supervisor, auditor). O usuário herda todas as permissões do papel. Características: Facilita a administração: ao contratar um novo funcionário, atribui-se um papel (ex.: “analista financeiro”), e ele automaticamente ganha todas as permissões necessárias. Permite segregação de funções (SoD – Separation of Duties): um mesmo usuário não pode ter papéis conflitantes (ex.: quem autoriza pagamento não pode ser quem executa o pagamento). Muito utilizado em sistemas empresariais (ERP, CRM), bancos de dados (Oracle, SQL Server), sistemas web. Exemplo: Em um sistema hospitalar, papéis: médico (acesso a prontuários, prescrições), enfermeiro (acesso a administração de medicamentos, sinais vitais), recepcionista (agendamento, cadastro de pacientes). Um médico pode ser promovido a “chefe da clínica” – basta adicionar o novo papel, mantendo o antigo. 4.4. ABAC – Controle de Acesso Baseado em Atributos (Attribute-Based Access Control) Modelo mais flexível e fino, onde as decisões de acesso usam atributos do sujeito (cargo, departamento, localização, horário), do objeto (classificação, tipo, data de criação) e do ambiente (rede, nível de risco, horário). As políticas são expressas em linguagens como XACML (eXtensible Access Control Markup Language). Exemplo: Permitir acesso a documentos financeiros apenas se: Sujeito.departamento = “Financeiro” OU (Sujeito.cargo = “Diretor” E Sujeito.localização = “Matriz”) E Horário atual ENTRE 09:00 E 18:00 (dias úteis) E Objeto.classificação ≤ “Confidencial” O ABAC é usado em sistemas de nuvem (AWS IAM, Azure RBAC com condições), sistemas de arquivos distribuídos e aplicações de alta granularidade. Implementação de Controle de Acesso em Sistemas Operacionais 5.1. Windows NTFS DACLs (Discretionary Access Control Lists): Cada arquivo/pasta possui uma lista de entradas ACE (Access Control Entry). Cada ACE contém um SID (Security Identifier) do usuário ou grupo e permissões (leitura, escrita, execução, exclusão, controle total, etc.). Herança: Permissões podem ser herdadas de pastas pai. Effective Access: Ferramenta que calcula as permissões efetivas considerando permissões explícitas, herdadas e negações (deny override allow). Integrity Levels (Mandatory Integrity Control): Parte do UAC no Windows, define níveis de integridade (Baixo, Médio, Alto, Sistema). Processos com nível baixo não podem modificar objetos com nível médio (ex.: navegador protegido). 5.2. Linux/Unix (Permissões Tradicionais) rwx (leitura, escrita, execução) para owner, group, others. Bits especiais: SUID (executa com permissões do proprietário), SGID (executa com permissões do grupo), sticky bit (em diretórios, impede que usuários excluam arquivos de outros). ACLs (POSIX ACLs): Estendem as permissões tradicionais com . Capabilities (Linux): Fragmenta os privilégios root em capacidades individuais (ex.: CAPNETADMIN, CAPSYSADMIN). Permite executar processos com privilégios reduzidos. Single Sign-On (SSO) e Federação de Identidade SSO permite que um usuário autentique-se uma única vez e obtenha acesso a múltiplos sistemas ou aplicações sem precisar inserir credenciais novamente. Exemplos: Login com Google/Microsoft em sites de terceiros, ambiente corporativo com Active Directory. Benefícios: Redução de fadiga de senhas (menos senhas para lembrar). Centralização da autenticação e políticas (ex.: MFA única para todos os sistemas). Melhoria da experiência do usuário. Riscos: A conta SSO torna-se um alvo de alto valor. Se comprometida, o atacante ganha acesso a todos os sistemas vinculados. Por isso, MFA é obrigatória em contas SSO. Protocolos comuns de SSO: Kerberos: Protocolo de autenticação de rede (padrão em Active Directory). Usa tickets (TGT) para acesso a serviços. SAML: Baseado em XML, muito usado em empresas (ex.: Okta, ADFS). OAuth 2.0 + OpenID Connect: Padrão para SSO em aplicações web e móveis modernas. Exemplos Práticos Exemplo 1: Autenticação e Controle de Acesso em um Banco Online Identificação: Usuário digita o número da conta (identificador). Autenticação (MFA): - Senha (algo que sabe). - Código TOTP gerado por aplicativo (algo que tem). - (Opcional) reconhecimento facial via smartphone (algo que é). Autorização (RBAC): Após autenticado, o sistema consulta os papéis do usuário: - Papel “cliente comum”: pode consultar saldo, transferir até R$ 1.000/dia. - Papel “cliente premium”: pode transferir até R$ 10.000/dia, acessar investimentos. - Papel “gerente de conta”: pode ver dados de múltiplos clientes, aprovar transferências acima do limite. Controle de acesso granular: A API bancária verifica, a cada requisição, se o papel do usuário tem permissão para a operação e se o valor não excede o limite. Exemplo 2: Controle de Acesso em um Sistema de Arquivos Linux Arquivo (armazena senhas hasheadas) tem permissões (640): owner root (leitura/escrita), group shadow (leitura), others nenhum acesso. Isso impede que usuários comuns leiam o arquivo. Diretório tem permissões (700): apenas o proprietário pode entrar, listar e modificar. Para compartilhar um arquivo com um colega, o proprietário pode usar ACL: . O usuário joao ganha permissão de leitura, sem que o grupo precise ser alterado. Quadro Comparativo: Fatores de Autenticação | Fator | Categoria | Exemplos | Vantagens | Desvantagens | |-------|-----------|----------|-----------|---------------| | Sabe | Conhecimento | Senha, PIN, frase secreta | Baixo custo, fácil de mudar | Vulnerável a phishing, força bruta, keylogger | | Tem | Posse | Token USB, smartphone TOTP, cartão | Não pode ser adivinhado remotamente | Pode ser perdido, roubado; exige infraestrutura | | É | Inerência | Impressão digital, Face ID, íris | Difícil de falsificar, não se esquece | Privacidade, custo, falsos positivos/negativos | Quadro Comparativo: Modelos de Controle de Acesso | Modelo | Base da decisão | Quem define permissões | Exemplo de uso | Segurança | |--------|----------------|------------------------|----------------|-----------| | DAC | Proprietário do recurso | Proprietário | Arquivos NTFS/Unix | Média (dependente do usuário) | | MAC | Rótulos de segurança (sujeito/objeto) | Política central do sistema | SELinux, ambientes militares | Alta (usuário não pode alterar) | | RBAC | Papéis do usuário | Administrador (atribui papéis) | Sistemas ERP, bancos de dados | Alta (se papéis bem definidos) | | ABAC | Atributos (usuário, objeto, ambiente) | Políticas baseadas em atributos | Nuvem (AWS IAM), sistemas complexos | Muito alta (granularidade fina) | Considerações Finais Autenticação e controle de acesso são componentes críticos de qualquer sistema seguro. A autenticação verifica a identidade; o controle de acesso determina o que o autenticado pode fazer. Para sistemas modernos, recomenda-se: Sempre utilizar MFA em contas críticas (e-mail, bancos, administração). Adotar RBAC ou ABAC para facilitar a administração e garantir o princípio do menor privilégio. Em sistemas operacionais, entender e aplicar permissões (DAC) e considerar o uso de MAC (SELinux/AppArmor) para maior segurança. Utilizar protocolos padrão como WebAuthn para autenticação resistente a phishing. Para concursos e vestibulares, o candidato deve saber diferenciar autenticação de autorização, classificar os fatores de autenticação, conhecer os modelos de controle de acesso (DAC, MAC, RBAC, ABAC) e identificar exemplos práticos de cada um. Questões podem apresentar cenários de violação de controle de acesso ou solicitar a escolha do modelo mais adequado para determinado contexto. Exercícios: Analise as afirmações abaixo: I. Autenticação verifica quem você é. II. Autorização define o que você pode fazer. Assinale a alternativa correta de acordo com o conteúdo da aula. Com base no conteúdo estudado, o Controle de Acesso Discricionário (DAC) caracteriza-se: Qual dos exemplos abaixo corresponde a autenticação por 'algo que você tem', conforme os métodos apresentados? Considere um sistema que utiliza senha, impressão digital e código enviado por SMS para liberar o acesso ao usuário. Qual o nome dado a esse tipo de autenticação segundo o conteúdo da aula? Complete a frase: Enquanto a autenticação verifica a identidade do usuário, a _____ é o processo subsequente que consulta as políticas do sistema para conceder ou negar permissões de acesso a recursos específicos. Complete a frase: Na autenticação multifator (MFA), o uso de um Smart Card com chip ou de um token USB do padrão FIDO2 é tecnicamente classificado como o fator de segurança baseado em _____. Complete a frase: O modelo de controle de acesso _____, é caracterizado por uma política centralizada e rígida que utiliza rótulos de sensibilidade em objetos e sujeitos, não podendo ser alterado pelos usuários comuns. Complete a frase: Em sistemas empresariais, utiliza-se o modelo _____, no qual as permissões são associadas a funções organizacionais e os usuários herdam esses acessos ao serem vinculados a tais funções. Complete a frase: O padrão moderno de autenticação _____, desenvolvido pela W3C, permite logins resistentes a phishing ao utilizar chaves criptográficas privadas armazenadas em dispositivos de hardware ou biometria local. Complete a frase: No sistema operacional Linux, o esquema tradicional de permissões (rwx) para dono, grupo e outros usuários é um exemplo clássico do modelo de controle de acesso _____. Complete a frase: O protocolo de autenticação _____, é o pilar do Active Directory da Microsoft, funcionando através de um sistema de tickets criptografados que permite o Single Sign-On (SSO) em redes Windows. Complete a frase: Na gestão de identidades, o processo de _____ permite que um usuário utilize credenciais de um provedor confiável (como o Google ou Microsoft) para acessar aplicações de terceiros sem criar novas contas. Complete a frase: O modelo de controle de acesso _____, é o mais dinâmico e granular, decidindo sobre o acesso com base em variáveis contextuais como localização, horário, departamento e nível de risco. Complete a frase: Na implementação de MFA via software, o protocolo _____, gera códigos numéricos temporários (OTP) baseados na sincronização de tempo entre o dispositivo do usuário e o servidor. Em um sistema escolar, os professores podem acessar somente as notas de suas turmas, o diretor pode ver todas as informações e os alunos apenas seus próprios dados. Qual modelo de controle de acesso está sendo usado nesse exemplo?