O que são testes de segurança? Exemplo
O que é teste de segurança?
Teste de Segurança é um tipo de teste de software que revela vulnerabilidades, ameaças, riscos em um aplicativo de software e evita ataques maliciosos de intrusos. O objetivo dos Testes de Segurança é identificar todas as possíveis lacunas e fraquezas do sistema de software que possam resultar em perda de informações, receitas, reputação nas mãos dos funcionários ou de pessoas externas à Organização.
Por que os testes de segurança são importantes?
O objetivo principal de Teste de Segurança é identificar as ameaças no sistema e medir suas vulnerabilidades potenciais, para que as ameaças possam ser encontradas e o sistema não pare de funcionar ou não possa ser explorado. Também ajuda a detectar todos os possíveis riscos de segurança no sistema e ajuda os desenvolvedores a corrigir os problemas por meio da codificação.
Tipos de testes de segurança em testes de software
Existem sete tipos principais de testes de segurança de acordo com o manual da metodologia de testes de segurança de código aberto. Eles são explicados a seguir:
- Análise de Vulnerabilidade: isso é feito por meio de software automatizado para verificar um sistema em busca de assinaturas de vulnerabilidades conhecidas.
- Verificação de segurança: Envolve identificar pontos fracos da rede e do sistema e, posteriormente, fornecer soluções para reduzir esses riscos. Esta verificação pode ser realizada tanto para verificação manual quanto automatizada.
- Teste de penetração: esse tipo de teste simula um ataque de um hacker mal-intencionado. Este teste envolve a análise de um sistema específico para verificar possíveis vulnerabilidades a uma tentativa de hacking externo.
- Avaliação de risco: Este teste envolve a análise dos riscos de segurança observados na organização. Os riscos são classificados em Baixo, Médio e Alto. Este teste recomenda controles e medidas para reduzir o risco.
- Auditoria de segurança: Esta é uma inspeção interna de aplicativos e Operasistemas de trabalho por falhas de segurança. Uma auditoria também pode ser feita por meio da inspeção linha por linha do código
- Hacking ético: É hackear sistemas de software de uma organização. Ao contrário dos hackers mal-intencionados, que roubam para obter ganhos próprios, a intenção é expor falhas de segurança no sistema.
- Avaliação de postura: Isso combina verificação de segurança, Ethical Hacking e Avaliações de Risco para mostrar uma postura geral de segurança de uma organização.
Como fazer testes de segurança
É sempre acordado que o custo será maior se adiarmos teste de segurança após a fase de implementação do software ou após a implantação. Portanto, é necessário envolver testes de segurança no ciclo de vida do SDLC nas fases anteriores.
Vejamos os processos de segurança correspondentes a serem adotados para cada fase do SDLC
Fases SDLC | Processos de segurança |
---|---|
Requisitos | Análise de segurança para requisitos e verificação de casos de abuso/uso indevido |
Design | Análise de riscos de segurança para projeto. Desenvolvimento de Plano de teste incluindo testes de segurança |
Codificação e Teste de Unidade | Testes estáticos e dinâmicos e segurança Branco Box Ensaios |
Teste de integração | Preto Box Ensaios |
Teste do sistema | Preto Box Teste e verificação de vulnerabilidades |
Implementação | Teste de Penetração, Verificação de vulnerabilidades |
Suporte | Análise de impacto de Patches |
O plano de teste deve incluir
- Casos ou cenários de teste relacionados à segurança
- Dados de teste relacionados a testes de segurança
- Ferramentas de teste necessárias para testes de segurança
- Análise de vários resultados de testes de diferentes ferramentas de segurança
Exemplo de cenários de teste para testes de segurança
Exemplos de cenários de teste para dar uma ideia dos casos de teste de segurança –
- Uma senha deve estar em formato criptografado
- Aplicativo ou sistema não deve permitir usuários inválidos
- Verifique os cookies e o tempo de sessão do aplicativo
- Para sites financeiros, o botão Voltar do navegador não deve funcionar.
Metodologias/Abordagem/Técnicas para Testes de Segurança
Nos testes de segurança, diferentes metodologias são seguidas, sendo elas as seguintes:
- Tiger Box: Esse hacking geralmente é feito em um laptop que possui uma coleção de sistemas operacionais e ferramentas de hacking. Esses testes ajudam os testadores de penetração e de segurança a realizar avaliações de vulnerabilidades e ataques.
- Preto Box: o testador está autorizado a fazer testes em tudo sobre a topologia e a tecnologia da rede.
- Grey Box: Informações parciais são fornecidas ao testador sobre o sistema e é um híbrido de modelos de caixa branca e preta.
Funções de teste de segurança
- Hackers – Acessam sistema de computador ou rede sem autorização
- Crackers – Invadir os sistemas para roubar ou destruir dados
- Ethical Hacker – Executa a maioria das atividades de violação, mas com permissão do proprietário
- Script Kiddies ou packet monkeys – Hackers inexperientes com habilidade em linguagem de programação
Ferramentas de teste de segurança
1) Teramind
Teramind oferece um conjunto abrangente para prevenção de ameaças internas e monitoramento de funcionários. Ele aumenta a segurança por meio de análise comportamental e prevenção contra perda de dados, garantindo conformidade e otimizando processos de negócios. Sua plataforma personalizável atende a diversas necessidades organizacionais, fornecendo insights práticos que se concentram em aumentar a produtividade e proteger a integridade dos dados.
Características:
- Prevenção de ameaças internas: Detecta e evita ações do usuário que possam indicar ameaças internas aos dados.
- Otimização de Processos de Negócios: Utiliza análise de comportamento baseada em dados para redefinir processos operacionais.
- Produtividade da força de trabalho: Monitora os comportamentos de produtividade, segurança e conformidade da força de trabalho.
- Gestão de Conformidade: Ajuda a gerenciar a conformidade com uma solução única e escalonável, adequada para pequenas empresas, empresas e agências governamentais.
- Perícia Forense de Incidentes: Fornece evidências para enriquecer a resposta a incidentes, investigações e inteligência sobre ameaças.
- Prevenção de perda de dados: Monitora e protege contra a potencial perda de dados confidenciais.
- Monitoramento de funcionários: Oferece recursos para monitorar o desempenho e as atividades dos funcionários.
- Análise Comportamental: Analisa dados granulares de comportamento do aplicativo do cliente para obter insights.
- Configurações de monitoramento personalizáveis: Permite a personalização das configurações de monitoramento para atender a casos de uso específicos ou para implementar regras predefinidas.
- Insights do painel: Fornece visibilidade e insights práticos sobre as atividades da força de trabalho por meio de um painel abrangente.
2) Owasp
O projeto Open Web Application Security (OWASP) é uma organização mundial sem fins lucrativos focada em melhorar a segurança de software. O projeto possui múltiplas ferramentas para testar vários ambientes e protocolos de software. As principais ferramentas do projeto incluem
- Proxy de Ataque Zed (ZAP – uma ferramenta integrada de teste de penetração)
- Verificação de dependência do OWASP (ele verifica dependências do projeto e verifica vulnerabilidades conhecidas)
- Projeto de ambiente de teste da Web OWASP (coleção de ferramentas de segurança e documentação)
3) Tubarão de arame
Wireshark é uma ferramenta de análise de rede anteriormente conhecida como Ethereal. Ela captura pacotes em tempo real e os exibe em formato legível por humanos. Basicamente, é um analisador de pacotes de rede - que fornece os mínimos detalhes sobre seus protocolos de rede, descriptografia, informações de pacotes, etc. É um código aberto e pode ser usado no Linux, Windows, OS X, Solaris, NetBSD, FreeBSD e muitos outros sistemas. As informações recuperadas por meio desta ferramenta podem ser visualizadas por meio de uma GUI ou do modo TTY TShark Utility.
4) W3af
w3af é uma estrutura de ataque e auditoria de aplicativos da web. Possui três tipos de plugins; descoberta, auditoria e ataque que se comunicam entre si para quaisquer vulnerabilidades no site, por exemplo, um plugin de descoberta no w3af procura URLs diferentes para testar vulnerabilidades e encaminha-as para o plugin de auditoria que então usa esses URLs para procurar vulnerabilidades.
Mitos e fatos sobre testes de segurança
Vamos falar sobre um tópico interessante sobre Mitos e fatos sobre testes de segurança:
Mito 1 Não precisamos de uma política de segurança porque temos uma pequena empresa
Fato: Todos e todas as empresas precisam de uma política de segurança
Mito 2 Não há retorno do investimento em testes de segurança
Fato: Os testes de segurança podem apontar áreas de melhoria que podem melhorar a eficiência e reduzir o tempo de inatividade, permitindo o máximo rendimento.
Mito 3: A única maneira de proteger é desconectá-lo.
Fato: A única e melhor maneira de proteger uma organização é encontrar a “Segurança Perfeita”. A segurança perfeita pode ser alcançada realizando uma avaliação de postura e comparando-a com justificativas comerciais, jurídicas e do setor.
Mito 4: A Internet não é segura. Comprarei software ou hardware para proteger o sistema e salvar o negócio.
Fato: Um dos maiores problemas é adquirir software e hardware para segurança. Em vez disso, a organização deve primeiro compreender a segurança e depois aplicá-la.
Conclusão
O teste de segurança é o teste mais importante para um aplicativo e verifica se os dados confidenciais permanecem confidenciais. Nesse tipo de teste, o testador desempenha o papel de invasor e brinca com o sistema para encontrar bugs relacionados à segurança. O teste de segurança é muito importante na engenharia de software para proteger os dados por todos os meios.