Cibersegurança

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

mm
Adicione Unite.AI às suas fontes preferidas no Google

Na RSA Conference em San Francisco este mês, uma impressionante variedade de soluções novas e quentes foi exibida pela 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 a chantagem por milhões de dólares.

Depois de muita consideração, cheguei à conclusão de que nossa indústria está perdida. Perdida no caldo de detectar e responder com um discurso interminável que afirma 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 criaram um labirinto onde já não conseguem ver a floresta em meio às árvores quando se trata de identificar e prevenir atores ameaçadores. Essas ferramentas, destinadas a proteger ativos digitais, estão, em vez disso, causando frustração tanto para as equipes de segurança quanto para as de desenvolvimento, por meio de aumentos de 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 no 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, todos os ataques ou manchetes que você lê vêm do código. E são os desenvolvedores de software que enfrentam o problema em sua forma mais completa. No entanto, 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 durante a maior parte do dia. Na verdade, os desenvolvedores passam 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 esse 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. No entanto, 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 em seu nível mais básico – encontrando e corrigindo vulnerabilidades no código.

Os aplicativos 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 à tona 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. Esse ataque destacou a necessidade de proteger todos os passos 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 de violações de segurança. Para fazer isso, as empresas precisam adotar uma mentalidade de “mudança para a esquerda”, trazendo métodos preventivos e preditivos 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. No entanto, 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 transbordamentos de buffer, ataques de injeção ou validação de entrada inadequada. O modelo também aprenderá as diferenças sutis 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, além de aumentar a produtividade das equipes de desenvolvimento.

As ferramentas de inteligência artificial generativa também podem oferecer correções de código sugeridas, automatizando o processo de geração de patches, reduzindo significativamente o tempo e o esforço necessários para corrigir vulnerabilidades em bases de código. Ao treinar modelos em vastos repositórios de bases de código seguras 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 a segurança do código em vários ambientes. Elas podem melhorar com o tempo, à medida que continuam a ser treinadas em 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 ferramentas e algoritmos avançados desempenhem um papel significativo na identificação e mitigação de vulnerabilidades de segurança, a expertise, a criatividade e a intuição humanas permanecem indispensáveis para proteger aplicativos de forma eficaz.

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 os aplicativos sejam construídos com segurança em mente desde o início. Ao integrar treinamento e programas de 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 código.

Além disso, a comunicação eficaz e a colaboração entre 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 aplicativos mais resilientes e seguros.

Em um mundo onde o cenário de ameaças está constantemente evoluindo, é fácil se sentir sobrecarregado pela vasta quantidade 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 reduzir a “gordura” de sua pilha de segurança existente, economizando uma quantidade exponencial de tempo e dinheiro no processo. Em nível básico, tais soluções serão capazes de não apenas encontrar vulnerabilidades conhecidas e corrigir vulnerabilidades zero-day, mas também vulnerabilidades pré-zero-day antes que elas ocorram. Podemos finalmente manter o ritmo, se não superar, dos atores ameaçadores em constante 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.