[GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
1. TESTES DE SEGURANÇA
"O que preciso saber para planejar"
Agosto 2021
Especial de aniversário
2. QUEM SOMOS?
Fábio Araújo
QA Team Lead na Via
Bacharel em Sistema de Informação e Gestão de qualidade
Professor de engenharia de qualidade na EBAC
+ 20 anos na área de TI => + 12 anos em qualidade
Passei pela Magneti Marelli, Valor Econômico, Ticket com
grande foco em evolução e trabalhando por um "Mundo bem
melhor"
Ernesto Barbosa
Solutions Engineer na CWI
Bacharel em Ciência da computação (Feevale/RS)
Mestre em Computação aplicada. (Unisinos/RS)
Professor no curso de Engenharia de Qualidade na EBAC
(Escola Britânica de Artes Criativas)
Instrutor voluntário do +praTi
+ 10 anos na área de TI buscando aprender e compartilhar
3. AGENDA
• Produção de conteúdo em teste de qualidade de
software: da comunidade para a comunidade
Júlio de Lima
• Testes de segurança - O que preciso saber para
planejar:
=> Parte 1 - Conceitos: Testes de segurança, estrategia,
tipos e técnicas
Fábio Araújo
=> Parte II - Hands-On
José Ernesto Barbosa
Agosto 2021
Especial de aniversário
4. Você já sofreu algum tipo de
fraude?
ⓘ Start presenting to display the poll results on this slide.
5. 493%
De aumento de casos de
invasão em 2021
VOCÊ ESTÁ SEGURO?
612%
De tentativas de fraudes
digitais em serviços financeiros.
66% só em dispositivos móveis
R$ 2.7 bi
Prejuízo estimado com
fraudes financeiras
223.000.000
De brasileiros com dados vazados,
incluindo fotos, endereços,
documentos e renda.
1.566%
De aumento de pessoas tentando
se passar por outra
12 às 0hs
Horário dos golpes. Houve uma
mudança no comportamento dos
fraudadores.
6. MOTIVOS
DE
INVASÕES
Ideologia
Política, ativismo , discordância sociais, Liberdade de
expressão… Alguns casos chamados de Hacktvistas.
Trabalho
Hacker do bem, contratados para achar
vulnerabilidades no Sistema. Também conhecidos
como Ethical Hacker.
Curiosidade & Desafio
A porta de entrada da maioria dos hackers é a
curiosidade e para se desafiar. Além disto muitos
fazem por diversão.
Ciúmes
Pessoas desconfiadas que estão sendo traídas,
passam dos seus limites.
Roubo & Espionagem
Agir por interesse próprio ou por quadrilhas
especializadas e espionagem empresarial.
7. QUEM SÃO OS HACKERS?
A origem do termo hacker surgiu na década de
60, nos EUA. O uso da expressão “hack” era
para designar uma solução inovadora para
qualquer problema. Com o passar dos anos, o
termo foi associado aos programadores.
O mercado de trabalho é amplo para
os hackers: Segurança de
informação, perícia, pesquisas de
vulnerabilidade, desenv. de softwares,
testes de invasão, gestão de riscos,
etc...
Hackers são pessoas com um
conhecimento profundo de
engenharia de software e
hardware.
8. Blue
Team
Time de defesa: Avalia a segurança de rede e
identifica possíveis vulnerabilidades. Seu foco
em detecção de ameaças e resposta de
incidentes, ou seja, seu principal objetivo é
aplicar estratégias de defesa e manter a
segurança dos sistemas e aplicações.
Red team
Time de ataque: Tem como função a realização
de testes de penetração. Imita ataques do mundo
real, fazendo uso de todas as etapas e
habilidades que um invasor usaria para, assim,
identificar falhas e ameaças à segurança.
VS
SIMULAÇÃO DE SEGURANÇA INTERNA
9. DDoS
“Negação Atribuída de Serviço",
sobrecarrega as atividades
computacionais, provocando
lentidão e tornando os sites
indisponíveis.
PRINCIPAIS TIPOS DE ATAQUE
Cavalo de tróia
Malware que opera com
“autorização” do usuário.
Ex. Execução de algum anexo de
email ou download de softwares.
Ransomware
“Sequestrador Virtual” tem
por objetivo bloquear o
acesso a todos os dados,
que são liberados somente
após o pagamento por
criptomoeda.
Port Scanning
Através de malwares que
faz uma busca pelo
servidor na tentativa de
encontrar alguma
vulnerabilidade no Sistema.
Força bruta
Consiste basicamente em
furtar senhas através de
diversas tentativas de
combinações de usuário e
senha.
Phishing
Geralmente realizado na
forma de e-mail, usuários são
levados a revelarem
informações sigilosas:
documentos, senhas e dados
bancários.
Engenharia social
Essa técnica vem da
psicologia e explora os
erros humanos, conversas
envolventes ou espionagem
de comportamentos da
vítima.
10. TESTES DE SEGURANÇA
É um tipo de Teste de
Software não funcional, que
descobre vulnerabilidades em
um sistema para evitar
ataques maliciosos de
intrusos.
Tem como objetivo desenterrar
todas as lacunas e fraquezas
possíveis do sistema de software
que podem resultar em vazamentos
de dados e invasão.
É parte integrante do teste de
software com um ciclo de
vida completo, especialmente
em um ambiente de
implementação ágil e cultura
DevSecOps
11. 6 - Não repúdio
4 - Autorização
2 - Integridade
5 - Confidencialidade
1 - Disponibilidade
3 - Autenticação
Garantia de que um serviço ou sistema está
funcional e disponível e está fazendo o que se
espera que faça.
PRINCÍPIOS DE
TESTE DE
SEGURANÇA
Consiste em confirmar a identidade de uma
pessoa / sistema, tentando acessar um
recurso protegido em outro sistema.
É um processo de segurança que protege
os dados do mundo externo por meio de
criptografia / hash etc.
Garantia de que os dados ou resultados são
consistentes e precisos em todas as plataformas.
É o processo de definir as funções que um
cliente* tem permissão para realizar ações em
um recurso protegido residente em um
servidor.
O não repúdio é usado para garantir que uma
mensagem transmitida foi enviada e recebida
pela pessoa que afirma ter enviado e recebido
a mensagem.
12. ESTRATÉGIAS
1. VARREDURA DE VULNERABILIDADE: Isso é feito por meio de
ferramentas de software automatizadas para varrer um sistema contra
vulnerabilidades conhecidas.
2. VARREDURA DE SEGURANÇA: envolve a identificação de fraquezas da
rede e do sistema por meio de ferramentas manuais e automatizadas e fornece
soluções para reduzir esses riscos.
3. TESTE DE PENETRAÇÃO (Pentest): Este teste envolve a análise de um
determinado sistema / serviço / aplicativo para verificar possíveis vulnerabilidades
por meio da simulação de uma tentativa de hacking.
4. AVALIAÇÃO DE RISCO: Este teste envolve a análise de riscos de segurança
e sua classificação como Baixo, Médio e Alto. Este teste recomenda controles e
medidas para reduzir o risco.
5. AUDITORIA DE SEGURANÇA: Esta é uma inspeção interna de Aplicativos /
Sistemas / Serviços para incidentes de violação de segurança.
6. HACKER ÉTICO: Hackear os sistemas de software de uma empresa com a
intenção de expor falhas de segurança no sistema.
7. 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
13. SAST
Static Application Security Testing
Teste de segurança de aplicativo estático
é um método de teste de caixa branca que
examina o código-fonte para encontrar
falhas e pontos fracos de software,
como injeção de SQL, XML, JSON, registro
e monitoramento insuficientes
DAST
Dynamic Application Security Testing
Teste de segurança de aplicativo dinâmico é
um método de teste de caixa preta que
examina um aplicativo em seu tempo de
execução para encontrar vulnerabilidades que
um invasor potencial pode explorar.
ANÁLISE ESTÁTICA vs DINÂMICA
14. Um plano de teste de segurança deve ter:
○ Casos de teste ou cenários descrevendo seu objetivo e alvos;
○ Massa de dados de teste utilizados para reproduzir os "ataques"
○ Ferramentas de teste necessárias para testes de segurança (estáticas e dinâmicas);
○ Análise dos resultados dos testes em diferentes ferramentas de segurança.
PLANO DE TESTE
15. O OWASP (Open Web Application Security Project) mantém uma lista com as 10 falhas de segurança de
aplicativos Web mais perigosas, juntamente com os métodos mais eficazes para lidar com elas.
Do maior para o menor:
TOP 10 FALHAS DE SEGURANÇA
1 Injection
2
3
4
5
Broken Authentication
Sensitive data exposure
XML External Entities
Broken Access Control
Security Misconfiguration
Insecure Deserialization
Using Components with know vulnerabilities
Insufficient Logging & Monitoring
Cross-site scripting XSS
6
7
8
9
10
16. ○ Acunetix
○ Netsparker
○ ZED Attack Proxy (ZAP)
○ Suite Burp
○ SonarQube
○ Klocwork
○ Github Security
FERRAMENTAS DE
TESTES DE
SEGURANÇA