Automatisoitu tietoturvatestauksen toteutus rajapintojen kehitykseen CI/CD-tuotantoympäristössä
Luoma-aho, Iikka (2024-06-18)
Automatisoitu tietoturvatestauksen toteutus rajapintojen kehitykseen CI/CD-tuotantoympäristössä
Luoma-aho, Iikka
(18.06.2024)
Julkaisu on tekijänoikeussäännösten alainen. Teosta voi lukea ja tulostaa henkilökohtaista käyttöä varten. Käyttö kaupallisiin tarkoituksiin on kielletty.
avoin
Julkaisun pysyvä osoite on:
https://urn.fi/URN:NBN:fi-fe2024062457461
https://urn.fi/URN:NBN:fi-fe2024062457461
Tiivistelmä
Tässä diplomityössä tarkastellaan automatisoidun tietoturvatestauksen toteutusta rajapintojen kehityksessä jatkuvan integroinnin ja jatkuvan toimittamisen (CI/CD) tuotantoympäristössä. Työn keskeisenä tavoitteena on ollut arvioida menetelmiä, jotka integroivat tietoturvatestauksen osaksi jatkuvaa ohjelmistokehitysprosessia. Näin pyritään parantamaan ohjelmistojen turvallisuutta ja vähentämään haavoittuvuuksien esiintymistä tuotantoympäristöissä. Erityisesti keskitytään avoimen lähdekoodin staattisiin ja dynaamisiin tietoturvatestausmenetelmiin sekä interaktiiviseen tietoturvatestaukseen, jotka mahdollistavat syvällisen haavoittuvuusanalyysin suorittamisen ohjelmistokehityksen eri vaiheissa.
Tämä tutkimus keskittyy tietoturvan tarkasteluun erityisesti ohjelmoitavien rajapintojen (API) näkökulmasta, mikä korostaa CI/CD-ympäristön merkitystä turvallisen ohjelmistokehityksen mahdollistajana. Tutkimuksessa suoritetaan analyysi eri tietoturvatestausmenetelmien soveltuvuudesta jatkuvaan integrointiin ja jatkuvaan toimittamiseen (CI/CD) perustuvaan tuotantoympäristöön, niiden tehokkuudesta tunnistaa haavoittuvuuksia sekä niiden integraation vaikutuksesta kehitysprosessiin. Lisäksi työssä verrataan avoimen lähdekoodin ja kaupallisten tietoturvatestaustyökalujen suorituskykyä ja soveltuvuutta rajapintakehitykseen. Järjestelmien käytettävyyttä kehitysprosessin osana arvioidaan kehittäjien näkökulmasta.
Tutkimuksen keskeiset tulokset viittaavat siihen, että automatisoidun tietoturvatestauksen käyttöönotto CI/CD-tuotantoympäristössä voi olennaisesti lisätä ohjelmistotuotteiden turvallisuutta. Tutkimuksessa tunnistetaan myös useita haasteita ja rajoitteita, jotka liittyvät automatisoitujen testausmenetelmien käyttöönottoon ja soveltamiseen käytännön tilanteissa. Tutkimuksen perusteella esitetään suosituksia tietoturvatestauksen kehittämiseksi sekä toimenpide-ehdotuksia, jotka tukevat organisaatioita tietoturvatestauksen integroimisessa osaksi jatkuvaan integrointiin ja jatkuvaan toimittamiseen perustuvaa tuotantoympäristöä. Tutkimuksessa suositellaan käytettävän useampaa erityyppistä testausmenetelmää, jolloin voidaan saavuttaa paras kattavuus. In this thesis, the implementation of automated security testing in the development of interfaces within a continuous integration and continuous delivery (CI/CD) production environment is examined. The primary objective of this work has been to evaluate methods that integrate security testing into the continuous software development process. This aims to enhance the security of software products and reduce the occurrence of vulnerabilities in production environments. The focus is particularly on open-source static and dynamic security testing methods, as well as interactive security testing, which enable comprehensive vulnerability analysis at various stages of software development.
This research focuses on the examination of security from the perspective of programmable interfaces (APIs), highlighting the importance of the CI/CD environment as an enabler of secure software development. The study conducts an analysis of the suitability of different security testing methods for continuous integration and continuous delivery (CI/CD) based production environments, their effectiveness in identifying vulnerabilities, and their impact on the development process. Additionally, the performance and appropriateness of open-source versus commercial security testing tools for interface development are compared. The usability of systems as part of the development process is assessed from the developers’ perspective.
The key findings of the research suggest that the adoption of automated security testing in a CI/CD production environment can significantly increase the safety of software products. The study also identifies several challenges and limitations associated with the adoption and application of automated testing methods in practical situations. Based on the research, recommendations are made for improving security testing and action proposals that support organizations in integrating security testing into a continuous integration and delivery-based production environment. The study recommends the use of multiple types of testing methods to achieve the best coverage.
Tämä tutkimus keskittyy tietoturvan tarkasteluun erityisesti ohjelmoitavien rajapintojen (API) näkökulmasta, mikä korostaa CI/CD-ympäristön merkitystä turvallisen ohjelmistokehityksen mahdollistajana. Tutkimuksessa suoritetaan analyysi eri tietoturvatestausmenetelmien soveltuvuudesta jatkuvaan integrointiin ja jatkuvaan toimittamiseen (CI/CD) perustuvaan tuotantoympäristöön, niiden tehokkuudesta tunnistaa haavoittuvuuksia sekä niiden integraation vaikutuksesta kehitysprosessiin. Lisäksi työssä verrataan avoimen lähdekoodin ja kaupallisten tietoturvatestaustyökalujen suorituskykyä ja soveltuvuutta rajapintakehitykseen. Järjestelmien käytettävyyttä kehitysprosessin osana arvioidaan kehittäjien näkökulmasta.
Tutkimuksen keskeiset tulokset viittaavat siihen, että automatisoidun tietoturvatestauksen käyttöönotto CI/CD-tuotantoympäristössä voi olennaisesti lisätä ohjelmistotuotteiden turvallisuutta. Tutkimuksessa tunnistetaan myös useita haasteita ja rajoitteita, jotka liittyvät automatisoitujen testausmenetelmien käyttöönottoon ja soveltamiseen käytännön tilanteissa. Tutkimuksen perusteella esitetään suosituksia tietoturvatestauksen kehittämiseksi sekä toimenpide-ehdotuksia, jotka tukevat organisaatioita tietoturvatestauksen integroimisessa osaksi jatkuvaan integrointiin ja jatkuvaan toimittamiseen perustuvaa tuotantoympäristöä. Tutkimuksessa suositellaan käytettävän useampaa erityyppistä testausmenetelmää, jolloin voidaan saavuttaa paras kattavuus.
This research focuses on the examination of security from the perspective of programmable interfaces (APIs), highlighting the importance of the CI/CD environment as an enabler of secure software development. The study conducts an analysis of the suitability of different security testing methods for continuous integration and continuous delivery (CI/CD) based production environments, their effectiveness in identifying vulnerabilities, and their impact on the development process. Additionally, the performance and appropriateness of open-source versus commercial security testing tools for interface development are compared. The usability of systems as part of the development process is assessed from the developers’ perspective.
The key findings of the research suggest that the adoption of automated security testing in a CI/CD production environment can significantly increase the safety of software products. The study also identifies several challenges and limitations associated with the adoption and application of automated testing methods in practical situations. Based on the research, recommendations are made for improving security testing and action proposals that support organizations in integrating security testing into a continuous integration and delivery-based production environment. The study recommends the use of multiple types of testing methods to achieve the best coverage.