Want to make creations as awesome as this one?

Transcript

Identificação e AutenticaçãoSoftware e Integridade de DadosRegistro e Monitoramento de SegurançaSolicitação do Lado do Servidor

André OliveiraAntónio PinhelBeatriz EleodorioMariana Oliveira

Vulnerabilidades OWASP

Netflix como Use-Case

Serve de exemplo e não de casos reais de ataques e vulnerabilidades a esta aplicação.

Processo de Login

Nome de Utilizador e password: O utilizador insere seu nome de utilizador e password na página de login da Netflix. Autenticação: A Netflix verifica se as credenciais inseridas estão corretas no banco de dados. Token de Sessão: Se as credenciais estiverem corretas, a Netflix cria um "token de sessão" exclusivo, que é como um bilhete de acesso temporário. Acesso ao Conteúdo: Com o token de sessão, o utilizador é direcionado à sua conta e pode aceder o conteúdo.

Login - Potenciais Vulnerabilidades

Ataques de Força Bruta: Tentativas repetidas de adivinhar a password. Phishing: Sites falsos que parecem autênticos, que enganam os utilizadores para revelar suas credenciais. Roubo de Credenciais: Intercetação de dados durante a transmissão. Vazamento de Dados: Exposição de informações de login devido a falhas de segurança.

  • Inserção de Credenciais;
  • Captura de Credenciais;
  • Uso das Credenciais.

Cenário: ataque de Phishing

  • Preparação do hacker;
  • Envio de Emails Falsos;
  • Redirecionamento para o Site Falso;

Login - Métodos de Prevenção

Passwords Fortes: Incentivar passwords complexas e únicas. Autenticação de Dois Fatores (2FA): Exige um segundo método de autenticação além da password. Monitoramento de Atividade Suspeita: Detetar padrões incomuns de login. Criptografia: Garantir que os dados de login estejam protegidos durante a transmissão. Proteção contra Phishing: Educar utilizadores sobre como identificar e evitar sites falsos. Monitoramento de Vazamentos de Dados: Monitorar se as credenciais dos utilizadores foram comprometidas em vazamentos.

As Actualizações

Segundo a OWASP, em 2021, surgiram preocupações de segurança relacionadas à falta de verificação de integridade em atualizações de software, dados críticos e pipelines de CI/CD. Essas preocupações foram avaliadas com base em dados do CVE/CVSS e incluíram problemas como a inclusão de funcionalidades não confiáveis, o download de código sem verificações adequadas e a deserialização de dados não confiáveis. As falhas na integridade de software e dados ocorrem quando o código e a infraestrutura não protegem contra violações de integridade. Isso pode ocorrer quando aplicativos dependem de fontes não confiáveis, como plugins, bibliotecas ou módulos, repositórios ou CDNs. Pipelines de CI/CD inseguros podem resultar em acesso não autorizado, código malicioso ou comprometimento do sistema. A atualização automática de aplicativos sem verificação adequada pode permitir atualizações maliciosas. Além disso, objetos ou dados codificados de forma insegura podem ser visualizados e modificados por atacantes, tornando a deserialização um risco.

As Actualizações

A possibilidade de um hacker enviar um código malicioso por meio de atualizações de software é uma preocupação legítima, embora seja relativamente rara, especialmente em empresas e serviços de renome, como a Netflix. Entretanto, e-mails como este da imagem ao lado, podem ser enviados como forma de induzir o assinante a fazer download ou então as vezes até modificar a forma de pagamento, acreditando tratar-se mesmo da plataforma.

As Actualizações - Métodos de Prevenção

  • Use assinaturas digitais ou mecanismos semelhantes para verificar a origem e a integridade do software e dos dados.
  • Certifique-se de que bibliotecas e dependências, como npm ou Maven, utilizem repositórios confiáveis. Considere a criação de um repositório interno conhecido como um "bom" se você tiver um alto perfil de risco.
  • Utilize ferramentas de segurança da cadeia de suprimentos de software, como OWASP Dependency Check ou OWASP CycloneDX, para verificar componentes em busca de vulnerabilidades conhecidas.
  • Estabeleça um processo de revisão rigoroso para mudanças de código e configuração para reduzir o risco de introdução de código ou configuração maliciosos.
  • Garanta a segregação adequada, configuração e controle de acesso em seu pipeline de CI/CD para manter a integridade do código durante os processos de construção e implantação.
  • Evite enviar dados serializados não assinados ou não criptografados para clientes não confiáveis, implementando verificações de integridade ou assinaturas digitais para detectar adulterações ou retransmissões.

A vulnerabilidade relacionada às "Falhas de Registro e Monitoramento de Segurança" é um problema crítico que afeta a segurança de sistemas e aplicações.Neste contexto, as falhas de registro e monitoramento de segurança referem-se à incapacidade de um sistema ou aplicação registrar e monitorar adequadamente as atividades relacionadas à segurança. Isso significa que eventos importantes, como tentativas de acesso não autorizado, atividades suspeitas ou outras ações que possam indicar uma possível violação de segurança, não são registrados ou monitorados de forma eficaz.

Os Registos e Monitorização de Segurança

