Agile and DevSecOps Oriented Vulnerability Detection and Mitigation on Public Cloud

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu | Master's thesis
Date
2024-01-22
Department
Major/Subject
Security and Cloud Computing
Mcode
SCI3084
Degree programme
Master’s Programme in Computer, Communication and Information Sciences
Language
en
Pages
80+15
Series
Abstract
Some of the most significant threats facing modern organizations are compromised systems and data breaches. As the number of exploitable vulnerabilities grows, it becomes increasingly critical to detect and mitigate these vulnerabilities as quickly as possible. For companies transitioning to the public cloud, this challenge is amplified by the need to manage new infrastructure and security considerations. Additionally, DevOps and agile-oriented software development emphasizes speed. This speed can negatively impact security if agile and DevOps practices are not integrated with security best practices. This thesis supports an organization's migration to the public cloud platform Azure by devising a vulnerability detection and mitigation strategy. This is achieved by threat modeling the development and deployment processes and cloud infrastructure. The threat modeling methods are adapted to the DevOps and agile-oriented organization. Threat modeling is followed by performing risk assessment and risk mitigation. A vulnerability mitigation process is developed, and supporting DevSecOps automation is assessed and integrated into the CI/CD pipeline and cloud infrastructure. Automated threat modeling is performed using Threagile, an open-source threat modeling tool. The threat modeling process, supported by automation, is found to be beneficial to DevSecOps and agile practices, although having to manually create and update the threat model defined as code is time-consuming. Risk mitigation is based on the OWASP ASVS and CIS Benchmarks for Azure and AKS. The vulnerability mitigation process is developed with the ISO/IEC 30111 standard as the outline, utilizing other standards to expand and complement it. The DevSecOps methods and tools selected for the system cover linting, continuous software composition analysis (SCA), static application security testing (SAST) policy enforcement, and runtime monitoring. The thesis is found to notably increase the DevSecOps maturity in the organization, though some lacking areas are highlighted for future development.

Suurimpia modernien organisaatioiden uhkia ovat vaarantuneet järjestelmät ja tietomurrot. Helposti väärinkäytettävien haavoittuvuuksien määrän kasvaessa on yhä tärkeämpää havaita haavoittuvuudet ja lieventää niiden vaikutuksia mahdollisimman nopeasti. Julkipilveen siirtyvillä yrityksillä tätä haastetta lisää kasvava itsehallittavan infrastruktuurin ja uusien turvallisuusnäkökohtien määrä. Tämän lisäksi modernit ohjelmointiparadigmat, kuten DevOps ja Agile painottavat nopeutta, mikä voi negatiivisesti vaikuttaa turvallisuuteen, jos turvallisuusnäkökohtia ei oteta huomioon. Tämä diplomityö tukee yhden organisaation siirtymistä julkipilvialusta Azureen suunnittelemalla ja toteuttamalla haavoittuvuuksien havainnointi- ja lieventämisstrategiaa. Tähän liittyen ensin toteutettiin uhkamallinnus pilvi-infrastruktuurille ja tämän ympärille kehitettiin prosessi, jotta uhkamallinnusta jatketaan ja kehitetään DevOps:n ja Agilen periaatteiden mukaan. Uhkamallinnusta seurasi riskianalyysi ja suurimpien riskien lieventämisstrategian kehittäminen. Tämän jälkeen kehitettiin haavoittuvuuksien lieventämissprosessi, ja lopuksi katsastettiin ja vertailtiin DevSecOps automaatiota ja integroitiin DevSecOps työkaluja CI/CD-putkeen. Uhkamallinnus totetutettiin automaation avustuksella Threagile-työkalulla. Threagile tuotti myös riskianalyysin sen löytämille uhkille. Tämän havaittiin olevan hyödyllistä DevSecOpsin ja Agilen näkökulmasta, joskin mallin kehittäminen ja etenkin päivittäminen on aikaa vievää. Riskien lieventämisen strategia kehitettiin hydöyntämällä useita lähteitä, kuten OWASP ASVS ja CIS Bencmarkit Azurelle, AKS:lle ja Kubernetekselle. Haavoittuvuuksien lieventämisprosessi johdettiin ISO/IEC 30111 mukaan, hyödyntäen muitakin standardeja tukemaan ja laajentamaan prosessia. Valitut DevSecOps työkalut kattavat jatkuvan riippuvuuksien analyysin, staattisen tietoturvatestaamisen, ajonaikaisen monitoroinnin ja automatisoidun sääntöjen valvomisen. Diplomityön prosessien ja työkalujen havaittiin huomattavasti parantavan organisaation DevSecOps kypsyyttä, ja vielä puutteellisia osa-alueita nostettiin esille.
Description
Supervisor
Aura, Tuomas
Thesis advisor
Godin, Artem
Keywords
DevSecOps, threat modeling, risk assessment, risk mitigation, vulnerability detection, vulnerability mitigation
Other note
Citation