Developers’ understanding on secure software development — How training affects software developers’ understanding of secure development lifecycle and software security

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.advisorJallow, Musa
dc.contributor.authorJoutsi, Iiris
dc.contributor.schoolPerustieteiden korkeakoulufi
dc.contributor.supervisorSuoranta, Sanna
dc.date.accessioned2024-08-25T17:38:14Z
dc.date.available2024-08-25T17:38:14Z
dc.date.issued2024-08-19
dc.description.abstractSecure Development Lifecycle (SDL) is a method of integrating software security into software development to help prevent security issues in a more proactive manner. As security issues are becoming more and more common, organisations need ways to tackle them. Software security is traditionally left as the responsibility of software developers with limited resources snd knowledge to implement it. SDL provides guidance and best practices to improve software security. This thesis studied how do developers comprehend the best practices of software security. More specifically, the aim of the study was to find out what are the best practices of SDL and how familiar developers are with the practices. Finally, it was studied if training has any effect on the developers’ understanding on SDL practices. The study was based on a self-learning training created for developers. The research included a literature review, a comparative study with surveys before and after the course, as well as semi-structured interviews for both developers who had completed the course and developers who had not enrolled on the course. The results of the study show that SDL consists of activities divided into six phases: analysis and planning, requirements definition, architecture design, implementation, testing and verification, as well as operation and maintenance. The most important activities are defining security requirements, conducting threat modelling, securing the software operating environment, and following secure development guidelines. They were presented by close to all SDL frameworks and most literature. Additionally, the study found that developers are not security experts, yet they claim most of the responsibility over software security for themselves. Developers who had completed the course placed more of the responsibility over software security to the parties in charge of granting and allocating resources. The study also concludes that training is an efficient way to educate developers on the concepts of software security and SDL in the short-term, but it is not enough to implement software security.en
dc.description.abstractTietoturvallisen ohjelmistokehityksen elinkaari on malli ohjelmistoturvallisuuden sisällyttämiseksi ohjelmistokehitykseen tietoturvapoikkeamien ehkäisemiseksi. Organisaatiot tarvitsevat keinoja yhä yleistyviin tietoturvapoikkeamiin. Tyypillisesti ohjelmistoturvallisuus on vastuutettu ohjelmistokehittäjille ilman riittäviä resursseja turvallisuuden varmistamiseksi. Turvallisen ohjelmistokehityksen elinkaarimalli tarjoaa opastusta ja parhaita käytäntöjä ohjelmistoturvallisuuden parantamiseksi. Tämä opinnäytetyö tutki miten ohjelmistokehittäjät käsittävät ohjelmistoturvallisuuden parhaat käytännöt. Opinnäytetyön keskeisenä tavoitteena oli turvallisen ohjelmistokehityksen parhaiden käytänteiden määrittely sekä ohjelmistokehittäjien ymmärryksen selvittäminen. Lopuksi opinnäytetyö tutki, onko koulutuksella vaikutusta näiden käytänteiden ymmärtämiseen. Tutkimus perustui itseopiskeltavaan kurssiin, joka luotiin ohjelmistokehittäjille. Tutkimus suoritettiin kirjallisuuskatsauksella, vertaavilla kyselyillä ennen ja jälkeen kurssin suorittamisen, sekä puolistrukturoiduilla haastatteluilla kehittäjille, jotka olivat suorittaneet kurssin, ja kehittäjille, jotka eivät olleen suorittaneet kurssia. Tutkimuksen tulokset osoittavat, että tietoturvallisen ohjelmistokehityksen elinkaari koostuu toimista, jotka voidaan jakaa kuuteen vaiheeseen: analyysi ja suunnittelu, vaatimusmäärittely, arkkitehtuurin suunnittelu, toteutus, testaaminen ja varmentaminen, sekä toimitus ja ylläpito. Tärkeimmät toiminnot olivat tietoturvavaatimusten määrittely, uhkamallinnus, ohjelmiston ympäristön turvaaminen ja turvallisen ohjelmoinnin oppaiden seuraaminen. Nämä toimet esitettiin lähes jokaisessa viitekehyksessä ja useimmassa julkaisuissa. Tämä tutkimus osoittaa, että ohjelmistokehittäjät eivät ole tietoturva-asiantuntijoita, mutta he ottavat suurimman vastuun tietoturvasta harteilleen. Kurssin suorittaneet ohjelmistokehittäjät myös painottivat resursseja myöntävän ja allokoivat tahon vastuuta tietoturvassa. Tutkimuksesta voi päätellä, että kouluttaminen on tehokas tapa opettaa ohjelmistokehittäjille ohjelmistoturvallisuuden ja tietoturvallisen ohjelmistokehityksen elinkaaren käsitteitä, mutta se ei riitä ohjelmistoturvallisuuden takaamiseksi.fi
dc.format.extent72+5
dc.format.mimetypeapplication/pdfen
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/130277
dc.identifier.urnURN:NBN:fi:aalto-202408255838
dc.language.isoenen
dc.programmeMaster’s Programme in Computer, Communication and Information Sciencesfi
dc.programme.majorSecurity and Cloud Computingfi
dc.programme.mcodeSCI3084fi
dc.subject.keywordsoftware securityen
dc.subject.keywordsecure software developmenten
dc.subject.keywordsecure development lifecycleen
dc.subject.keywordtrainingen
dc.titleDevelopers’ understanding on secure software development — How training affects software developers’ understanding of secure development lifecycle and software securityen
dc.titleOhjelmistokehittäjien käsitys tietoturvallisesta ohjelmistokehityksestä — Koulutuksen vaikutus ohjelmistokehittäjien käsitykseen tietoturvallisen ohjelmistokehityksen elinkaaresta ja ohjelmistoturvallisuudestafi
dc.typeG2 Pro gradu, diplomityöfi
dc.type.ontasotMaster's thesisen
dc.type.ontasotDiplomityöfi
local.aalto.electroniconlyyes
local.aalto.openaccessyes

Files

Original bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
master_Joutsi_Iiris_2024.pdf
Size:
4.39 MB
Format:
Adobe Portable Document Format