Pijpleidingen beveiligen met Scribe

Pijpleidingen beveiligen met Scribe

Aanvallen op de toeleveringsketen van software nemen toe en de noodzaak om op deze aanvalsvector te reageren is van cruciaal belang geworden. Maar waar begin je?

Als je de gevechtsplannen van de aanvaller had, zou je je inspanningen dienovereenkomstig kunnen prioriteren. We hebben geen specifieke plannen voor een aanvaller, maar we hebben wel een blauwdruk van typische gevechtsplannen voor aanvallers: de CI\CD-dreigingsmatrix, gebaseerd op de MITRE aanvalsraamwerk.

Als we de onderstaande tabel van links naar rechts lezen, worden we door de aanvalscyclus geleid: de aanvaller moet initiële toegang verkrijgen, vervolgens de code uitvoeren, persistentie bereiken, capaciteiten opbouwen door escalatie van privileges, verdedigingsontduiking en toegang tot inloggegevens. Op deze manier kunnen aanvallers een zijwaartse beweging uitvoeren om hun prooi te bereiken en vervolgens aanvallen – ofwel exfiltreren ofwel andere schokken veroorzaken.

In elke kolom van de tabel staan ​​technieken vermeld die de aanvaller kan gebruiken. De eerste kolom suggereert bijvoorbeeld dat initiële toegang kan worden verkregen door een eerdere inbreuk op de CI\CD, of door zwakke toegangscontroles (geldig account van een Git-service, geldig account van een CI\CD-service of geldig beheerdersaccount). van een kritische server).

 

De op bewijzen gebaseerde benadering van Scribe om de toeleveringsketen te beveiligen is in wezen eenvoudig:

Vertrouw een artefact alleen als het is gekoppeld aan ondersteunend bewijsmateriaal, ondertekend bewijsmateriaal dat wordt gedefinieerd als digitale attesten.

Om deze aanpak te implementeren, levert Scribe de softwaretools die nodig zijn om dergelijk bewijsmateriaal te verzamelen en te beheren en de betrouwbaarheid van het artefact te evalueren op basis van beleid en attesten (ondertekend bewijsmateriaal).

Oplossingsoverzicht ophalen

Voorbeelden van beleid dat door Scribe wordt ondersteund:

Beleid voor beveiligingsinstellingen

Zorg ervoor dat de beveiligingsinstellingen van de services die tijdens het bouwproces worden gebruikt, voldoen aan een vooraf gedefinieerde standaard.

Bron\Bestand\Module-wijzigingsbeleid

Controleer of de broncode, configuraties, buildscripts en IoC-bestanden zijn gewijzigd volgens een vooraf gedefinieerde standaard die de identiteiten, processen, stappen en statussen definieert.

Source\File\Module-integriteitsbeleid

Zorg ervoor dat de broncode, bestanden en modules identiek zijn aan de vooraf bepaalde toegestane versies.

Afhankelijkheidsvertrouwensbeleid

Zorg ervoor dat de gebruikte afhankelijkheden voldoen aan een vooraf gedefinieerde standaard (zoals OSSF-scorekaart, versie-leeftijd, allow\ban-lijst).

Kwetsbaarhedenbeleid

Zorg ervoor dat afhankelijkheden en andere publieke (gesloten of open) componenten geen hoog beveiligingsrisico vormen.

Levenscyclusbeleid voor softwareontwikkeling

Zorg ervoor dat de code door belanghebbenden is beoordeeld, dat opmerkingen zijn opgelost en dat de tests en beveiligingstests met succes zijn voltooid.

Pipeline-gedragsbeleid

Houd het leidinggedrag volgens plan in stand. Vereist bijvoorbeeld dat een afbeelding wordt gepusht als uitvoer van de pijplijn en niet door een ander proces.

Voorbeelden van bewijsmateriaal dat Scribe continu en geautomatiseerd verzamelt voor elke build:

Fijnkorrelige SBOM's van de bron-SCM en uiteindelijke artefacten (containers)

Momentopnamen van de gebouwde omgeving

Momentopnamen van de bronrepository

Beveiligingsinstelling van de bronbeheer- en bouwomgeving

Relevante gebeurtenissen op besturingssysteemniveau verzameld van de bouwmachine