Economize tempo e esforço na implementação de padrões de desenvolvimento seguros com o OWASP SAMM

Em 5 de março de 2020, no escritório da OZON, foi realizada a próxima reunião da filial da comunidade OWASP em Moscou . Parece que ficou ótimo, mas recentemente foi publicado um breve relatório com os materiais da reunião no Habré . O relatório é apresentado no mesmo post.oxdef.

Continuando a série de relatórios expressos sobre os projetos da OWASP, hoje falaremos sobre a OWASP SAMM - um dos projetos comunitários mais importantes. No início do ano, sua segunda versão foi lançada - e este é um bom motivo para falar mais sobre o framework.

O que é isso?



A abreviação SAMM significa Software Assurance Maturity Model - e traduzi-lo corretamente para o russo é difícil ( como muitos termos em inglês do mundo da TI ). Este projeto é um modelo de segurança de software, uma base de conhecimento e uma estrutura de documentação que ajuda a criar um ciclo seguro de desenvolvimento de aplicativos. Exatamente o que muitas vezes falta quando você chega a uma empresa ou deseja fazer tudo em seus negócios "de acordo com o Feng Shui" do ponto de vista do S-SDLC - para implementar todos os "controles" que ouvi falar: SAST, DAST, estudar e entender por onde começar e por onde seguir em frente.

O OWASP SAMM avalia o nível atual de segurança da informação no desenvolvimento de software e, com base nisso, permite criar um programa completo que você pode implementar em etapas compreensíveis dentro do prazo especificado, você terá uma lista de atividades e práticas para implementação - essa é uma enorme vantagem. Isso pode ser comparado a um livro que você pode abrir e seguir.

OWASP SAMM consiste nos seguintes módulos

  • Descrição do modelo em si, a abordagem para a construção de SDL;
  • O questionário é um questionário grande, respondendo às perguntas que você entenderá em que nível está agora. Isso fará um plano para atingir a meta desejada.
  • OWASP SAMM. , , . , — - , . , , .

imagem

Vamos nos debruçar sobre o modelo. Possui um conjunto de funções de negócios: gerenciamento, design, arquitetura, desenvolvimento, verificação e operações. Na versão anterior, havia quatro funções de negócios, na nova - 5. Essas funções de negócios têm três práticas de segurança da informação que precisam ser implementadas e cada uma dessas práticas possui mais duas atividades. Somente 30 atividades que você pode planejar de maneiras diferentes para atingir a meta, e a meta estimada nesse caso, são aumentar o nível de maturidade.

OWASP SAMM possui três níveis de maturidade. Combinando atividades, apresentando e avaliando-as, é possível entender as iterações e as iterações de negócios para ir para um novo nível. Isso permite que você defina metas e um plano para o ano e avance trimestralmente, para que, após um ano, possa avaliar a eficácia do trabalho realizado.

Existem muitas atividades, como você notou. Por exemplo, na seção "Treinamento", é descrito em detalhes o que você pode fazer para aumentar o nível de conhecimento dos desenvolvedores, como avaliá-lo e se será suficiente para avançar para o próximo nível. Há uma seção separada sobre gerenciamento de defeitos. É sempre útil avaliar como as coisas estão boas ou ruins com as vulnerabilidades agora e compará-las com o que costumavam ser para entender o que está acontecendo no seu produto do ponto de vista da segurança da informação: tudo é sistematicamente eliminado e há mais alguma coisa então faça.

Trabalhar com SAMM


Geralmente, a introdução de práticas de desenvolvimento seguras começa com a pergunta: “Mas posso garantir a segurança alimentar na empresa? Implemente o S-SDLC! ” e prepare-se para isso: comunique-se com negócios, desenvolvimento e líderes de equipe para entender se eles precisam.

O próximo passo é avaliar o estado atual. O questionário permite coletar informações de segurança em uma empresa de um grande número de pessoas. Quanto mais houver, melhor os dados refletirão a realidade.

Aqui você tem uma avaliação do estado atual. Agora você entende para onde precisa se mudar e qual o objetivo a seguir. Nesse nível, você analisa os objetivos e forma um plano, e o questionário proposto o ajudará a classificá-lo em etapas de um mês a um ano.

