Security testing in continuous integration processes

Loading...
Thumbnail Image

URL

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