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ů pro systémy
, ,
a
. Nejlepší bezpečnost prokázal balíček , původně napsaný s ohledem na zajištění bezpečnosti. Problémy také nebyly zjištěny v balíčku . 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 a .
V Snyku a WhiteSource byly dále , 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 používáním utility 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ů (, , ). 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).
Zdroj: opennet.ru
