Em um mundo onde conceitos como a Agilidade e DevOps parecem cada vez mais importante e que se consolidam como uma necessidade real e não simplesmente modismo, a Segurança da Informação parece ser um fator restritivo a esta tendência na medida em que historicamente é vista como um bloqueador de inovação e de agilidade.

Contudo, esta é uma visão equivocada da realidade em um cenário onde os ambientes de negócio estão cada vez mais dependentes de tecnologia e inseridos e um ambiente digital onde segurança passa a ser um fator determinante para o sucesso de qualquer organização, pelo menos se considerarmos as organizações que pretendem continuar existindo.

É neste ponto que nos questionamos, afinal, é possível estabelecer um padrão de segurança sem que a agilidade seja comprometida?

DevSecOps

A resposta para isso é o DevSecOps, uma evolução natural da cultura DevOps que já tem maturidade suficiente para que o próximo passo seja dado e que a segurança possa ser incorporada a isso.

Não deixa de ser um grande desafio pois tradicionalmente os processos relacionados a Segurança da Informação são tipicamente baseados em um modelo de “cascata” (Waterfall) e definitivamente não é uma tarefa simples fazer com que este tipo de processo possa ser equalizado ao modelo de esteira de integração contínua proposta pelo DevOps, mas, não é impossível, já que podemos observar implementações bem sucedidas deste modelo em empresas como Amazon, Google, Microsoft, entre outras.

“DevOps + Segurança” para um modelo verdadeiramente DevSecOps

Estas empresas têm tido um enorme sucesso em promover essa integração que permite sair de um modelo de “DevOps + Segurança” para um modelo verdadeiramente DevSecOps onde a questão da segurança está harmonicamente integrada a esteira de integração contínua agregando valor ao produto final e não sendo de forma alguma um ponto de restrição ou gargalo de performance.

Maturidade com relação ao próprio DevOps

DevSecOps

Hnz-consultoria-e-treinamentos-blog- devsecops -devsecops – mantendo-agilidade-sem-abrir-mao-da-seguranca-devops

Para que se obtenha sucesso nesta transformação o primeiro ponto importante a considerar é que a organização já esteja em um bom nível de maturidade com relação ao próprio DevOps, afinal, isso precisa estar funcionando muito bem uma vez que novos processos, os da segurança, terão que ser integrados e não podem causar impactos na performance já alcançada.

Assim, considerando que esta maturidade já está estabelecida deve-se promover uma aproximação gradativa das equipes de “SEC” com a realidade das equipes de “DEV” e “OPS”, isso é conquistado principalmente com programas de conscientização, treinamentos, e políticas que promovam o engajamento e a integração das equipes, modelos de capacitação que empreguem práticas de “gameficação” são bem vindos neste momento.

Neste processo é fundamental estabelecer o entendimento comum de que a questão de “segurança” é responsabilidade de todos, assim membros da equipe de “DEV”, por exemplo, terão a compreensão de que “codificação segura” faz parte de suas atribuições, o pessoal de “OPS” percebe que garantir “configurações de ambiente seguras” faz parte de suas atribuições e, finalmente, o pessoal de “SEC” assume uma postura proativa que os permita estar mais próximos do processo das outras equipes.

Torna-se necessário estabelecer um modelo de “feedback” colaborativo entre as equipes de forma que se estabeleça uma visão comum de que cada uma das áreas tem o seu papel e que a segurança é um requisito comum a todas elas.

Segurança da informação dentro da esteira de integração contínua

Com esta barreira da integração das equipes superadas e um modelo de compartilhamento colaborativo estabelecido, o próximo passo é gradativamente estabelecer a segurança da informação dentro da esteira de integração contínua de forma que cada equipe cumpra o seu papel de segurança na sua parte do processo para que no final ocorra a consolidação da segurança pretendida, tudo começa por estabelecer um padrão de design seguro (security by design) onde muitos dos requisitos de segurança já são “pensados” e definidos antes mesmo do processo ser iniciado, na prática isso faz com que boa parte da segurança já esteja estabelecida como um padrão para qualquer novo desenvolvimento além de considerar que isso possa também ser incorporado em revisões futuras de ambientes que já estão em produção.

