Outdated software in container images

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Master's thesis

Date

2021-08-23

Department

Major/Subject

Computer Science

Mcode

SCI3042

Degree programme

Master’s Programme in Computer, Communication and Information Sciences

Language

en

Pages

52+5

Series

Abstract

In recent years, containers have become a central part of modern software development. Containers enable faster development cycle, better reproducibility and are ideal for modern microservice architectures. Docker has become the de facto standard of containers, but recently OCI has made most of the containers compatible and provider independent. As containers have become more essential, their security has become a major concern. Containers have significantly different technical implementation than the old virtualized servers. Because of this, the old best practices are not always relevant anymore with the new technology. Containers have a completely new security environment, which offers both new ways of improving the security of software, but also creates new problems. This is why understanding the container security has become essential. First, this thesis discusses the history of containers, the reasons why containers have become popular in recent years as well as the technical background of containers. After that, the most essential best practices for container security and the reasoning behind them is discussed. The actual research topic of this thesis is solutions to detecting outdated software versions from container images. The thesis discusses the most popular existing tools for this and shows results for most popular container images. After that, the limitations of existing tools is discussed, a new approach for the problem is proposed and the new method and existing tools are compared.

Viime vuosina konttiteknologiasta on tullut keskeinen työkalu modernissa ohjelmistokehityksessä. Kontit mahdollistavat nopeamman kehityssyklin, ne parantavat toistettavuutta ja sopivat erinomaisesti yhteen mikropalveluarkkitehtuurin kanssa. Dockerista on tullut konttien de facto standardi, mutta viime vuosina OCI standardointi on tehnyt konteista keskenään yhteensopivia ja palveluntarjoajasta riippumattomia. Samalla kun konteista on tullut keskeinen työkalu, niiden tietoturvasta on tullut entistä suurempi huolenaihe. Kontit eroavat tekniseltä toteutukseltaan vanhoista virtualisoituihin palvelimiin perustuvista ratkaisuista merkittävästi. Tästä seuraa, että aiemmat parhaat käytännöt eivät suoraan päde tämän uuden teknologian kanssa. Konttien tietoturvaympäristö on aivan uudenlainen tarjoten sekä uudenlaisia mahdollisuuksia parantaa ohjelmistojen tietoturvaa että luoden uudenlaisia ongelmia. Tämän takia konttien tietoturvan ymmärtämisestä on tullut erittäin tärkeää. Tässä työssä esitellään ensin konttiteknologian historiaa, konttien suosion taustalla olevia syitä ja konttien teknologista perustaa. Tämän jälkeen esitellään keskeisimpiä konttien tietoturvaan liittyviä parhaita käytäntöjä ja syitä, miksi niihin on päädytty. Varsinaisena tutkimuskohteena työssä olivat ratkaisut, millä konttien levykuvista tunnistetaan niiden sisällä olevia vanhentuneita ohjelmistoversioita. Työ esittelee suosituimpia olemassa olevia työkaluja tähän, esitellen tuloksia suosituimpien levy- kuvien haavoittuvuuksista. Tämän jälkeen arvioidaan olemassa olevien työkalujen puutteellisuuksia, esitellään uudenlainen ratkaisu ongelmaan ja vertaillaan uuden lähestymistavan hyviä ja huonoja puolia olemassa oleviin työkaluihin verrattuna.

Description

Supervisor

Aura, Tuomas

Thesis advisor

Aura, Tuomas

Keywords

devops, containers, docker, security

Other note

Citation