Autoproteção para a camada de aplicação: uma abordagem baseada em técnicas de aprendizado e no laço de controle MAPE-K - Martins, Ronaldo Rodrigues [UNESP] (2022)
Ao longo da última década nota-se que as pessoas e diferentes tipos de organizações estão se tornando cada vez mais dependentes de sistemas de software, que podem ser caracterizados como aplicações voltadas para Web, orientados a serviços e móveis. Em paralelo, observa-se também que aplicações baseadas em serviços (do inglês, Service-based Applications – SApps) representa um cenário exponencial de utilização em dispositivos como smartphones, tablets, smart TVs e híbridos. Nessa direção, as atuais tecnologias de conexão 5G e dispositivos de Internet das Coisas prometem aumentar a velocidade de tráfego, diminuir a latência de conexão e aumentar a presença de dispositivos conectados à Internet. Diante desse contexto, as vulnerabilidades e ameaças de segurança oferecem riscos permanentes para este tipo de aplicação (SApps), pois nota-se o surgimento de novas técnicas maliciosas em proporções similares ou superiores. A área de cibersegurança voltada para a camada de aplicação é deficiente em profissionais especializados, além de não existir uma cultura estabelecida entre os desenvolvedores de software em criar aplicações seguras. O cenário exposto mostra que existe uma lacuna entre a dependência da atuação de seres humanos para operacionalizar mecanismos defensivos das aplicações capazes de lidar com ameaças/vulnerabilidades que surgem a todo momento. Motivado pelo cenário exposto, foi conduzido neste trabalho de mestrado acadêmico uma revisão da literatura sobre autoproteção de sistemas baseada em modelos inteligentes, que permite apoiar a detecção de ameaças/vulnerabilidades e ações maliciosas. Com base nos resultados desse mapeamento, uma abordagem de autoproteção para SApps foi desenvolvida para apoiar a detecção de ações maliciosas e a aplicação de contramedidas em tempo de execução. Por meio de loops de controle MAPE-K em uma estratégia escalar, modelos de classificação inteligentes podem ser gerados para detectar diferentes tipos de ameaças/vulnerabilidades. Assim, este trabalho apresenta como contribuições principais: (i) o desenvolvimento de processos e soluções que viabilizem a autoproteção de SApps; (ii) um conjunto de boas práticas que podem ser aplicadas durante o projeto e codificação de softwares autoprotegidos; e (iii) um design escalável quanto ao número de ameaças/vulnerabilidades que essa abordagem possa implementar. Como forma de avaliar a abordagem proposta neste trabalho, um estudo de caso foi conduzido utilizando uma aplicação chamada AppPetShop, uma SApp que foi executada em uma plataforma real de nuvem para simular situações reais de ataques por meio de ferramentas de teste de penetração. Ao final, a abordagem proposta neste trabalho foi comparada com as soluções de autoproteção disponíveis na literatura e os resultados mostram que a mesma pode ser uma solução factível para proteção da camada de aplicação em tempo de execução.