Name: | Description: | Size: | Format: | |
---|---|---|---|---|
4.01 MB | Adobe PDF |
Authors
Abstract(s)
O presente relatório foi elaborado no âmbito do projeto do Mestrado em Cibersegurança
e Informática Forense, da Escola Superior de Tecnologia e Gestão (ESTG),
do Instituto Politécnico de Leiria (IPLeiria) e tem como tema: Exploração de
Vulnerabilidades com Algoritmos de Inteligência Artificial.
Os ataques a sistemas de informação estão a tornar-se cada vez mais sofisticados
e catastróficos, tendo como resultado a perda de informação pessoal e, até, em casos
extremos, a perda de vidas humanas. Os criminosos aproveitam-se muitas vezes de
falhas nos sistemas para desencadear ataques. A Open Web Application Security
Project (OWASP) (fundação sem fins-lucrativos que trabalha no sentido de melhorar
a segurança informática) considerou, em 2017, injeção como um dos maiores riscos
em Aplicações web. Nesta medida, existem várias ferramentas automatizadas com
o intuito de auxiliar profissionais da área a identificar estas vulnerabilidades. No
entanto, manter estas ferramentas atualizadas com a evolução tecnológica tem-se
demonstrado um desafio. Para identificar e explorar vulnerabilidades de um sistema
podem ser utilizados algoritmos de Inteligência Artificial (IA).
Neste trabalho é proposta e desenvolvida uma abordagem recorrendo a IA para
identificar vulnerabilidades de Structured Query Language (SQL) Injection. Esta
abordagem é dividida em duas fases. Numa primeira fase procura por queries
SQL no código-fonte de uma aplicação web Hypertext Preprocessor (PHP) e, numa
segunda fase são aplicados algoritmos de IA para procura dos melhores vetores de
ataque. Neste sentido, foram estudados três algoritmos de IA: Algoritmos Genéticos
(AG), Artificial Bee Colony (ABC) e Ant Colony Optimization (ACO). Para cada
algoritmo implementado, foi efetuado um estudo para encontrar os parâmetros de
entrada que obtêm os melhores resultados.
Foram ainda desenvolvidas duas modelações para este problema, em que a
representação de um indivíduo difere. Numa representação, cada gene de um
indivíduo é um vetor de ataque completo, enquanto noutra, o indivíduo completo é
um vetor de ataque.
Para testar empiricamente os valores obtidos, a ferramenta foi aplicada a A abordagem desenvolvida obteve resultados muito satisfatórios na deteção de
vulnerabilidades do tipo SQL Injection, quando comparada com outras ferramentas:
Web Application Protection (WAP) e SonarPHP.
de código aberto, propositadamente vulneráveis: Bricks, bWAPP e Twitterlike.
Description
Keywords
Algoritmos Genéticos Artificial Bee Colony Ant Colony Optimization SQL Injection Segurança Web