Diário de Bordo – Daniel Rocha Oliveira
Disciplina: Gerência de Configuração e Evolução de Software - T01
Equipe: OWASP/Blue Team
Comunidade/Projeto de Software Livre: OWASP/ej-application
Sprint 1 – 10/09 até 23/09
Resumo da Sprint
Os objetivos principais dessa sprint foram: - 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
Atividades Realizadas
Data | Atividade | Tipo (Código/Doc/Discussão/Outro) | Link/Referência | Status |
---|---|---|---|---|
12/09 | Estudo/leitura da Documentação e Tecnologias | Estudo | OWASP | Concluído |
15/09 | Pesquisa/inicio da modelagem | Doc | Em andamento | |
20/09 | Revisão da Sprint | Docs | Sprint 1 | Concluído |
Maiores Avanços
O principal avanço nesta sprint foi o estudo aprofundado das tecnologias de modelagem de ameaças STRIDE, DREAD e PATH, fundamentais para a análise de segurança da EJ-Application.
- STRIDE: Foi compreendido como um framework robusto para a identificação e categorização de ameaças. Criado pela Microsoft, o modelo analisa os riscos em seis categorias bem definidas:
- Spoofing (Falsificação de identidade): Ameaças que envolvem um ator malicioso se passando por outro.
- Tampering (Violação de dados): Modificação não autorizada de dados.
- Repudiation (Repúdio): Ameaças relacionadas à negação de uma ação realizada.
- Information Disclosure (Divulgação de Informações): Exposição de informações a quem não deveria ter acesso.
- Denial of Service (Negação de Serviço): Ataques que visam tornar um sistema ou recurso indisponível.
- Elevation of Privilege (Elevação de Privilégio): Obtenção de acesso a recursos e permissões que normalmente seriam restritos.
- DREAD: O estudo deste modelo permitiu uma abordagem quantitativa para a avaliação de riscos. O DREAD classifica as ameaças com base em cinco fatores, atribuindo uma pontuação a cada um para priorizar as mais críticas:
- Damage (Dano potencial): Qual o impacto do dano se a vulnerabilidade for explorada?
- Reproducibility (Reprodutibilidade): Quão fácil é reproduzir o ataque?
- Exploitability (Explorabilidade): Quão fácil é lançar o ataque?
- Affected Users (Usuários Afetados): Quantos usuários seriam impactados? -Discoverability (Detectabilidade): Quão fácil é encontrar a falha?
- PATH: Este framework complementou os estudos ao focar na identificação de caminhos de ataque. A análise com PATH permite visualizar como um invasor poderia navegar através das defesas do sistema, explorando múltiplas vulnerabilidades em sequência para atingir seu objetivo.
- Modelagem Inicial: Aliado ao estudo teórico, foi iniciado o levantamento da documentação do projeto EJ-Application e os primeiros passos na modelagem de ameaças. A base teórica adquirida com os frameworks já está sendo aplicada na análise inicial da arquitetura da aplicação, direcionando o mapeamento da superfície de ataque.
Maiores Dificuldades
Não houve grandes dificuldades, o conteúdo assimilado com clareza.
Aprendizados
Os principais aprendizados desta sprint foram:
Abordagem Estruturada para Análise de Riscos: A compreensão aprofundada dos frameworks STRIDE, DREAD e PATH proporcionou o conhecimento de uma metodologia estruturada para identificar, classificar e priorizar ameaças de segurança em sistemas de software. Foi possível entender que a segurança não deve ser reativa, mas sim uma preocupação proativa desde as fases iniciais do desenvolvimento.
Visão Abrangente das Ameaças: O modelo STRIDE demonstrou ser uma ferramenta eficaz para não deixar "pontas soltas" na análise, garantindo que as principais categorias de ameaças sejam consideradas. O DREAD, por sua vez, mostrou como transformar a análise de risco em dados quantificáveis, o que é crucial para a tomada de decisões e alocação de recursos.
Pensar como um Atacante: O estudo do PATH foi fundamental para desenvolver uma mentalidade orientada à segurança ofensiva ("pensar como um atacante"). Compreender os possíveis vetores e caminhos de ataque é essencial para construir defesas mais eficazes e em camadas.
Aplicabilidade no Projeto: O conhecimento adquirido é diretamente aplicável ao projeto OWASP/ej-application. A utilização combinada desses frameworks será de grande valia para o mapeamento da superfície de ataque da aplicação, a identificação de vulnerabilidades e a proposição de contramedidas e estratégias de mitigação alinhadas com as melhores práticas de segurança.
Plano Pessoal para a Próxima Sprint
- Finalizar a Modelagem
- Dar inicio ao processo de segurança na pipeline
- Revisar documentação