Inspirando codificação segura: estratégias para incentivar a melhoria contínua dos desenvolvedores

Views: 289
0 0
Read Time:7 Minute, 5 Second

No desenvolvimento de software, a importância de práticas de codificação seguras não pode ser exagerada. Fomentar uma cultura de segurança nas equipes de desenvolvimento tornou-se crucial para garantir a integridade e proteção dos sistemas digitais.

Para aprofundar este tema, tivemos a oportunidade de entrevistar Pieter Danhieux, CEO da Secure Code Warrior . Ele lança luz sobre a importância da cultura de segurança positiva, as razões por trás das vulnerabilidades recorrentes, estratégias para incorporar treinamento de codificação segura sem prejudicar os processos de desenvolvimento, a eficácia das experiências de aprendizagem gamificadas, a necessidade de atualização regular do treinamento de desenvolvimento seguro e métodos inovadores para incentivar os desenvolvedores a melhorar suas técnicas de codificação segura.

Qual a importância de promover uma cultura de segurança nas equipes de desenvolvimento para práticas de codificação seguras?

A cultura em torno de como a segurança é percebida e acionada dentro da coorte de desenvolvimento sustenta tudo e provavelmente reflete o sucesso que eles terão em alcançar resultados de segurança favoráveis.

Tradicionalmente, os desenvolvedores tiveram experiências negativas com seus colegas do AppSec. Se observarmos a visão de onde o desenvolvedor está sentado, eles só tendem a ouvir da equipe de segurança quando algo dá errado: ou o código deles está quebrado do ponto de vista da segurança ou eles precisam consertar o erro de outro desenvolvedor. Ambos são igualmente prejudiciais para seus fluxos de trabalho e, no caso de seu próprio trabalho, não é diferente de chamar seu bebê de feio. Eles trabalharam incansavelmente para enviar um código bonito e funcional que atinge os objetivos de entrega de recursos; a segurança é a função de outra pessoa e nem sempre é uma medida da qualidade do código em termos de KPIs organizacionais.

O ressentimento pode ser forte entre ambas as equipes, mas promover uma cultura de segurança positiva em que os desenvolvedores entendam o papel que podem desempenhar na redução das vulnerabilidades no nível do código, além de criar um ambiente em que possam aprender codificação segura de uma maneira confortável para eles , é fundamental para reparar essa relação.

O lado do AppSec também deve entender que eles só agregam valor aos negócios quando os problemas de segurança são realmente corrigidos, não apenas identificados e relatados. Eles precisam ir além de declarações genéricas e realmente fornecer padrões de codificação específicos da linguagem que podem prevenir ou mitigar problemas. Quando ambas as equipes estão alinhadas com objetivos de segurança comuns e, idealmente, entendem que segurança deve ser sinônimo de qualidade de código, existe um imenso potencial para redução significativa de riscos.

Tem sido observado que as empresas sem treinamento de desenvolvimento seguro muitas vezes pagam recompensas de bug repetidamente para o mesmo tipo de vulnerabilidade. Você pode compartilhar algumas das razões pelas quais esses padrões existem?

Isso não é surpreendente e volta ao fato de que vimos as mesmas vulnerabilidades recorrentes por décadas (pense em scripts entre sites e injeção de SQL) porque os desenvolvedores estão usando os mesmos padrões de codificação ruins repetidamente. Independentemente de você estar utilizando a mais recente tecnologia de verificação de IA, recompensas de bugs ou tempo e esforço gastos na análise clássica de código estático, você verá os mesmos problemas voltando se a causa raiz não for abordada.

Quer se trate de atalhos, maus hábitos ou um comportamento aprendido aceito que perpetua esse risco, a solução é a educação e o reforço positivo dos padrões de codificação corretos para que possam corrigir o curso e quebrar o ciclo. Como uma indústria, até o momento, decepcionamos os desenvolvedores por não fornecer educação de codificação segura viável na força de trabalho ou no nível superior; eles precisam de ferramentas adequadas e caminhos de aprendizagem que lhes permitam desenvolver as habilidades necessárias para corrigir esses comportamentos de risco e codificar com a segurança em mente.

Como as organizações podem incorporar treinamento de codificação segura sem retardar significativamente seu processo de desenvolvimento?

