Zranitelnosti ve skenerech zabezpečení obrazů Docker kontejnerů

Byly zveřejněny výsledky testování nástrojů pro určování neopravených zranitelností a odhalování bezpečnostních problémů v obrazech izolovaných kontejnerů Docker. Kontrola ukázala, že ve 4 z 6 známých skenerů obrazů Docker byly nalezeny kritické zranitelnosti, které umožňovaly napadnout přímo samotný skener a dosáhnout vykonání vlastního kódu v systému, v některých případech (například při použití Snyku) s právy roota.

Pro útok stačí, aby útočník inicioval kontrolu svého Dockerfile nebo manifest.json, který obsahuje speciálně formátovaná metadata, nebo umístil do obrazu soubory Podfile a gradlew. Prototypy exploitů se podařilo připravit pro systémy
WhiteSource, Snyk,
Fossa a
Anchore. Nejlepší bezpečnost prokázal balíček Clair, původně napsaný s ohledem na zajištění bezpečnosti. Problémy také nebyly zjištěny v balíčku Trivy. Nakonec bylo učiněno závěr, že skenery Docker kontejnerů by měly být spuštěny v izolovaných prostředích nebo používány pouze pro kontrolu vlastních obrazů, a také projevovat opatrnost při připojování takových nástrojů k automatizovaným systémům nepřetržité integrace.

Ve FOSSA, Snyku a WhiteSource byla zranitelnost spojena s voláním externího správce balíčků pro určování závislostí a umožnila organizovat vykonání vlastního kódu prostřednictvím zadání příkazů touch a system v souborech gradlew a Podfile.

V Snyku a WhiteSource byly dále nalezeny zranitelnosti, spojené s organizací spuštění systémových příkazů při analýze Dockerfile (například ve Snyku bylo možné nahradit utilitu /bin/ls volanou skenerem, a ve WhiteSource bylo možné vložit kód prostřednictvím argumentů ve formě „echo ‘;touch /tmp/hacked_whitesource_pip;=1.0’“).

Ve skeneru Anchore byla zranitelnost způsobena používáním utility skopeo pro práci s docker obrazy. Využití spočívalo v přidávání do souboru manifest.json parametrů typu ‘"os": "$(touch hacked_anchore)"‘, které se vkládají při volání skopeo bez řádného escapování (odstraňovány byly pouze znaky „;&“, ale konstrukce „$()“ byla povolená).

Tentýž autor provedl výzkum účinnosti odhalování neopravených zranitelností skenery bezpečnosti docker kontejnerů a úroveň falešných poplachů (část 1, část 2, část 3). Níže jsou uvedeny výsledky testování 73 obrazů obsahujících známé zranitelnosti, a také je hodnocena účinnost detekce typických aplikací v obrazech (nginx, tomcat, haproxy, gunicorn, redis, ruby, node).

Zranitelnosti ve skenerech zabezpečení obrazů Docker kontejnerů

Zranitelnosti ve skenerech zabezpečení obrazů Docker kontejnerů

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster