Triggering threat modeling in agile development
Master thesis
Permanent lenke
https://hdl.handle.net/11250/3024839Utgivelsesdato
2022Metadata
Vis full innførselSamlinger
Sammendrag
Trussemodellering burde gjennomføres så tidlig som mulig i smidig utvikling, men den må oppdateres etterhvert som arkitekturen og systemet endres. I smidig utvikling er det utfordrende å vite når denne oppdateringen bør gjennomføres. Den gjeldende akademiske litteraturen mangler en systematisk måte å utløse slike oppdateringer basert på endringer gjort i koden. Denne masteroppgaven har som mål å forbedreprogramvaresikkerheten i smidig utvikling ved å foreslå et metode-artefakt som kan indikere når trussemodellering bør finne sted. Mer spesifikt prøver denne oppgaven å besvare følgende forskningsspørsmål:Forskningsspørsmål 1: Hvordan kan trussemodellering bli utløst basert på kodeendringer?Forskningsspørsmål 2: Hva er effekten av metoden som løser forskningsspørsmål 1?
Metode-artefaktet som er foreslått i denne oppgaven kategoriserer kodeendringer og utløser trussemodelleringer basert på de faktiske endringene i systemet, på en systematisk måte. Artefaktet ble forbedret og evaluert med to papir prototype brukertester hos IT selskapet SpareBank 1 Utvikling. Senere ble en minimal implementasjon av artefaktet testet hos IT utviklingsselskapet Visma, som en del av deres arbeidsflyt i GitHub.
Denne oppgaven følger design forsknings metodologien, og strukturen i oppgaven er derfor en blanding avAIMRAD og stegene i design forskning. Den begynner med å utforske og forklare problemet, lage et utkastav artefaktet, etterfulgt av design og implementasjon av artefaktet, deretter en demonstrasjon i en fiktivcase. Til slutt ble artefaktet evaluert etter hvor bra det løser problemet, hvor godt den fyller kravene som erdefinert, mulige bi-effekter ble undersøkt, brukbarheten ble evaluert, og den ble sammenlignet med andreartefakter.
Resultatene indikerer at artefaktet er effektivt for å løse problemet og sikkerhetseksperter rangerer denhøyt. Brukbarheten var innenfor de akseptable verdier, og de fleste brukbarhetsutfordringene kan forbedresmed automatisering eller små forbedringer. Artefaktet påvirket utviklernes smidige arbeidsflyt lite, og denkrevde lite ekstra tid og innsats. In agile development, threat modeling should be performed as early as possible, but it will need to beupdated as the architecture and system change. The challenge for an agile development team then becomesto determine when to update the threat modeling. The current body of research lacks a systematic way ofdetermining when this update should be triggered based on the changes made to the system.This thesis aims to improve software security in agile development by proposing a method-artifact for triggering threat modeling. More specifically, it answers the research questions:RQ1: How can threat modeling be triggered based on code changes?RQ2: What is the effect of the suggested approach from RQ1?
The method-artifact proposed in this thesis categorizes code changes and creates triggers for threat modeling based on the actual changes to the system in a systematic manner. The artifact was evaluated with twopaper prototype user tests at the IT company SpareBank 1 Utvikling to improve and evaluate the artifact.Later, a minimum-viable-product implementation was tested at the software development company Vismaas part of their pipeline in GitHub.
This thesis follows the design science methodology, and the structure is, therefore, a combination of aIMRAD and the steps in design science. It begins by explicating the problem, outlining an artifact, designingand developing the artifact, followed by a demonstration of the artifact on a fictional case. Finally, theartifact is evaluated against how well it solves the problem and fulfills the requirements, its side effects arestudied, the usability is evaluated, and it is compared to other similar artifacts.
The results indicate that the artifact effectively solved the problems and security experts rated it highly. Theusability was within the acceptable range, and most usability challenges could be improved by increasedautomation or minor tweaks. The artifact impacted the developer’s agile workflow to a small extent andrequired little extra time and effort.