Pijplijnen voor softwareontwikkeling bieden cybercriminelen 'vrije toegang' tot cloud-, on-premise PlatoBlockchain-gegevensintelligentie. Verticaal zoeken. Ai.

Softwareontwikkelingspijplijnen bieden cybercriminelen 'vrije toegang' tot cloud, on-premises

Pijpleidingen voor continue integratie/continue ontwikkeling (CI/CD) zijn misschien wel het gevaarlijkste potentiële aanvalsoppervlak van de softwaretoeleveringsketen, zeggen onderzoekers, omdat cyberaanvallers hun interesse in het zoeken naar zwakke punten vergroten.

Het aanvalsoppervlak groeit ook: CI/CD-pijplijnen worden steeds vaker een vaste waarde binnen de ontwikkelingsteams van bedrijfssoftware, die ze gebruiken om code te bouwen, testen en implementeren met behulp van geautomatiseerde processen. Maar te veel toestemming, een gebrek aan netwerksegmentatie en slechte geheimen en patchbeheer plagen hun implementatie, waardoor criminelen de kans krijgen om ze te compromitteren om vrij te kunnen variëren tussen on-premises en cloudomgevingen.

Tijdens Black Hat USA op woensdag 10 augustus zullen Iain Smart en Viktor Gazdag van beveiligingsadviesbureau NCC Group het podium betreden tijdens “RCE-as-a-Service: lessen getrokken uit 5 jaar echte CI/CD-pijplijncompromis”, om de reeks succesvolle supply chain-aanvallen te bespreken die ze hebben uitgevoerd in productie-CI/CD-pijplijnen voor vrijwel elk bedrijf dat het bedrijf heeft getest.

NCC Group heeft toezicht gehouden op enkele tientallen succesvolle compromissen van doelen, variërend van kleine bedrijven tot Fortune 500-bedrijven. In aanvulling op beveiligingsfouten, zeggen de onderzoekers dat nieuwe misbruiken van de beoogde functionaliteit in geautomatiseerde pijplijnen hen in staat hebben gesteld om pijplijnen van een eenvoudig hulpprogramma voor ontwikkelaars om te zetten in externe code-uitvoering (RCE)-as-a-service.

"Ik hoop dat mensen wat meer liefde zullen geven aan hun CI/CD-pijplijnen en alle of ten minste een of twee aanbevelingen van onze sessie zullen toepassen", zegt Gazdag. "We hopen ook dat dit zal leiden tot meer beveiligingsonderzoek over dit onderwerp."

Tara Seals, hoofdredacteur nieuws van Dark Reading, ging zitten met Viktor Gazdag, managing security consultant van NCC Group, om meer te weten te komen.

Tara-zegels: Wat zijn enkele van de meest voorkomende beveiligingszwakheden in CI/CD-pijplijnen en hoe kunnen deze worden misbruikt?

Victor Gazdag: We zien regelmatig drie veelvoorkomende beveiligingsproblemen die meer aandacht vereisen:

1) Hardgecodeerde inloggegevens in Version Control System (VCS) of Source Control Management (SCM).

Deze omvatten shellscripts, inlogbestanden, hardgecodeerde inloggegevens in configuratiebestanden die op dezelfde plaats als de code worden opgeslagen (niet afzonderlijk of in apps voor geheim beheer). Ook vinden we vaak toegangstokens tot verschillende cloudomgevingen (ontwikkeling, productie) of bepaalde diensten binnen de cloud zoals SNS, Database, EC2 etc.

We vinden ook nog steeds referenties om toegang te krijgen tot de ondersteunende infrastructuur of tot de CI/CD-pijplijn. Zodra een aanvaller toegang krijgt tot de cloudomgeving, kunnen ze hun privileges opsommen, zoeken naar verkeerde configuraties of proberen hun privileges te verhogen omdat ze zich al in de cloud bevinden. Met toegang tot de CI/CD-pijplijn kunnen ze de bouwgeschiedenis zien, toegang krijgen tot de artefacten en de geheimen die zijn gebruikt (bijvoorbeeld de SAST-tool en de rapporten over kwetsbaarheden of cloudtoegangstokens) en in het ergste geval: injecteer willekeurige code (backdoor, SolarWinds) in de applicatie die wordt gecompileerd, of verkrijg volledige toegang tot de productieomgeving.

2) Overpermissieve rollen.

Ontwikkelaars of serviceaccounts hebben vaak een rol die is gekoppeld aan hun account (of kan er een aannemen) die meer rechten heeft dan nodig is om de vereiste taak uit te voeren.

Ze hebben toegang tot meer functies, zoals het configureren van het systeem of geheimen voor zowel productie- als ontwikkelomgevingen. Ze kunnen mogelijk beveiligingscontroles omzeilen, zoals goedkeuring door andere ontwikkelaars, of de pijplijn wijzigen en elke SAST-tool verwijderen die zou kunnen helpen bij het zoeken naar kwetsbaarheden.

Omdat pijplijnen toegang hebben tot productie- en testimplementatieomgevingen, kunnen ze als er geen segmentatie tussen is, fungeren als een brug tussen omgevingen, zelfs tussen on-premises en de cloud. Hierdoor kan een aanvaller firewalls of waarschuwingen omzeilen en vrij bewegen tussen omgevingen die anders niet mogelijk zouden zijn.

3) Gebrek aan audit, monitoring en alarmering.

Dit is het meest verwaarloosde gebied en in 90% van de gevallen constateerden we een gebrek aan monitoring en waarschuwingen over configuratiewijzigingen of gebruikers-/rolbeheer, zelfs als de auditing was ingeschakeld of ingeschakeld. Het enige dat kan worden gecontroleerd, is de succesvolle of niet-succesvolle taakcompilatie of build.

Er zijn ook meer algemene beveiligingsproblemen, zoals het ontbreken van netwerksegmentatie, geheimbeheer en patchbeheer, enz. aanval ontploffing straal.

TS: Heeft u specifieke praktijkvoorbeelden of concrete scenario's waarnaar u kunt verwijzen?

VG: Enkele aanvallen in het nieuws die verband houden met CI/CD- of pijplijnaanvallen zijn:

  • CCleaner-aanval, Maart 2018
  • Homebrew, augustus 2018
  • Asus ShadowHamer, Maart 2019
  • CircleCI-inbreuk door derden, september 2019
  • SolarWinds, December 2020
  • Het bash-uploadscript van Codecov, april 2021
  • TravisCI ongeautoriseerde toegang tot geheimen, september 2021

TS: Waarom zijn zwakke punten in geautomatiseerde pijplijnen problematisch? Hoe zou u het risico voor bedrijven karakteriseren?

VG: Er kunnen honderden tools worden gebruikt in pijplijnstappen en daarom is de enorme kennis die iemand moet weten enorm. Daarnaast hebben pijplijnen netwerktoegang tot meerdere omgevingen en meerdere referenties voor verschillende tools en omgevingen. Toegang krijgen tot pijplijnen is als het krijgen van een gratis reispas waarmee aanvallers toegang krijgen tot elke andere tool of omgeving die aan de pijplijn is gekoppeld.

TS: Wat zijn enkele van de aanvalsresultaten die bedrijven kunnen ondervinden als een tegenstander met succes een CI/CD-pijplijn ondermijnt?

VG: Uitkomsten van aanvallen kunnen zijn: het stelen van broncode of intellectuele gegevens, het achterdeurtje maken van een applicatie die is geïmplementeerd voor duizenden klanten (zoals SolarWinds), toegang krijgen tot (en vrij bewegen tussen) meerdere omgevingen zoals ontwikkeling en productie, zowel op locatie als in de wolk, of beide.

TS: Hoe geavanceerd moeten tegenstanders zijn om een ​​pijplijn te compromitteren?

VG: Wat we op Black Hat presenteren, zijn geen zero-day-kwetsbaarheden (ook al heb ik enkele kwetsbaarheden in verschillende tools gevonden) of nieuwe technieken. Criminelen kunnen ontwikkelaars aanvallen via phishing (sessiekaping, omleiding van multifactor-authenticatie, diefstal van inloggegevens) of de CI/CD-pijplijn rechtstreeks als deze niet is beveiligd en op internet is gericht.

