Segurança de aplicações é um tema bastante amplo e geralmente minimizado a testes. Buscando fornecer mais informação sobre o tema e abordá-lo de maneira estruturada, irei escrever uma série de artigos falando sobre todas as práticas do Framework OWASP SAMM. Toda semana lançaremos um artigo detalhando uma prática. No total, teremos 16 artigos, contando com essa introdução.
OWASP SAMM
Desenvolvido inicialmente por Pravir Chandra em 2009, o modelo propõe um conjunto de práticas de segurança que atende todo o ciclo de vida do software, incluindo desenvolvimento e aquisição, e é independente de tecnologia e processo. É intencionalmente construído para ser evolutivo e estabelece um modelo de maturidade de 3 níveis para cada prática orientado a risco.
Na sua versão 2.0 lançada em Janeiro de 2020 ele traz 5 domínios com suas respectivas práticas:
- Governance: concentra-se nos processos e atividades relacionados à forma como uma organização gerencia as atividades de desenvolvimento de software. Mais especificamente, isso inclui preocupações que impactam grupos multifuncionais envolvidos no desenvolvimento, bem como processos de negócios estabelecidos no nível da organização. Práticas abordadas:
- Estratégia e métricas
- Política e Conformidade
- Educação e Orientação
- Design: refere-se aos processos e atividades relacionados à forma como uma organização define e cria software. Em geral, isso inclui a coleta de requisitos, a especificação de arquitetura de alto nível e o design detalhado. Práticas abordadas:
- Modelagem de Ameaças
- Requisitos de Segurança
- Arquitetura de Segurança
- Implementação: focada nos processos e atividades relacionados à forma como uma organização cria e implanta componentes de software e seus defeitos relacionados. As atividades de Implementação têm o maior impacto no dia a dia dos desenvolvedores. O objetivo conjunto é enviar software confiável com defeitos mínimos. Práticas abordadas:
- Build Seguro
- Deploy Seguro
- Gestão de Defeitos
- Verificação: se concentra nos processos e atividades relacionados a como uma organização verifica e testa artefatos produzidos durante o desenvolvimento de software. Isso normalmente inclui trabalho de garantia de qualidade, como testes, mas também pode incluir outras atividades de revisão e avaliação. Práticas abordadas:
- Avaliação de Arquitetura
- Testes Orientados a Requisitos
- Testes de Segurança
- Operações: abrange as atividades necessárias para garantir que a confidencialidade, a integridade e a disponibilidade sejam mantidas durante toda a vida útil operacional de um aplicativo e dos dados associados. O aumento da maturidade em relação a esta função oferece maior garantia de que a organização é resiliente diante de interrupções operacionais e responde a mudanças. Práticas Abordadas:
- Gestão de Incidentes
- Gestão de Ambiente
- Gestão Operacional
Objetivos da Série
A série de artigos tem como objetivo detalhar e discutir cada uma das práticas servindo de referência para estudantes e profissionais que desejam se desenvolver em práticas de segurança de aplicações, indo muito além do penetration testing em aplicações web.
Não é propósito desta série detalhar o processo de Assessment proposto pelo SAMM.
Próximos Artigos da Série
- Governança segundo SAMM: Estratégias e Métricas em Segurança de Aplicações
- Governança segundo SAMM: Políticas e Conformidades em Segurança de Aplicações
- Governança segundo SAMM: Educação e Orientação em Segurança de Aplicações
- Design segundo SAMM: Modelagem de Ameaças em Segurança de Aplicações
- Design segundo SAMM: Requisitos de Segurança em Segurança de Aplicações
- Design segundo SAMM: Arquitetura Segura em Segurança de Aplicações
- Implementação segundo SAMM: Build Seguro em Segurança de Aplicações
- Implementação segundo SAMM: Deploy Seguro em Segurança de Aplicações
- Implementação segundo SAMM: Gestão de Defeitos em Segurança de Aplicações
- Verificação segundo SAMM: Análise de Arquitetura em Segurança de Aplicações
- Verificação segundo SAMM: Testes Orientados a Requisitos em Segurança de Aplicações
- Verificação segundo SAMM: Testes de Segurança em Segurança de Aplicações
- Operações segundo SAMM: Gestão de Incidentes em Segurança de Aplicações
- Operações segundo SAMM: Gestão de Ambientes em Segurança de Aplicações
- Operações segundo SAMM: Gestão Operacional em Segurança de Aplicações