Alcançar a segurança rapidamente não é impossível, mas requer o aprimoramento de habilidades dos desenvolvedores de uma maneira que seja menos prejudicial para o fluxo de trabalho e, ao mesmo tempo, forneça um impacto significativo. O treinamento anual de conformidade “marcar a caixa” simplesmente não será suficiente; isso é muito pouco frequente e não é adaptado às linguagens e estruturas que eles usam, nem às vulnerabilidades que eles provavelmente encontrarão nas bases de código em que trabalham.

As soluções de aprendizado ágil que se adaptam às necessidades em constante mudança do cenário de negócios e ameaças, além de permitir que os desenvolvedores tenham espaço para crescer e desenvolver o conhecimento existente, tendem a ser muito mais bem-sucedidas e relevantes. Essa forma de aprendizado tende a dividir os módulos em “microbursts” que são mais fáceis de reter e executar contextualmente quando desafios semelhantes se apresentam no mundo real.

Por que as organizações devem incorporar torneios em seu treinamento? Você pode descrever a eficácia de uma experiência de aprendizagem gamificada no contexto da codificação segura?

Sou um grande defensor de colocar um pouco de diversão em tudo, e os torneios podem ser uma ferramenta poderosa para ajudar a desenvolver uma cultura de segurança positiva em uma organização. Eles são uma chance para os desenvolvedores se envolverem com os resultados do aprendizado de segurança em um nível competitivo, em relação aos seus pares, e obter uma visão clara de onde eles se comparam.

Muitos de nossos clientes aproveitam isso como uma oportunidade para formar equipes e criar consciência, organizando torneios temáticos com prêmios incríveis para aqueles que alcançam o topo da tabela de classificação. É também uma chance para a gerência identificar os entusiastas da segurança no grupo de desenvolvimento, o que pode resultar na nomeação de formidáveis ​​defensores da segurança para manter a paixão viva por muito tempo após o término do torneio.

Qual a importância da atualização do treinamento de desenvolvimento seguro? Com que frequência essas sessões devem ser realizadas?

É completamente inútil implementar qualquer programa de qualificação que seja lançado apenas uma vez por ano. Lançar alguns vídeos para os desenvolvedores executarem em velocidade dupla enquanto eles se concentram em outras tarefas não fará nada para reduzir as vulnerabilidades na organização ou corrigir maus hábitos e padrões de codificação ativamente em uso.

O OWASP Top 10 não variou muito em 20 anos, mas as tecnologias que usamos mudaram drasticamente. Agora, escrevemos código para diferentes finalidades: full-stack, incorporado, móvel, APIs… e as vulnerabilidades de segurança existem na maioria dessas tecnologias em diferentes formas, exigindo diversos padrões e abordagens de codificação. É muito mais importante ficar perto de novas versões de linguagens ou pilhas, em vez de tentar acompanhar as vulnerabilidades.

Idealmente, o treinamento deve ser curto e digerível sempre que for necessário (por exemplo, incorporado a sistemas de rastreamento de problemas), com sessões principais executadas com frequência para abordar os problemas mais relevantes para a organização. Deve ser prático, replicando o código e os cenários que eles verão em seu dia de trabalho. Eles devem ter tempo adequado para treinar, com fácil acesso à educação como parte de seu fluxo de trabalho com troca mínima de contexto. É realmente tão importante.

Dada a importância da codificação segura, quais métodos ou estratégias inovadoras podem ser empregadas para encorajar continuamente os desenvolvedores a melhorar suas técnicas de codificação segura?

Nesta era de novas (e potencialmente inseguras) ferramentas de desenvolvimento de IA lançadas a cada dois dias, agora mais do que nunca, precisamos ajudar os desenvolvedores a entender o papel que desempenham na redução do risco cibernético no nível do código . Eles precisam ser educados para se preocupar mais com resultados de codificação seguros e estar equipados com as habilidades para identificar e evitar vulnerabilidades comuns em seu próprio trabalho.

As organizações com um alto nível de maturidade de segurança têm programas de segurança fortes e orientados para desenvolvedores que se concentram em sua jornada de aprendizado, planos de carreira e compartilhamento de conhecimento. Eles geralmente tornam a codificação segura parte dos KPIs de desenvolvimento, mas, da mesma forma, incentivam a educação contínua e as avaliações de aprovação.

Desenvolvedores conscientes da segurança são procurados, altamente respeitados por seus colegas e desfrutam de um status que os ajuda a se destacar entre os desenvolvedores medianos. Aproveitar isso e tornar a codificação segura indolor, incentivada e até mesmo vinculada a projetos mais interessantes pode ser um poderoso motivador.

FONTE: HELP NET SECURITY

POSTS RELACIONADOS