Agile and DevSecOps Oriented Vulnerability Detection and Mitigation on Public Cloud

Loading...
Thumbnail Image

URL

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