Të shtunën e kaluar, më 18 maj, Jerry Gamblin nga Kenna Security 1000 imazhe më të njohura nga Docker Hub për fjalëkalimin e përdoruesit root. Në 19% të rasteve, ai rezultoi të ishte bosh.

Historiku me Alpine
Shkaku i hulumtimit tĂ« zhvilluar ishte Raporti i DĂ«mtimit tĂ« Talos (), autorĂ«t e tĂ« cilit â fal zbulimit tĂ« Peter Adkins nga Cisco Umbrella â njoftuan se imazhet Docker me distribucionin e njohur pĂ«r kontejnerĂ«t Alpine nuk kanĂ« fjalĂ«kalim pĂ«r root:
"Versionet zyrtare të imazheve Docker të Alpine Linux (nga v3.3 e tutje) përmbajnë fjalëkalimin NULL për përdoruesin root. Kjo dobësi u shfaq si rezultat i regresionit të paraqitur në dhjetor 2015. Ajo ka të bëjë me faktin se sistemet e zbatuara me versione problematike të Alpine Linux në kontejner dhe që përdorin Linux PAM ose një mekanizëm tjetër, që përfshin skedarin sistemor shadow si bazë për autentifikimin, mund të pranojnë fjalëkalimin null (NULL) për përdoruesin root."
Versionet e imazheve Docker me Alpine të verifikuara për problemin ishin nga 3.3 deri në 3.9 përfshirë, si dhe lëshimi më i fundit edge.
Autorët jepnin rekomandimin e mëposhtëm për përdoruesit e prekur nga problemi:
"Llogaria root duhet të çaktivizohet qartë në imazhet Docker të ndërtuara mbi versionet problematike të Alpine. Shfrytëzimi i mundshëm i dobësisë varet nga mjedisi, pasi suksesi i saj kërkon një shërbim ose aplikacion të ekspozuar jashtë, që përdor Linux PAM ose një mekanizëm tjetër të ngjashëm."
një rrjedhje rrugësh përmes BGP, gjatë së cilës rreth 20 mijë prefiks të 2400 rrjetëve u ridrejtuan në mënyrë të gabuar. Burimi i rrjedhjes ishte ofruesi DQE Communications, i cili përdori software në Alpine versionet 3.6.5, 3.7.3, 3.8.4, 3.9.2 dhe edge (snapshot 20190228), dhe të pronarëve të imazheve të prekura u propozua të komentojnë linjën me root në /etc/shadow ose të sigurohen që nuk ekziston paketa linux-pam.
Vazhdimi nga Docker Hub
Jerry Gamblin vendosi të hulumtojë "sa e përhapur mund të jetë praktika e përdorimit të fjalëkalimeve null në kontejnerë". Për këtë ai shkroi një të vogël , thelbi i të cilit është mjaft i thjeshtë:
- me një kërkesë curl te API në Docker Hub kërkohet lista e imazheve të vendosura atje;
- përmes jq ai rendit atë sipas fushës
popularity, dhe nga rezultatet e marra mbetet mijëshi i parë; - për secilin prej tyre ekzekutohet
docker pull; - për çdo imazh të marrë nga Docker Hub ekzekutohet
docker runduke lexuar rreshtin e parë nga skedari/etc/shadow; - nëse vlera e rreshtit del të jetë
root:::0:::::, emri i imazhit ruhet në një skedar të veçantë.
ĂfarĂ« ka rezultuar? NĂ« u gjetĂ«n 194 rreshta me emrat e imazheve tĂ« njohura Docker me sisteme Linux, ku pĂ«rdoruesi root nuk ka vendosur njĂ« fjalĂ«kalim:
«Ndër emrat më të njohur në këtë listë ishin govuk/governmentpaas, hashicorp, microsoft, monsanto dhe mesosphere. Ndërsa kylemanna/openvpn është kontejneri më i popullarizuar nga lista, statistika e tij përfshin më shumë se 10 milionë tërheqje».
Megjithatë, duhet të kujtojmë se ky fenomen vetë nuk do të thotë një vulnerabilitet të drejtpërdrejtë në sigurinë e sistemeve që i përdorin ato: gjithçka varet nga mënyra se si ato përdoren. (shih komentin e rastit me Alpine më lart). Por «moralja e kësaj përralle» e kemi parë shumë herë më parë: thjeshtësia e dukshme shpesh ka një anë tjetër, për të cilën gjithmonë duhet të kujtojmë dhe pasojat e saj të merren parasysh në skenarët e përdorimit të teknologjisë.
P.S.
Lexoni gjithashtu në blogun tonë:
- «»;
- «»;
- «»;
- «».
Burimi: habr.com
