Segurança de Aplicação

Os desafios em segurança de aplicações no uso da inteligência artificial por desenvolvedores

À medida que a inteligência artificial (IA) se torna cada vez mais presente em nosso dia a dia, tem se tornado crucial considerar os riscos e benefícios potenciais do uso dessas novas tecnologias, além dos desafios em segurança de aplicações no uso da inteligência artificial. Um exemplo disso é o ChatGPT, um chatbot de IA que ganhou popularidade massiva em um curto período, ultrapassando um milhão de usuários na plataforma.

No entanto, o uso de IA também apresenta desafios em relação à segurança cibernética e AppSec. O uso da IA para criar código e funcionalidades, por exemplo, pode resultar em brechas de segurança não intencionais, que podem ser exploradas por indivíduos mal-intencionados. 

Nesse sentido, é fundamental que desenvolvedores estejam cientes desses riscos para garantir a segurança de suas aplicações durante o uso desse tipo de recurso. Com isso em mente, neste artigo vamos analisar mais de perto no papel das ferramentas de IA no processo de desenvolvimento e os cuidados que desenvolvedores precisam ter em mente ao utilizar esse tipo de recurso.

Inteligência Artificial veio para ficar?

Nos últimos anos, temos visto uma onda de ferramentas e softwares de Inteligência Artificial (IA) surgirem no mercado. Desde o Lensa AI, capaz de criar imagens a partir de texto, o GitHub Copilot, que por meio de linguagem natural sugere trechos de código para programadores enquanto eles trabalham em seus projetos, até o mais recente ChatGPT, que utiliza grandes volumes de dados para fornecer respostas em linguagem natural. 

Não há dúvidas de que essas ferramentas têm demonstrado resultados excepcionais que podem melhorar a eficiência e a qualidade da produção.

No entanto, o uso da IA também apresenta desafios em relação à ética e à privacidade. Um exemplo disso foi o caso do Lensa AI e do Dall-E 2, em que artistas digitais descobriram que seu trabalho havia sido usado para treinar esses modelos, sem seu consentimento.

Algumas preocupações de privacidade levantadas por especialistas incluem a possibilidade de o GitHub Copilot sugerir código que contenha informações confidenciais ou propriedade intelectual, bem como a coleta de dados do código-fonte do usuário pela OpenAI e Microsoft.

Embora o uso da IA apresente desafios, há um consenso geral de que a tecnologia tem o potencial de revolucionar a forma como desenvolvemos produtos digitais, sendo este talvez o maior valor desta ferramenta. A IA pode ser uma ferramenta valiosa para melhorar a eficiência e qualidade de muitos processos e produtos, desde a produção de bens físicos até a criação de softwares sofisticados.

Vale lembrar que a IA não é uma solução mágica que pode ser aplicada a qualquer problema. Ela tem suas limitações e como qualquer ferramenta deve ser utilizada conscientemente.

O que é o ChatGPT?

O ChatGPT é um modelo de inteligência artificial desenvolvido pela OpenAI, uma empresa de pesquisa em IA com sede em São Francisco e cofundada por Elon Musk. Parece como um assistente virtual, fornecendo um chat aos usuários para poder interagir com uma máquina usando linguagem natural. 

Essa ferramenta tem a capacidade de gerar uma conversa natural e fluida, o que acaba  surpreendendo a muitos! Ela é treinada para entender a linguagem humana natural e gerar uma prosa pensativa semelhante à humana após receber uma solicitação.

Embora o ChatGPT traga inúmeras vantagens, como a capacidade de fornecer respostas convincentes e úteis em tempo real, também há preocupações em relação às suas implicações. Alguns críticos argumentam que o uso do ChatGPT pode levar à perda de empregos e à redução da interação humana, prejudicando potencialmente as conexões e relacionamentos sociais.

É importante observar que o modelo é treinado em uma grande quantidade de dados até 2021, o que significa que ele pode fornecer informações com base nos dados existentes até esse período.

Benefícios do uso de chatbots IA para desenvolvedores

Essas ferramentas podem ser poderosas, ajudando desenvolvedores desde o aprendizado de programação até a resolução de problemas complexos. E, devido ao seu uso ser bastante intuitivo, pode proporcionar grandes benefícios profissionais técnicos de diferentes níveis.

Uma das principais vantagens é sua capacidade de explicar o código de uma forma fácil e acessível, permitindo que os desenvolvedores entendam melhor como as soluções funcionam e aprendam com isso. 

Também pode ajudar os desenvolvedores a economizar tempo e esforço ao fornecer sugestões e exemplos de código funcionais. Se você está preso em um problema específico de programação, a ferramenta pode sugerir uma solução ou ajudar a identificar o erro em seu código. 

Outra vantagem é sua capacidade de se adaptar ao conhecimento e habilidades dos desenvolvedores. Ele pode ser usado por programadores iniciantes e experientes, adaptando-se ao nível de experiência do usuário e fornecendo informações relevantes de acordo com isso. 

Ele ainda se vende:

No entanto, como em todas as ferramentas, o ChatGPT tem algumas limitações. Em alguns casos, as respostas podem ser confusas ou imprecisas, o que pode causar mais problemas do que soluções. Além disso,algumas comunidades de desenvolvedores estão banindo respostas geradas por IA, como é o caso do StackOverflow

Em última análise, o ChatGPT pode ser um grande  apoio para desenvolvedores, mas como em todas as ferramentas, é importante usá-lo com ceticismo, sobretudo para as questões que envolvem a Segurança de Aplicações.

