Уразлівасці ў сканерах бяспекі выяў Docker-кантэйнераў

Апублікаваны вынікі тэставання прылад для вызначэння невыпраўленых уразлівасцяў і выяўленні праблем з бяспекай у выявах ізаляваных кантэйнераў Docker. Праверка паказала, што ў 4 з 6 вядомых сканераў вобразаў Docker прысутнічалі крытычныя ўразлівасці, якія дазваляюць атакаваць непасрэдна сам сканер і дамагчыся выкананні свайго кода ў сістэме, у асобных выпадках (напрыклад, пры выкарыстанні Snyk) з правамі root.

Для нападу зламысніку досыць ініцыяваць праверку свайго Dockerfile або manifest.json, які ўключае спецыяльна аформленыя метададзеныя, або размясціць усярэдзіне выявы файлы Podfile і gradlew. Прататыпы эксплоітаў удалося падрыхтаваць для сістэм
Белы крыніца, Снік,
Ямка и
Anchore. Найлепшую бяспеку паказаў пакет Ясна, першапачаткова напісаны з аглядкай на забеспячэнне бяспекі. Праблем таксама не выяўлена ў пакеце Дробязь. У выніку зроблена выснова, што сканары Docker-кантэйнераў варта запускаць у ізаляваных асяроддзі або выкарыстоўваць толькі для праверкі ўласных выяў, а таксама выяўляць асцярожнасць пры падлучэнні падобных прылад да аўтаматызаваных сістэм бесперапыннай інтэграцыі.

У FOSSA, Snyk і WhiteSource уразлівасць была злучана з выклікам вонкавага пакетнага мэнэджара для вызначэння залежнасцяў і дазваляла арганізаваць выкананне свайго кода праз указанне каманд touch і system у файлах gradlew и Podfile.

У Snyk і WhiteSource дадаткова былі знойдзеныя уразлівасці, звязаныя з арганізацыяй запуску сістэмных каманд пры разборы Dockerfile (напрыклад, у Snyk праз Dockefile можна было замяніць утыліту /bin/ls, выкліканую сканарам, а ў WhiteSurce можна было падставіць код праз аргументы ў форме "echo'; touch /tmp/hacked_whitesource_pip;=1.0 ′»).

У Anchore уразлівасць была выклікана выкарыстаннем утыліты скапеа для працы з docker-вобразамі. Эксплуатацыя зводзілася да дадання ў файл manifest.json параметраў выгляду "os": "$(touch hacked_anchore)"', якія падстаўляюцца пры выкліку skopeo без належнага экранавання (выразаліся толькі знакі ";&<>", але дапушчалася канструкцыя "$( )»).

Тым жа аўтарам праведзена даследаванне эфектыўнасці выяўлення невыпраўленых уразлівасцяў сканарам бяспекі docker-кантэйнераў і ўзровень ілжывых спрацоўванняў.частка 1, частка 2, частка 3). Ніжэй паказаны вынікі тэставання 73 вобразаў, якія змяшчаюць вядомыя ўразлівасці, а таксама дадзена ацэнка эфектыўнасці вызначэння наяўнасці тыпавых прыкладанняў у вобразах (nginx, tomcat, haproxy, gunicorn, redis, ruby, node).

Уразлівасці ў сканерах бяспекі выяў Docker-кантэйнераў

Уразлівасці ў сканерах бяспекі выяў Docker-кантэйнераў

Крыніца: opennet.ru

Дадаць каментар