O monitoramento e registro de segurança subiram da décima posição na lista OWASP Top 10 de 2017 para a terceira posição na pesquisa da comunidade Top 10, dados de 2021. É desafiante testar o monitoramento e registro.Sem um registro e monitoramento adequados, as organizações podem não estar cientes de ataques em andamento ou podem não ser capazes de identificar a origem e a natureza das ameaças, tornando-as vulneráveis a comprometimentos de segurança.

Os Registos e Monitorização de Segurança

Contexto:A Netflix é uma das maiores plataformas de streaming de vídeo do mundo, com milhões de assinantes e uma vasta biblioteca de conteúdo. No entanto, mesmo com todas as medidas de segurança em vigor, os invasores encontraram uma vulnerabilidade significativa no sistema de registro e monitoramento de segurança da empresa.

Ataque à Netflix - Falha de Registro e Monitoramento de Segurança

Passo 1: Reconhecimento Um grupo de hackers dedicados ao crime decide atacar a Netflix devido à sua base de usuários e ao valor dos dados dos clientes: começam realizando uma pesquisa detalhada sobre a infraestrutura da Netflix e identificam uma possível fraqueza: uma lacuna na política de registro e monitoramento de segurança da empresa. Passo 2: Exploração Os invasores encontram uma vulnerabilidade num servidor de conteúdo da Netflix que não está adequadamente registrado. Esta vulnerabilidade permite que eles acessem o servidor sem serem detectados.

Ataque à Netflix - Falha de Registro e Monitoramento de Segurança

Passo 3: Acesso Não Autorizado Uma vez dentro do servidor de conteúdo, os hackers ganham acesso não autorizado à plataforma de streaming da Netflix conseguindo visualizar, modificar e até mesmo excluir o conteúdo disponível. Passo 4: Exploração de Dados Os invasores começam a explorar os dados dos usuários da Netflix, incluindo informações pessoais, histórico de visualização e dados de pagamento. Eles também roubam uma quantidade significativa de propriedade intelectual da empresa, como séries originais e filmes antes do lançamento.

Ataque à Netflix - Falha de Registro e Monitoramento de Segurança

Passo 5: Encobrimento Para evitar a detecção, os invasores sabotam deliberadamente os logs e sistemas de monitoramento de segurança da Netflix, garantindo que suas atividades maliciosas não sejam detectadas imediatamente. Passo 6: ExtorsãoOs hackers, agora com um grande volume de dados valiosos e conteúdo exclusivo, entram em contato com a Netflix e exigem um resgate em troca da não divulgação das informações roubadas e da restauração do acesso ao conteúdo roubado

Ataque à Netflix - Falha de Registro e Monitoramento de Segurança

Consequências: A Netflix enfrenta uma perda significativa de reputação devido ao comprometimento dos dados dos clientes e à divulgação de conteúdo. A empresa precisa pagar um resgate substancial para evitar a divulgação dos dados roubados. Investigações forenses revelam a falha crítica no registro e monitoramento de segurança da Netflix, levando a uma revisão completa das políticas de segurança da empresa.

Ataque à Netflix - Falha de Registro e Monitoramento de Segurança

- Garantir que todas as falhas de login, controle de acesso e validação de entrada no lado do servidor possam ser registradas com contexto de usuário suficiente para identificar contas suspeitas ou maliciosas e mantidas por tempo suficiente para permitir análise forense atrasada. - Garantir que os logs sejam gerados em um formato que as soluções de gerenciamento de logs possam facilmente consumir. - Garantir que os dados de log sejam codificados corretamente para evitar injeções ou ataques nos sistemas de registro ou monitoramento. - Garantir que transações de alto valor tenham uma trilha de auditoria com controles de integridade para evitar adulteração ou exclusão, como tabelas de banco de dados somente para adição ou similares.- As equipes de DevSecOps devem estabelecer monitoramento e alerta efetivos para que atividades suspeitas sejam detectadas e respondidas rapidamente.Estabelecer ou adotar um plano de resposta e recuperação de incidentes, como o National Institute of Standards and Technology (NIST) 800-61r2 ou posterior

Os Registos e Monitorização de Segurança - Prevenção

Comunicação com o Servidor

Aplicação web procura por recurso remoto sem validar URL.Atacante pode forçar a aplicação a enviar solicitação para destino inesperado:- Varrer as portas dos servidores internos, pelos resultados ou do tempo decorrido para conectar ou rejeitas conexões de Solicitação do Lado do Servidor.- Exposição de dados confidenciais, pelo acesso a arquivos locais ou de serviços internos para obter informações pessoais.file:///etc/passwdhttp://localhost:28017/- Acesso ao armazenamento dos metadados de serviços em nuvemhttp://169.254.169.254/

Comunicação com o Servidor - Métodos de Prevenção

Camada de Rede:- Segmentar funcionalidade de acesso a recursos remotos.- Políticas de firewall: Regras de controlo de acesso à rede para bloquear tráfego.Camada de Aplicação:- Validar dados de entrada fornecidos pelo cliente.- Não enviar resposta crua ao cliente.- Desabilitar redirecionamentos de HTTP.- Aplicar esquema de URL, porta e destino com uma lista de permissões positiva.

Obrigado pela vossa atenção!

André OliveiraAntónio PinhelBeatriz EleodorioMariana Oliveira