Sem categoria

Os maiores desafios em segurança de aplicações

Este conteúdo está disponível também em áudio:

Em nossos doze anos de experiência, a Conviso pôde detectar e ajudar a solucionar uma série de desafios em segurança de aplicações enfrentados por nossos clientes. Por isso,  decidimos abordar neste artigo uma lista daqueles que encontramos com muita frequência quando falamos sobre processo de desenvolvimento seguro. 

Não vamos tratar neste momento de temas como problemas de vulnerabilidades, problemas de escalabilidades, ou mesmo ferramentas. Não que isso não seja importante, mas a ideia deste artigo é focar em alguns pontos que muitas vezes são deixados de lado, mas que continuam influenciando fortemente na segurança de aplicações.

Desafios

Abaixo listamos os principais desafios que entendemos que todas as equipes de desenvolvimento enfrentam – em maior ou menor grau – e que devem ser analisadas e cuidadosamente resolvidas.

Não devemos e nem podemos deixar de lado questões e desafios técnicos, mas muitos destes desafios técnicos têm suas origens em algum ou alguns dos listados aqui.

Vamos a eles.

Mudança de Mindset

Um dos primeiros pontos que queremos levantar é a mudança de pensamento que deve ser cultivada nas equipes de desenvolvimento. A mudança cultural é um dos maiores desafios que você vai enfrentar neste processo.

Muitas vezes acreditamos que nossos desenvolvedores chegaram em um patamar que nada mais pode ser aprendido, ou mesmo mudado, e isso é fruto de um processo que começa nos bancos das universidades.

Nossos desenvolvedores não são preparados para pensar em uma solução como um processo de construção, que deve seguir algumas fases. Por muito tempo fomos preparados para sermos executores, onde pegávamos um pensamento, um desejo, e transformávamos em código. 

Esse processo era natural, e não tinha grande dificuldade de execução. Fomos treinados para fazer isso e isso, é culturalmente impregnado na formação do desenvolvedor que pensamentos que não sejam os de construção do código devam ser deixados para outros profissionais – é o que acontece com a segurança.

Sempre vai ter alguém para testar a aplicação, por que me preocupar com isso agora ? 

Essa frase já foi muito comum, mas graças a um grande esforço e muito empenho, temos conseguido mudar essa visão, mostrando que há outros pontos que também devem ser observados pelos desenvolvedores.

Precisamos entender que mudar nosso mindset e buscar implementar segurança desde o início da construção de uma aplicação é a melhor solução para que possamos chegar em um patamar de software mais seguros.

Hoje já temos uma visão mais robusta e focada em segurança. Modelos e metodologias de desenvolvimento já são mais fortemente ancoradas em melhores práticas de desenvolvimento e encontramos cada vez mais desenvolvedores que estão preocupados com o processo de desenvolvimento seguro.

Uma grande vitória!

Falta de conhecimento

Buscar conhecimento, todo dia aprender 1% a mais !

Esse é nosso objetivo na CONVISO, buscamos sempre aprender mais e aprimorar nossos conhecimentos, e assim podemos ajudar cada vez mais nossos mercado.

Queremos que esse pensamento se espalhe pelo mercado, queremos um mercado de profissionais focados em criar melhores soluções, todas com um pensamento forte em segurança.

No entanto, temos oportunidade de falar com muitos desenvolvedores e outros profissionais de diversas áreas que nunca, por exemplo, ouviram falar na OWASP. Isso pra nós é um indício de que há algo que não está sendo feito da forma correta.

Muitos desses profissionais são desenvolvedores de aplicações WEB e não sabem que a OWASP ou Open Web Application Security Project – uma organização internacional fortemente dedicada a difundir a segurança para aplicações web. Ela existe desde 2004, e disponibiliza material gratuito e muito bem desenvolvido.

