Você sabe por que investir em treinamentos de AppSec pode auxiliar a sua empresa a atingir maturidade no Desenvolvimento Seguro de Aplicações?
Treinamentos em Segurança são um investimento que muitas vezes não é considerado prioritário pelas organizações. Isto se deve à falta de visão que se tem dos resultados quando se analisa um cenário em um curto período.
Neste artigo abordamos como os Treinamentos em Desenvolvimento Seguro podem trazer benefícios a longo prazo para a sua empresa que vão muito além de estar em compliance com as normas vigentes.
Entenda como traçar um programa de treinamento estratégico pode ajudar a sua empresa com resultados a produzir aplicações cada vez mais seguras a longo prazo.
Como os treinamentos de AppSec são vistos
Por que você deve se preocupar com o treinamento da sua equipe de desenvolvimento?
Quando olhamos um processo de desenvolvimento desenhado, identificamos que a primeira etapa é o treinamento. Essa disposição do treinamento não é por acaso.
Ao iniciarmos nosso processo com Treinamentos de AppSec, estamos entregando à nossa equipe a possibilidade de adquirir um conhecimento que será importante para todas as outras etapas do processo de desenvolvimento.
No entanto, o que temos percebido é que muitas empresas estão preocupadas em realizar treinamentos que sejam para estar em conformidade com alguma norma ou mesmo regulamentação.
Desta forma, não é estranho percebermos que quando há um vazamento ou comprometimento de dados, uma das primeiras declarações das empresas é que fazem de tudo para cumprir as exigências regulatórias, ou seja, estão em compliance com os órgãos reguladores.
É importante frisar que de forma alguma estamos aqui julgando a exigência e muito menos o cumprimento das normas ou regulamentos.
O que nos chama a atenção é o fato de treinamentos serem usados apenas como um ponto a ser cumprido em uma Auditoria quando, na verdade, seus benefícios poderiam ser muito melhor explorados.
Então, o que temos visto é a realização de treinamentos que não são pensados para oferecer uma real melhoria no conhecimento necessário para o desenvolvimento seguro de aplicações. E isto, a longo prazo, pode se tornar um grande problema.
O que não fazer nos Treinamentos de AppSec
Imaginamos que quando uma empresa busca por um treinamento para sua equipe de desenvolvimento, o objetivo é entregar a seus colaboradores um melhor conhecimento que possa ser usado para o avanço no processo de desenvolvimento.
No artigo intitulado How Important is Role Specific Developer Security Training (“O quão importante é o Papel do Treinamento de Segurança Específica para o Desenvolvedor”, em tradução livre), o autor nos apresenta alguns pontos que devem ser observados para a realização de um treinamento eficiente.
No entanto, neste momento queremos focar em um ponto que entendemos como um dos principais – observar as reais necessidades de conhecimento da equipe de desenvolvimento.
Para o autor:
“It’s essential that your security training recognizes these fundamental differences, and allows developers to improve their security knowledge of the language they specialize in.”
Em tradução livre:
“É essencial que o seu treinamento de segurança reconheça estas fundamentais diferenças, e permita ao desenvolvedor melhorar o seu conhecimento em segurança na linguagem específica que ele é especializado.”
De certa forma estamos alinhados com este pensamento, pois entendemos que ao realizarmos um treinamento, este deve refletir as necessidades de conhecimento específico de cada equipe, sem que sejam baseados apenas em conteúdos estáticos.
Isso quer dizer que treinamentos que não observam a metodologia empregada pelas equipes, acabam não apresentando grande eficiência.
Portanto, um bom treinamento deve basicamente observar três pontos principais, os quais vamos abordar a seguir.
Três pontos importantes do Treinamento em AppSec
Como vimos no tópico anterior, um treinamento deve abordar as necessidades específicas de conhecimento de uma equipe.
Ou seja, para que ele seja eficiente é importante direcionar para as deficiências específicas de um público. Se ele puder ser customizado, ainda melhor: neste caso são abordados falhas específicas que possam estar acontecendo de forma recorrente dentro de uma empresa, por exemplo.
Portanto, treinamentos que não obedecem esta premissa, acabam apresentando baixa retenção de aprendizado e uma aderência pobre de seu público-alvo.
Abordamos aqui os três pontos principais que devem ser observados para maximizar o nível de aproveitamento pela equipe e para que traga reais benefícios a longo prazo para a empresa e para justificar porque investir em treinamentos de AppSec.
1. Linguagem no Treinamento em AppSec
É importante que o treinamento a ser realizado tenha aderência com a linguagem de programação usada no dia a dia dos desenvolvedores. Conceitos mais genéricos são importantes, mas levar o conhecimento que pode ser usado diretamente é ainda mais eficaz do ponto de vista do treinamento.
2. Metodologia no Treinamento em AppSec
Se o seu time usa a abordagem DevOps, de nada vai adiantar ministrar um treinamento que tenha como base outra metodologia.
Por exemplo, se o treinamento falar sobre desenvolvimento em modelos mais tradicionais, como cascata, o conteúdo pode não interessar ou mesmo ser totalmente inútil para o seu time.
Então, para que o desenvolvedor tenha real adesão ao conteúdo apresentado, é importante que ele identifique no discurso a realidade do seu dia a dia.
3. Tecnologia no Treinamento em AppSec
Da mesma forma, de nada adianta que o seu desenvolvedor seja treinado em tecnologias que não fazem sentido para ele.
Se temos uma estrutura monolítica e centrada em infraestrutura interna, por exemplo, qual será a efetividade de um treinamento que aborde o uso de microsserviços baseados em soluções de cloud?
Portanto, é importante abordar modelos de estrutura e tecnologia que façam parte da rotina dos desenvolvedores, sem ficar traçando paralelos.
Agora podemos começar a aprender…
Precisamos ter claro que quanto mais próximo da realidade do desenvolvedor o seu treinamento estiver, mais eficaz este será.
Portanto, estes três pilares devem ser entendidos como pontos fundamentais de abordagem quando falamos em melhorar verdadeiramente o conhecimento sobre segurança dentro de uma equipe.
Por que Invesvir em Treinamentos de AppSec: melhorias de métricas
Quando implementado de forma correta, treinamentos de AppSec podem ser a raiz de um processo de melhora para o desenvolvimento de aplicações. Pode reduzir métricas ruins e melhorar métricas boas.
Um dos meios de se fazer isso é tendo treinamentos direcionados e específicos para as necessidades do contexto onde o desenvolvedor está inserido.
E quando colocamos juntos a realização contínua de treinamentos e a existência de Security Champions, podemos dizer que é quase certeza de termos uma aumento significativo na conhecimento sobre segurança do seu time.
Dentro de um contexto gerencial, o treinamento pode atuar como um controle preventivo, pois impacta diretamente na redução da quantidade de vulnerabilidades.
Security Champions são um dos pilares mais importantes para a criação de uma cultura de segurança em desenvolvimento, e para que tenham bons Security Champions é preciso que estes estejam constantemente atualizados.
Assim, um programa de treinamento eficiente contribui para a formação dos Security Champions e para a melhora no entendimento de segurança de forma geral.
Este também é um pensamento presente neste artigo onde o autor aponta interessantes aspectos do treinamento.
“Your security training strategy can be a mechanism to create active, effective security experts in your development organization. These experts (often referred as Security Champions) act as the resident security experts for your development groups.”
Que podemos colocar em uma tradução livre como:
“Sua estratégia de treinamento em segurança pode ser um mecanismo para criar especialistas em segurança ativos e eficazes em sua organização de desenvolvimento. Esses especialistas (geralmente chamados de Security Champions) atuam como especialistas em segurança residentes para seus grupos de desenvolvimento.”
Portanto, é importante construir um currículo de treinamento que atenda às necessidades de conhecimento e habilidades para a equipe de Security Champions e desenvolvedores.
Escolhendo o Treinamento em AppSec certo para a sua equipe
Conforme abordamos nos tópicos acima, a aplicação de treinamentos básicos, solicitados por normas e feitos apenas para cumprir com as exigências não apresentam um resultado visível a longo prazo.
E isto pode ser facilmente observado se analisarmos a grande quantidade de vazamentos de dados, mesmo que a empresa tenha mantido a quantidade exigida de treinamento.
Ou seja: realizar treinamentos com o objetivo de melhorar a segurança das aplicações, mas metodologias que visam simplesmente estar em compliance, claramente não funciona.
Qual tema devo abordar nos Treinamentos de AppSec?
A melhor forma de se traçar um eficiente programa de treinamentos de AppSec é construí-lo com base nas necessidade de aprendizagem do grupo.
Portanto, mesmo que sua equipe faça um treinamento como o exigido, em muitos casos pode acontecer uma economia de investimento, mas o conteúdo pode não trazer nada de novo. Ou seja, no fim o conhecimento adquirido pela equipe foi quase nulo, já que estes treinamentos frequentemente repetem treinamentos anteriores, sem modificações.
Portanto, para entender porque investir em Treinamentos de AppSec, com base na observação de casos de empresas que buscam realizá-los de forma contínua, percebemos que quando o assunto abordado contempla as necessidades do time, os resultados costumam ser bem mais efetivos.
Os treinamentos devem, portanto, ser encarados como controles de segurança.
Como qualquer controle, estes devem ser avaliados para entendermos qual a sua real eficácia com relação ao ponto de melhoria.
E para que o treinamento seja validado, é preciso que esta avaliação que possua métricas claras.
Então, a realização de treinamentos deve ser levada ao mesmo nível de outros controles operacionais e de segurança.
Portanto, com objetivos esperados e métodos de avaliação claramente definidos, podemos entender que atingir resultados satisfatórios é um dos principais motivos que justificam porque investir em Treinamentos de AppSec.
Isso porque, como falamos acima, treinamentos mais eficientes são notavelmente os que tem o seu conteúdo construído de acordo com as necessidades de desenvolvimento, em vez de reproduzir-se um modelo padronizado.
O SAMM, um dos modelos de maturidade mais usados quando o assunto é Application Security, nos mostra no tópico Education & Guidance – 2 que o treinamento deve receber uma atenção especial no que diz respeito à sua construção.
O treinamento deve seguir o conceito de ter sua construção focada nas necessidades de aprendizagem dos desenvolvedores e ainda, este treinamento contribui para a formação de mentores que ajudarão o time a melhor desenvolver suas habilidades.
3 Principais Benefícios para entender porque investir em Treinamentos de AppSec
Vimos acima que existem diversos motivos para que uma empresa realize os treinamentos em AppSec.
Eles vão desde a necessidade de estar compliance com as normas vigentes e, com isso, resguardar-se em caso de acidentes como o vazamento de dados, até passar a credibilidade a seus clientes de que seus desenvolvedores realizam treinamentos de forma atualizada e contínua, estando alinhados com as melhores práticas do mercado.
Vamos então entender melhor cada um destes pontos e como eles podem afetar a maturidade da sua empresa a longo prazo:
1. Capacitação: não dê o peixe, ensine a pescar
Pode parecer óbvio que construir o conhecimento da sua equipe de desenvolvimento é parte importante no Desenvolvimento Seguro.
Mas é importante lembrar que um dos melhores aliados para isso é manter a prática de treinamentos contínuos, assim a sua equipe estará alinhada com as novidades que possam surgir no mercado e apta a agir mesmo em casos que exijam uma resposta rápida.
Afinal, sabemos que o mercado de AppSec está em constante transformação e a busca por melhorias deve estar sempre presente quando falamos em Desenvolvimento Seguro de dentro para fora.
Promover a cultura do Desenvolvimento Seguro significa permitir que os Desenvolvedores tenham acesso ao constante aprendizado, seja por meio de treinamentos teóricos, hands on, ou mesmo e-learning.
Manter o treinamento acontecendo de forma contínua constrói a mentalidade de que o time tem que manter suas competências sempre elevadas, e isto independe da existência de investimentos em outras modalidades de validações de segurança, tais como pentests, revisão de código e ferramentas de análise automatizada.
2. Controle: é melhor prevenir do que remediar
Bem, é claro que nesta altura você já sabe que a sua organização pode usar os Treinamentos em AppSec para prevenir riscos e promover a segurança do seu software.
Afinal, a indústria de segurança de aplicações deve trabalhar majoritariamente com treinamentos que preparem o profissional para prevenir ataques do tipo “Black Hat” do que “White Hat”.
Isso porque esses atacantes maliciosos costumam estar sempre um passo à frente dos profissionais de Segurança, então é muito importante que os treinamentos aconteçam de forma contínua e sistemática.
No cenário atual, o que vemos é que o número de ataques maliciosos às empresas continua elevado – e isto acontece mesmo com companhias que teriam um orçamento considerável que justificaria porque investir em treinamentos de AppSec e segurança da informação.
No entanto, muitas empresas continuam ignorando a necessidade de se preparar com antecedência a estes ataques, direcionando recursos e esforços quase que inteiramente para atuar de forma reativa, quando necessário.
Isto pode significar uma economia inicial, mas pode acabar gerando grandes prejuízos: e aqui, infelizmente não estamos falando apenas do ônus financeiro.
Mas nem tudo está perdido: podemos perceber que conforme o grau de maturidade das empresas aumenta, mais e mais organizações acabam percebendo a importância de se antecipar a estes riscos, agindo de forma preventiva.
E uma das maneiras mais eficientes de lidar com este fator de risco é especializando e capacitando cada vez mais os times de desenvolvimento, para que estes possam escrever códigos de forma mais segura.
Isto, por si só, já significa economias de tempo e recursos financeiros nas validações de segurança do software em produção, pois a segurança acontece desde a raiz.
3. Mudança cultural: um caminho que se revela ao caminhar
Realizar treinamentos com o objetivo de conseguir um maior engajamento e aproveitamento por parte das equipes de desenvolvimento pode ser o início de uma estratégia para ter colaboradores cada vez mais especializados em segurança em sua empresa.
Esses especialistas podem ser referenciados como Security Champions, como falamos acima, e podem facilitar e muito a comunicação entre times de Segurança de Desenvolvimento dentro das empresas.
E para construir uma cultura de contínua busca por conhecimento e melhoria de skills, os treinamentos de forma regulares ajudam a promover a valorização do aprendizado e a incentivar o mindset de que AppSec é uma área em constante transformação.
Desta forma, é importante que o currículo dos treinamentos englobe diferentes metodologias de aprendizado, sempre voltado para as necessidades da sua equipe.
Uma coisa é certa: quanto mais especializado for o seu time, maior será a sua exigência com o conteúdo dos treinamentos futuros e irá ficar cada vez mais claro os verdadeiros motivos porque investir em treinamentos de AppSec.
E isto trará ganhos expressivos para a maturidade da empresa: prepare-se para contar com um time cada vez mais forte e engajado na comunidade de segurança de aplicação.
A que conclusão chegamos?
Pelo que abordamos nos tópicos anteriores, podemos ver que a simples realização de treinamentos padronizados nem sempre alcançará os reais objetivos das empresas, que é aumentar o seu grau de segurança.
Ao optar pelos treinamentos mais comuns no mercado, podemos dizer que o resultado será inevitavelmente o contrário do desejado.
Ou seja, chega-se a um conhecimento desatualizado ou mesmo sem qualquer aderência ao time.
E, neste caso, podemos dizer que se trata de um investimento que não traz um real benefício para a sua empresa.
Então, para que o investimento se justifique, realizar treinamentos de segurança para equipes de desenvolvimento deve ser algo levado a sério, com o devido planejamento estratégico.
A realização de treinamentos deve ser encarada pelas empresas como um dos melhores momentos de melhoria de um processo.
Quando se tem a oportunidade de colocar a prova os conhecimentos de sua equipe, é justamente quando esta equipe mais enriquece sua base de conhecimento e skills.
Portanto, os motivos porque investir treinamentos de AppSec são muito maiores do que o cumprimento de uma etapa de um processo de compliance. Este momento deve ser visto como uma oportunidade de evolução de sua equipe, que claramente trará resultados positivos para seus produtos e ou serviços.
Pense nisso!
Referências deste artigo:
O quão importante são os treinamentos de segurança específicos para a função de Desenvolvedor