📝 Relatório de Contribuição – Sprint 1
Disciplina: Gestão de Configuração e Evolução de Software
Equipe: OWASP (Times Blue e Red)
Comunidade/Projeto de Software Livre: OWASP (ej-application)
Período da Sprint: 10/09 – 23/09
1. Objetivos da Sprint
A equipe estudou técnicas de modelagem de riscos e principais vetores de ataque, aprofundando o conhecimento em frameworks de segurança e métodos para identificar vulnerabilidades no projeto.
Blue Team
Mapear arquitetura e superfícies de ataque:
- Estudar os frameworks de modelagem (STRIDE, DREAD, PATH)
- Recolher o máximo de documentação do projeto
- Realizar a modelagem de riscos utilizando o STRIDE
Red Team
Estudar vetores de ataque:
- SQL Injection
- CSRF
- XSS e Clickjacking
- IDOR
- Sessões/Cookies inseguros
- Brute force / Rate limiting
2. Entregas Coletivas
Entrega | Status (Concluído/Parcial/Pendente) | Link/Referência | Observações |
---|---|---|---|
Estudo e aplicação | Concluído | Ambas as equipes tiveram avanços nos estudos | |
Modelagem de Risco e ameaça | Parcial | Não finalizado, uma vez que o entendimento completo da documentação ainda não foi alcançado. | |
Estudo sobre SQL Injection | Concluído | SQL Injection | |
Estudo sobre CSRF | Concluído | Cross-Site Request Forgery (CSRF) | |
Estudo sobre XSS e Clickjacking | Concluído | Cross-Site Scripting (XSS) e Clickjacking | |
Estudo sobre IDOR | Pendente | ||
Estudo sobre Sessões/Cookies inseguros | Pendente | ||
Estudo sobre Brute force / Rate limiting | Pendente |
3. Contribuições Individuais
Integrante | Contribuições | Links (PRs, Issues, Docs) | Observações |
---|---|---|---|
Breno | Documentação inicial sprint 1 | ||
Miguel Arthur | Documentação e Inicio da Modelagem | ||
Mateus Vieira | Documentação sobre SQL Injection, CSRF, XSS e Clickjacking |
4. Maiores Avanços
✨ Destaques da Sprint: Blue Team
O principal avanço da equipe nesta sprint foi o estudo aprofundado das tecnologias STRIDE, DREAD e PATH.
STRIDE
Framework de modelagem de ameaças criado pela Microsoft. Analisa riscos em seis categorias: Spoofing (falsificação de identidade), Tampering (alteração de dados), Repudiation (negação de ações), Information Disclosure (vazamento de informações), Denial of Service (interrupção de serviço) e Elevation of Privilege (elevação de privilégios).
DREAD
Modelo para avaliação de riscos que considera cinco fatores: Damage (dano potencial), Reproducibility (facilidade de reprodução do ataque), Exploitability (facilidade de exploração), Affected Users (quantidade de usuários afetados) e Discoverability (facilidade de descoberta da vulnerabilidade).
PATH
Framework de modelagem de ameaças que foca em identificar possíveis caminhos de ataque, analisando como um invasor pode progredir por diferentes etapas para comprometer o sistema.
Modelagem
Paralelamente a este estudo teórico, a equipe iniciou o processo de levantamento da documentação do projeto e deu os primeiros passos na modelagem de ameaças. Embora esta modelagem ainda não tenha sido finalizada, a base teórica adquirida com os frameworks já está a guiar a análise inicial da arquitetura da aplicação.
✨ Destaques da Sprint: Red Team
O principal avanço da equipe foi relacionado a estudar e entender os 4 primeiros tipos de ataque em que a aplicação EJ será testada contra na próxima sprint. Com isso, temos uma breve explicação do entendimento sobre SQL Injection, CSRF, XSS e Clickjacking:
SQL Injection
A injeção de SQL é uma vulnerabilidade de segurança que ocorre quando um invasor insere ou "injeta" uma consulta SQL maliciosa por meio de dados de entrada de um aplicativo. Quando o aplicativo web não valida ou sanitiza corretamente essa entrada, a consulta injetada é executada no banco de dados. Isso pode permitir que o invasor altere, exclua ou roube dados, ignore a autenticação ou até mesmo execute comandos no sistema operacional do servidor.
Cross-Site Request Forgery (CSRF)
CSRF, ou falsificação de requisição entre sites, é um ataque que engana um usuário autenticado a enviar uma requisição indesejada para uma aplicação web. O invasor explora a confiança que o site tem no navegador do usuário. Por exemplo, um link ou uma imagem em um site malicioso pode fazer com que o navegador da vítima envie uma requisição para outro site, onde a vítima está logada. Como a requisição é enviada com os cookies de sessão do usuário, ela parece ser legítima para o servidor, que então executa a ação solicitada, como alterar a senha ou transferir fundos.
Ref: OWASP - Cross Site Request Forgery (CSRF)
Cross-Site Scripting (XSS)
Cross-Site Scripting é uma vulnerabilidade que permite a um invasor injetar scripts maliciosos (geralmente JavaScript) em páginas web visualizadas por outros usuários. Existem vários tipos de XSS, mas o princípio básico é o mesmo: o site reflete a entrada do usuário de forma insegura. Quando a vítima acessa a página, o navegador dela executa o script malicioso. Isso pode levar ao roubo de cookies de sessão, redirecionamento para sites de phishing, ou até mesmo à modificação do conteúdo da página.
Ref: OWASP - Cross Site Scripting (XSS)
Clickjacking
Clickjacking é um tipo de ataque que "sequestra" cliques de mouse de um usuário. O invasor sobrepõe uma interface invisível (geralmente um <iframe>
transparente) sobre uma página legítima. O usuário pensa que está clicando em um botão ou link da página visível, mas na verdade está clicando na camada invisível, executando uma ação indesejada no site sobreposto. Isso pode ser usado para enganar o usuário a habilitar a câmera, fazer uma compra, ou compartilhar informações privadas em redes sociais.
Ref: OWASP - Clickjacking
5. Maiores Dificuldades
Blue Team:
-
Mapeamento da arquitetura: É necessário compreender detalhadamente o funcionamento interno do software, seus módulos, fluxos de dados e integrações para realizar uma modelagem eficaz.
-
Identificação das superfícies de ataque: Os pontos vulneráveis nem sempre são evidentes; essa etapa exige uma análise minuciosa dos pontos de entrada, permissões e dependências. A falta de conhecimento técnico também dificultar esse processo.
Red Team:
-
Problemas de coordenação de tempo entre membros devido a falhas de comunicação.
-
Alguns vetores de ataque foram mais difíceis de compreender. A dificuldade se deve à baixa familiaridade da equipe com certos aspectos de segurança.
6. Lições Aprendidas
7. Planejamento para a Próxima Sprint
Blue Team
- Finalizar a Modelagem de Risco e Ameaça
- Ampliar cobertura de testes
- Melhorar documentação do processo de contribuição
Red Team
- Explorar ataques sobre o EJ (Red Team):
- SQL Injection
- CSRF
- XSS
- Clickjacking
- Estudar sobre (Red Team):
- IDOR
- Sessões/Cookies inseguros
- Brute force / Rate limiting