Self-Healing after Security Incidents
Abstract
Ettersom tjenester blir stadig mer digitalisert, ekspanderer også angrepsflaten til digitale forbrytere. Moderne systemer har nådd et nivå av kompleksitet som er vanskelig å vedlikeholde og sikre; dagens løsninger med antiskadevareprogrammer og perimetersikring klarer ikke holde tritt med hackernes angrepsmetoder. Det har utartet seg et behov for bevisste maskiner som selv kan detektere angrep og korrigere sårbarheter i sine systemer uten menneskelig interaksjon. Selvhelbredende maskiner blir snart en nødvendighet for å kunne håndtere den overveldende kompleksiteten til moderne, digitale systemer, samt beskytte mot ondsinnede angrep.
I denne masteroppgaven blir temaet selvhelbredende maskiner undersøkt gjennom en teoretisk og en praktisk tilnærming. Den teoretiske tilnærmingen inkluderer en litteraturstudie, der eksisterende litteratur innen forskningsfeltet blir kartlagt og presentert. I den praktiske tilnærmingen blir et selvhelbredende skript utviklet. Passende verktøy og plattformer blir valgt ut, hvilket inkluderer en sårbar nettapplikasjon, et inntrengingsdeteksjonssystem og en sårbarhetsskanner, samt fem helbredingsteknikker blir definert. Resultatene fra oppgaven indikerer at utvikling av systemer med selvhelbredende egenskaper er svært komplisert. Grad av selvhelbreding går på bekostning av ikke-funksjonelle og funksjonelle krav, som eksempelvis tilgjengelighet og funksjonalitet. De uniforme helbredingsmekanismene har en større helbredingsrekkevidde, men på bekostning av andre krav til applikasjonen. De spesifiserte helbredingsfunksjonene innebar større kompleksitet i utviklingen, men bevarte til gjengjeld ikke-funksjonelle og funksjonelle krav bedre. Resultatene fra litteraturstudien viser at forskningsemnet fremdeles er umodent, med begrenset forskning. As services become increasingly digitalized, the attack surface is also expanding for criminals operating digitally. Modern systems have reached a level of complexity that is difficult to maintain and secure; today's solutions with anti-malware programs and perimeter security fail to keep up with hackers' attacks and methods. The need for aware machines that can detect attacks themselves, and correct vulnerabilities in their systems without human interaction emerges. Self-healing machines is perceived as a viable option in order to handle the overwhelming complexity of modern digital systems, as well as protecting against malicious attacks.
In this master thesis, the topic self-healing machines is explored through a theoretical and a practical approach. The theoretical approach includes a literature study, where existing literature in the field of research is mapped and presented. In the practical approach, a self-healing script is developed. Appropriate tools and platforms are selected, which include a vulnerable network application, an intrusion detection system, and a vulnerability scanner. In addition, five healing techniques are defined. The results from the thesis indicate that the development of systems with self-healing properties is severely complicated. The degree of self-healing is at the expense of non-functional and functional requirements, such as availability and functionality. The uniform healing mechanisms have a greater healing range, but at the cost of other application requirements. The more specified healing functions entailed greater complexity in development, but retained better non-functional and functional requirements. The results from the literature study show that the research topic is still immature, with limited research.