Luki w skanerach bezpieczeństwa obrazów kontenerów Docker

Opublikowano wyniki testowania narzędzi do identyfikacji niepoprawnych podatności oraz wykrywania problemów z bezpieczeństwem w obrazach izolowanych kontenerów Docker. Kontrola wykazała, że w 4 z 6 znanych skanerów obrazów Docker występowały krytyczne podatności, umożliwiające atak na sam skaner i wykonanie własnego kodu w systemie, w niektórych przypadkach (na przykład przy użyciu Snyk) z prawami roota.

Aby zaatakować, przestępca musi jedynie zainicjować sprawdzenie swojego Dockerfile lub manifest.json, zawierającego specjalnie przygotowane metadane, lub umieścić wewnątrz obrazu pliki Podfile i gradlew. Prototypy exploitów udało się przygotować dla systemów
WhiteSource, Snyk,
Fossa i
Anchore. Najlepsze zabezpieczenia pokazał pakiet Clair, napisany pierwotnie z myślą o zapewnieniu bezpieczeństwa. Problemy również nie zostały wykryte w pakiecie Trivy. W rezultacie stwierdzono, że skanery kontenerów Docker należy uruchamiać w izolowanych środowiskach lub używać wyłącznie do sprawdzania własnych obrazów, a także zachować ostrożność przy podłączaniu takich narzędzi do zautomatyzowanych systemów ciągłej integracji.

W FOSSA, Snyk i WhiteSource podatność była związana z wywołaniem zewnętrznego menedżera pakietów w celu wykrywania zależności i pozwalała na organizację wykonania własnego kodu przez wskazanie komend touch i system w plikach gradlew i Podfile.

W Snyk i WhiteSource dodatkowo były znalezione vulnerablista, związane z organizacją uruchamiania komend systemowych podczas analizy Dockerfile (na przykład w Snyk poprzez Dockerfile można było zastąpić narzędzie /bin/ls, wywoływane przez skaner, a w WhiteSurce można było wprowadzić kod przez argumenty w formie „echo ‘;touch /tmp/hacked_whitesource_pip;=1.0’”).

W Anchore podatność była spowodowana użyciem narzędzia skopeo do pracy z obrazami docker. Eksploatacja sprowadzała się do dodania do pliku manifest.json parametrów typu ‘"os": "$(touch hacked_anchore)"’, które wprowadzane były przy wywołaniu skopeo bez odpowiedniego eskalowania (przycinane były tylko znaki „;&”, ale dopuszczono konstrukcję „$()”).

Ten sam autor przeprowadził badanie skuteczności wykrywania niepoprawnych podatności przez skanery bezpieczeństwa kontenerów docker oraz poziom fałszywych alarmów (część 1, Part 2, część 3). Poniżej przedstawiono wyniki testów 73 obrazów, zawierających znane podatności, a także ocenę skuteczności wykrywania standardowych aplikacji w tych obrazach (nginx, tomcat, haproxy, gunicorn, redis, ruby, node).

Luki w skanerach bezpieczeństwa obrazów kontenerów Docker

Luki w skanerach bezpieczeństwa obrazów kontenerów Docker

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster