Niet-menselijke identiteiten – API-sleutels, tokens, serviceaccounts, workload-identiteiten – vormen tegenwoordig een van de gemakkelijkste manieren om toegang te krijgen tot moderne cloudomgevingen. Niet omdat aanvallers plotseling genieën zijn geworden, maar omdat organisaties steeds vaker vertrouwen hebben in de onderlinge relaties tussen machines, en dat vertrouwen is vaak te breed, langdurig en slecht gecontroleerd.
Een nieuwe analyse, die in diverse media aan bod komt, wijst op een bekend patroon op grote schaal: duizenden containerimages en repositories die per ongeluk geheimen prijsgeven die stilletjes toegang verlenen tot productiesystemen. Het probleem is niet alleen dat ontwikkelaars soms fouten maken. Het probleem is dat de standaardtools en -stimulansen dit mogelijk maken.eenvoudigom scheepsgeheimen te verschepen enmoeilijkom te bewijzen dat je dat niet hebt gedaan.
Dit is een verhaal over een "onzichtbare inbreuk". Veel inbreuken beginnen niet met een exploit of een opvallende malware-aanval. Ze beginnen met een token dat probleemloos authenticeert – dus alles lijkt normaal – totdat je beseft dat de verkeerde partij het gebruikt.
Wat zijn "niet-menselijke identiteiten" (in eenvoudige bewoordingen)?
Een niet-menselijke identiteit (NHI) is elke authenticatiegegevens waarmee software zich kan voordoen als een vertrouwde partij:
- cloudtoegangssleutels en sessietokens
- serviceaccounts en workload-identiteiten
- CI/CD-referenties die door build-pipelines worden gebruikt
- tokens voor SaaS-tools (GitHub, GitLab, Slack, monitoringplatforms)
- API-sleutels voor diensten van derden (betaalproviders, e-mailproviders, API's voor AI-modellen)
Het belangrijkste verschil met menselijke aanmeldingen is dat NHI's doorgaans:
- continu draaien
- zijn ingebed in code of configuratie
- en gebruiken vaak geen MFA
Dat maakt ze aantrekkelijk.
Als een aanvaller een werkend token bemachtigt, hoeft hij niet in te breken. Hij kan zich authenticeren.
Waarom dit nu erger wordt
Drie trends zorgen ervoor dat nationale ziektekostenverzekeringen van een "belangrijk" naar een "dominant risico" verschuiven:
1) Softwareleveringsketens zijn groter dan ooit.
Moderne apps worden samengesteld uit:
- containers
- open-source afhankelijkheden
- infrastructuur als code
- tientallen SaaS-integraties
Elke integratie voegt een extra authenticatiegegeven toe.
2) Automatisering is overal
Organisaties willen:
- snellere implementaties
- zelfbedieningsinfrastructuur
- vluchtige omgevingen
Automatisering is goed, maar het werkt op basis van identiteiten met specifieke privileges.
3) Referenties blijven langer geldig dan de mensen die ze hebben opgesteld.
Mensen wisselen van rol en gaan weg.
Maar een token in een repository of container kan wel:
- maanden of jaren aanhouden
- worden gekopieerd naar nieuwe builds
- en blijven geldig lang nadat niemand zich meer herinnert dat het bestond.
Het aanvalsoppervlak groeit dus ongemerkt.
Hoe geheimen in het echte leven uitlekken (het is niet altijd "iemand heeft een sleutel gestolen").
Het stereotype is een ontwikkelaar die zich vastlegtAWS_SECRET_ACCESS_KEYnaar GitHub.
Dat gebeurt nog steeds. Maar veel lekkages zijn minder duidelijk zichtbaar:
- tokens ingebakken in containerlagen
- configuratiebestanden worden tijdens het bouwproces naar de afbeeldingen gekopieerd
- debuglogs met geheimen
- "Tijdelijke" sleutels werden in de chat gedeeld en later in de code geplakt.
- CI-variabelen afgedrukt door verkeerd geconfigureerde pipelines
Containerafbeeldingen zijn bijzonder gevaarlijk omdat:
- ze worden gespiegeld
- ze worden in de cache opgeslagen
- Ze worden tussen teams gekopieerd.
Zelfs als je de sleutel uit de repository verwijdert, kan deze in oude imagelagen achterblijven.
Waarom gelekte tokens gevaarlijker zijn dan veel exploits
Exploits maken veel lawaai. Ze activeren vaak waarschuwingen.
Gelekte tokens blijven onopgemerkt. Ze lijken vaak op normaal gebruik:
- succesvolle authenticatie
- correcte API-aanroepen
- legitieme eindpunten
Dat verandert het probleem van de verdediger.
In plaats van "een aanvaller" te detecteren, moet je het volgende detecteren:
- een onverwachtevoornaamgeldige inloggegevens gebruiken
- afkomstig van ongebruikelijke locaties
- op ongebruikelijke tijden
- ongebruikelijke acties uitvoeren
Dit is de reden waarom nationale gezondheidsinformatiesystemen (NHI's) voor veel organisaties een detectieprobleem vormen.
Het privilegeprobleem: tokens zijn vaak te machtig.
Veel geheimen worden bedacht als snelkoppelingen om dingen werkend te krijgen:
- brede cloudrechten
- API-toegang op beheerdersniveau
- langlevende sleutels
En als het systeem eenmaal werkt, wil niemand er meer aan komen.
Dit creëert een gevaarlijke asymmetrie:
- Een menselijk account kan MFA en monitoring hebben.
- De machine-identiteit kan breed toegankelijk zijn en weinig gecontroleerd worden.
Als de identiteit van de machine uitlekt, kan de impact van de explosie groter zijn.
Hoe een goede NHI-strategie eruitziet (concrete praktijken)
Dit is oplosbaar, maar alleen als je nationale gezondheidsinstellingen als eersteklas zekerheidsactiva beschouwt.
1) Geef de voorkeur aan kortstondige certificaten
Waar mogelijk:
- tijdelijke sessiegegevens gebruiken
- Draai tokens regelmatig.
- Vermijd sleutels die nooit verlopen.
Tokens met een korte levensduur verminderen de winst die lekken opleveren.
2) Vervang statische sleutels waar mogelijk door workload-identificatie.
In moderne cloudomgevingen kunt u workloads vaak authenticeren via:
- instantie-identiteit
- OIDC-federatie
- beheerde identiteit
Dit vermindert de noodzaak om statische sleutels op te slaan.
3) Scheid de omgevingen strikt van elkaar.
Een veelvoorkomende fout is het gebruik van hetzelfde token op verschillende plaatsen:
- dev
- enscenering
- productie
Tokens moeten een omgevingsbereik hebben.
Als een ontwikkelingsimage uitlekt, mag deze de productieomgeving niet ontgrendelen.
4) Inventaris en eigendom
Elk betekenisvol token moet het volgende bevatten:
- een eigenaar
- een doel
- een verwacht gebruikspatroon
Als een token geen eigenaar heeft, is het een technische schuld die op het punt staat een incident te worden.
5) Monitor het gedrag van NHI zoals je het gedrag van mensen monitort.
Goede signalen zijn onder andere:
- onmogelijke reizen / ongewone geografische gebieden
- ongebruikelijke API-aanroepsequenties
- pieken in de toegang tot gegevens
- nieuwe vergunningen verleend
- nieuwe tokens gecreëerd
Het doel is niet perfecte detectie, maar vroege detectie.
6) Beschouw CI/CD als een identiteitsfabriek met een hoog risico.
CI-systemen bevatten vaak:
- implementatiesleutels
- sleutels ondertekenen
- cloud-referenties
Sluit ze op:
- minst bevoorrecht
- gescheiden hardlopers
- Geheimhouding en preventie van loglekken
- Strikte goedkeuringen voor implementatiestappen in productie
Waar teams meestal de mist in gaan (en hoe je dat kunt voorkomen)
"We wisselen soms van sleutels" is geen plan.
Als draaien handmatig en pijnlijk is, zal het onder druk niet lukken.
Maak rotatie routinematig en geautomatiseerd.
Beveiligingsinstrumenten zonder handhaving worden "schijnvertoning".
Het scannen van repositories op geheimen is nuttig, maar niet voldoende.
Je hebt ook het volgende nodig:
- snelle intrekking
- waarschuwingen over gebruik
- en preventie bij de aanleg van pijpleidingen
De containerlaagval
Als er ooit geheimen in de context van een containerbuild terechtkomen, ga er dan vanuit dat ze zich mogelijk in de volgende gebieden bevinden:
- oude afbeeldingen
- in de cache opgeslagen lagen
- CI-artefacten
De oplossing is niet alleen "verwijder de repositorysleutel". Het is:
- draai het geheim
- afbeeldingen opnieuw opbouwen en publiceren
- Maak caches waar mogelijk ongeldig.
Wat je hierna kunt kijken
Als u wilt nagaan of organisaties vooruitgang boeken op het gebied van nationale gezondheidsrapportages (NHI's), let dan op het volgende:
- adoptie van een kortstondige identiteit (OIDC/werkbelastingidentiteit)
- wijdverspreide programma's voor tokenrotatie
- strengere CI/CD-grenscontroles
- Incidentrapporten waarin "geldige inloggegevens gebruikt" als primaire oorzaak wordt genoemd.
Let ook op de tooling: de beste tools zullen verschuiven van "het detecteren van blootgestelde tekenreeksen" naar "het verminderen van het aantal statische geheimen dat überhaupt bestaat".
De economie: waarom aanvallers zo dol zijn op token hunting
Schalen voor het jagen op tokens.
Een aanvaller die één werkende inloggegevens steelt, kan vaak het volgende doen:
- toegang tot meerdere systemen (cloud + versiebeheer + CI)
- Dezelfde techniek hergebruiken in meerdere organisaties.
- en toegang verkopen via marktplaatsen als ze het niet zelf willen beheren.
Voor verdedigers betekent dit dat de dreiging niet alleen "een hacker is die ons aanvalt". Het is "een machine-economie die profiteert van elke herbruikbare inloggegeven".
Daarom is preventie hier waardevoller dan reactie. Als de sleutel nooit in statische vorm heeft bestaan, kan deze later ook niet meer worden achterhaald.
Ideeën voor concrete detectie (waarop te alarmeren)
Als je detectiemethoden ontwikkelt voor NHI's, focus dan op gedragsveranderingen in plaats van op magische trefwoorden.
Voorbeelden van hoge signaalsterktes:
- Een serviceaccount dat wordt gebruikt vanuit eennieuw land/ASNHet is nog nooit eerder gebruikt.
- Een token dat normaal gesproken slechts één API aanroept, somt plotseling alle resources op of downloadt grote hoeveelheden data.
- Een CI-identiteit die acties uitvoert buiten het normale releasevenster.
- Geheimen die afkomstig zijn van interactieve gebruikers-endpoints, terwijl deze eigenlijk alleen bedoeld waren voor servertoepassingen.
Zelfs eenvoudige waarschuwingen voor afwijkingen kunnen het patroon van "stille diefstal van inloggegevens" al vroeg opsporen.
Ideeën voor het verharden van beton (weinig moeite, veel effect)
Dit zijn praktische veranderingen die de meeste teams kunnen doorvoeren zonder een ingrijpende herontwerp:
- Verklein het bereik van het token: splits één breed token op in meerdere tokens met een beperktere reikwijdte.
- Wissel volgens schema: Draaien gebeurt zelfs als er niets "mis" is, waardoor draaien een automatisme wordt.
- Poortproductie: expliciete goedkeuring is vereist voor identiteiten die in productie worden geïmplementeerd.
- Blokkeer geheimen in platte tekst tijdens het bouwen.CI moet builds laten mislukken wanneer er duidelijke geheime patronen verschijnen.
Elke beweging verkleint de explosieradius, zelfs als er nog steeds een lek optreedt.
Een eenvoudig intern beleid dat veel ellende voorkomt.
Als je één beleid wilt dat beter gedrag afdwingt, dan is het dit:
- Geen productiegeschikte geheimen op de laptops van ontwikkelaars of in de containeromgevingen.
Die regel leidt tot veranderingen zoals:
- workload-identiteit voor services
- stage-referenties voor ontwikkeling
- en expliciete goedkeuringen voor de implementatiestappen in productie
Het is in eerste instantie vervelend, maar het sluit de gemakkelijkste lekroutes af.
Kortom
Niet-menselijke identiteiten vormen de ruggengraat van moderne automatisering, maar zijn tegelijkertijd ook een belangrijke oorzaak van datalekken, omdat ze vaak de beveiligingsmaatregelen omzeilen die we voor mensen hebben ingebouwd.
Als je een praktische drempel wilt: zodra je de vragen "waar bevinden onze langlopende tokens zich, wie is de eigenaar ervan en hoe snel kunnen we ze intrekken/vervangen" kunt beantwoorden, ben je van een wensdroom overgegaan naar een echt verdedigingsprogramma.
De praktische oplossing is niet één magische scanner. Het is een programma: minimaliseer statische geheimen, verklein privileges, maak rotatie een routine en monitor machine-identiteiten zoals je gebruikersaccounts monitort.