Nid oes gan 19% o'r delweddau Docker uchaf gyfrinair gwraidd

Dydd Sadwrn diwethaf, Mai 18fed, Jerry Gamblin o Kenna Security gwirio 1000 o'r delweddau mwyaf poblogaidd o Docker Hub yn seiliedig ar y cyfrinair gwraidd y maent yn ei ddefnyddio. Mewn 19% o achosion roedd yn wag.

Nid oes gan 19% o'r delweddau Docker uchaf gyfrinair gwraidd

Cefndir gyda Alpaidd

Y rheswm am yr ymchwil fach oedd Adroddiad Agored i Niwed Talos a ymddangosodd yn gynharach y mis hwn (TALOS-2019-0782), y mae ei awduron - diolch i ddarganfyddiad Peter Adkins o Cisco Umbrella - yn adrodd nad oes gan ddelweddau Docker gyda'r dosbarthiad cynhwysydd Alpaidd poblogaidd gyfrinair gwraidd:

“Mae fersiynau swyddogol o ddelweddau Alpine Linux Docker (ers v3.3) yn cynnwys cyfrinair NULL ar gyfer y defnyddiwr gwraidd. Roedd y bregusrwydd hwn yn deillio o atchweliad a gyflwynwyd ym mis Rhagfyr 2015. Hanfod hyn yw y gall systemau a ddefnyddir gyda fersiynau problemus o Alpine Linux mewn cynhwysydd a defnyddio Linux PAM neu fecanwaith arall sy'n defnyddio ffeil cysgod y system fel cronfa ddata ddilysu dderbyn cyfrinair NULL ar gyfer y defnyddiwr gwraidd. ”

Roedd y fersiynau o ddelweddau Docker gydag Alpine a brofwyd am y broblem yn 3.3-3.9 cynhwysol, yn ogystal â'r datganiad diweddaraf o ymyl.

Gwnaeth yr awduron yr argymhelliad canlynol ar gyfer defnyddwyr yr effeithir arnynt:

“Rhaid i'r cyfrif gwraidd gael ei analluogi'n benodol mewn delweddau Docker sydd wedi'u hadeiladu o fersiynau problemus o Alpaidd. Mae ecsbloetio tebygol y bregusrwydd yn dibynnu ar yr amgylchedd, gan fod ei lwyddiant yn gofyn am wasanaeth neu raglen a anfonir yn allanol gan ddefnyddio Linux PAM neu fecanwaith tebyg arall."

Y broblem oedd dileu mewn fersiynau Alpaidd 3.6.5, 3.7.3, 3.8.4, 3.9.2 ac edge (ciplun 20190228), a gofynnwyd i berchnogion y delweddau yr effeithiwyd arnynt roi sylwadau ar y llinell â gwraidd yn /etc/shadow neu gwnewch yn siŵr bod y pecyn ar goll linux-pam.

Parhau gyda Docker Hub

Penderfynodd Jerry Gamblin fod yn chwilfrydig ynghylch “pa mor gyffredin y gallai’r arfer o ddefnyddio cyfrineiriau null mewn cynwysyddion fod.” I'r perwyl hwn ysgrifennodd ychydig Sgript Bash, y mae ei hanfod yn syml iawn:

  • trwy gais cyrl i'r API yn Docker Hub, gofynnir am restr o ddelweddau Docker a gynhelir yno;
  • trwy jq mae'n cael ei ddidoli fesul maes popularity, ac oddiwrth y canlyniadau a gafwyd, y mae y mil blaenaf yn aros ;
  • ar gyfer pob un ohonynt y mae'n cael ei gyflawni docker pull;
  • ar gyfer pob delwedd a dderbynnir gan Docker Hub yn cael ei weithredu docker run gyda darllen y llinell gyntaf o'r ffeil /etc/shadow;
  • os yw gwerth y llinyn yn hafal i root:::0:::::, mae enw'r ddelwedd yn cael ei gadw mewn ffeil ar wahân.

Beth ddigwyddodd? YN y ffeil hon Roedd yna 194 o linellau gydag enwau delweddau poblogaidd Docker gyda systemau Linux, lle nad oes gan y defnyddiwr gwraidd set cyfrinair:

“Ymhlith yr enwau mwyaf adnabyddus ar y rhestr hon oedd govuk/governmentpaas, hashicorp, microsoft, monsanto a mesosphere. A kylemanna/openvpn yw’r cynhwysydd mwyaf poblogaidd ar y rhestr, mae ei ystadegau yn dod i gyfanswm o fwy na 10 miliwn o dyniadau.”

Mae'n werth cofio, fodd bynnag, nad yw'r ffenomen hon ynddo'i hun yn golygu bregusrwydd uniongyrchol yn niogelwch y systemau sy'n eu defnyddio: mae'r cyfan yn dibynnu ar sut yn union y cânt eu defnyddio. (gweler y sylw o'r achos Alpaidd uchod). Fodd bynnag, rydym wedi gweld “moesol y stori” lawer gwaith: yn aml mae gan symlrwydd ymddangosiadol anfantais, y mae'n rhaid ei gofio bob amser a rhaid ystyried ei ganlyniadau yn eich senarios cymhwyso technoleg.

PS

Darllenwch hefyd ar ein blog:

Ffynhonnell: hab.com

Ychwanegu sylw