NCC Group heeft zelfs beveiligingsbeoordelingen uitgevoerd waarbij we in eerste instantie webapplicaties hebben getest. Wat we ontdekten is dat CI/CD-pipelines zelden worden gelogd en gecontroleerd met waarschuwingen, afgezien van het bouwen/compileren van software, dus criminelen hoeven niet zo voorzichtig of geavanceerd te zijn om een ​​pijplijn te compromitteren.

TS: Hoe vaak komen dit soort aanvallen voor en hoe breed vertegenwoordigen CI/CD-pijplijnen het aanvalsoppervlak?

VG: Er zijn verschillende voorbeelden van real-world aanvallen in het nieuws, zoals vermeld. En je kunt nog steeds bijv. Jenkins-instanties met Shodan op internet. Met SaaS kunnen criminelen wachtwoorden opsommen en proberen te forceren om toegang te krijgen, omdat ze niet standaard multifactor-authenticatie hebben ingeschakeld of IP-beperkingen hebben, en ze zijn gericht op internet.

Met werken op afstand zijn pijplijnen nog moeilijker te beveiligen omdat ontwikkelaars overal en altijd toegang willen, en IP-beperkingen zijn niet per se meer haalbaar omdat bedrijven op weg zijn naar zero-trust netwerken of veranderende netwerklocaties hebben.

Pijplijnen hebben meestal netwerktoegang tot meerdere omgevingen (wat ze niet zouden moeten doen) en hebben toegang tot meerdere referenties voor verschillende hulpprogramma's en omgevingen. Ze kunnen fungeren als een brug tussen on-prem en cloud, of productie- en testsystemen. Dit kan een zeer breed aanvalsoppervlak zijn en aanvallen kunnen van meerdere plaatsen komen, zelfs diegene die niets te maken hebben met de pijplijn zelf. Bij Black Hat presenteren we twee scenario's waarin we oorspronkelijk begonnen met het testen van webapplicaties.

TS: Waarom blijven CI/CD-pijplijnen een blinde vlek voor beveiliging voor bedrijven?

VG: Meestal door gebrek aan tijd, soms gebrek aan mensen en in sommige gevallen gebrek aan kennis. CI/CD-pipelines worden vaak gemaakt door ontwikkelaars of IT-teams met beperkte tijd en met een focus op snelheid en levering, of ontwikkelaars worden gewoon overladen met werk.

CI/CD-pijplijnen kunnen zeer of extreem complex zijn en honderden tools bevatten, interactie hebben met meerdere omgevingen en geheimen en door meerdere mensen worden gebruikt. Sommige mensen hebben zelfs een periodieke tabelweergave gemaakt van de tools die in een pijplijn kunnen worden gebruikt.

Als een bedrijf tijd uittrekt om een ​​dreigingsmodel te maken voor de pijplijn die ze gebruiken en de ondersteunende omgevingen, zullen ze het verband zien tussen omgevingen, grenzen en geheimen, en waar de aanvallen kunnen plaatsvinden. Het maken en voortdurend bijwerken van het dreigingsmodel moet gebeuren, en dat kost tijd.

TS: Wat zijn enkele best practices om de beveiliging van pijpleidingen te versterken?

VG: Pas netwerksegmentatie toe, gebruik het principe van de minste bevoegdheden voor het maken van rollen, beperk de reikwijdte van een geheim in het beheer van geheimen, pas regelmatig beveiligingsupdates toe, verifieer artefacten en controleer op en alarmeer bij configuratiewijzigingen.

TS: Zijn er nog andere gedachten die u wilt delen?

VG: Hoewel cloud-native of cloud-gebaseerde CI/CD-pipelines eenvoudiger zijn, zagen we nog steeds dezelfde of vergelijkbare problemen, zoals overpermissieve rollen, geen segmentatie, te grote geheimen en gebrek aan waarschuwingen. Het is belangrijk voor bedrijven om te onthouden dat ze ook beveiligingsverantwoordelijkheden hebben in de cloud.

Tijdstempel:

Meer van Donkere lezing