Kwaadaardige Base Images
Een basisafbeelding één personage verwijderd, en je build levert een achterdeur op.
Wat is Kwaadaardige Base Images?
Elke FROM-regel is een vertrouwensbeslissing. Iedereen kan naar een openbaar register publiceren onder een naam die een teken verwijderd is van de jouwe, en zonder handtekeningverificatie wordt een FROM-regel omgezet naar wat het register ook dient. U voert een vergelijkbare afbeelding uit, bekijkt een mijnwerker en keert het granaatvuur om bij het opstarten, en traceert vervolgens een mijnwaarschuwing terug door de laaggeschiedenis naar de FROM-regel die deze heeft genoemd. Je pint de basis vast aan de ondertekende officiële afbeelding door middel van een samenvatting, zodat de naam niet kan worden omgezet in iets anders.
Wat je leert in Kwaadaardige Base Images
- Herken een vergelijkbare registernaamruimte zoals dockr-library, één teken verwijderd van de officiële bibliotheekimage
- Leg uit waarom elke FROM-regel een vertrouwensbeslissing is die een naam omzet in wat het register ook wil dienen
- Traceer een mijnwaarschuwing terug via de opbouwgeschiedenis van de laag naar de FROM-regel die de vijandige basisafbeelding noemde
- Zet de basis vast aan de ondertekende officiële afbeelding via samenvatting, zodat de naam niet kan worden omgezet in vervangende inhoud
- Verifieer de herkomst met een handtekeningcontrole, die u vertelt wie een afbeelding heeft gepubliceerd waar scannen op kwetsbaarheden niet mogelijk is
Kwaadaardige Base Images — Trainingsstappen
-
Een naam die één teken afwijkt
Bob breekt nergens in. Hij publiceert. Op een publieke image hub kan iedereen een repository pushen, en hij heeft er een gepusht onder een namespace die bijna precies leest als het officiële Node.js base image. Daarna wacht hij tot ergens een build hem per ongeluk binnenhaalt.
-
Vermomd als origineel
Bob's repository staat in de zoekresultaten direct onder de echte, met dezelfde tagline en een gezond aantal pulls. Het enige verschil is het onderdeel waar een gehaaste engineer overheen leest.
-
Wat hij daadwerkelijk uitleverde
Bob's lookalike is geen herverpakt Node-image met een nieuw label. Hij heeft het gebouwd vanaf een echt image en er één regel aan toegevoegd. Dit is de Dockerfile achter de base die hij publiceerde.
-
De regel die het werk doet
Alles boven deze regel is een gewone Node.js-base. Eén RUN, verpakt in een onschuldig ogend commentaar, is wat er een wapen van maakt.
-
Bekijk hoe de payload afgaat
De base ziet eruit en gedraagt zich als een normaal Node.js-image, dus een build erop slaagt en een app erop draait. Maar een laag die Bob heeft toegevoegd haalt een payload op en voert die uit zodra een container start. Hij start zijn eigen base één keer om te bevestigen dat de payload nog steeds afgaat.
-
Gebruik de ingang
Een Marlspire-build leverde uit op zijn base, en het implantaat dat daardoor werd geplant belde naar huis. Bob hoeft nu niet meer in te breken: hij heeft al een shell binnen hun productiecontainer. Hij geeft die de opdracht om af te staan wat hij kan bereiken.
-
Wat dit mogelijk maakte
Eén moment stilstaan bij het mechanisme voordat de respons begint.
-
De host meldt een miner
Marlspire draait endpointmonitoring op zijn containerhosts. Het maakt niet uit wat de container verondersteld wordt te doen; het rapporteert wat het heeft gezien.
-
Lees de lagen van het image
Een image legt vast hoe het is gebouwd, één commando per laag. Als een miner zichzelf installeert, moet een laag het commando hebben uitgevoerd dat hem heeft opgehaald. Alice leest de buildhistorie van het uitgeleverde image.
-
Waar de base vandaan kwam
Het gif zit in de base, dus de vraag is welke base. Alice zoekt de twee kandidaten naast elkaar op in de publieke hub.
Dekking van beveiligingsframeworks
CWE
- CWE-494 Download of Code Without Integrity Check
- CWE-345 Insufficient Verification of Data Authenticity
MITRE ATT&CK
- T1195.002 Supply Chain Compromise: Compromise Software Supply Chain
CIS Controls
- CIS 2 Inventory and Control of Software Assets
- CIS 16 Application Software Security
NIST CSF
- PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
- ID.AM Asset Management
- PR.PS Platform Security