Ícone do site Conviso AppSec

Operações segundo SAMM: Gestão de Ambiente em Segurança de Aplicações

gestão de ambiente

Este artigo faz parte de uma série de publicações feitas com base no projeto SAMM da OWASP, caso tenha interesse em entender melhor, recomendo a leitura do artigo neste link. Dentro do domínio Operations, há a prática gestão de ambiente (Environment Management), onde temos dois fluxos que estão diretamente relacionados, Configuration Hardening e Patching and Updating. De acordo com o SAMM, a gestão de ambiente não termina quando a aplicação está em funcionamento, ou seja, está no “ar”. A gestão deve ser feita de forma contínua, e para que isso seja possível, deve-se ter atenção a patches, configurações e novos recursos, que são lançados regularmente. 

Na construção de um ambiente seguro que suporte uma aplicação, há inúmeros recursos envolvidos, como: sistema operacional, serviços, frameworks, bibliotecas, etc., sem contar que o ambiente pode ser on-premises ou cloud. Isso acaba possibilitando uma variedade de combinações de tecnologias, que por sua vez geram ambientes ricos e distintos entre as diferentes empresas. Essa gama de ambientes, que são frutos de combinações de diferentes softwares, geram atualmente dificuldades quando o tema segurança vem à tona. Há uma necessidade de maior controle de atualizações, configurações mais robustas que garantam uma segurança efetiva, e consequentemente adoção de boas práticas.

Quando se pensa em gestão de ambientes, não se pode esquecer que as aplicações geralmente trabalham com uma determinada pilha (stack), ou seja, um conjunto de softwares/componentes utilizados pela aplicação, um exemplo de uma stack bastante comum é o LAMP (Linux, Apache, MySQL e PHP). É válido lembrar que embora esteja falando de aplicação, a infraestrutura onde a aplicação está hospedada também merece atenção em questões referentes à segurança. Para isso, o OWASP SAMM nos traz em gestão de ambientes, dois fluxos (Streams A e B), que falam respectivamente de Configuration Hardening e Patching and Updating. Em seguida é mencionado cada um dos fluxos e o que se espera em relação a sua maturidade dividido em três níveis, de forma gradativa. A partir dos níveis de maturidade é possível avaliar se o comportamento da equipe expressa maturidade na realização das atividades no setor.

Configuration Hardening (Fluxo A)

Hardening é o processo de reforçar a segurança dos sistemas, para isso é feito o mapeamento de possíveis ameaças para que a proteção dos sistemas possa ser aprimorada. Esta prática consiste em seguir recomendações com intuito de reduzir ou até eliminar as vulnerabilidades em softwares, hardwares, sistemas e infraestrutura em geral. Basicamente, através das boas práticas de configurações é possível deixar os sistemas mais robustos e resistentes a ataques, não deixando todo o sistema instalado “by default”. De acordo com o SAMM, estas são as atividades esperadas pelo seu respectivo nível de maturidade:

Patching and Updating (Fluxo B)

O Patching é uma implementação de um programa de computador criado com intuito de corrigir falhas, também é possível atualizar e resolver problemas relacionados à segurança. Updating embora esteja relacionado a Patching, as atualizações não são necessariamente as falhas ligadas ao software, mas tudo que ele poderá ter dependência, além de estar relacionado às atualizações dos serviços utilizados no ambiente da aplicação. De acordo com o SAMM, estas são as atividades esperadas pelo seu respectivo nível de maturidade:

Conclusão

A segurança não se faz apenas com implementações dentro da própria aplicação, o ambiente pode ser um grande ponto vulnerável para atacantes, ainda mais se não for bem gerido. É válido lembrar que grande parte das tecnologias utilizadas na stack das aplicações às vezes não seguem boas práticas de segurança por padrão. Então é sempre válido procurar por guias de boas práticas de configuração, ou até validar com os fornecedores se possuem tal material. Há casos também onde alguns componentes possuem dependência de compatibilidade com versões anteriores, o que pode consequentemente impedir de atualizar determinados softwares ou até mesmo dependências dentro da aplicação. 

Pode-se concluir que para garantir a operação, é necessário ter maior controle de atualizações, realizar configurações mais robustas que garantam a segurança, além de utilizar as experiências dos times para conseguir adotar boas práticas dentro do ambiente. Também é importante lembrar que as vulnerabilidades são descobertas ao longo dos ciclos de vida das tecnologias das quais sua organização depende, por isso torna-se essencial monitorar os relatórios de vulnerabilidade e executar correções de forma ordenada e oportuna em todo o sistema. Não devemos nos limitar a isso, conforme foi visto de acordo com o nível de maturidade de cada um dos fluxos, há muitos outros processos que precisam ser feitos, e que colaboram com a evolução da segurança do ambiente.

Série artigos SAMM

  1. Governança segundo SAMM: Estratégias e Métricas em Segurança de Aplicações
  2. Governança segundo SAMM: Políticas e Conformidades em Segurança de Aplicações
  3. Governança segundo SAMM:  Educação e Orientação em Segurança de Aplicações
  4. Design segundo SAMM: Modelagem de Ameaças em Segurança de Aplicações
  5. Design segundo SAMM: Requisitos de Segurança em Segurança de Aplicações
  6. Design segundo SAMM: Arquitetura Segura em Segurança de Aplicações
  7. Implementação segundo SAMM: Build Seguro em Segurança de Aplicações
  8. Implementação segundo SAMM: Deploy Seguro em Segurança de Aplicações
  9. Implementação segundo SAMM: Gestão de Defeitos em Segurança de Aplicações
  10. Verificação segundo SAMM: Análise de Arquitetura em Segurança de Aplicações
  11. Verificação segundo SAMM: Testes Orientados a Requisitos em Segurança de Aplicações
  12. Verificação segundo SAMM: Testes de Segurança em Segurança de Aplicações
  13. Operações segundo SAMM: Gestão de Incidentes em Segurança de Aplicações
  14. Operações segundo SAMM: Gestão de Ambientes  em Segurança de Aplicações
  15. Operações segundo SAMM: Gestão Operacional em Segurança de Aplicações
Sair da versão mobile