Cibersegurança

Limpar a “Névoa do Mais” na Segurança Cibernética

mm

Na RSA Conference em San Francisco este mês, uma impressionante variedade de soluções novas e quentes estava em exposição da indústria de segurança cibernética. Uma após outra, as empresas afirmavam ter a ferramenta que salvaria sua organização de atores mal-intencionados que roubam seus bens ou os chantageiam por milhões de dólares.

Após muita consideração, cheguei à conclusão de que nossa indústria está perdida. Perdida no caldo de detectar e responder com intermináveis disparates afirmando que seus problemas desaparecerão desde que você adicione mais uma camada. Engolfada em uma névoa de investimentos tecnológicos, pessoal, ferramentas e camadas de infraestrutura, as empresas agora formaram um labirinto onde não conseguem mais ver a floresta pelas árvores quando se trata de identificar e prevenir atores ameaçadores. Essas ferramentas, destinadas a proteger ativos digitais, estão, em vez disso, gerando frustração para as equipes de segurança e desenvolvimento por meio de aumento da carga de trabalho e ferramentas incompatíveis. A “névoa do mais” não está funcionando. Mas, francamente, nunca funcionou.

Os ciberataques começam e terminam em código. É simples assim. Ou você tem uma falha de segurança ou vulnerabilidade no código, ou o código foi escrito sem considerar a segurança. De qualquer forma, todo ataque ou manchete que você lê vem do código. E são os desenvolvedores de software que enfrentam o problema em sua plenitude. Mas os desenvolvedores não são treinados em segurança e, francamente, talvez nunca sejam. Então, eles implementam ferramentas de busca de código de moda antiga que simplesmente procuram padrões no código. E tenha medo do que você pede, porque, como resultado, eles recebem um tsunami de alertas, perseguindo falsos positivos e fantasmas por grande parte do dia. Na verdade, os desenvolvedores estão gastando até um terço do seu tempo perseguindo falsos positivos e vulnerabilidades. Somente ao se concentrar na prevenção as empresas podem realmente começar a fortalecer seus programas de segurança e estabelecer as bases para uma cultura orientada à segurança.

Encontrando e Corrigindo no Nível do Código

Costuma-se dizer que a prevenção é melhor do que a cura, e este provérbio se aplica particularmente à segurança cibernética. É por isso que, mesmo diante de restrições econômicas mais apertadas, as empresas continuam investindo e conectando mais ferramentas de segurança, criando múltiplas barreiras para reduzir a probabilidade de ciberataques bem-sucedidos. Mas, apesar de adicionar mais e mais camadas de segurança, os mesmos tipos de ataques continuam acontecendo. É hora de as organizações adotarem uma perspectiva fresca – uma em que nos concentramos no problema no nível raiz – encontrando e corrigindo vulnerabilidades no código.

As aplicações frequentemente servem como o principal ponto de entrada para cibercriminosos que buscam explorar fraquezas e obter acesso não autorizado a dados sensíveis. No final de 2020, o comprometimento do SolarWinds veio à luz e os investigadores encontraram um processo de compilação comprometido que permitiu que os atacantes injetassem código malicioso no software de monitoramento de rede Orion. Este ataque destacou a necessidade de garantir a segurança de cada etapa do processo de compilação de software. Ao implementar medidas robustas de segurança de aplicativos, ou AppSec, as organizações podem mitigar o risco dessas violações de segurança. Para fazer isso, as empresas precisam adotar uma mentalidade de “shift left”, trazendo métodos preventivos e previsíveis para a etapa de desenvolvimento.

Embora isso não seja uma ideia completamente nova, ela vem com desvantagens. Uma desvantagem significativa é o aumento do tempo e dos custos de desenvolvimento. Implementar medidas de AppSec abrangentes pode exigir recursos e expertise significativos, levando a ciclos de desenvolvimento mais longos e despesas mais altas. Além disso, nem todas as vulnerabilidades representam um alto risco para a organização. O potencial de falsos positivos das ferramentas de detecção também leva à frustração entre os desenvolvedores. Isso cria uma lacuna entre as equipes de negócios, engenharia e segurança, cujos objetivos podem não estar alinhados. Mas a inteligência artificial generativa pode ser a solução que fecha essa lacuna para sempre.

Entrando na Era da IA