E então começa a diversão - implementando diretamente os procedimentos de controle, por exemplo, o mesmo SAST ( não se esqueça de pensar imediatamente nas métricas de desempenho ). E, no final, você é implementado - esse é um tipo de pós-ação para seus passos. Nesta fase, você entende que tudo o que você pensou e introduziu funciona primeiro e, em segundo lugar, é perceptível, pelo menos para os "parceiros de negócios" e também para você.

Nesse ponto, você pode fazer uma pausa para ganhar força e passar para o próximo nível. E todo o ciclo começa de novo - com essas iterações, você criará o S-SDLC.

Como eu disse no começo, a pergunta mais comum quando você implementa o S-SDL ou SDLC em uma empresa é: “Por onde começar?”. É importante aqui que, sempre que você fizer isso, tenha a oportunidade de não se preocupar em implementar o SAST primeiro, escrever guias ou conduzir treinamentos - basta adotar uma estrutura formalizada e desenvolver sua estratégia e, como resultado, software de segurança da informação para o desenvolvimento de seus aplicativos. Com isso, o OWASP SAMM o ajudará.

Questões:


- Você pode nos contar sobre sua experiência na implementação do OWASP SAMM?

- Sobre a OWASP SAMM, aprendi há alguns anos atrás. Tudo o que fizemos em projetos anteriores foi baseado em experiências. No SAMM, tudo está escrito, e o mais importante - é mensurável. Por fim, você será capaz de entender a eficácia da implementação da mudança. Na Ozon, fizemos uma seção sobre treinamento e a cultura de segurança da informação e, com base nela, preparamos vários processos: treinamentos organizados, começamos a conduzir novos funcionários por meio de questionários e testes em segurança da informação, realizamos várias atividades, aumentando o nível de segurança da informação em nossas cabeças. No futuro, passaremos por outros módulos.

- Preciso fornecer treinamento aos gerentes de projeto para que eles entendam o que é o S-SDLC?

- No OWASP SAMM em diferentes níveis de maturidade, o desenvolvimento do treinamento é esperado. No primeiro nível, por exemplo, você cria um portal interno onde publica links para recursos úteis. No próximo nível - forme treinamentos e guias especializados. Em nosso portal interno, existem guias separados para grupos-alvo: desenvolvedores, gerentes, controle de qualidade. No terceiro nível, é necessário medir a qualidade e entender até que ponto todos estudaram os materiais e os guias passaram - talvez alguém não deva ter permissão para entrar em um projeto particularmente crítico sem um determinado nível de teste de segurança da informação. Passamos por todos esses níveis e quase imediatamente passamos para o terceiro.

— , , . , , , ?

- Não posso dizer que é mais fácil provar a necessidade de treinamento do que a eficácia do SAST. A eficácia da segurança da informação é um tópico para um grande relatório separado com números, métricas e gráficos. No primeiro nível, pode ser suficiente que você tenha estatísticas, por exemplo, de acordo com a pontuação média dos seus desenvolvedores. Para serviços particularmente críticos, essa barra pode ser aumentada. E para provar, parece-me, será mais fácil, porque será possível mostrar a liderança: o conhecimento dos desenvolvedores no campo da segurança da informação está crescendo, porque há uma métrica do número de respostas corretas. Muitas grandes empresas têm a prática de conduzir CTFs internos - se você perceber que muitas pessoas participam da competição, todos estão interessados ​​e o número de participantes cresce ano a ano, isso significa que o nível de conhecimento está aumentando.Como em toda segurança da informação, não existe uma métrica aqui - é sempre um conjunto de indicadores pelos quais você pode navegar para mostrar dinâmica em determinadas áreas.

- Esse sistema é muito complicado? Os olhos de quem começa a trabalhar com isso não serão dispersos? Talvez você deva primeiro tentar inventar alguma coisa e depois recorrer à OWASP?

- Ele mesmo será significativamente mais longo. Com a ajuda de uma abordagem OWASP SAMM mais formalizada ( desmontada ), você pode liberar tempo para outras tarefas e não pensar no que fazer primeiro e com quais números provam a si mesmo e à gerência que o trabalho é eficaz. Nesse caso, pegamos o OWASP SAMM e, com base nele, criamos nosso próprio programa. Ele permite que você acelere significativamente, pelo menos no início, e não perca tempo adquirindo experiência, escolhendo cones e similares.

All Articles