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] (Universidade Estadual Paulista (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.

Over the last decade, people and different organizations are becoming increasingly dependent on software systems, which can be characterized as web-oriented, service-oriented, and mobile applications. In parallel, we can also observe that Service-based Applications (SApps) represent an exponential scenario of use in devices such as smartphones, tablets, smart TVs, and hybrids. Therefore, current 5G connection technologies and IoT (Internet of Things) devices promise to increase traffic speed, decrease connection latency, and increase devices connected to the Internet. Thus, vulnerabilities and security threats offer permanent risks for these applications, since new malicious techniques are emerging in similar or wider proportions. The cybersecurity focused on the application layer is deficient in expert professionals, and there is no established culture among software developers to create secure applications. This scenario shows that there is a gap between the dependence on performing human beings to operationalize defensive mechanisms in applications and the threats/vulnerabilities that emerge at all times. Motivated by the exposed scenario, this dissertation carried out a review of the literature on self-protecting systems based on intelligent models, which enables to support the detection of threats/vulnerabilities and malicious actions. Based on the results of this review, we developed a self-protection approach for SApps to support the detection of malicious actions at runtime. Basically, through MAPE-K control loops in a scalar strategy, intelligent classification models can be generated to detect different threats/vulnerabilities. Thus, this work presents as main contributions: (i) the development of processes and solutions that enable the self-protection of SApps; (ii) guidelines that can be applied during the design and coding of self-protecting software; and (iii) a scalable design in terms of the number of threats/vulnerabilities this approach can implement. In order to evaluate the approach proposed in this work, a case study was conducted using an application named AppPetShop, which can be characterized as a SApp that was executed on a real cloud platform, enabling real situations of attacks to be simulated through penetration testing tools. Finally, we compared the approach proposed in this work with the self-protection solutions available in the literature and the results show it can be a feasible solution to protect the application layer at runtime.
Self-protection for the application layer: an approach based on learning techniques and the control loop MAPE-K
Keywords: Autoproteção; Sistemas autoadaptativos; Ciência de dados; Cibersegurança; Modelos de classificação; Self-protection; Self-adaptive systems; Data science; Cybersecurity; Classification models