Vulnerabilities, Secrets and Misconfiguration in the Highest-Exposure Docker Hub Images
Dit artikel introduceert ChimangoScan, een grootschalige pipeline die de meest blootgestelde Docker Hub-images analyseert met behulp van zes onafhankelijke scanners om te onthullen dat kwetsbaarheden en misconfiguraties bijna universeel zijn, scannerresultaten sterk tool-afhankelijk zijn met een lage overeenstemming, en dat de meerderheid van de gedetecteerde secrets fout-positieven zijn.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je het internet voor als een enorme, bruisende stad waar software de levensader is. In deze stad worden de meeste applicaties niet meer vanaf nul opgebouwd; ze worden samengesteld als LEGO-sets met behulp van vooraf gemaakte blokken die "containers" worden genoemd. Deze containers zijn als gestandaardiseerde zeecontainers die alles bevatten wat een app nodig heeft om te draaien, van code tot hulpmiddelen. Het centrale magazijn waar iedereen deze kratten opslaat en ophaalt, wordt Docker Hub genoemd. Het is het hart van de softwareleveringsketen en verwerkt miljarden downloads elke maand.
Echter, net als in een echt magazijn, als een krat wordt gebouwd met een gebarsten steen (een kwetsbaarheid) of een losse sluiting heeft (een misconfiguratie), erft elke applicatie die met die krat wordt gebouwd die fout. Nog erger nog, sommige kratten bevatten verborgen vallen zoals open kluizen (geheimen of wachtwoorden) die erin zijn achtergelaten. Jarenlang hebben beveiligingsexperts geprobeerd te tellen hoeveel van deze gevaarlijke kratten er bestaan, maar ze vertrouwden meestal op slechts één "beveiliger" (een scanner) om de inspectie uit te voeren. Dit is als proberen alle kuilen in een stad te vinden met slechts één paar ogen; je mist er misschien veel, of je ziet dingen die er helemaal niet zijn. De grote vraag is: hoe gevaarlijk is dit magazijn werkelijk, en geeft het gebruik van slechts één scanner ons een waarheidsgetrouw beeld?
De Grote Docker Detective Hunt
Een team onderzoekers uit Brazilië, dat zichzelf ChimangoScan noemt, besloot dit mysterie aan te pakken met een enorme, meerlagige investigatie. In plaats van slechts één beveiliger in te huren, bouwden ze een super-pipeline die zes verschillende scanners inzette om de meest populaire kratten in het Docker Hub-magazijn te inspecteren. Hun doel was niet alleen om de slechte kratten te tellen, maar om te ontdekken welke het meest belangrijk waren.
De "Exposure Score": Waarom Sommige Kratten Meer Betekenen
Stel je een enkele gebarsten steen voor in de fundering van een wolkenkrabber versus een gebarsten steen in een klein tuinhuisje. De fout in de wolkenkrabber is een ramp; die in het tuinhuisje is een klein ongemak. De onderzoekers realiseerden zich dat het simpelweg tellen van hoe vaak een krat werd gedownload niet genoeg was. Ze moesten weten hoeveel andere kratten bovenop deze werden gebouwd.
Ze creëerden een nieuwe metriek genaamd de Exposure Score. Denk aan het als een "gevaarsradius". Als een basisafbeelding (zoals een populaire Linux-versie) 100 keer wordt gedownload, maar ook de fundering is voor 1.000 andere afbeeldingen die elk 100 keer worden gedownlad, dan is de exposure score van die afbeelding enorm. Het team rangschikte de top 52.895 afbeeldingen op basis van deze score. Dit waren niet alleen de meest gedownloade; het waren de afbeeldingen waarvan de fouten zouden doorwerken naar de meeste mensen. In totaal waren deze topafbeeldingen verantwoordelijk voor 84,7% van alle 663,8 miljard geregistreerde pulls in de geschiedenis.
De Bevindingen: Een Stad Vol Barsten
Toen ChimangoScan zijn zes scanners draaide op deze afbeeldingen met een hoge exposure, waren de resultaten verontrustend duidelijk: bijna alles was kapot.
- Kwetsbaarheden zijn overal: 96,3% van de afbeeldingen bevatten ten minste één bekende softwarekwetsbaarheid. Nog angstaanjagender: 93,4% van hen had een "kritieke" kwetsbaarheid, het soort dat een hacker het systeem kan laten overnemen.
- Slechte configuraties zijn de norm: 98,0% van de afbeeldingen had misconfiguraties, zoals het draaien als een "root"-gebruiker (het digitale equivalent van een vreemde de meester sleutel van het gebouw geven) of ontbrekende veiligheidscontroles.
- Geheimen zijn verraderlijk: De scanners vonden "geheimen" (zoals wachtwoorden of API-sleutels) in 76,9% van de afbeeldingen. Echter, toen de onderzoekers deze hits handmatig controleerden, ontdekten ze een enorme nuance: 99,7% van hen waren vals positieven. Dit waren slechts voorbeeld-sleutels, testgegevens of publieke informatie, geen daadwerkelijke gestolen inloggegevens. De scanners riepen "Brand!" voornamelijk omdat ze de rook van een geroosterd broodje rookten, en niet van een echte inferno.
Het Scannerprobleem: Eén Tool Is Niet Genoeg
Misschien wel de belangrijkste ontdekking ging over de tools zelf. De onderzoekers ontdekten dat de zes scanners het niet eens waren over wat ze zagen.
Als je slechts één scanner zou gebruiken, zou je een heel ander beeld krijgen van het gevaarsniveau dan wanneer je een andere zou gebruiken.
- Bij het kijken naar unieke kwetsbaarheden, werden er slechts 2,7% gevonden door alle drie de kwetsbaarheidsscanners.
- Een verbijsterende 66,8% van de kwetsbaarheden werd gevonden door slechts één van de scanners.
Dit betekent dat als een bedrijf op één beveiligingstool vertrouwt, het waarschijnlijk twee van de drie potentiële problemen mist. De "beveiligingsscore" van een afbeelding is geen absoluut feit; het is grotendeels een artefact van de tool die je gebruikt om het te meten.
Het "Erfenis"-effect
De studie toonde ook aan hoe gevaarlijk een enkele fout kan zijn wanneer deze in een populaire basisafbeelding zit. Ze ontdekten dat een enkele kritieke fout in een bibliotheek zoals zlib of glibc (die in bijna elke basisafbeelding worden gebruikt) theoretisch 47,3% van de volledige exposure van het ecosysteem zou kunnen aantasten. Eén slechte steen in de fundering van een populaire basisafbeelding schaadt niet alleen die ene afbeelding; het brengt de hele stamboom van applicaties die erop gebouwd zijn in gevaar.
Wat Dit Voor U Betekent
De onderzoekers concludeerden dat we niet kunnen vertrouwen op één enkel getal van één enkele scanner. Om de softwareleveringsketen veilig te houden, moeten we:
- Meerdere scanners gebruiken: Omdat geen enkele tool alles vangt, is het draaien van een batterij aan verschillende scanners noodzakelijk om een echt beeld te krijgen.
- Prioriteren op basis van exposure: Het herstellen van de fouten in de meest "geëxposeerde" basisafbeeldingen (de afbeeldingen waarop iedereen bouwt) zal meer mensen helpen redden dan het herstellen van fouten in obscure, zelden gebruikte afbeeldingen.
- Niet in paniek raken bij elke "geheim"-melding: Omdat de meeste gedetecteerde geheimen vals positieven zijn, hebben we betere manieren nodig om ze te verifiëren voordat we ze als noodsituaties behandelen.
Kortom, het Docker Hub-magazijn zit vol barsten, en de barsten in de fundering zijn de gevaarlijkste. Maar de manier waarop we die barsten meten, is net zo belangrijk als de barsten zelf. We hebben meer ogen nodig op de taak om het hele plaatje te zien.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.