Pesquisadores da Universidade de Oslo estão trabalhando em um novo método para encontrar vulnerabilidades que permitem a injeção de SQL em aplicativos da web, usando tecnologia de aprendizado de máquina. O método envolve o uso do aprendizado por reforço para automatizar a localização de vulnerabilidades SQLi.
Embora o método proposto pelos pesquisadores para encontrar as falhas ainda não esteja pronto e tenha algumas desvantagens, ele abre caminho para o desenvolvimento de modelos de aprendizado de máquina para pentests e avaliação de segurança.
Veja isso
Pentest em Aplicações Web, o livro
Estudo mostra qual é o ROI de investir em cibersegurança
Para demonstrar seu método, os pesquisadores executaram um teste semelhante ao jogo Capture the Flag. O agente treinado com reforço teve de obter informações sobre um site atacado pela exploração de uma vulnerabilidade SQLi. As solicitações enviadas ao sistema eram as ações possíveis do agente e a recompensa era o token de sinalização que ele deveria receber.
No início, os pesquisadores enviaram muitos pedidos aleatórios e analisaram as recompensas. Gradualmente, criaram um modelo para realizar o ataque com sucesso, enviando uma média de quatro a cinco solicitações.
As ferramentas de injeção de SQL automatizadas existentes dependem de regras estáticas predefinidas, o que torna seu uso muito limitado. A vantagem do aprendizado por reforço é que a lógica de ataque não é predefinida nem estática. O agente tem apenas um conjunto de ações e aprende a estratégia ótima por meio de exemplos. A princípio, o agente deve aprender as coisas mais simples, mas à medida em que aprende pode aprender as características não triviais ou ocultas da exploração de SQLi ou levar em consideração características adicionais para a exploração, como a manipulação do conteúdo do site.
Com agências internacionais