resultaterne af testningen af værktøjerne til at identificere uopdagede sårbarheder og afsløre sikkerhedsproblemer i Docker-isolerede containerbilleder. Undersøgelsen viste, at 4 ud af 6 kendte Docker-billedscanner havde kritiske sårbarheder, der muliggør direkte angreb på selve scanneren og udførelse af egen kode i systemet, i visse tilfælde (f.eks. ved brug af Snyk) med root-rettigheder.
For at gennemføre et angreb er det tilstrækkeligt for angriberen at initiere en kontrol af sin Dockerfile eller manifest.json, der inkluderer specifikt udformede metadata, eller at placere Podfile- og gradlew-filer indeni billedet. Prototype exploits for systemer
, ,
og
. Den bedste sikkerhed blev vist af pakken , som oprindeligt blev skrevet med fokus på sikkerhed. Der blev heller ikke identificeret problemer i pakken . I sidste ende konkluderes det, at Docker-container scannere bør køre i isolerede miljøer eller kun bruges til at kontrollere egne billeder, og der skal udvises forsigtighed ved tilslutning af sådanne værktøjer til automatiserede systemer til kontinuerlig integration.
I FOSSA, Snyk og WhiteSource var sårbarheden relateret til kald af en ekstern pakkehåndterer til at bestemme afhængigheder og gjorde det muligt at udføre sin egen kode ved at angive kommandoer som touch og system i filerne og .
I Snyk og WhiteSource blev der desuden , med organisering af kørsel af systemkommandoer ved parsing af Dockerfile (f.eks. i Snyk kunne man via Dockerfile erstatte værktøjet /bin/ls, der blev kaldt af scanneren, og i WhiteSource kunne kode tilføjes via argumenter i formen «echo ‘;touch /tmp/hacked_whitesource_pip;=1.0’»).
I Anchore var sårbarheden brugen af værktøjet til arbejde med docker-billeder. Udførelsen kunne reduceres til at tilføje parametre som ‘»os”: «$(touch hacked_anchore)»‘ i manifest.json-filen, som indsættes ved kald af skopeo uden tilstrækkelig escaping (kun tegnene «;&,» blev fjernet, men konstruktionen «$()» var tilladt).
Den samme forfatter har gennemført en undersøgelse af effektiviteten af at opdage uopdagede sårbarheder ved hjælp af sikkerhedsscannere til docker-containere og niveauet for falske positiver (, , ). Nedenfor vises resultaterne fra testen af 73 billeder, der indeholder kendte sårbarheder, samt en vurdering af effektiviteten af at identificere de almindelige applikationer i billederne (nginx, tomcat, haproxy, gunicorn, redis, ruby, node).
Kilde: opennet.ru