Sempre que trabalhamos com um cliente, buscamos entender quais são suas dores, o que ele quer realmente resolver e muitas vezes a resposta é simplista e dada muito rapidamente: “queremos resolver nossas vulnerabilidades!”.

A questão é que na grande maioria das vezes o ponto não é este, temos que mostrar ao gestor que só resolver a vulnerabilidade não é a solução, você está tratando o efeito e não a causa, que muitas vezes é a falta de conhecimento do desenvolvedor nas melhores práticas ou mesmo das próprias vulnerabilidades.

Outro exemplo é que muitas destes desenvolvedores não conhecem, por exemplo, o OWASP TOP 10, um relatório que é atualizado a cada 3 anos e traz as 10 vulnerabilidades mais presentes neste período, só isso já ajudaria em mais de 70% das vulnerabilidades. 

No entanto vamos ter calma. Dizer que a culpa é do desenvolvedor e também é uma resposta simplista e rápida demais para expressar o problema.

Isso é muito mais profundo, e vem desde da base de formação do profissional, pois quando perguntado se teve alguma matéria na sua formação com foco em desenvolvimento seguro, a resposta é quase sempre a mesma: não.

Por outro lado, não é difícil de encontrar gestores que não querem investir na formação do profissional, e não sabem a importância de treinamento e capacitação, uma pena, precisamos começar a entender que este investimento é um dos mais importantes a serem feitos.

Pense nisso!

Crenças em “Silver Bullets

Veja esta frase:

“Tudo vai se resolver quando comprarmos a ferramenta X!”

Já ouviram isso?

É mais comum do que podemos imaginar. Encontramos muitas vezes empresas onde as soluções de segurança estão fortemente ancoradas em ferramentas e nestas empresas há um pensamento de que “se temos estas ferramentas, estamos seguros.”

Um erro clássico de falta de entendimento do todo, não é visto o contexto, apenas as consequências. É claro que acreditamos que as ferramentas são importantes – afinal, na Conviso, nós criamos, comercializamos e trabalhamos com ferramentas, mas não acreditamos que elas sejam a única solução, e sim, um suporte.

Acreditamos que ainda em um futuro não muito próximo ainda seremos dependentes da criatividade e da genialidade das pessoas. Elas sim são a base de nosso processo e, como tal, devem estar preparadas para isso –  às ferramentas cabe dar suporte.

É claro que acreditamos que em uma esteira de desenvolvimento temos que ter integrações com ferramentas que auxiliem no desenvolvimento, ou mesmo no processo de descoberta de vulnerabilidades, o que queremos colocar é que não devemos apoiar nossas crença nesta silver bullet, não há isso em Application Security, tudo tem seu lugar e sua importância, é um conjunto!

Por último vou deixar aqui uma frase de Robert Statsinger, que é Senior Solutions Architect at Contrast Security, onde ele resume muito bem nosso pensamento.

“Application security is something you do, not something you buy.” Ou seja: Segurança de Aplicações é algo que você deve executar, e não comprar.

Falta de processo de Gestão de Conhecimento

Bom, se entendemos que a falta de conhecimento é um problema que deve ser enfrentado, precisamos pensar em como reter o conhecimento que criamos e que produzimos dentro de nossa empresa!

Precisamos garantir que, ao solucionarmos uma vulnerabilidade, esse conhecimento seja retido pela equipe e que esteja disponível para futuro aprendizado é fundamental.

Muitas empresas não estão focando atenção nisso, e mesmo auxiliando na formação de seus desenvolvedores, ainda carecem de um processo que garanta que o conhecimento seja mantido na empresa, mesmo com a saída de algum desenvolvedor.

Muitas vezes os gestores se preocupam em adquirir ferramentas que custam centenas de dólares para colocar em sua estrutura, mas não têm o mesmo cuidado com um dos bens mais preciosos do seu time, que é o conhecimento.

Usar uma ferramenta que possa proporcionar isso é fundamental para, dentro do processo de desenvolvimento seguro, manter o conhecimento registrado e de fácil consulta.

