a tesztelési eredmények az elavult sebezhetőségek azonosítására és a Docker izolált konténerek képeivel kapcsolatos biztonsági problémák feltárására. A vizsgálat során kiderült, hogy a 6 ismert Docker képellenőrző közül 4-ben kritikus sebezhetőségek találhatók, amelyek lehetővé tették a szkenner közvetlen támadását és a kód végrehajtását a rendszerben, egyes esetekben (például Snyk használatakor) root jogosultságokkal.
A támadáshoz a támadónak elegendő az ő Dockerfile-jának vagy manifest.json-jának ellenőrzése, amely speciálisan elkészített metadatákat tartalmaz, vagy fájlokat, például Podfile-t és gradlew-t helyezni a konténerbe. Az exploit prototípusait rendszerekhez
, ,
és
. A legjobb biztonságot a csomag biztosította , amelyet eredetileg a biztonság biztosítása érdekében írtak. Problémákat nem találtunk a . Végül arra a következtetésre jutottunk, hogy a Docker konténereket szkennelő eszközöket izolált környezetekben kell futtatni, vagy csak saját képeik ellenőrzésére használják, továbbá óvatosan kell eljárni az ilyen eszközök automatizált folyamatos integrációs rendszerekhez való csatlakoztatása során.
A FOSSA, Snyk és WhiteSource esetében a sebezhetőség a külső csomagkezelő hívásával volt összefüggésben a függőségek azonosítására, és lehetővé tette a kód végrehajtását a touch és system parancsok megadásával a és .
A Snyk és WhiteSource további sebezhetőségeket tártak fel, amelyek a rendszerparancsok futtatásának szervezésével kapcsolatosak a Dockerfile elemzése során (például Snyk esetében a Dockerfile-ban ki lehetett cserélni a szkenner által hívott /bin/ls eszközt, míg a WhiteSource esetében kódot lehetett adni az аргómentumok formájában, mint például „echo ‘;touch /tmp/hacked_whitesource_pip;=1.0’”). , a rendszerparancsok futtatása érdekében a Dockerfile elemzése során (például a Snyk a Dockerfile-ban lehetőséget biztosított a /bin/ls eszköz cseréjére, míg a WhiteSource-nál kódot lehetett beletenni az argumentumok formájában, mint például „echo ‘;touch /tmp/hacked_whitesource_pip;=1.0’”).
Az Anchore esetében a sebezhetőséget skopeo Docker képek kezelésére. A kihasználás lényege a manifest.json fájlba a ‘”os”: “$(touch hacked_anchore)”‘ paraméterek hozzáadása volt, amelyeket a skopeo hívása során megfelelő escaping nélkül dolgoztak fel (csak a „;&” karaktereket távolították el, de a „$()” konstrukció megengedett volt).
Ugyanezen szerző végezte a docker-konténereket vizsgáló biztonsági szkennerek által feltárt elavult sebezhetőségek hatékonyságának vizsgálatát és a hamis pozitív eredmények arányát (, , ). Az alábbiakban 73 képmás tesztelési eredményei láthatók, amelyek ismeretes sebezhetőségeket tartalmaznak, valamint értékelés található a tipikus alkalmazások (nginx, tomcat, haproxy, gunicorn, redis, ruby, node) jelenlétének észlelésének hatékonyságáról a képmásokban.
Forrás: opennet.ru