Automação

É importante considerar ainda a questão da automação, o estabelecimento de segurança da informação proposto pelo DevSecOps precisa garantir que a segurança esteja permeando ativamente todas as fases de processo, assim, se já conseguimos criar a consciência da responsabilidade de cada um em relação a segurança é necessário agora controlar todo o processo para garantir que isso seja efetivo.

Muito do que se relaciona a segurança está baseado em validações de checklists de requisitos obrigatórios e testes de componentes, o que pode, em grande parte, se valer da automação para manter a agilidade do processo. Outro ponto a considerar que auxilia muito na agilidade é o estabelecimento de linhas de base onde padrões de desenvolvimento, repositórios de componentes seguros previamente validados e modelos de construção segura já estejam previamente validados para permitir que possam rapidamente ser consumidos pelas equipes de “DEV”, a comunicação e o feedback colaborativo tem papel decisivo para isso funcionar, as equipes de “SEC” precisam estar atentas as demandas atuais de desenvolvimento para prover esta validação prévia de tudo que está na linha de base, e, obviamente manter um canal aberto de comunicação para receber do desenvolvimento as informações a respeito de necessidades futuras para que o trabalho de validação já possa ocorrer previamente, o mesmo vale para a equipe de “OPS” quanto a configuração segura do ambiente e padrões de implementação.

Obviamente fazer tudo isso funcionar harmonicamente como sugerido não ocorrerá da noite para o dia, sempre vai existir uma curva de aprendizado que precisa ser absorvida em cada fase, se lembrarmos dos primórdios do desenvolvimento vamos perceber que o que estava em jogo era apenas garantir funcionalidade, ou seja, a “utilidade” do que estava sendo entregue, com o tempo tivemos que incorporar a qualidade a isso, ou seja, estabelecer requisitos de “garantia” de forma a criar valor para o produto final, o que temos agora é basicamente o mesmo cenário onde a percepção de valor não está mais associada apenas a “utilidade e garantia” mas passa a incorporar também a “segurança”.

Qualidade no desenvolvimento

A questão da qualidade no desenvolvimento pode servir de “trampolim” para facilitar esta integração de segurança aos processos baseados em DevOps já estabelecidos, isso porque, em algum momento os controles e as métricas referentes ao QA (Quality Assurance) tiveram que ser incorporados ao processo com o mesmo tipo de requisito que temos agora, ou seja, não causar impacto na performance, assim, com a segurança deve ocorrer a mesma coisa e o processo já existente de QA pode ser um bom ponto de partida para iniciar a implementação dos controles relativos a segurança, afinal, em certa medida, podemos sim considerar os controles de segurança como um item de qualidade desejável no produto final, isso nos permite incorporar componentes menores em pontos específicos de um processo que já funciona e está estabelecido reduzindo o impacto produzido.

Enfim, este é apenas um entre vários outros pontos do processo que podem ser “revisados” a fim de incorporar a segurança de forma distribuída por toda a esteira de integração contínua com impactos controlados.

Conclusão

Assim, respondendo à pergunta, é sim perfeitamente possível integrar Segurança da Informação dentro de um processo de desenvolvimento estabelecido com DevOps com enormes vantagens na entrega de valor, para isso, só é preciso ter a consciência de que primeiramente precisamos ter uma cultura DevOps madura para que a Segurança da Informação possa ser distribuída adequadamente dentro deste processo com o menor impacto possível.

A base para se conseguir isso é a conscientização das equipes de que a Segurança da Informação não é mais um problema “do outro” e que cada um tem o seu papel somatório no estabelecimento de um padrão de segurança completo. Bem-vindo ao DevSecOps.

Artigos relacionados:

DevSecOps: o dilema da segurança no mundo da agilidade

Como criar engajamento entre Dev e Ops?

Conheça nosso canal do Youtube

Leave a Reply