O que é teste de segurança?
TESTE DE SEGURANÇA é um tipo de Teste de Software que descobre 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 lacunas e fraquezas possíveis do sistema de software que podem resultar em perda de informações, receita, reputação nas mãos dos funcionários ou estranhos à Organização.
Por que o teste de segurança é importante?
O principal objetivo do 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 riscos de segurança possíveis no sistema e ajuda os desenvolvedores a corrigir os problemas por meio de codificação.
Neste tutorial, você aprenderá-
- O que é teste de segurança?
- Tipos de teste de segurança
- Como fazer testes de segurança
- Cenários de teste de exemplo para teste de segurança
- Metodologias / Abordagem / Técnicas para Testes de Segurança
- Funções de teste de segurança
- Ferramenta de teste de segurança
- Mitos e fatos dos testes de segurança
Tipos de teste de segurança:
Existem sete tipos principais de teste de segurança de acordo com o manual de metodologia de teste de segurança de código aberto. Eles são explicados da seguinte forma:
- Varredura de vulnerabilidade : Isso é feito por meio de software automatizado para varrer um sistema contra assinaturas de vulnerabilidade conhecidas.
- Varredura de segurança: envolve a identificação de pontos fracos da rede e do sistema e, posteriormente, fornece soluções para reduzir esses riscos. Esta varredura pode ser realizada tanto para varredura manual quanto para automatizada.
- Teste de penetração : Este tipo de teste simula um ataque de um hacker malicioso. 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 como 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 sistemas operacionais para falhas de segurança. Uma auditoria também pode ser feita por meio de inspeção linha a linha do código
- Hacker ético: é hackear sistemas de software de uma organização. Ao contrário de hackers mal-intencionados, que roubam para seus próprios ganhos, a intenção é expor as falhas de segurança do sistema.
- Avaliação de postura: Combina varredura de segurança, hackeamento ético 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 os testes de segurança após a fase de implementação do software ou após a implantação. Portanto, é necessário envolver o teste de segurança no ciclo de vida do SDLC nas fases anteriores.
Vamos dar uma olhada nos processos de segurança correspondentes a serem adotados para cada fase no SDLC
Fases SDLC | Processos de Segurança |
---|---|
Requisitos | Análise de segurança para requisitos e verificação de casos de abuso / uso indevido |
Projeto | 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 | Teste estático e dinâmico e teste de caixa branca de segurança |
Teste de integração | Teste de caixa preta |
Teste de Sistema | Teste de caixa preta e verificação de vulnerabilidade |
Implementação | Teste de penetração, verificação de vulnerabilidade |
Apoio, suporte | Análise de impacto de patches |
O plano de teste deve incluir
- Casos de teste ou cenários 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
Cenários de teste de exemplo para teste de segurança:
Cenários de teste de amostra para dar uma ideia dos casos de teste de segurança -
- A senha deve estar em formato criptografado
- O 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, e são as seguintes:
- Tiger Box : Esse hacking geralmente é feito em um laptop que possui uma coleção de sistemas operacionais e ferramentas de hacking. Este teste ajuda os testadores de penetração e testadores de segurança a conduzir avaliações de vulnerabilidades e ataques.
- Black Box : O testador está autorizado a fazer testes em tudo sobre a topologia e a tecnologia da rede.
- Caixa cinza : 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 - Invadem os sistemas para roubar ou destruir dados
- Hacker ético - executa a maioria das atividades de invasão, mas com permissão do proprietário
- Script Kiddies ou packet monkeys - Hackers inexperientes com habilidade em linguagem de programação
Ferramenta de teste de segurança
1) Intruso
O Intruder é um scanner de vulnerabilidade de nível empresarial fácil de usar. Ele executa mais de 10.000 verificações de segurança de alta qualidade em sua infraestrutura de TI, que incluem, mas não se limitam a: fraquezas de configuração, fraquezas de aplicativos (como injeção de SQL e script entre sites) e patches ausentes. Fornecendo resultados priorizados de forma inteligente, bem como varreduras proativas para as ameaças mais recentes, o Intruder ajuda a economizar tempo e mantém empresas de todos os tamanhos protegidas contra hackers.
Características:
- Conectores AWS, Azure e Google Cloud
- Resultados específicos de perímetro para reduzir sua superfície de ataque externa
- Relatórios de alta qualidade
- Integrações Slack, Microsoft Teams, Jira e Zapier
- Integração de API com seu pipeline de CI / CD
2) Owasp
O Open Web Application Security Project (OWASP) é uma organização mundial sem fins lucrativos focada em melhorar a segurança do software. O projeto tem várias ferramentas para testar vários ambientes de software e protocolos. As principais ferramentas do projeto incluem
- Zed Attack Proxy (ZAP - uma ferramenta de teste de penetração integrada)
- Verificação de dependência OWASP (verifica as dependências do projeto e verifica as vulnerabilidades conhecidas)
- Projeto OWASP Web Testing Environment (coleção de ferramentas de segurança e documentação)
3) WireShark
Wireshark é uma ferramenta de análise de rede anteriormente conhecida como Ethereal. Ele captura pacotes em tempo real e os exibe em formato legível por humanos. Basicamente, é um analisador de pacotes de rede - que fornece os detalhes minuciosos sobre seus protocolos de rede, descriptografia, informações de pacotes, etc. É um código aberto e pode ser usado em Linux, Windows, OS X, Solaris, NetBSD, FreeBSD e muitos outros sistemas. As informações recuperadas por meio dessa ferramenta podem ser visualizadas por meio de uma GUI ou do utilitário TShark do modo TTY.
4) W3af
w3af é um ataque de aplicativo da web e estrutura de auditoria. Possui três tipos de plug-ins; descoberta, auditoria e ataque que se comunicam entre si para quaisquer vulnerabilidades no site, por exemplo, um plugin de descoberta no w3af procura por diferentes urls para testar vulnerabilidades e encaminhá-los para o plugin de auditoria que então usa essas URLs para pesquisar vulnerabilidades.
Mitos e fatos dos testes de segurança:
Vamos falar sobre um tópico interessante sobre mitos e fatos dos 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 rendimento máximo.
Mito nº 3 : a única maneira de proteger é desconectando-o.
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 da postura e comparando-a com as justificativas comerciais, legais 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 é comprar software e hardware para segurança. Em vez disso, a organização deve primeiro entender 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 atacante e brinca no sistema para encontrar bugs relacionados à segurança. Os testes de segurança são muito importantes na engenharia de software para proteger os dados por todos os meios.