A legnépszerűbb Docker-képek 19%-a nem rendelkezik root jelszóval

Múlt szombaton, május 18-án Jerry Gamblin, a Kenna Security munkatársa ellenőrizve 1000 legnépszerűbb kép a Docker Hubból az általuk használt root jelszó alapján. Az esetek 19%-ában üres volt.

A legnépszerűbb Docker-képek 19%-a nem rendelkezik root jelszóval

Alpesi háttér

A mini-kutatás oka a Talos Vulnerability Report volt, amely a hónap elején jelent meg (TALOS-2019-0782), amelynek szerzői - a Cisco Umbrella munkatársa, Peter Adkins felfedezésének köszönhetően - arról számoltak be, hogy a népszerű Alpine konténer-terjesztéssel rendelkező Docker-képek nem rendelkeznek root jelszóval:

„Az Alpine Linux Docker lemezképek hivatalos verziói (a v3.3 óta) NULL jelszót tartalmaznak a root felhasználó számára. Ez a sérülékenység a 2015 decemberében bevezetett regresszió eredménye. Ennek lényege, hogy az Alpine Linux problémás verzióival telepített rendszerek egy konténerben, és Linux PAM-ot vagy más olyan mechanizmust használnak, amely a rendszer árnyékfájlját használja hitelesítési adatbázisként, NULL jelszót fogadhatnak el a root felhasználó számára.

A problémára tesztelt Docker-képek Alpine-nal 3.3–3.9-es verziói, valamint az Edge legújabb kiadása.

A szerzők a következő ajánlást fogalmazták meg az érintett felhasználók számára:

„A root fiókot kifejezetten le kell tiltani az Alpine problémás verzióiból készült Docker-képekben. A sérülékenység kiaknázásának valószínűsége a környezettől függ, mivel a sikerhez egy Linux PAM-ot vagy más hasonló mechanizmust használó, kívülről továbbított szolgáltatásra vagy alkalmazásra van szükség."

A probléma az volt Eltüntetett az Alpine 3.6.5, 3.7.3, 3.8.4, 3.9.2 és edge verziókban (20190228 pillanatkép), és az érintett képek tulajdonosait megkérték, hogy kommentálják a sort a root /etc/shadow vagy győződjön meg arról, hogy a csomag hiányzik linux-pam.

Folytatás a Docker Hubbal

Jerry Gamblin úgy döntött, hogy kíváncsi lesz arra, „mennyire gyakori a null jelszavak használata konténerekben”. Erre a célra írt egy kis Bash script, aminek a lényege nagyon egyszerű:

  • a Docker Hub API-hoz intézett curl kérésén keresztül kérik az ott tárolt Docker-képek listáját;
  • a jq-n keresztül mező szerint van rendezve popularity, és a kapott eredményekből az első ezer marad;
  • mindegyiknél teljesül docker pull;
  • a Docker Hubtól kapott minden egyes kép végrehajtására kerül sor docker run az első sor kiolvasásával a fájlból /etc/shadow;
  • ha a karakterlánc értéke egyenlő root:::0:::::, a kép neve egy külön fájlba kerül mentésre.

Mi történt? BAN BEN ez a fájl 194 sor volt a népszerű Docker-képfájlok neveivel Linux rendszerekkel, amelyekben a root felhasználó nem rendelkezik jelszóval:

„A listán szereplő legismertebb nevek között szerepelt a govuk/governmentpaas, a hashicorp, a microsoft, a monsanto és a mesosphere. A kylemanna/openvpn pedig a legnépszerűbb konténer a listán, statisztikái összesen több mint 10 millió húzást tesznek ki.”

Érdemes azonban emlékeztetni arra, hogy ez a jelenség önmagában nem jelent közvetlen sebezhetőséget az őket használó rendszerek biztonságában: minden attól függ, hogy pontosan hogyan használják őket. (lásd fent az Alpine-ügy kommentárját). A „történet morálját” azonban sokszor láttuk: a látszólagos egyszerűségnek gyakran van egy árnyoldala, amelyet mindig emlékezni kell, és amelynek következményeit figyelembe kell venni a technológiai alkalmazási forgatókönyvekben.

PS

Olvassa el blogunkon is:

Forrás: will.com

Hozzászólás