19 % nejlepších obrázků Dockeru nemá heslo root

Minulou sobotu, 18. května, Jerry Gamblin z Kenna Security kontrolovány 1000 nejoblíbenějších obrázků z Docker Hub na základě hesla uživatele root, které používají. V 19 % případů byl prázdný.

19 % nejlepších obrázků Dockeru nemá heslo root

Pozadí s alpským

Důvodem minivýzkumu byla Talos Vulnerability Report, která se objevila začátkem tohoto měsíce (TALOS-2019-0782), jehož autoři - díky objevu Petera Adkinse z Cisco Umbrella - oznámili, že obrázky Docker s populární distribucí Alpine kontejnerů nemají heslo root:

„Oficiální verze obrazů Alpine Linux Docker (od verze 3.3) obsahují heslo NULL pro uživatele root. Tato chyba zabezpečení vyplynula z regrese představené v prosinci 2015. Podstatou toho je, že systémy nasazené s problematickými verzemi Alpine Linuxu v kontejneru a používající Linux PAM nebo jiný mechanismus, který používá stínový soubor systému jako ověřovací databázi, mohou pro uživatele root přijmout heslo NULL.

Verze obrazů Docker s Alpine testovanými na problém byly 3.3–3.9 včetně, stejně jako nejnovější vydání edge.

Autoři učinili následující doporučení pro dotčené uživatele:

„Účet root musí být výslovně zakázán v obrazech Docker vytvořených z problematických verzí Alpine. Pravděpodobné zneužití zranitelnosti závisí na prostředí, protože její úspěch vyžaduje externě předávanou službu nebo aplikaci využívající Linux PAM nebo jiný podobný mechanismus."

Problém byl vyloučeno ve verzích Alpine 3.6.5, 3.7.3, 3.8.4, 3.9.2 a edge (snímek 20190228) a majitelé dotčených obrázků byli požádáni, aby okomentovali řádek pomocí root in /etc/shadow nebo se ujistěte, že balíček chybí linux-pam.

Pokračování s Docker Hub

Jerry Gamblin se rozhodl být zvědavý, „jak běžná může být praxe používání nulových hesel v kontejnerech“. Za tímto účelem napsal malý Bash skript, jehož podstata je velmi jednoduchá:

  • prostřednictvím požadavku curl na rozhraní API v Docker Hub je požadován seznam obrázků Docker, které jsou tam hostovány;
  • přes jq se třídí podle pole popularitya ze získaných výsledků zbývá prvních tisíc;
  • u každého z nich je splněno docker pull;
  • pro každý obrázek přijatý z Docker Hub se spustí docker run s přečtením prvního řádku ze souboru /etc/shadow;
  • pokud je hodnota řetězce rovna root:::0:::::, název obrázku se uloží do samostatného souboru.

Co se stalo? V tento soubor Bylo tam 194 řádků s názvy oblíbených obrazů Docker se systémy Linux, ve kterých uživatel root nemá nastavené heslo:

„Mezi nejznámější jména na tomto seznamu patřily govuk/governmentpaas, hashicorp, microsoft, monsanto a mesosphere. A kylemanna/openvpn je nejoblíbenějším kontejnerem na seznamu, jeho statistiky dosahují více než 10 milionů vytažení.“

Je však třeba připomenout, že tento jev sám o sobě neznamená přímou zranitelnost v bezpečnosti systémů, které je používají: vše závisí na tom, jak přesně jsou používány. (viz komentář z případu Alpine výše). Mnohokrát jsme však viděli „morálku příběhu“: zdánlivá jednoduchost má často stinnou stránku, na kterou je třeba vždy pamatovat a jejíž důsledky je třeba vzít v úvahu ve scénářích vašich technologických aplikací.

PS

Přečtěte si také na našem blogu:

Zdroj: www.habr.com

Přidat komentář