Segurança de Aplicação

OpenSAMM o que é e para que serve?

O SAMM[1] é um framework aberto para ajudar as organizações a formular e implementar uma estratégia para a segurança de software, foi originalmente desenvolvido por Pravir Chandra, um consultor independente de segurança de software. Após o seu lançamento ele foi integrado a OWASP (Open Web Application Security Project) que ficou conhecido como Open SAMM.
 
O Open SAMM foi projetado para ser bem flexível assim podendo ser utilizado em pequenas, médias e grandes empresas e utilizando qualquer estilo de desenvolvimento, podendo ser aplicado para projetos individuais ou para toda uma organização. 
 
Ele possui recursos que o ajudarão em:
  • Avaliar as práticas de segurança da organização
  • Elaborar um programa de segurança de software balanceado
  • Definir e medir atividades relacionadas a segurança na organização
O Open SAMM especifica quatro funções de negócios críticos, cada um com três práticas de
segurança, são elas:

Governança

São as atividades da gerência, que seria examinar os grupos de desenvolvimento e também gerenciar os níveis dos negócios estabelecidos pela empresa.
.

Estratégia e Métricas: Definição da estratégia que será utilizada para a garantia de software ou seja criar definições de metas de segurança e também estudar os riscos da empresa.

Políticas e Conformidade: Entender as diretrizes/políticas e regulamentá-las nos padrões de seguranças, também fazer auditorias para descobrir se algum projeto não está dentro das expectativas.

Orientação e Educação: Ensinar as pessoas que estão envolvidas no desenvolvimento do software como desenvolver e implementar um software mais seguro, o OpenSAMM também indica que uma boa alternativa para melhorar o desempenho é através de objetivos para cada funcionário.

Construção

Definir metas e criar os software dentro dos padrões. Isso inclui o gerenciamento do produto, a especificação do nível da arquitetura, design e implementação.
.

Modelagem de Ameaças: Identificar e entender os níveis de risco na funcionalidade do software no ambiente em que ele será executado, a partir dos detalhes conseguidos ficara mais fácil tomar decisões.

Requisitos de Segurança: Definir qual será o comportamento esperado a respeito da segurança do software, definindo cada processo por níveis e fazer auditorias para garantir que todas as especificações de segurança estão sendo utilizadas.

Arquitetura Segura: Projetar softwares seguros por padrões, reutilizando os componentes assim os riscos de segurança do software serão drasticamente reduzidos.

Verificação

Verificações e testes nos produtos durante o desenvolvimento do software, garantindo uma boa qualidade do software.
 

Revisão de Arquitetura: Avaliar a segurança da arquitetura do software, permitindo assim detectar problemas logo no inicio. Quando se resolve o problema no inicio se reduz também o tempo e dinheiro que seria gasto a procura desse problema.

Revisão de Código: Inspecionar os códigos fontes a fim de encontrar potenciais falhas no software que ocorreu no desenvolvimento. O Code Review seria uma revisão mais profunda já que na hora do desenvolvimento também acontece algumas revisões, outra função é estabelecer uma base para uma codificação mais segura.

Testes de Segurança: Testar o software a procura de vulnerabilidades, para garantir que os resultados serão os esperados quando estiver em execução, basicamente seria a fase de teste a procura de qualquer tipo de erro.

Implantação

Gerenciar a liberação do software, ou seja, essa função serve para saber se o produto vai chegar de acordo com o que foi especificado para o usuário final.
 

Gerenciamento de Vulnerabilidades: Gerenciar os relatórios de vulnerabilidades e incidentes operacionais ganhando assim uma base de dados dos problemas que já ocorreu, se por acaso acontecer novamente ficará mais fácil resolver.

Proteção de Ambiente: Garantir que o software será executado corretamente no ambiente de produção, reforçar a segurança da infraestrutura e implementar atualizações de segurança.

Capacitação Operacional: Procurar todo tipo de informação que possa afetar a segurança do software e comunicar aos desenvolvedores, assim detalhando os impactos que possam ocorrer para os usuários e operadores.

Comparação entre SAMM e a ISO / IEC 27034

A ISO/IEC 27034[2] é um padrão internacional para ajudar as organizações a implementar mecanismos de segurança durante todo o ciclo de vida do seu desenvolvimento. A tabela abaixo mostra o relacionamento dos recursos do SDL (Secure Development Lifecycle) com as 12 práticas de segurança do OpenSAMM. O losango grande indica um forte relacionamento com um tópico da ISO/IEC 27034 enquanto o losango pequeno indica um fraco relacionamento: 
De acordo com o Colin Watson, autor da comparação, a ISO/IEC 27034 está mais relacionada com a ideia de um programa de segurança de software específico para organizações, junto com uma abordagem baseada em risco para aplicar segurança em diferentes aplicações.
 
 
Referências
 

About author

Articles

Uma equipe de profissionais, altamente conectados com as notícias, técnicas e informações sobre a segurança de aplicações.
Related posts
MobileSegurança de AplicaçãoSem categoria

3 serviços de AppSec que não podem ser negligenciados no fim de ano

2020 tem sido um ano atípico, mas mesmo em anos incomuns, algo é certeiro: na correria de fim de…
Read more
Segurança de Aplicação

Quais temas um treinamento de segurança deve contemplar?

O mercado de desenvolvimento parece estar se conscientizando cada vez mais com relação à…
Read more
Segurança de AplicaçãoTech

Conheça as diferenças entre segurança de aplicativos web e mobile

Com o mercado de desenvolvimento de aplicativos para aparelhos móveis (os famosos “mobile…
Read more

Deixe um comentário