Security testing in continuous integration processes

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu | Master's thesis
Date
2017-06-12
Department
Major/Subject
Tietoliikenneohjelmistot
Mcode
T3005
Degree programme
Master’s Programme in Computer, Communication and Information Sciences
Language
en
Pages
78 + 9
Series
Abstract
Modern software development processes in which changes can be deployed to production multiple times a day present a challenge from the software security point of view. In this work we explore the possibility of using existing software security testing methods and tools in continuous integration to achieve a basic level of continuous security testing. We review existing software security testing methods and tools to determine their applicability to continuous security testing. In four case studies we made selected security testing tools a part of real life software development projects' continuous integration systems and development processes. We found that continuous security testing is feasible using current security testing methods and tools. Multiple different, complementary approaches to implementing it are available depending on the level of expendable effort and security expertise at hand. Dependency verification is in most cases the best starting point for implementing continuous security testing. Good dependency verification tools, which require minimal effort and security testing expertise from the user, are available for most major programming languages.

Modernit ohjelmistokehitysprosessit, joissa muutoksia voidaan viedä tuotantoon useita kertoja päivässä, ovat haastavia kehitetyn ohjelmiston tietoturvan varmistamisen kannalta. Tässä työssä tutkimme, miten olemassa olevia tietoturvatestausmetodeja ja -työkaluja voitaisiin käyttää jatkuvan integraation järjestelmissä perustason jatkuvan tietoturvatestauksen saavuttamiseksi. Käymme läpi olemassa olevia tietoturvatestausmetodeja ja -työkaluja määrittääksemme niiden soveltuvuuden jatkuvaan tietoturvatestaukseen. Testaamme myös valikoitujen tietoturvatestaustyökalujen lisäämistä neljän ohjelmistokehitysprojektin jatkuvan integraation järjestelmiin ja ohjelmistokehitysprosesseihin. Havaitsemme, että joidenkin osa-alueiden jatkuva tietoturvatestaus on mahdollista olemassa olevien tietoturvatestausmenetelmien ja -työkalujen avulla. Tarjolla on monta erilaista, toisiaan täydentävää lähestymistapaa, joista kukin vaatii eri määrän työpanosta ja tietoturvaosaamista. Havaintojemme perusteella useimmissa tapauksissa paras tapa aloittaa jatkuva tietoturvatestaaminen on kehitettävän ohjelmiston riippuvuuksien verifiointi. Siihen tarkoitettujen tietoturvatestaustyökalujen saatavuus eri ohjelmointikielille on hyvä, ja niiden käyttöönotto vaatii hyvin vähän työpanosta ja tietoturvaosaamista.
Description
Supervisor
Aura, Tuomas
Thesis advisor
Vähä-Sipilä, Antti
Keywords
security, testing, continuous, integration
Other note
Citation