Containers är en relativt ny teknik som låter utvecklare att köra applikationer eller funktioner tillsammans med konfigurationer och beroenden i resursoberoende virtuella miljöer. Tekniken har revolutionerat hur organisationer utvecklar och rullar ut kod och applikationer genom att reducera beroenden till miljön och stödja horisontell skalning och andra tekniker som mikrotjänster.

Med det stora intresset för Devops och kontinuerlig integration och leverans har containers blivit sista skriket bland utvecklingsorganisationer och ett naturligt sätt att förenkla utveckling och leverans av applikationer. Som så ofta är fallet är det viktigt att tänka på att nya tekniker också för med sig nya utmaningar för säkerheten. Ofta innebär ny teknik nya attackvektorer, och containers är inget undantag, och många inom organisationer som använder containers är oroliga.

Enligt en undersökning, som utförts av it-säkerhetsföretaget Tripwire bland 311 it-professionella på företag som använder containers, har 60 procent av företagen i undersökningen upplevt säkerhetsincidenter som rör containers det senaste året. Och ju fler containers organisationen har i drift, ju fler ser incidenter hända. Hela 94 procent är oroliga för säkerheten kring containers, och 71 procent tror att incidenterna kommer öka kommande år.

Vad är det då med containers som gör att de ses som en säkerhetsrisk? För det första har de som använder containers ingen vidare inblick i den underliggande infrastrukturen eftersom dessa containers levereras som paketerade tjänster från leverantörer som AWS, Google och Microsoft Azure. Denna icke-transparens begränsar företagens förmåga att granska utvärdera riskerna. Ett annat problem är att enkelheten i att sätta upp containers gör att de som skapar dem, liksom med virtuella maskiner, glömmer bort att de finns. En container är ju inte sällan bara en knapptryckning bort.

– Samtidigt som containers tillåter utvecklingsteam att distribuera programvara med en aldrig tidigare skådad takt, skala tjänster upp eller ner, och till och med hantera alla typer av infrastruktur, är det inte helt utan säkerhetsrisk. Det har till exempel funnits fall där förpackade Docker-behållare användes för att bryta kryptovalutor vilket skapade en oro över säkerheten på marknadsplatser och hur lätt dessa bilder kan användas för att sprida hot, skriver Bogdan Botezatu, senior säkerhetsexpert på Bitdefender i ett mejl till Techworld.

Bogdan Botezatu
Bogdan Botezatu.

– Kubernetes är ett annat container-system som hade en incident med sårbarheter och felkonfigurationer som resulterade i att angripare antingen hanterade fjärrstyrning av dessa kluster och körde kod med administrativa behörigheter eller använde sin datorkraft för att bryta kryptovaluta. Tesla-incidenten är det perfekta exemplet på detta.

Många som använder containers kanske tror att den virtuella container-miljön är lika isolerad som vanliga virtuella maskiner, men så är det inte enligt flera säkerhetsexperter Techworld varit i kontakt med. Containers delar vissa element med värdsystemet vilket gör att de inte är lika isolerade som virtuella maskiner. Det kan innebära att en attack mot en container gör att förövarna kan komma över data från andra containers - de vattentäta skotten finns inte alltid där i samma utsträckning som för virtuella maskiner. Det är också lätt att tro att leverantörerna av container-tjänster tar hand om all säkerhet, men det är mycket som ligger på kunden.

– En av tre verksamheter använder idag egna eller managerade containrar, enligt våra undersökningar. Även om molnjättarna (AWS, Microsoft och Google) gör grovjobbet för managerade Kubernetes-containrar ligger mycket av ansvaret för säkerheten fortfarande hos deras kunder. Ett område där det missas är nätverkssäkerheten, som tvärtemot vad många tror är viktig också för de som använder molntjänster. Vår egen undersökning visade att 46 procent av verksamheter tillåter trafik från vilken källa som helst till sina containrar, vilket definitivt inte är att rekommendera, säger Jan Lundberg, teknisk chef för Palo Alto Networks i Norden.

Jan Lundberg
Jan Lundberg.

Bogdan Botezatu pekar på att företag som använder containrar måste hitta samarbeten mellan dem som utvecklar applikationerna och säkerhetsansvariga. Riskerna ökar när utvecklarna kastar sig in i container-lösningar, som naturligtvis ökar deras effektivitet, men kan innebära ökade säkerhetsrisker som applikationerna och organisationen som helhet.

– Alla dessa incidenter pekar på att när det kommer till säkerhet av containers och orkestreringssystem för containers är det mycket mer än bara en fråga om att tillämpa bästa praxis i säkerhet, såsom att i tid tillämpa säkerhetsåtgärder som fixar kända sårbarheter samt att lita på säkerhetsprogram. Det är också en fråga om att skydda infrastrukturen.

– Med tanke på att en hel del säkerhetshändelser har varit inblandade i att utnyttja containerns beräkningsförmåga för att köra programvara för brytning av kryptovaluta, måste säkerhet och konfiguration av infrastrukturen och nätverk också hanteras. Det innebär att utvecklings- och it-team måste samarbeta med säkerhetsteam för att säkerställa att varken infrastrukturen eller det underliggande systemet är sårbara för potentiella attacker, skriver Bogdan Botezatu på Bitdefender.

Den oberoende säkerhetsexperten Jonas Lejon har en blandad bild av om containers bidrar till minskad eller ökad säkerhet. "Jag tolkar statistiken (i Tripwires undersökning reds. anm.) så att vi använder mer och mer containrar och därmed oroar vi oss också över säkerheten i dessa. Men jag håller med om att komplexiteten ökar. Det intressanta är ju huruvida säkerheten ökar eller minskar i det stora. För separationen ökar ju faktiskt, men om nu färre håller sina containrar uppdaterade och det blir mer komplext så kanske säkerheten i det stora minskar”.

– Och som vanligt med ny teknik så tar det tid innan alla håll blir täppta och mjukvaran skeppas med säkra standardinställningar. Jag tror inte generellt att folk ser containers som ett alternativ till virtuella maskiner, utan mer ett sätt att paketera och göra enklare releaser av mjukvaror inom kontinuerlig integration och devops. Men nyare mjukvaror innebär generellt mindre förståelse för säkerhetsproblem samt fler säkerhetshål.

Läs också:
Vanligt med attacker mot molntjänster – men det är oftast kundernas fel
Efter devops – dags att lära sig gitops