Ao aproveitar a natureza onipresente da inteligência artificial generativa dentro da AppSec, finalmente aprenderemos com o passado para prever e prevenir ataques futuros. Por exemplo, você pode treinar um Large Language Model ou LLM em todas as vulnerabilidades de código conhecidas, em todas as suas variantes, para aprender os recursos essenciais de todas elas. Essas vulnerabilidades podem incluir problemas comuns como buffer overflows, ataques de injeção ou validação de entrada inadequada. O modelo também aprenderá as diferenças nuances por linguagem, estrutura e biblioteca, bem como quais correções de código são bem-sucedidas. O modelo pode então usar esse conhecimento para digitalizar o código de uma organização e encontrar possíveis vulnerabilidades que ainda não foram identificadas. Ao usar o contexto em torno do código, as ferramentas de digitalização podem detectar melhor as ameaças reais. Isso significa tempos de digitalização curtos e menos tempo perseguindo e corrigindo falsos positivos e aumento da produtividade para as equipes de desenvolvimento.

As ferramentas de inteligência artificial generativa também podem oferecer sugestões de correções de código, automatizando o processo de geração de patches, reduzindo significativamente o tempo e o esforço necessário para corrigir vulnerabilidades em repositórios de código. Ao treinar modelos em vastos repositórios de repositórios de código seguros e boas práticas, os desenvolvedores podem aproveitar trechos de código gerados por IA que aderem a padrões de segurança e evitam vulnerabilidades comuns. Essa abordagem proativa não apenas reduz a probabilidade de introduzir falhas de segurança, mas também acelera o processo de desenvolvimento, fornecendo aos desenvolvedores componentes de código pré-testados e validados.

Essas ferramentas também podem se adaptar a diferentes linguagens de programação e estilos de codificação, tornando-as ferramentas versáteis para segurança de código em vários ambientes. Elas podem melhorar com o tempo à medida que continuam a treinar com novos dados e feedback, levando a uma geração de patches mais eficaz e confiável.

O Elemento Humano

É essencial notar que, embora as correções de código possam ser automatizadas, a supervisão e validação humanas ainda são cruciais para garantir a qualidade e a correção dos patches gerados. Embora as ferramentas avançadas e algoritmos desempenhem um papel significativo na identificação e mitigação de vulnerabilidades de segurança, a expertise, criatividade e intuição humanas permanecem indispensáveis para garantir a segurança eficaz das aplicações.

Os desenvolvedores são, em última análise, responsáveis por escrever código seguro. Sua compreensão das melhores práticas de segurança, padrões de codificação e possíveis vulnerabilidades é fundamental para garantir que as aplicações sejam construídas com segurança em mente desde o início. Ao integrar programas de treinamento e conscientização sobre segurança no processo de desenvolvimento, as organizações podem capacitar os desenvolvedores a identificar e abordar proativamente questões de segurança, reduzindo a probabilidade de introduzir vulnerabilidades no repositório de código.

Além disso, a comunicação eficaz e a colaboração entre as diferentes partes interessadas dentro de uma organização são essenciais para o sucesso da AppSec. Embora as soluções de IA possam ajudar a “fechar a lacuna” entre desenvolvimento e operações de segurança, é necessário uma cultura de colaboração e responsabilidade compartilhada para construir aplicações mais resilientes e seguras.

Em um mundo onde o cenário de ameaças está constantemente evoluindo, é fácil se sentir sobrecarregado pelo volume de ferramentas e tecnologias disponíveis no espaço de segurança cibernética. No entanto, ao se concentrar na prevenção e encontrar vulnerabilidades no código, as organizações podem cortar a “gordura” de sua pilha de segurança existente, economizando uma quantidade exponencial de tempo e dinheiro no processo. No nível raiz, essas soluções poderão não apenas encontrar vulnerabilidades conhecidas e corrigir vulnerabilidades zero-day, mas também vulnerabilidades pré-zero-day antes que ocorram. Podemos finalmente acompanhar, se não superar, os atores ameaçadores em evolução.

Stuart McClure tem mais de 30 anos de experiência em todos os aspectos de cibersegurança, incluindo engenharia, desenvolvimento de produtos, marketing, vendas, sucesso do cliente e liderança executiva, incluindo CTO Global para McAfee/Intel, iniciando Cylance e Foundstone como Fundador/CEO/Presidente/CTO e criando as práticas de cibersegurança para Kaiser Permanente e Ernst & Young. Stuart é o autor fundador do livro de hacking de cibersegurança #1, Hacking Exposed, que capacita os defensores a entender as ferramentas, técnicas e procedimentos dos hackers para prevenir ataques cibernéticos. Stuart obteve seu B.A. em Psicologia e Filosofia com ênfase em Ciência da Computação na CU Boulder.