Cuidados em segurança de aplicações no uso da inteligência artificial para desenvolvedores

A ferramenta é capaz de gerar informações incorretas com total confiança e pode ser usada para auxiliar na criação de malware ou para gerá-lo do zero para atender a cenários específicos. Os chatbots de IA também podem ser usados para gerar spam e e-mails de phishing, bem como para roubar dados e criar botnets para realizar ataques distribuídos de negação de serviço (DDoS).

Mas quando tratamos especificamente da Segurança de Aplicações, quais considerações precisamos estar cientes?

  • Proteção de dados sensíveis – cuidado com o código que você compartilha! Ao utilizar uma IA para ajudá-lo a trabalhar em seu projeto, é importante garantir que dados sensíveis, como informações de login e senhas, não sejam compartilhados inadvertidamente com a IA.
  • Verificação de fontes confiáveis – não confie em tudo o que ela diz! É importante verificar a fonte e a confiabilidade das informações fornecidas pela IA, especialmente ao lidar com questões de segurança ou ao tomar decisões críticas de negócios.
  • Verifique e revise o código gerado  – ela pode resolver seu problema mas trazer outros sem que você saiba. Se você pedir para gerar um código ou resolver um problema em seu código, o material que ela for gerar IA pode conter vulnerabilidades de segurança, fique atento e faça um secure code review antes de implementá-lo.
  • IA não substitui AST (Application Security Testing) ou Secure Code Review  – ela pode verificar seu código, mas não integralmente. Apesar de ser uma ferramenta interessante para validação de código seguro, ainda assim ela não substitui completamente o uso de outras ferramentas e análises de segurança que estão sempre atualizadas e possuem acesso total do seu repositório.
  • Aprender conceitos de segurança – não troque a OWASP e documentações atualizadas por chats inteligentes desatualizados. Está com uma dúvida de segurança em relação ao seu código, o chat pode ser um apoio, mas a palavra final você encontrará em documentações sérias e reconhecidas como a da OWASP.

Outra dica importante é evitar o uso de chatbots de IA em cenários sensíveis ou críticos, como em projetos que envolvem dados financeiros ou informações pessoais de usuários. 

Além disso, é fundamental estar sempre atualizado sobre as novas vulnerabilidades e ameaças associadas a esses chatbots de IA. Com a rápida evolução da tecnologia, é importante ficar por dentro das últimas tendências e boas práticas de segurança, garantindo assim uma postura de segurança mais proativa.

Benefícios de Segurança de Aplicações no uso de chatbots IA para desenvolvedores

A inteligência artificial  oferece alguns casos de uso positivos na segurança de aplicações, especialmente no que tange ao desenvolvimento e revisão de código.

Alguns usuários de tecnologia têm relatado que o ChatGPT foi útil em várias tarefas, incluindo a revisão de códigos, dicas de correção para relatórios de pentest, automação de ações que requerem codificação/script básico, depuração de programas, entre outras.

  • Treinando a IA para priorizar a segurança: ao utilizar IA para gerar código, você pode treinar o modelo para priorizar a segurança. Isso pode ser feito alimentando o modelo com dados e exemplos que enfatizam a importância da segurança e a identificação de vulnerabilidades.
  • Apoio para Revisão de códigos: essas ferramentas podem te ajudar a identificar problemas de segurança além de erros de sintaxe e semântica em códigos, além de sugerir correções e melhorias. 
  • Entendendo relatórios de pentest e findings das ferramentas de segurança: pode ajudar na revisão e análise de relatórios de testes de segurança e findings identificados por demais ferramentas, facilitando na hora de realizar as correções através de perguntas específicas ao chat.
  • Automação de ações de segurança: com conhecimento básico de codificação/script, a IA pode auxiliar na automação de tarefas que exigem repetição de comandos.

Algumas dicas dada pelo próprio ChatGPT:

Uso consciente e inteligente

É importante que os desenvolvedores tenham em mente que a segurança de aplicações é uma responsabilidade compartilhada. 

Portanto, é fundamental que todos os membros da equipe estejam cientes dos riscos envolvidos no uso do ChatGPT e adotem as medidas de segurança necessárias para proteger o projeto como um todo.

Portanto, ferramentas IA tem um grande potencial de transformar o cotidiano dos desenvolvedores, mas é preciso estar ciente dos riscos envolvidos. Com a adoção de boas práticas e a manutenção de uma postura proativa diante dos riscos, é possível utilizar o ChatGPT e demais chatbots com mais segurança e confiança em seus projetos.

Autores:
Rodrigo Maues Rocha – Analista de Segurança
Gabriel Galdino – Developer Advocate
Tiago Zaniquelli – Analista de Segurança

Nova call to action
About author

Articles

Uma equipe de profissionais, altamente conectados com as notícias, técnicas e informações sobre a segurança de aplicações.
Related posts
Segurança de Aplicação

A Importância da Supply Chain para a Segurança das Aplicações

Para iniciar, quando pensamos em desenvolvimento de software, geralmente associamos essa área a…
Read more
Segurança de Aplicação

O que é WAAP (Web Application and API Protection)

Primeiramente, bem-vindo ao mundo da Proteção de Aplicativos Web e API (WAAP – Web…
Read more
Segurança de Aplicação

Segurança em DevOps

Nos últimos anos, o movimento DevOps tem ganhado destaque no cenário de desenvolvimento de…
Read more

Deixe um comentário