Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
DevOps-beveiliging integreert beveiligingsprocedures gedurende de levenscyclus van softwareontwikkeling (SDLC), van het eerste ontwerp en de codering via build, test en implementatie naar productie. In tegenstelling tot traditionele beveiligingsmethoden die beveiliging behandelen als een laatste poort, sluit DevOps-beveiliging beveiligingscontroles, geautomatiseerde tests en continue bewaking in elke fase van de ontwikkelingspijplijn in. Deze aanpak herkent dat moderne softwarelevering afhankelijk is van complexe CI/CD-pijplijnen, afhankelijkheden van derden, infrastructuur als code en geautomatiseerde implementaties, die elk potentiële aanvalsvectoren introduceren die kwaadwillende aanvallers actief misbruiken. Door zero Trust-principes toe te passen (ervan uit te gaan dat er sprake is van inbreuk, expliciet te verifiëren) en diepgaande verdedigingsstrategieën, zorgt DevOps-beveiliging ervoor dat code, afhankelijkheden, infrastructuurconfiguraties en pijplijnprocessen betrouwbaar en manipulatiebestendig blijven van ontwerp via productie. Zonder uitgebreide DevOps-beveiliging hebben organisaties te maken met kritieke risico's, waaronder toeleveringsketenaanvallen, blootstelling van referenties in pijplijnen, schadelijke code-injectie, kwetsbare containerinstallatiekopieën en niet-geautoriseerde infrastructuurwijzigingen waarmee permanente backdoors kunnen worden vastgesteld die van invloed zijn op alle downstreamgebruikers.
Hier volgen de drie belangrijkste pijlers van het DevOps Security-beveiligingsdomein.
Beveilig het ontwerp en de toeleveringsketen: Voer vroeg gestructureerde threat modeling uit. Beveilig de toeleveringsketen met afhankelijkheids- en licentiescans, beveiligingsbeheer en SBOM-generatie. Controleer de herkomst en integriteit van alle onderdelen.
Gerelateerde besturingselementen:
Verplaats de beveiligingscontroles naar links: Verplaats de beveiligingscontroles door SAST, secret scanning, IaC-scans en DAST te integreren in de CI/CD-pijplijn. Centraliseer geheimenbeheer (bijvoorbeeld Key Vault), beperk de instantie voor pijplijnwijziging en scan en beveilig continu de artefacten (zoals container- en VM-installatiekopieën) vóór de implementatie.
Gerelateerde besturingselementen:
- DS-3: De DevOps-infrastructuur beveiligen
- DS-4: Static Application Security Testing (SAST) integreren
- DS-5: Dynamic Application Security Testing (DAST) integreren
- DS-6: De levenscyclus van de workload beveiligen
DevOps-activiteiten bewaken en controleren: Audit- en beveiligingslogboeken van DevOps verzamelen en doorsturen naar een centraal analyseplatform voor correlatie en reactie. Detecteer niet-geautoriseerde pijplijnwijzigingen, uitbreiding van bevoegdheden, afwijkende doorvoeringen en uitvoering buiten kantooruren.
Gerelateerde besturingselementen:
DS-1: Threat Modeling uitvoeren
Beveiligingsprincipe
Implementeer systematische bedreigingsmodellering met behulp van de STRIDE-methodologie tijdens de ontwerpfase om potentiële beveiligingsrisico's te identificeren, risico's te prioriteren en passende oplossingen te implementeren voordat codeontwikkeling begint. Deze benadering naar links vermindert herstelkosten en verbetert de algehele beveiligingspostuur.
Risico om te beperken
Organisaties die tijdens de ontwerpfase geen bedreigingsmodellering uitvoeren, werken met kritieke blinde vlekken die kwaadwillende personen systematisch misbruiken. Zonder systematische bedreigingsanalyse:
- Latere architectuurfouten: Ingesloten ontwerpproblemen vereisen dure herstructurering in productie, met herstelkosten aanzienlijk hoger dan het oplossen van problemen tijdens de ontwerpfase.
- Niet-geïdentificeerde aanvalsoppervlakken: Bedreigingsvectoren zoals onveilige vertrouwensgrenzen, ontbrekende verificatievereisten of ontoereikende gegevensstroombeveiligingen blijven ongedocumenteerd, zodat aanvallers bekende zwakke plekken kunnen misbruiken die defenders niet herkennen.
- Onvoldoende beveiligingsmaatregelen: Ontbrekende of ontoereikende beveiligingscontroles (versleuteling, authenticatie, autorisatie, auditlogregistratie) als gevolg van een onvolledige bedreigingsanalyse kunnen misbruikbare hiaten in de diepgaande verdedigingsstrategie veroorzaken.
- Blinde vlekken voor naleving: Wettelijke vereisten (PCI-DSS, HIPAA, SOX) die veilige ontwerpvalidatie verplicht stellen, kunnen niet worden voldaan zonder gedocumenteerde bedreigingsmodellen en bewijsmateriaal voor risicobeperking.
- Accumulatie van schuldpapieren: Continue functie-toevoegingen zonder bedreigingsmodellering zorgen voor samengestelde technische schulden voor beveiliging, waardoor systemen geleidelijk kwetsbaarder en moeilijker met terugwerkende kracht kunnen worden beveiligd.
Het ontbreken van bedreigingsmodellering verhoogt de kans op inbreuk, verlengt de duur van de woning en leidt tot veel hogere herstelkosten ten opzichte van vroege risicobeperking in de ontwerpfase.
MITRE ATT&CK
- Initial Access (TA0001):exploiteer openbare toepassingen (T1190) die gebruikmaken van architectuurfouten in verificatie, sessiebeheer of invoervalidatie die bedreigingsmodellering zou identificeren.
- Escalatie van bevoegdheden (TA0004): misbruik van het mechanisme voor onrechtmatige uitbreiding van bevoegdheden (T1548) waarbij onvoldoende scheiding van bevoegdheden of ontbrekende autorisatiecontroles in de systeemarchitectuur worden misbruikt.
- Defense Evasion (TA0005): verzwakken verdedigingen (T1562) door gebruik te maken van ontbrekende auditlogboekregistratie, monitoring lacunes of onvoldoende beveiligingstelemetrie die in het systeem is ontworpen.
DS-1.1: Op STRIDE gebaseerde bedreigingsmodellering implementeren
Systematische bedreigingsmodellering tijdens de ontwerpfase biedt de basis voor beveiligde softwarearchitectuur door beveiligingsproblemen te identificeren voordat de ontwikkeling begint. Het oplossen van beveiligingsproblemen in de ontwerpfase vermindert de herstelkosten aanzienlijk en voorkomt dat architectuurfouten in productiesystemen worden ingesloten. Vroege bedreigingsidentificatie zorgt ervoor dat beveiligingscontroles zijn ingebouwd in de architectuur in plaats van later te worden aangepast.
Implementeer de volgende gestructureerde benadering om bedreigingsmodellering tot stand te brengen:
Stel systematische STRIDE-methodologie in: Stel systematische bedreigingsmodellering in als een verplichte ontwerpfaseactiviteit met behulp van de STRIDE-methodologie (Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege). Begin met het maken van gegevensstroomdiagrammen (DFD's) waarmee systeemonderdelen, gegevensstromen, vertrouwensgrenzen en externe afhankelijkheden worden toegewezen. Voor elk onderdeel en elke gegevensstroom evalueert u systematisch mogelijke bedreigingen in alle zes STRIDE-categorieën, prioriteert u risico's op basis van waarschijnlijkheid en impact en documenteert u specifieke oplossingen voordat de ontwikkeling begint.
Hulpprogramma's voor gestructureerde threat modeling gebruiken: Gebruik gestructureerde hulpprogramma's voor threat modeling zoals het Hulpprogramma voor threat modeling om consistentie te behouden en gebruik te maken van vooraf gebouwde sjablonen voor algemene architectuurpatronen (webtoepassingen, API's, microservices, IoT-oplossingen). Het hulpprogramma vereenvoudigt het maken van DFD, geautomatiseerde bedreigingsidentificatie op basis van onderdeeltypen en gegevensstromen en genereert aanbevelingen voor risicobeperking met bijbehorende beveiligingscontroles. Sla bedreigingsmodellen op als versie-artefacten in broncodebeheer, samen met architectuurdocumentatie.
Integreren in ontwikkelwerkstromen: Integreer uitvoer van bedreigingsmodellen rechtstreeks in ontwikkelwerkstromen door geïdentificeerde bedreigingen naar Azure DevOps-werkitems te exporteren met duidelijke eigendoms-, prioriteits- en acceptatiecriteria. Implementeer poorten voor architectuurbeoordeling waarvoor voltooide bedreigingsmodellen zijn vereist voordat de ontwerpgoedkeuring wordt goedgekeurd en stel pull-aanvraagcontroles in die controle van bedreigingsmodellen activeren wanneer er architectuurwijzigingen worden gedetecteerd. Dit zorgt ervoor dat bedreigingsanalyse gesynchroniseerd blijft met systeemontwikkeling gedurende de gehele ontwikkelingslevenscyclus.
DS-1.2: Integratie van bedreigingsanalyse automatiseren
Voor het schalen van bedreigingsmodellering in grote organisaties is automatisering en gedistribueerde functionaliteit vereist om te voorkomen dat beveiligingsbeoordelingen knelpunten voor ontwikkeling worden. Geautomatiseerde werkstromen voor bedreigingsidentificatie die zijn ingesloten in projectinitiatie- en pull-aanvraagprocessen zorgen voor consistente beveiligingsanalyse zonder handmatige tussenkomst voor elk project. Het bouwen van beveiligingsexpertise binnen ontwikkelteams via inschakelingsprogramma's creëert duurzame, schaalbare procedures voor bedreigingsmodellering.
Implementeer deze automatiserings- en activeringsmogelijkheden:
Schaal door automatisering en inschakeling: Schaal bedreigingsmodellering in de hele organisatie via automatisering en inschakeling. Sluit beveiligingsvragenlijsten in in projectinitiatiesjablonen die automatisch het risiconiveau beoordelen, vereisten voor bedreigingsmodellering bepalen en de juiste controlepunten voor beveiligingsbeoordeling toewijzen op basis van gegevensclassificatie, externe blootstelling en regelgevingsbereik. Automatiseer architectuurbeoordelingstriggers in werkstromen voor pull-aanvragen die wijzigingen in systeemgrenzen, verificatiestromen of logicaroutering van gegevensverwerking detecteren voor beveiligingsarchitecten voor validatie van bedreigingsmodellen.
Bouw gedistribueerde mogelijkheden met beveiligingsleiders: Stel een beveiligingskampioenprogramma in om gedistribueerde threat modeling-mogelijkheden te bouwen binnen ontwikkelteams. Train kampioenen op DE STRIDE-methodologie, geef ze hulpprogramma's en sjablonen voor threat modeling en geef ze de mogelijkheid om threat modeling-sessies voor hun teams te vergemakkelijken. Veiligheidskampioenen fungeren als de eerste lijn van beoordeling en escaleren complexe scenario's naar gecentraliseerde beveiligingsteams, en maken het mogelijk dat de meeste bedreigingsmodellering zonder knelpunten plaatsvindt.
Implementatie van geautomatiseerde bedreigingsanalyse:
- Evaluatie op basis van vragenlijsten: Gestandaardiseerde beveiligingsvragenlijsten geïntegreerd in Azure DevOps-sjablonen voor consistente bedreigingsidentificatie
- Programma beveiligingskampioenen: Aangewezen beveiligingsleiders in elk ontwikkelingsteam dat is getraind op het faciliteren van bedreigingsmodellen
- Automatisering van architectuurbeoordeling: Geautomatiseerde controles in pull-aanvragen voor architectuurdiagramupdates waarvoor beoordelingen van bedreigingsmodellen zijn vereist
- Bedreigingsmodel als code: Versiebeheerde bedreigingsmodeldefinities met behulp van gestructureerde indelingen (JSON/YAML) die geautomatiseerde analyse mogelijk maken
Voorbeeld van implementatie
Een organisatie voor financiële services heeft gegevenslekken geleden wanneer aanvallers misbruik maakten van autorisatiefout in de betalings-API die nooit is geïdentificeerd tijdens de ontwikkeling, wat resulteert in aanzienlijke frauduleuze transacties en wettelijke boetes.
Uitdaging: Microservicesarchitectuur met talloze API's die zonder beveiligingsbeoordeling zijn geïmplementeerd. Ontwikkelteams hebben geen beveiligingsexpertise om bedreigingen te identificeren. Problemen met de architectuurbeveiliging zijn pas gedetecteerd na productie-incidenten.
Oplossingsbenadering:
- STRIDE-bedreigingsmodellering: Microsoft Threat Modeling Tool geïmplementeerd voor alle microservices en API-eindpunten met gegevensstroomdiagrammen met architectuur en gevoelige gegevensstromen.
- Programma beveiligingskampioenen: Getrainde threat modeling facilitators in elk ontwikkelteam waardoor beveiliging per ontwerp mogelijk is zonder knelpunten in het centrale beveiligingsteam.
- Geautomatiseerde werkstroomintegratie: Geïntegreerde beoordelingen van bedreigingsmodellen in azure DevOps-pull-aanvraagwerkstromen waarvoor beveiligingsgoedkeuring is vereist voor architectuurwijzigingen.
Resultaat: Er zijn talloze beveiligingsproblemen geïdentificeerd die vóór de implementatie potentiële schendingen voorkomen. Aanzienlijk minder beveiligingsproblemen in de productieomgeving. Beveiligingsbeoordelingen hebben minimale tijd toegevoegd aan de ontwikkelingscyclus.
Kritieksniveau
Moet hebben.
Controletoewijzing
- NIST SP 800-53 Rev.5: SA-11, SA-15, PL-8, RA-3, RA-5
- PCI-DSS v4: 6.3.1, 6.3.2, 12.3.1
- CIS-controls v8.1: 14.2, 14.3
- NIST CSF v2.0: ID.RA-3, PR. IP-2
- ISO 27001:2022: A.5.12, A.8.25
- SOC 2: CC3.2, CC7.1
DS-2: De software supply chain beveiligen
Beveiligingsprincipe
Implementeer nul vertrouwen voor afhankelijkheden door de herkomst, integriteit en beveiligingspostuur van alle onderdelen van derden vóór de integratie te controleren. Continu afhankelijkheden scannen op beveiligingsproblemen, uitgebreide Software Bill of Materials (SBOM) onderhouden en geautomatiseerde beveiligingsupdates afdwingen om de kwetsbaarheid voor toeleveringsketenaanvallen te minimaliseren.
Risico om te beperken
Aanvallen op softwareleveringsketen vormen kritieke bedreigingen omdat kwaadwillende personen vertrouwensrelaties tussen organisaties en onderdelen van derden misbruiken om met minimale inspanning grote impact te bereiken. Zonder uitgebreide toeleveringsketenbeveiliging:
- Schadelijke afhankelijkheden: Aanvallers injecteren backdoors in populaire open-sourcebibliotheken (SolarWinds-stijlaanvallen) of maken typosquatted pakketten die schadelijke code uitvoeren tijdens de installatie of uitvoeringstijd (runtime).
- Kwetsbare bibliotheken van derden: Bekende CVE's in afhankelijkheden (Log4Shell, Heartbleed, Struts-kwetsbaarheden) blijven weken of maanden ongepatcht vanwege een gebrek aan zichtbaarheid en geautomatiseerd beheer van kwetsbaarheden.
- Gekraakte buildartefacten: Aanvallers knoeien met gecompileerde binaire bestanden, containerinstallatiekopieën of implementatiepakketten tijdens opslag of overdracht, waardoor malware wordt geïnjecteerd die broncodebeoordeling overzeilt.
- Verwarringsaanvallen voor afhankelijkheden: Kwaadwillende actoren uploaden pakketten naar openbare opslagplaatsen met namen die overeenkomen met interne privépakketten, waarbij de oplossingslogica van package manager wordt misbruikt om schadelijke code te vervangen.
- Risico's voor transitieve afhankelijkheid: Beveiligingsproblemen in indirecte afhankelijkheden (afhankelijkheden van afhankelijkheden) kunnen onzichtbaar blijven zonder grondige analyse van de afhankelijkheidsboom en SBOM-generatie.
- Gebrek aan herkomstverificatie: Als er geen cryptografische verificatie is, kunnen pakketvervangingsaanvallen worden uitgevoerd waarbij legitieme pakketten worden vervangen door schadelijke versies.
Compromittering van de toeleveringsketen zorgt voor een brede impact, met aanhoudende backdoors in vertrouwde libraries, en hoge evasiewaarde vanwege de legitieme verschijning.
MITRE ATT&CK
- Initial Access (TA0001): toeleveringsketencompromittatie (T1195.001) via inbreuk op softwareafhankelijkheden en ontwikkelhulpprogramma's om initiële voet te krijgen in doelomgevingen en vertrouwde relaties (T1199) die misbruik maken van vertrouwen tussen organisaties en softwareleveranciers van derden om schadelijke updates te leveren.
- Uitvoering (TA0002): commando- en scriptinterpreter (T1059) die schadelijke code uitvoert die is ingebed in installatiescripts voor afhankelijkheden of hooks na installatie.
- Persistentie (TA0003): inbreuk maken op binaire clientsoftware (T1554) voor het insluiten van backdoors in gecompileerde bibliotheken die behouden blijven in toepassingsupdates.
DS-2.1: Afhankelijkheid scannen en beheren implementeren
Uitgebreid afhankelijkheidsbeveiligingsbeheer voorkomt aanvallen in de toeleveringsketen door inzicht te behouden in alle onderdelen van derden, continu te controleren op beveiligingsproblemen en het automatiseren van herstelprocessen. Moderne toepassingen zijn afhankelijk van honderden of duizenden afhankelijkheden (direct en transitief), waardoor handmatige beveiligingsevaluatie onmogelijk is en uitgebreide kwetsbaarheid voor aanvallen ontstaat via kwetsbare bibliotheken. Geautomatiseerd scannen van afhankelijkheden met continue bewaking zorgt ervoor dat organisaties beveiligingsproblemen detecteren en verhelpen voordat ze worden misbruikt.
Stel continue afhankelijkheidsbeveiliging vast via deze kernmogelijkheden:
Uitgebreide zichtbaarheid en SBOM-generatie tot stand brengen: Stel doorlopend afhankelijkheidsbeveiligingsbeheer in met drie kernmogelijkheden: uitgebreide zichtbaarheid, geautomatiseerde detectie van beveiligingsproblemen en proactief herstel. Begin met het genereren van volledige afhankelijkheidsinventarisaties die zowel directe afhankelijkheden (expliciet gedeclareerd in pakketmanifesten) als transitieve afhankelijkheden (afhankelijkheden van afhankelijkheden) toewijzen aan alle opslagplaatsen. Onderhoud Software Bill of Materials (SBOM) in industriestandaardformaten (SPDX, CycloneDX) voor naleving van regelgeving en gereedheid voor incidentrespons.
Geautomatiseerd scannen en herstel van beveiligingsproblemen implementeren: Implementeer geautomatiseerd scannen op beveiligingsproblemen die continu afhankelijkheden bewaken op basis van de National Vulnerability Database (NVD), GitHub Advisory Database en taalspecifieke beveiligingsadviezen. Configureer realtimewaarschuwingen wanneer nieuwe CVE's worden bekendgemaakt die van invloed zijn op uw afhankelijkheidsstack, met routering op basis van ernst naar de juiste teams. Schakel geautomatiseerde beveiligingsupdatemogelijkheden in die pull-aanvragen genereren met upgrades van afhankelijkheidsversies, waaronder compatibiliteitstests en intelligente samenvoegingsconflictoplossing om handmatige herstelbelasting te verminderen.
Beveiligingsvalidatie integreren in ontwikkelwerkstromen: Integreer afhankelijkheidsbeveiligingsvalidatie rechtstreeks in ontwikkelwerkstromen via beoordelingen van pull-aanvragen die automatisch beveiligingsimpact beoordelen van afhankelijkheidswijzigingen waarbij nieuwe afhankelijkheden worden gemarkeerd met bekende beveiligingsproblemen, problemen met licentienaleving of verdachte kenmerken (typfouten, gebrek aan reputatie van onderhoud). Stel goedkeuringspoorten in voor wijzigingen in afhankelijkheid met een hoog risico en dwing beleidsregels af waardoor afhankelijkheden met kritieke beveiligingsproblemen niet kunnen worden samengevoegd tot beveiligde vertakkingen.
Zichtbaarheid uitbreiden naar productieomgevingen: Breid meer zichtbaarheid uit dan broncode naar geïmplementeerde omgevingen met behulp van hulpprogramma's zoals Microsoft Defender voor Cloud DevOps Security om codeafhankelijkheden te correleren met actieve workloads, aanvalspaden te identificeren via afhankelijkheidsketens en prioriteit te geven aan herstel op basis van werkelijke productieblootstelling in plaats van alleen theoretisch risico. Hulpprogramma's zoals GitHub Advanced Security bieden uitgebreide visualisatie van afhankelijkheidsgrafieken, geautomatiseerde updates op basis van Dependabot en ondersteuning voor aangepaste beveiligingsproblemen voor eigen pakketecosystemen.
Voorbeeld van implementatie
Een gezondheidszorgorganisatie ontdekte schadelijke NPM-pakketten in een productietoepassing die maanden lang patiëntgegevens exfiltreerde. Onderzoek heeft uitgebreide kwetsbare afhankelijkheden met bekende CVE's onthuld, waaronder kritieke Log4Shell-beveiligingsproblemen.
Uitdaging: Duizenden afhankelijkheden in honderden opslagplaatsen zonder inzicht in beveiligingsproblemen of schadelijke pakketten. Handmatige afhankelijkheidsbeoordelingen verbruikten weken per toepassing. Regelgevingscontrole heeft kritieke hiaten in de toeleveringsketen geïdentificeerd.
Oplossingsbenadering:
- Geautomatiseerd beheer van beveiligingsproblemen:Ingeschakelde GitHub Advanced Security met Dependabot-scanafhankelijkheden en automatisch pull-aanvragen voor beveiligingsupdates maken.
- Transparantie van toeleveringsketen: Microsoft SBOM-hulpprogramma voor het genereren van softwarefactuur in SPDX-indeling voor naleving van regelgeving en incidentrespons.
- Pakketverificatie: Geconfigureerde Azure Artifacts met handtekeningverificatie en afhankelijkheid vastmaken, waardoor verwarringsaanvallen en niet-geautoriseerde pakketvervanging worden voorkomen.
- DevOps-beveiligingsbewaking:Microsoft Defender voor Cloud DevOps Security geïmplementeerd voor tracering van code naar cloud.
Resultaat: Er zijn snel uitgebreide kwetsbare afhankelijkheden gedetecteerd en hersteld. Er zijn meerdere schadelijke pakketincidenten voorkomen via geautomatiseerde verificatie. Naleving van regelgeving met uitgebreide SBOM-documentatie bereikt.
Kritieksniveau
Moet hebben.
Controletoewijzing
- NIST SP 800-53 Rev.5: SR-3, SR-4, SR-6, SA-12, SA-15(9), RA-5
- PCI-DSS v4: 6.2.4, 6.3.2, 6.3.3
- CIS Controls v8.1: 16.1, 16.2, 16.11
- NIST CSF v2.0: ID.SC-2, ID.SC-4, DE.CM-8
- ISO 27001:2022: A.5.19, A.5.22, A.5.23
- SOC 2: CC3.2, CC8.1
DS-3: De DevOps-infrastructuur beveiligen
Beveiligingsprincipe
Implementeer diepgaande verdediging voor het bouwen van infrastructuur via uitgebreid geheimenbeheer, besturingselementen voor pijplijntoegang met goedkeuringspoorten, beveiligde buildagentconfiguratie en continue bewaking. Elimineer vastgelegde referenties en dwing toegang met minimale bevoegdheden af om de integriteit van het softwareontwikkelings- en implementatieproces te beschermen.
Risico om te beperken
Onveilige DevOps-infrastructuur creëert kritieke beveiligingsproblemen die kwaadwillende aanvallers misbruik maken om de volledige softwareleveringsketen in gevaar te komen. Zonder uitgebreide infrastructuurbeveiliging:
- Gecompromitteerde CI/CD-pijplijnen: Aanvallers krijgen toegang tot het bouwen van pijplijnen via gestolen referenties, misbruikte beveiligingsproblemen of insider-toegang, het inschakelen van code-injectie, manipulatie van artefacten of implementatiebewerkingen die van invloed zijn op alle downstreamgebruikers.
- Geheimen weergegeven in buildlogboeken en artefacten: Vastgelegde referenties, API-sleutels, certificaten en verbindingsreeksen lekken via pijplijnlogboeken, foutberichten of gecompileerde artefacten, zodat aanvallers directe toegang hebben tot productieomgevingen.
- Niet-geautoriseerde pijplijnwijzigingen: Gebrek aan werkstromen voor wijzigingsbeheer en goedkeuring stelt kwaadwillende actoren in staat om pijplijndefinities te wijzigen, schadelijke buildstappen te injecteren of implementatieconfiguraties te wijzigen zonder detectie.
- Onvoldoende besturingselementen voor toegang: Te veel machtigingen voor roltoewijzingen en gebrek aan scheiding van taken zorgen voor laterale verplaatsing, escalatie van bevoegdheden en permanente toegang binnen de DevOps-infrastructuur.
- Onveilige buildagents: Niet-gepatchte, onjuist geconfigureerde of gecompromitteerde buildagents bieden aanvallers permanente toegang tot de buildomgeving en potentiële draaipunten in productienetwerken.
- Ontbrekende audittrails: Onvoldoende logboekregistratie en bewaking van DevOps-activiteiten voorkomt detectie van onbevoegde toegang, verdachte wijzigingen of insiderbedreigingen.
Met inbreuk op de infrastructuur kunnen aanvallers code invoeren bij de bron, vertrouwde pijplijnen omzeilen en elke downstreamtoepassing beïnvloeden.
MITRE ATT&CK
- Initiële toegang (TA0001):geldige accounts (T1078) met behulp van gestolen referenties of geheimen van de service-principal voor toegang tot DevOps-platforms en -pijplijnen.
- Persistentie (TA0003): Accountmanipulatie (T1098), waarbij backdoor-serviceprincipals, persoonlijke toegangstokens of SSH-sleutels worden gecreëerd voor het behouden van toegang.
- Referentietoegang (TA0006): niet-beveiligde referenties (T1552.001) die geheimen verzamelen uit pijplijnlogboeken, omgevingsvariabelen of configuratiebestanden.
- Beveiligingsontduiking (TA0005): verdedigingen verzwakken (T1562) door het uitschakelen van beveiligingsscanstappen, auditlogging of goedkeuringspunten in pijplijndefinities.
DS-3.1: Geheimenbeheer implementeren voor pijplijnen
Gecentraliseerd geheimenbeheer elimineert referentieblootstelling in DevOps-pijplijnen door in code, configuratiebestanden en pijplijndefinities vastgelegde geheimen te verwijderen. Referenties die zijn ingesloten in pijplijn-YAML, omgevingsvariabelen of bronopslagplaatsen vertegenwoordigen de primaire aanvalsvector van pijpleidingcompromissen, waardoor aanvallers, die toegang krijgen tot opslagplaatsen of logboeken, in staat worden gesteld om productiereferenties te extraheren. Het implementeren van cryptografisch beveiligde geheime opslag met dynamische ophaal- en Just-In-Time-toegangspatronen voorkomt diefstal van referenties terwijl de operationele efficiëntie behouden blijft.
Geheimenbeheer configureren met deze beveiligingsbesturingselementen:
Elimineren van vastgelegde referenties met gecentraliseerde opslag: Elimineer vastgelegde referenties uit pijplijndefinities en broncode door alle geheimen in een toegewezen geheime beheerinfrastructuur te centraliseren met cryptografische toegangsbeheer en uitgebreide audittrails. Stel het principe vast dat geheimen nooit moeten worden opgeslagen in YAML-pijplijnbestanden, omgevingsvariabelen die zichtbaar zijn in logboeken of configuratiebestanden in opslagplaatsen. Dit zijn de primaire vectoren voor referentieblootstelling in DevOps-omgevingen.
Dynamisch geheim ophalen met beheerde identiteiten configureren: Implementeer gecentraliseerde geheime opslag met behulp van oplossingen zoals Azure Key Vault die versleutelde geheime opslag bieden, gedetailleerd toegangsbeleid, automatische geheimrotatie en uitgebreide auditlogboekregistratie. Configureer pijplijnen om geheimen dynamisch op te halen tijdens runtime via beveiligde serviceverbindingen in plaats van ze in te sluiten in pijplijndefinities. Gebruik beheerde identiteiten of workloadidentiteitsfederatie om toegang tot de pijplijn tot geheime opslagplaatsen te verifiëren, waardoor de noodzaak voor langdurige service-principal inloggegevens die zelf een doelwit voor diefstal vormen, wordt geëlimineerd.
Just-In-Time-toegang afdwingen met goedkeuringspoorten: Dwing Just-In-Time-toegangspatronen af waarbij geheimen alleen worden opgehaald wanneer dat nodig is, met automatische intrekking na voltooiing van de pijplijn om de blootstelling van referenties tot een minimum te beperken. Implementeer tijdsgebonden toegangsbeperkingen en vereisen autorisatie van meerdere personen (goedkeuringspoorten) voor pijplijntoegang tot productiegeheimen, zodat er geen enkel gecompromitteerd account toegang heeft tot gevoelige referenties zonder aanvullende verificatie.
Toegangsbeheer voor gelaagde infrastructuur tot stand brengen: Bepaal gelaagde toegangsbeheer voor de DevOps-infrastructuur: beperk de rechten voor het wijzigen van pijplijnen voor door beveiliging gecontroleerd personeel, dwing omgevingsspecifieke machtigingen af waarvoor goedkeuring is vereist voor productie-implementaties, implementeer serviceverbindingsbeperkingen op opslagplaatsniveau, waardoor pijplijnen geen toegang hebben tot geheimen buiten het beoogde bereik en implementeer beveiligde zelf-hostende buildagents met netwerkisolatie voor gevoelige workloads. Integreer beveiligingsscans voor infrastructuur als code in pijplijnen om te voorkomen dat onjuist geconfigureerde resources worden geïmplementeerd die geheimen kunnen blootstellen of onbevoegde toegangspaden kunnen maken.
Voorbeeld van implementatie
Een retailorganisatie leed een inbreuk toen aanvallers gestolen referenties van de service-principal gebruikten die in pijplijnlogboeken zijn gevonden om toegang te krijgen tot productiedatabases, waarbij miljoenen klantrecords zijn blootgesteld.
Uitdaging: Databaseverbindingsreeksen en API-sleutels die zijn vastgelegd in pijplijnvariabelen. Overdreven permissieve machtigingen voor pijplijnen stelden elke ontwikkelaar in staat om naar productie te implementeren. Compromittatie van de build-agent verschafte persistente toegang tot de infrastructuur.
Oplossingsbenadering:
- Gecentraliseerd geheimenbeheer: Azure Key Vault-integratie geïmplementeerd, waardoor in code vastgelegde geheimen uit pijplijnen worden geëlimineerd. Geconfigureerde verificatie van beheerde identiteiten om het risico op blootstelling van referenties te verwijderen.
- Besturingselementen voor pijplijntoegang: Vastgestelde goedkeuringspoorten en omgevingsspecifieke machtigingen die gebruikmaken van Azure DevOps-omgevingen waarvoor goedkeuring van het beveiligingsteam is vereist voor productie-implementaties.
- Beperkte buildagents: Zelf-hostende agents geïmplementeerd met beveiligingsbeveiliging en netwerkisolatie voor gevoelige workloads die gereguleerde gegevens verwerken.
- Scannen op infrastructuurbeveiliging: Geïntegreerde beveiligingsvalidatie voor ARM-sjablonen en Terraform-configuraties voor het voorkomen van onjuiste configuratie-implementatie.
Resultaat: Geheimen uit pijplijnlogboeken verwijderd om diefstal van referenties te voorkomen. Niet-geautoriseerde productie-implementaties verwijderd. Onjuiste configuraties van infrastructuur gedetecteerd en geblokkeerd vóór de implementatie.
Kritieksniveau
Moet hebben.
Controletoewijzing
- NIST SP 800-53 Rev.5: AC-2, AC-3, AC-6, SC-12, SC-13, AU-2, AU-6
- PCI-DSS v4: 8.3.2, 8.6.1, 8.6.3, 12.3.3
- CIS Controls v8.1: 4.1, 4.7, 6.1, 6.5
- NIST CSF v2.0: PR. AC-4, PR. DS-5, DE. CM-7
- ISO 27001:2022: A.5.15, A.5.16, A.8.3
- SOC 2: CC6.1, CC6.6, CC6.7
DS-4: Static Application Security Testing (SAST) integreren
Beveiligingsprincipe
Implementeer uitgebreide geautomatiseerde beveiligingstests via meerdere gespecialiseerde SAST-scanners (Static Application Security Testing) die zijn geïntegreerd in elk bouwproces. Gebruik dekking voor meerdere scanners voor uitgebreide detectie, implementeer geheim scannen met pushbeveiliging en implementeer semantische codeanalyse om beveiligingsproblemen te identificeren en te blokkeren voordat ze productie bereiken.
Risico om te beperken
Beveiligingsproblemen op codeniveau die ontsnappen aan detectie tijdens de ontwikkeling, zorgen voor permanente zwakke plekken in de beveiliging die kwaadwillende aanvallers systematisch misbruiken. Zonder uitgebreide SAST-integratie:
- Injectieproblemen: MET SQL-injectie, cross-site scripting (XSS), opdrachtinjectie en LDAP-injectiefouten kunnen aanvallers toepassingslogica bewerken, gevoelige gegevens extraheren of willekeurige code uitvoeren.
- Vastgelegde referenties: Ontwikkelaars voeren per ongeluk wachtwoorden, API-sleutels, certificaten en verbindingsreeksen door naar broncodeopslagplaatsen, zodat aanvallers rechtstreeks toegang hebben tot productiesystemen en -gegevens.
- Onveilige cryptografische implementaties: Zwakke versleutelingsalgoritmen (DES, MD5), versleutelde versleutelingssleutels, onjuiste initialisatievectors of onvoldoende sleutellengten maken inbreuk op de vertrouwelijkheid en integriteit van gegevens.
- Bufferoverloop en geheugenbeschadiging: Onveilige geheugenbewerkingen in C/C++-toepassingen maken willekeurige uitvoering van code, escalatie van bevoegdheden en Denial of Service-aanvallen mogelijk.
- Fouten in bedrijfslogica: Verificatie overslaan, autorisatie hiaten, racevoorwaarden en onvoldoende invoervalidatie maken escalatie van bevoegdheden, fraude en onbevoegde toegang mogelijk.
- Onjuiste configuraties van Infrastructure as Code (IaC): Onveilige Terraform-, ARM-sjablonen of Kubernetes-manifesten implementeren kwetsbare infrastructuur met te veel toegang, ontbrekende versleuteling of blootgestelde beheereindpunten.
Zonder geautomatiseerde SAST stapelen kwetsbaarheden zich op als technische schuld, verhogen de aanwezigheidstijd, en worden kostbaar om in productie te herstellen.
MITRE ATT&CK
- Eerste toegang (TA0001): exploit public-facing application (T1190) met behulp van injectie-kwetsbaarheden of verificatie-bypasses in toepassingscode.
- Uitvoering (TA0002): exploitatie van clientuitvoering (T1203) die gebruikmaakt van kwetsbaarheden aan de clientzijde, zoals XSS of onveilige deserialisatie.
- Referentietoegang (TA0006): referenties uit wachtwoordarchieven (T1555) die vastgelegde referenties extraheren uit broncode, configuratiebestanden of gecompileerde binaire bestanden.
- Escalatie van bevoegdheden (TA0004): exploitatie voor escalatie van bevoegdheden (T1068) die gebruikmaken van bufferoverloop of geheugenbeschadiging voor verhoogde toegang.
DS-4.1: SAST-pijplijn met meerdere scanners implementeren
Uitgebreide statische toepassingsbeveiligingstests die in elke build zijn geïntegreerd, bieden vroege detectie van beveiligingsproblemen op codeniveau voordat ze productieomgevingen bereiken. Moderne toepassingen maken gebruik van diverse talen, frameworks en infrastructuur als code waarvoor gespecialiseerde analyses nodig zijn, waarbij geen enkele scanner alle beveiligingsklassen detecteert. SAST-strategieën met meerdere lagen die gespecialiseerde hulpprogramma's combineren met automatische uitvoering en kwaliteitspoorten zorgen voor uitgebreide dekking en bieden ontwikkelaars onmiddellijke feedback wanneer er beveiligingsproblemen worden gedetecteerd.
Implementeer geautomatiseerde beveiligingstests met deze onderdelen:
Implementeer een scanstrategie met meerdere lagen: Sluit geautomatiseerde statische toepassingsbeveiligingstests in elke build in om beveiligingsproblemen te detecteren voordat code de productie bereikt. Implementeer een gelaagde SAST-strategie die meerdere gespecialiseerde scanners combineert, want geen enkel gereedschap detecteert alle kwetsbaarheid-typen. Uitgebreide dekking vereist taalspecifieke analysers (Python, JavaScript, C/C++), scanners voor infrastructuur als code (Terraform, ARM-sjablonen, Kubernetes-manifesten), detectie van geheimen en semantische code-analyse voor complexe kwetsbaarheden in gegevensstromen.
Automatische uitvoering configureren met kwaliteitspoorten: Configureer SAST-scan om automatisch uit te voeren op elke doorvoer- en pull-aanvraag, zodat ontwikkelaars onmiddellijk feedback kunnen geven over beveiligingsproblemen terwijl de codecontext nieuw is. Stel kwaliteitspoorten op basis van ernst vast die samenvoegingen of implementaties blokkeren wanneer kritieke of ernstige beveiligingsproblemen worden gedetecteerd, waardoor kwetsbare code niet kan worden doorlopen via de pijplijn. Configureer scanners voor het uitvoeren van resultaten in gestandaardiseerde indelingen (SARIF) voor consistente tracering van beveiligingsproblemen, ontdubbeling tussen hulpprogramma's en integratie met gecentraliseerde beveiligingsdashboards.
Geheim scannen implementeren met pushbeveiliging: Implementeer gespecialiseerde geheimscans met pushbeveiliging die voorkomt dat ontwikkelaars referenties, API-sleutels, certificaten of tokens doorvoeren naar opslagplaatsen die geheimen vangen tijdens de doorvoer in plaats van ze te detecteren in controlebeoordelingen weken later. Ondersteuning voor zowel standaardgeheimpatronen (AWS-sleutels, Azure-tokens, databaseverbindingsreeksen) als aangepaste organisatiespecifieke patronen voor bedrijfseigen verificatiemechanismen. Wanneer geheimen worden gedetecteerd, geeft u onmiddellijk herstelrichtlijnen op, waaronder procedures voor het rouleren van referenties en veilige alternatieven.
Gebruik semantische codeanalyse voor complexe beveiligingsproblemen: Implementeer semantische hulpprogramma's voor codeanalyse, zoals GitHub CodeQL , die een grondige gegevensstroomanalyse uitvoeren om complexe beveiligingsproblemen te identificeren die onzichtbaar zijn voor patroonkoppelingende scanners, zoals SQL-injectie via meerdere functieaanroepen, verificatie omzeilt in bedrijfslogica of onveilige deserialisatieketens. Maak aangepaste beveiligingsquery's die zijn afgestemd op de frameworks, beveiligingsvereisten en algemene kwetsbaarheidspatronen die worden geïdentificeerd in incidentanalyses. Integreer SAST-bevindingen rechtstreeks in werkstromen voor ontwikkelaars via opmerkingen bij pull-aanvragen met specifieke regelnummers, uitleg over beveiligingsproblemen en aanbevelingen voor herstel.
Organiseren met geïntegreerde platforms: Unified SAST-platforms zoals Microsoft Security DevOps Extension kunnen meerdere gespecialiseerde scanners (AntiMalware, Bandit, BinSkim, Checkov, ESLint, Template Analyzer, Terrascan, Trivy) organiseren via één pijplijntaak, het standaardiseren van configuratiebeheer en resultaataggregatie in heterogene hulpprogramma-ecosystemen.
Voorbeeld van implementatie
Een SaaS-provider heeft een SQL-injectieaanval geleden waardoor honderdduizenden klantrecords beschikbaar zijn. Bij een incidentanalyse zijn uitgebreide beveiligingsproblemen op codeniveau onthuld, waaronder vastgelegde referenties en injectiefouten die maanden lang bestonden.
Uitdaging: Handmatige codebeoordelingen bevatten slechts een kleine fractie van beveiligingsproblemen. Ontwikkelaars hebben geen beveiligingstraining nodig om injectiefouten en cryptografische zwakke plekken te identificeren. Geen geautomatiseerd scannen vóór de productie-implementatie.
Oplossingsbenadering:
- SAST voor meerdere scanners:Geïmplementeerde Microsoft Security DevOps-extensie met CodeQL, ESLint en Bandit die uitgebreide dekking biedt voor talen en typen beveiligingsproblemen.
- Geheime beveiliging:GitHub Advanced Security geïmplementeerd met geheimscans en pushbeveiliging, waardoor referentieblootstelling in doorvoeringen wordt voorkomen.
- Semantische analyse: GitHub CodeQL geconfigureerd met aangepaste query's voor beveiligingsproblemen in bedrijfslogica en frameworkspecifieke beveiligingspatronen.
- Beveiligingspoorten: Tot stand gebrachte pijplijnpoorten in Azure Pipelines die de implementatie van bevindingen met hoge ernst blokkeren.
Resultaat: Er zijn snel uitgebreide beveiligingsproblemen geïdentificeerd en opgelost. Voorkomen dat kritieke beveiligingsfouten productie bereiken. Aanzienlijk verlaagde waardepapierschuld.
Kritieksniveau
Moet hebben.
Controletoewijzing
- NIST SP 800-53 Rev.5: SA-11, RA-5, SI-2
- PCI-DSS v4: 6.3.2, 6.4.1, 11.3.1
- CIS-controls v8.1: 16.3, 16.6
- NIST CSF v2.0: PR.IP-2, DE.CM-4
- ISO 27001:2022: A.8.25, A.8.29
- SOC 2: CC7.1, CC7.2
DS-5: Dynamic Application Security Testing (DAST) integreren
Beveiligingsprincipe
Implementeer uitgebreide dynamische beveiligingstests in preproductieomgevingen via containerbeveiligingsscans voor gecontaineriseerde workloads, geautomatiseerde penetratietests voor webtoepassingen en Application Programming Interfaces (API's) en gespecialiseerde tests voor verificatie, autorisatie en sessiebeheer. Runtimevalidatie identificeert zwakke plekken in de configuratie en integratieproblemen die statische analyse niet kan detecteren.
Risico om te beperken
Runtime-beveiligingsproblemen die onzichtbaar zijn voor statische analyse maken kritieke beveiligingsproblemen die kwaadwillende gebruikers misbruiken nadat toepassingen zijn geïmplementeerd. Zonder uitgebreide DAST:
- Zwakke punten in de implementatieconfiguratie: Onjuist geconfigureerde verificatieproviders, permissieve CORS, zwakke TLS-configuraties of ontbrekende beveiligingsheaders (CSP, HSTS, X-Frame-Options) maken aanvallen mogelijk die bij bronbeoordeling niet gedetecteerd kunnen worden.
- API-beveiligingsproblemen: REST- en GraphQL-API's met verificatie-bypasss, autorisatiefouten, overmatige blootstelling aan gegevens, ontbrekende snelheidsbeperking of onveilige directe objectverwijzingen (IDOR) staan onbevoegde toegang en gegevensextractie toe.
- Verificatie en autorisatie worden overgeslagen: Fouten in sessiebeheer, stromen voor wachtwoordherstel, implementatie van meervoudige verificatie of logica voor toegangsbeheer op basis van rollen maken escalatie van bevoegdheden en accountovername mogelijk.
- Beveiligingsproblemen met sessiebeheer: Voorspelbare sessietokens, onvoldoende afdwinging van time-outs, beveiligingsproblemen met sessiefixatie of ontbrekende tokenintrekking maken sessiekaping en diefstal van referenties mogelijk.
- Omgevingsspecifieke beveiligingsproblemen: Integratiepunten met databases, berichtenwachtrijen, externe API's of services van derden introduceren runtimeproblemen die onzichtbaar zijn bij het ontwikkelen of geïsoleerd testen.
- Fouten in bedrijfslogica: Racevoorwaarden, beveiligingsproblemen met statusmanipulatie, onvoldoende invoervalidatie in complexe werkstromen of problemen met transactieintegriteit maken fraude en gegevensmanipulatie mogelijk.
DAST valideert runtimegedrag, omgevingsconfiguratie en integratiebeveiliging, wat dekking biedt die statische analyse niet kan bieden.
MITRE ATT&CK
- Initial Access (TA0001): misbruik maken van openbare toepassingen (T1190) met behulp van verificatie-bypasss, injectiefouten of onveilige API-eindpunten die zijn gedetecteerd via runtimetests.
- Referentietoegang (TA0006): brute force (T1110) die misbruik maakt van ontbrekende snelheidsbeperking, zwak wachtwoordbeleid of voorspelbare sessietokens die zijn gedetecteerd tijdens DAST.
- Escalatie van bevoegdheden (TA0004): geldige accounts (T1078) die gebruikmaken van autorisatie-omzeilingen of kwetsbaarheden in rolmanipulatie bij geïmplementeerde toepassingen.
- Verzameling (TA0009): gegevens uit informatieopslagplaatsen (T1213) waarmee gevoelige gegevens worden geëxtraheerd via overmatige API-antwoorden, doorkruising van mappen of onveilige beveiligingsproblemen met direct object.
- Exfiltratie (TA0010): exfiltratie via webservice (T1567) die gebruikmaakt van API-beveiligingsproblemen om gegevens op grote schaal te extraheren zonder gedetecteerd te worden.
DS-5.1: Geautomatiseerde DAST implementeren in preproductie
Met dynamische toepassingsbeveiligingstests worden beveiligingscontroles in actieve toepassingen gevalideerd, waardoor runtimeproblemen worden gedetecteerd die statische analyse niet kan detecteren. Hoewel SAST de broncode onderzoekt, test DAST geïmplementeerde toepassingen met productieachtige configuraties om implementatiespecifieke problemen te identificeren, waaronder onjuiste verificatieconfiguraties, autorisatiefouten en hiaten in de integratiebeveiliging die alleen in operationele omgevingen worden weergegeven. Geautomatiseerde DAST in preproductie zorgt voor beveiligingsvalidatie voordat klanten worden blootgesteld tijdens het testen van realistische aanvalsscenario's tegen geïntegreerde systemen.
Implementeer runtimebeveiligingsvalidatie via deze mogelijkheden:
Een aanvulling op SAST met runtimevalidatie: Een aanvulling op statische analyse met dynamische toepassingsbeveiligingstests waarmee de beveiliging in actieve toepassingen met productieachtige configuraties wordt gevalideerd. Hoewel SAST beveiligingsproblemen in broncode identificeert, detecteert DAST runtimeproblemen die onzichtbaar zijn voor statische analyse: zwakke plekken in de implementatieconfiguratie (onjuist geconfigureerde verificatieproviders, permissief CORS-beleid, ontbrekende beveiligingsheaders), omgevingsspecifieke integratiefouten (beveiliging van databaseverbindingen, API-autorisatie in geïmplementeerde contexten) en beveiligingsproblemen in bedrijfslogica die alleen onder realistische operationele omstandigheden worden weergegeven.
Implementeren in productieachtige faseringsomgevingen: Implementeer DAST-scan in faseringsomgevingen vóór productie die de productiearchitectuur, netwerktopologie, externe afhankelijkheden en configuratieparameters spiegelen. De geautomatiseerde DAST-uitvoering moet geactiveerd worden bij implementatie naar de stagingomgeving, waarbij systematisch authenticatiestromen, autorisatiegrenzen, sessiebeheer, invoervalidatie, API-beveiliging en foutafhandeling onder realistische belastings- en gebruikspatronen worden getest. Hiermee wordt gecontroleerd of beveiligingsmaatregelen correct werken wanneer deze zijn geïntegreerd met externe systemen die op productie lijken (id-providers, databases, berichtenwachtrijen, API's van derden).
Runtime-bewaking voor containers implementeren: Voor workloads in containers implementeert u continue runtime-beveiligingsbewaking die het scannen van installatiekopieën vooraf combineert met gedragsanalyse na de implementatie. Scan containerinstallatiekopieën voor bekende beveiligingsproblemen vóór de implementatie, controleer vervolgens actieve containers op afwijkende netwerkverbindingen, niet-geautoriseerde procesuitvoering, wijzigingen van het bestandssysteem en pogingen tot escalatie van bevoegdheden. Profileer normaal Kubernetes-workloadgedrag om afwijkingen te detecteren die duiden op inbreuk en continu containerconfiguraties te evalueren op basis van CIS-benchmarks en best practices voor beveiliging.
Focus op hoog-risico aanvalsoppervlakken: Focus gespecialiseerde DAST-inspanningen op hoog-risico aanvalsoppervlakken: REST- en GraphQL-API's (testen op verificatie-omzeilingen, autorisatiefouten, injectiekwetsbaarheden, overmatige gegevensblootstelling, onveilige directe objectverwijzingen), authenticatie- en sessiebeheer (validatie van tokenbeveiliging, afdwingen van time-outs, uitlogfunctionaliteit, wachtwoordherstelstromen, meerfactorauthenticatie) en werkprocessen voor bedrijfslogica (testen op racevoorwaarden, statusmanipulatie, problemen met transactie-integriteit). Stel SAST/DAST-correlatiewerkstromen vast die bevindingen van beide benaderingen combineren, waarbij beveiligingsproblemen worden prioriteren die worden bevestigd door zowel statische als dynamische analyses als hoogste risico' s.
Maak gebruik van geïntegreerde platforms: Voor containeromgevingen biedt Microsoft Defender for Containers geïntegreerde evaluatie van beveiligingsproblemen van runtime, workloadprofilering en detectie van bedreigingen gedurende de hele levenscyclus van de container.
Voorbeeld van implementatie
Een e-commerceorganisatie heeft verificatie-bypass gedetecteerd in de betalings-API, waardoor niet-geautoriseerde kortingen zijn toegestaan. SAST heeft de runtimeconfiguratiefout gemist die alleen is gemanifesteerd in geïmplementeerde omgevingen met externe verificatieproviders.
Uitdaging: SAST heeft kwetsbaarheden in code gedetecteerd, maar heeft runtimeconfiguratieproblemen en fouten in API-autorisatie gemist. De configuratie van de productie-implementatie verschilt van ontwikkeling waardoor beveiligingsproblemen onzichtbaar zijn voor statische analyse.
Oplossingsbenadering:
- Geautomatiseerde DAST-scan:Geïmplementeerde OWASP ZAP in preproductieomgevingen voor het testen van geïmplementeerde toepassingen met productieachtige configuraties.
- Beveiliging van containerruntime:Microsoft Defender for Containers geïmplementeerd voor runtimebeveiligingsbewaking en evaluatie van beveiligingsproblemen.
- API-beveiligingstests: Gespecialiseerde API-tests geconfigureerd voor het valideren van verificatie, autorisatie en gegevensvalidatie in geïmplementeerde REST- en GraphQL-eindpunten.
- SAST/DAST-correlatie: Werkstromen voor correlatie van beveiligingsproblemen gemaakt, waarbij statische en dynamische bevindingen worden gecombineerd voor uitgebreide beveiligingsvalidatie.
Resultaat: Gedetecteerde runtime-kwetsbaarheden die zijn gemist door SAST, waaronder authenticatie-bypasses en API-autorisatiefouten. Voorkomen van beveiligingsincidenten via detectie van preproductie.
Kritieksniveau
Moet hebben.
Controletoewijzing
- NIST SP 800-53 Rev.5: SA-11, CA-8, RA-5
- PCI-DSS v4: 6.4.2, 11.3.2
- CIS-controles v8.1: 16.7, 16.8
- NIST CSF v2.0: DE.CM-4, PR.IP-12
- ISO 27001:2022: A.8.29, A.8.30
- SOC 2: CC7.1, CC7.3
DS-6: De levenscyclus van de workload beveiligen
Azure Policy: Zie ingebouwde Azure-beleidsdefinities: DS-6.
Beveiligingsprincipe
Implementeer onveranderbare infrastructuur met uitgebreide beveiliging van images via containerregisters en beveiligingsscans voor container-workloads, beheer van gouden images en geautomatiseerd bouwen voor VM-workloads (Virtual Machine), en doorlopende kwetsbaarhedenscanning met geautomatiseerde quarantaine. Verifieer cryptografische handtekeningen, onderhoud minimale basisinstallatiekopieën en dwing beveiligingsbasislijnen af gedurende de levenscyclus van de workload.
Risico om te beperken
Onveilig beheer van de levenscyclus van workloads stelt kwetsbare of gecompromitteerde artefacten in staat om productie te bereiken, waardoor er blijvende aanvalsvectoren worden gecreëerd die aanvallers systematisch uitbuiten. Zonder uitgebreide workloadbeveiliging:
- Kwetsbare productieve VM-installatiekopieën: Niet-gepatchte OS-stambelden of verkeerd geconfigureerde gouden installatiekopieën verspreiden zwakke plekken over alle geïmplementeerde VM's.
- Niet-gepatchte kwetsbare basisinstallatiekopieën: Containers die zijn gebouwd op CVE-getroffen bases (Log4Shell, Heartbleed, OpenSSL) stellen workloads bloot aan exploitatie en escape.
- Verouderde kwetsbare artefacten: Afbeeldingen en pakketten die niet zijn gescand, verzamelen CVE’s, wat het aanvalsvlak vergroot.
- Onvoldoende verificatie van afbeeldingen: Door gebrek aan cryptografische ondertekening en herkomstvalidatie kunnen kwaadwillende personen legitieme afbeeldingen vervangen door gecompromitteerde versies die backdoors of malware bevatten.
- Vergrote aanvalsoppervlakte: Containerafbeeldingen met onnodige pakketten, ontwikkeltools of foutopsporingshulpmiddelen vergroten de blootstelling aan kwetsbaarheden en bieden aanvallers extra exploitatiemiddelen.
- Ontbrekende beveiligingsbasislijnen: VM-installatiekopieën en containerinstallatiekopieën die zijn geïmplementeerd zonder CIS-benchmarknaleving, beveiligingshardening of configuratie van minimale bevoegdheden creëren misbruikbare hiaten in verdieping van de verdediging.
Gecompromitteerde artefacten worden permanente aanvalsvectoren, bevorderen laterale bewegingen en lijken legitiem voor verdedigers.
MITRE ATT&CK
- Initial Access (TA0001):misbruik maken van openbare applicaties (T1190) door gebruik te maken van niet-gepatchte kwetsbaarheden in toepassingscontainers of webservices.
- Uitvoering (TA0002): ontplooi container (T1610) door het inzetten van kwaadaardige containers die legitiem lijken als gevolg van onvoldoende verificatie van afbeeldingen.
- Escalatie van bevoegdheden (TA0004): ontsnappen naar de host (T1611) door misbruik te maken van beveiligingsproblemen in containers om de containerisolatie te doorbreken en het hostsysteem in gevaar te brengen.
- Lateral Movement (TA0008): exploitatie van externe services (T1210) draaiend op kwetsbare VM's of containers die zijn uitgerold vanuit gecompromitteerde installatiekopieën.
DS-6.1: Container Image Security implementeren
Container- en VM-installatiekopieën vertegenwoordigen kritieke aanvalsoppervlakken waarvoor uitgebreide beveiligingscontroles nodig zijn gedurende hun levenscyclus. Kwetsbare basisinstallatiekopieën geven zwakke plekken door aan elk geïmplementeerd exemplaar, wat de impact in de infrastructuur versterkt. Het behandelen van workloadartefacten met dezelfde beveiliging als broncode, waaronder scannen, ondertekenen en beveiligde opslag, zorgt ervoor dat organisaties alleen geverifieerde, betrouwbare installatiekopieën implementeren en voorkomen dat aanvallers misbruik maken van bekende beveiligingsproblemen of schadelijke installatiekopieën vervangen.
Beveilig workloadartefacten via deze procedures:
Onveranderbare infrastructuurprincipes vaststellen: Behandelt containerinstallatiekopieën en VM-installatiekopieën als kritieke artefacten waarvoor dezelfde beveiligings rigor is vereist als broncodegevoelige basisinstallatiekopieën, waarbij zwakke plekken worden doorgegeven aan elk geïmplementeerd exemplaar. Stel onveranderbare infrastructuurprincipes vast waarbij workloadartefacten eenmaal worden gebouwd, uitgebreid gescand, cryptografisch ondertekend en zonder wijziging worden geïmplementeerd om consistentie en traceerbaarheid gedurende de hele levenscyclus te garanderen.
Gebruik minimale basisinstallatiekopieën met builds met meerdere fasen: Implementeer voor containerworkloads gelaagde installatiekopieën die beginnen met minimale basisinstallatiekopieën die alleen essentiële runtimeonderdelen bevatten, waardoor de kwetsbaarheid voor aanvallen aanzienlijk wordt verminderd vergeleken met volledige installatiekopieën van besturingssystemen. Gebruik multi-stage builds om build-time-afhankelijkheden te scheiden van runtime-installatiekopieën. Compileer en bouw in uitgebreide installatiekopieën, en kopieer vervolgens alleen de uiteindelijke artefacten naar minimale runtime-installatiekopieën. Dit verwijdert ontwikkelhulpprogramma's, pakketbeheerders en build-afhankelijkheden, waardoor blootstelling aan beveiligingsproblemen wordt verminderd en aanvallers minder exploitatiehulpprogramma's ter beschikking hebben.
Geautomatiseerd scannen integreren met quarantainebeleid: Integreer geautomatiseerd scannen van beveiligingsproblemen in de build-pijplijn van de installatiekopie die elke installatiekopie scant voordat de registeropslag wordt uitgevoerd, en controleer op uitgebreide CVE-databases en scan continu opgeslagen installatiekopieën wanneer nieuwe beveiligingsproblemen worden bekendgemaakt. Implementeer geautomatiseerd quarantainebeleid dat installatiekopieën met kritieke of ernstige beveiligingsproblemen van implementatie verhindert, met uitzonderingswerkstromen waarvoor goedkeuring van beveiligingsteam en gedocumenteerde risicoacceptatie vereist zijn. Stel beleidsregels voor het vernieuwen van basisinstallatiekopieën in met geautomatiseerde pijplijntriggers wanneer er beveiligingspatches worden vrijgegeven, zodat installatiekopieën na verloop van tijd geen CVE's verzamelen.
Cryptografische ondertekening en verificatie afdwingen: Dwing integriteit van afbeeldingen af via cryptografische ondertekening en verificatie bij elke installatiekopie op het moment van bouwen, verifieer handtekeningen vóór de implementatie en negeer automatisch niet-ondertekende of gemanipuleerde installatiekopieën. Hiervoor voorkomt u aanvallen waarbij aanvallers legitieme afbeeldingen vervangen door gecompromitteerde versies die backdoors bevatten. Sla installatiekopieën op in beveiligde containerregisters met netwerktoegangsbeheer (privé-eindpunten, integratie van virtuele netwerken), op rollen gebaseerd toegangsbeleid dat beperkt wie installatiekopieën kan pushen/pullen en uitgebreide auditlogboekregistratie van alle registerbewerkingen.
Geharde gouden installatiekopieën voor VM's onderhouden: Voor VM-workloads onderhoudt u gecentraliseerde golden image-opslagplaatsen met CIS-benchmarkcompatibiliteit, geharde basisinstallatiekopieën die regelmatig beveiligingspatching en nalevingsvalidatie ondergaan. Implementeer geautomatiseerde pijplijnen voor het bouwen van installatiekopieën die beveiligingsupdates bevatten, overbodige services verwijderen, configuraties met minimale bevoegdheden afdwingen en nieuwe installatiekopieën genereren volgens gedefinieerde planningen in plaats van actieve systemen te patchen.
Maak gebruik van geïntegreerde beveiligingsplatforms: Oplossingen zoals Azure Container Registry met integratie van Microsoft Defender for Containers bieden geautomatiseerd scannen, quarantainewerkstromen, inhoudsvertrouwen en replicatie met meerdere regio's met consistent beveiligingsbeleid.
Voorbeeld van implementatie
Een logistieke organisatie heeft een containertoepassing geïmplementeerd met een niet-gepatchte basisinstallatiekopie met een kritiek beveiligingsprobleem met de uitvoering van externe code. Aanvallers hebben het beveiligingsprobleem kort na de implementatie misbruikt, wat de verzending van gegevens in gevaar heeft gebracht.
Uitdaging: Talrijke containerimages zonder scannen op kwetsbaarheden. Afbeeldingen die maanden geleden zijn gebouwd, hebben veel CVE's verzameld, waaronder kritieke kwetsbaarheden. Er was geen verificatie die de kwaadaardige vervanging van afbeeldingen verhinderde.
Oplossingsbenadering:
- Containerregisterbeveiliging:Azure Container Registry geïmplementeerd met kwetsbaarhedenscans die afbeeldingen met hoog-risico CVE's in quarantaine plaatsen voordat ze worden ingezet.
- Geavanceerde VM-images: Geïmplementeerde Azure Shared Image Gallery met CIS-benchmark-conforme VM-images voor gereguleerde taken.
- Runtimebeveiliging:Microsoft Defender for Containers geconfigureerd voor continue detectie van bedreigingen en driftbewaking.
- Integriteit van artefacten: Tot stand gebrachte cryptografische ondertekening en verificatie zorgen voor de echtheid van afbeeldingen gedurende de hele levenscyclus.
Resultaat: Kwetsbare afbeeldingen geblokkeerd uit productie-implementatie. Aanzienlijk gereduceerde container-CVE's per containerbeeld. Voorkomen van imagesubstitutie-aanvallen door middel van handtekeningverificatie.
Kritieksniveau
Moet hebben.
Controletoewijzing
- NIST SP 800-53 Rev.5: CM-2, CM-3, SI-2, SI-7, RA-5
- PCI-DSS v4: 6.2.4, 6.3.3, 11.3.1
- CIS-beheersmaatregelen v8.1: 4.1, 7.3, 7.4
- NIST CSF v2.0: PR.IP-1, PR.IP-3, DE.CM-8
- ISO 27001:2022: A.8.9, A.8.31, A.8.32
- SOC 2: CC7.2, CC8.1
DS-7: DevOps-logboekregistratie en -bewaking implementeren
Beveiligingsprincipe
Implementeer uitgebreide DevOps-activiteitenlogboekregistratie via controlestreaming met integratie met gecentraliseerde SIEM-platformen (Security Information and Event Management) voor beveiligingsanalyse, realtime detectie van bedreigingen en geautomatiseerde reacties. Stel gedragsanalyses, anomaliedetectie en beveiligingsmetrieken in om snelle reactie op incidenten mogelijk te maken en nalevingscontroletrails te onderhouden.
Risico om te beperken
Onvoldoende DevOps-logboekregistratie en -bewaking zorgen voor kritieke blinde vlekken die kwaadwillende gebruikers misbruiken om onopgemerkt te werken, persistentie te maken en gevoelige code of referenties te exfiltreren. Zonder uitgebreide zichtbaarheid:
- Niet-gedetecteerde pijplijncompromitties: Aanvallers wijzigen CI/CD-pijplijnen om schadelijke code te injecteren, geheimen te exfiltreren of backdoors tot stand te brengen zonder waarschuwingen te activeren vanwege ontbrekende of onvoldoende auditlogboekregistratie.
- Insider-bedreigingen die code of infrastructuur wijzigen: Kwaadwillende insiders of gecompromitteerde accounts brengen onbevoegde wijzigingen aan in broncode, infrastructuurdefinities of implementatieconfiguraties zonder detectie.
- Gebrek aan uitgebreide audittrails: Het ontbreken van gedetailleerde activiteitenlogboeken belemmert forensisch onderzoek, impactbeoordeling en de analyse van de hoofdoorzaak bij beveiligingsincidenten, wat de verblijfstijd verlengt en de impact van de schending vergroot.
- Vertraagde reactie op incidenten: Mean Time to Detect (MTTD) loopt van uren tot weken uit wanneer beveiligingsteams geen realtime waarschuwingen, anomaliedetectie en geautomatiseerde correlatie van DevOps-beveiligingsgebeurtenissen missen.
- Fouten in nalevingscontrole: Wettelijke vereisten (SOX, PCI-DSS, HIPAA, ISO 27001) die uitgebreide audittrails, wijzigingen bijhouden en toegangslogboekregistratie eisen, kunnen niet worden voldaan zonder gecentraliseerde DevOps-bewaking.
- Escalatieblindheid van bevoegdheden: Onbevoegde uitbreiding van machtigingen, het maken van backdoor-accounts of het wijzigen van toegangsbeheer wordt niet gedetecteerd zonder gedragsanalyse en controle van bevoegdheden.
Hiaten in logboekregistratie verbergen schadelijke pijplijnwijzigingen, escalatie van bevoegdheden en permanente toegangspogingen in ontwikkelingstrajecten met hoge bevoegdheden.
MITRE ATT&CK
- Beveiligingsontduiking (TA0005): beveiligingsbeveiligingen (T1562) uitschakelen van auditlogboekregistratie, beveiligingsscanstappen of bewakingsagents om in blinde vlekken te werken, en indicatorverwijdering (T1070) om auditlogboeken of uitvoeringsgeschiedenis van pijplijnen uit te schakelen om schadelijke activiteiten te verbergen.
- Persistentie (TA0003): account-manipulatie (T1098) waarbij extra service-principals, persoonlijke toegangstokens of SSH-sleutels ongedetecteerd worden aangemaakt.
- Verzameling (TA0009): gegevens uit informatieopslagplaatsen (T1213) exfiltratie van broncode, geheimen of intellectueel eigendom via pijplijntoegang.
- Toegang tot referentiegegevens (TA0006): onbeveiligde referenties (T1552), het oogsten van onthulde geheimen uit pijplijnlogboeken of uitvoeringsgeschiedenis.
DS-7.1: Auditlogboekregistratie implementeren voor DevOps-platforms
DevOps-platformen met bevoorrechte toegang tot productieinfrastructuur en gevoelige broncode vereisen uitgebreide beveiligingsbewaking om kwaadwillende activiteiten en bedreigingen van insiders te detecteren. Door hiaten in logboekregistratie te controleren, kunnen kwaadwillende actoren gedurende langere perioden niet worden gedetecteerd, terwijl gecentraliseerde logboekaggregatie correlatie mogelijk maakt met bredere beveiligingstelemetrie, waardoor geavanceerde aanvalsketens zichtbaar zijn. Realtime gedragsanalyse identificeert verdachte patronen die onzichtbaar zijn in geïsoleerde gebeurtenissen, waarbij onbewerkte controlegegevens worden getransformeerd in bruikbare beveiligingsinformatie.
Uitgebreide DevOps-beveiligingsbewaking tot stand brengen via deze mogelijkheden:
Uitgebreide beveiligingsgerelateerde activiteiten vastleggen: Maak uitgebreide auditlogboekregistratie die alle beveiligingsgerelateerde DevOps-activiteiten vastlegt: gebruikersverificatie- en autorisatiegebeurtenissen, doorvoeren van broncode en vertakkingen, pijplijn maken en wijzigen, implementatie-uitvoeringen, geheime toegang, machtigingswijzigingen, het maken van service-principals en beheeracties. DevOps-platforms hebben bevoegde toegang tot productie-infrastructuur en gevoelige hiaten in codelogboeken, zodat kwaadwillende personen en kwaadwillende insiders gedurende langere perioden onopgemerkt kunnen werken.
Logboeken doorsturen naar gecentraliseerde SIEM in realtime: Stuur auditlogboeken in realtime door naar gecentraliseerde SIEM-platforms in plaats van te vertrouwen op systeemeigen retentie van het DevOps-platform (meestal 90 dagen), waardoor forensische analyse op lange termijn, nalevingsrapportage en correlatie met beveiligingsgebeurtenissen van andere systemen mogelijk zijn. Stream logboeken naar beveiligingscentrums via gestandaardiseerde protocollen (/azure Event Hubs, syslog) in gestructureerde indelingen (JSON) die geautomatiseerde parsering, analyse en waarschuwingen mogelijk maken zonder handmatige logboekbeoordeling.
Gedragsanalyse en anomaliedetectie implementeren: Implementeer gedragsanalyse en anomaliedetectie op DevOps-controlegegevens om verdachte patronen te identificeren die onzichtbaar zijn in afzonderlijke gebeurtenissen: pijplijnwijzigingen na uren, ongebruikelijke toegang tot gevoelige opslagplaatsen, snelle uitbreiding van bevoegdheden, het maken van service-principals, gevolgd door verdachte implementaties, pijplijnuitvoeringen vanaf onverwachte locaties of abnormale patronen van geheime toegang. Stel basislijngedragsprofielen voor gebruikers en services vast, waarbij waarschuwingen worden gegeven over statistisch significante afwijkingen die kunnen duiden op inbreuk of bedreigingen van binnenin.
Configureer geautomatiseerde waarschuwingen voor activiteiten met een hoog risico: Configureer automatische waarschuwingen voor activiteiten met een hoog risico met onmiddellijke meldingen aan beveiligingsteams: fouten in productie-implementaties, pijplijnwijzigingen in beveiligde vertakkingen, het maken van nieuwe service-principals, gebeurtenissen voor het verhogen van machtigingen, uitgeschakelde beveiligingsscanstappen, configuratiewijzigingen voor auditlogboeken doorsturen of pogingen om toegang te krijgen tot geheimen van niet-geautoriseerde pijplijnen. Implementeer escalatie op basis van ernst, zodat kritieke waarschuwingen onmiddellijk beveiligingsbewerkingen bereiken terwijl routinegebeurtenissen worden gebatcheerd voor analyse.
Integreren met bredere beveiligingstelemetrie: Integreer DevOps-auditlogboeken met bredere beveiligingstelemetrie in SIEM-platforms voor correlatie met eindpuntdetectie, netwerkbeveiliging, identiteitsgebeurtenissen en feeds voor bedreigingsinformatie. Dit maakt het mogelijk om geavanceerde aanvalsketens te detecteren waarbij DevOps-inbreuk één fase is in bewerkingen met meerdere fasen, bijvoorbeeld het correleren van phished-referenties met latere pijplijnwijzigingen en ongebruikelijke inrichting van cloudresources.
Maak gebruik van geïntegreerde SIEM-platforms: Platformen zoals Azure DevOps Audit Streaming met Microsoft Sentinel-integratie bieden realtime doorsturen van logboeken, vooraf gebouwde detectieregels voor DevOps-bedreigingen, beveiligingswerkmappen voor onderzoek en geautomatiseerde antwoordindeling.
Voorbeeld van implementatie
Een productieorganisatie in de IT-sector ontdekte een bedreiging van binnenuit toen een voormalige aannemer een backdoor-code in de CI/CD-pijplijn van de productietoepassing injecteerde. Incident bleef maanden onopgemerkt vanwege onvoldoende auditlogboekregistratie.
Uitdaging: Geen gecentraliseerde logboekregistratie van DevOps-activiteiten. Wijzigingen in pijplijnen en geprivilegieerde toegang bleven onbewaakt. Forensisch onderzoek belemmerd door het ontbreken van audit trails. Mislukte compliance audit vanwege onvoldoende wijzigingsbeheer.
Oplossingsbenadering:
- Gecentraliseerde auditlogboekregistratie: Azure DevOps Audit Streaming Forwarding-gebeurtenissen naar Microsoft Sentinel ingeschakeld voor beveiligingsanalyse en langetermijnretentie.
- Gedragsanalyse: Anomaliedetectie geïmplementeerd die ongebruikelijke toegangspatronen identificeert, pijplijnwijzigingen na uren en escalaties van bevoegdheden die interne bedreigingen aangeven.
- Automatische waarschuwingen: Geconfigureerde waarschuwingen voor verdachte activiteiten, waaronder niet-geautoriseerde productie-implementaties en aanmaak van service-principals die worden gerouteerd naar beveiligingsoperaties.
- Nalevingsrapportage: Automatische audittrailgeneratie die voldoet aan wettelijke vereisten met uitgebreide wijzigingstracering.
Resultaat: Niet-geautoriseerde pijplijnwijzigingen snel gedetecteerd en voorkomen. Aanzienlijk gereduceerde onderzoekstijd voor incidenten met uitgebreide audittrails. Naleving van gedocumenteerd wijzigingsbeheer bereikt.
Kritieksniveau
Had moeten.
Controletoewijzing
- NIST SP 800-53 Rev.5: AU-2, AU-3, AU-6, AU-12, SI-4
- PCI-DSS v4: 10.2.1, 10.2.2, 10.3.4
- CIS Controls v8.1: 8.2, 8.5, 8.11
- NIST CSF v2.0: DE.CM-1, DE.CM-7, RS.AN-1
- ISO 27001:2022: A.8.15, A.8.16
- SOC 2: CC7.2, CC7.3