Essas ferramentas existem, das mais simples até as mais complexas, das gratuitas às pagas mas nem todas as ferramentas de gestão de vulnerabilidades podem entregar as duas coisas de forma fácil e simples.

Dentro do processo de evolução em segurança de aplicações, garantir o conhecimento é uma das fases e etapas mais importantes. 

Quando colocamos a gestão de conhecimento para trabalhar com o processo de treinamento das equipes, pode ter certeza que os resultados serão sempre positivos.

Falta de profissionais focados em AppSec

Muitas vezes o profissional de TI é visto como um “faz tudo” dentro da área de tecnologia. 

Quando falamos de desenvolvimento, essa história se repete e, em muitas empresas, o desenvolvedor acaba precisando entender sobre vários aspectos do processo de desenvolvimento.

Esse é um problema que encontramos com certa facilidade. Espera se que o desenvolvedor, além de codificar, o faça de forma correta – sem erros e sem fragilidades ou vulnerabilidades.

Bom, sabemos que nada é 100% seguro, e que um único profissional não terá como assumir todas as responsabilidades dentro de um processo complexo e que envolve muitas etapas.

Precisamos entender que o melhor posicionamento é que dentro dos times de desenvolvimentos exista um profissional focado nas melhores práticas de desenvolvimento seguro, que trabalhe junto a seus pares o conceito e os princípios de segurança. 

Isso não exclui o fato de que todos dentro da equipe precisam desse conhecimento. No entanto, contar com este profissional já seria um grande avanço.

Esse profissional tem um nome: dentro do círculo de segurança ele é conhecido como Security Champion, e seu principal objetivo é levar para seus pares o pensamento, o conhecimento e as práticas de AppSec.

Entendemos que o Security Champion é uma das peças mais importantes em todo o processo de desenvolvimento seguro, visto que ele irá unir todos em prol de um único objetivo.

A formação de um Security Champion é um dos investimentos mais certeiros para trazer resultado para a empresas, e deveria ser foco de todo gestor de desenvolvimento.

A segurança como atividade contínua

Já abordamos neste artigo o impacto que as ferramentas certas podem ter dentro do processo de desenvolvimento seguro. E foi justamente por conhecer as dificuldades e desafios em Segurança de Aplicações que a Conviso criou o AppSec Flow, uma plataforma que suporta todo o ciclo de segurança em desenvolvimento de software e gestão de vulnerabilidades. 

O AppSec Flow ainda ajuda a criar mecanismos de padronização de trabalhos comuns para as equipes de segurança, como a realização de testes e gestão de vulnerabilidades.

Com isso, a segurança deixa de ser gargalo e se torna uma atividade contínua, integrada à todo o ciclo de vida de desenvolvimento de software, com as análises certas rodando no momento certo, dentro das melhores práticas e, acima de tudo, sem reduzir a velocidade do andamento da empresa. É por isso que dizemos que o Flow é uma plataforma completa de Continuous Application Security!

Click me
About author

Articles

Mais de 15 anos de experiência em segurança da informação e aplicações, graduado em processamento de dados, trabalhei como professor universitário e participei ativamente como instrutor de treinamento para mais de 6000 desenvolvedores em equipes de TI. Sou pai de duas meninas e trader nas horas vagas.
Related posts
Sem categoria

A importância das métricas em Segurança de Aplicações

Certa vez o escritor Peter Drucker disse: “Aquilo que não é medido, não é melhorado”. Ele…
Read more
Sem categoria

Testes de Segurança - aplicando ao pipeline

Na primeira parte de nosso artigo, falamos sobre os conceitos básicos de testes de segurança.
Read more
InfraestruturaSem categoria

Arquitetura Imutável em AppSec

Falar sobre infraestrutura imutável requer que voltemos um pouco no tempo e comecemos explicando…
Read more

Deixe um comentário