broncode beveiligen tegen verlies of diefstal is van oudsher een uitdaging geweest vanwege het gebrek aan beschikbare beveiligingsopties om effectieve beveiliging te bieden zonder de productiviteit van ontwikkelaars te beïnvloeden. Voor veel bedrijven, hun broncode is een zeer waardevolle asset nog om de productiviteit mogelijk te maken moet worden gekopieerd naar Ontwikkelaar endpoints in platte tekst formaten, waardoor het moeilijk om deze waardevolle asset beveiligd en gecontroleerd te houden.
Securecrcle ‘ s Data Access Security Broker (DASB) is een eenvoudige en betrouwbare beveiligingsarchitectuur die klanten in staat stelt om broncode te beveiligen op het eindpunt zonder dat ontwikkelaars hun werk doen. DASB beschermt tegen insiderbedreiging en accidenteel gegevensverlies zonder ontwikkelaars te beperken tot een bepaalde IDE of tools te bouwen.
wanneer Securecrcle wordt ingezet in een best practice-configuratie, kan het broncode beveiligen op eindpunten zonder dat ontwikkelteams hoe ze werken of hoe ze omgaan met code, IDEs en ontwikkeltools hoeven te veranderen. Dit richt zich op Securecrcle best practices voor het beveiligen van broncode in ontwikkelomgevingen.
High Level Architecture
de meest gebruikelijke aanpak voor het beheren en werken met broncode is het gebruik van een of meer codeopslagplaatsen die worden beschouwd als de bron van waarheid voor een bepaald ontwikkelingsproject. De code repositories bieden functionaliteit die het beheer van verschillende versies van code, branches en releases vereenvoudigt.
in ontwikkelomgevingen is het gebruikelijk dat ontwikkelaars code kopiëren naar hun eindpunten (Mac/PC/Linux) met behulp van een pull request of checkout proces. Met deze checkout-of pull-operatie kunnen ontwikkelaars code rechtstreeks naar hun lokale eindpunt verplaatsen voor de snelste en meest betrouwbare ontwikkelingservaring bij het werken met code.
Securecrle zorgt ervoor dat de broncode aanhoudend versleuteld is wanneer deze naar het eindpunt van de ontwikkelaars wordt verplaatst zonder dat dit gevolgen heeft voor ontwikkelaars en hun tools, zodat bedrijven altijd de controle over hun broncode behouden, ongeacht waar de code zich bevindt.
broncode beveiligen op het eindpunt
wanneer Securecrcle is geconfigureerd volgens de beste praktijken, wordt de broncode beveiligd wanneer deze van de codeopslagplaats naar ontwikkelaarseindpunten wordt verplaatst. Specifiek, het client proces (e.x. git, svn) op het systeem van de ontwikkelaars is geconfigureerd als een veilig proces. Wanneer het veilige proces kopieert of schrijft broncode bestanden naar de ontwikkelaar eindpunt, de Securecrcle agent zorgt ervoor dat de broncode in de bestanden wordt versleuteld te allen tijde en blijft beveiligd, zelfs in gebruik.
een extra beveiligingslaag die door Securecrcle wordt aanbevolen, is het gebruik van SSH als het transfer protocol voor pull requests van de code repository. Dit zorgt er niet alleen voor dat de broncode tijdens het transport wordt versleuteld, maar het maakt ook een extra beveiligingslaag mogelijk doordat het privé-SSH-sleutelbestand op de eindpunten van ontwikkelaars door Securecrcle kan worden beheerd. Door de sleutel te beveiligen met Securecrcle, kan de toegang tot zowel de broncode op het eindpunt als de toegang tot de repository via het netwerk worden ingetrokken wanneer een gebruiker of apparaat wordt uitgeschakeld. Wanneer de toegang tot de code wordt ingetrokken, kan deze niet meer worden gelezen op het eindpunt door een proces. Op dezelfde manier zal het eindpunt niet langer in staat zijn om verzoeken te doen aan de repository, omdat de SSH sleutel die toegang verleent tot de code repository ook onleesbaar is. Alle beveiligde broncode op ontwikkelaarseindpunten wordt gemonitord. Wanneer de toepassingen en het proces proberen toegang te krijgen tot de broncode, kunnen de ondernomen acties worden aangemeld in een SIEM voor verdere analyse.
het toestaan van toegang tot de broncode op het eindpunt
broncode in bestanden die zijn uitgecheckt door een goedgekeurde ontwikkelaar op een goedgekeurd eindpunt, door een goedgekeurd proces, worden altijd versleuteld bewaard. Niet alleen is de code altijd versleuteld, alleen goedgekeurde IDEs en compilers krijgen toegang tot de code in het bestand andere processen op het eindpunt van de ontwikkelaars geen toegang tot de platte tekst versie van de broncode, tenzij expliciet goedgekeurd.
wanneer een goedgekeurde IDE broncode opent, leest het platte tekst, maar het bestand wordt nooit gedecodeerd. De broncode wordt echter bewaard binnen de IDE en andere goedgekeurde processen, zoals alternatieve IDEs. Compilers kunnen ook goedgekeurde applicaties zijn en platte tekst lezen in het beveiligde bestand, zodat gecompileerde code succesvol kan zijn zonder enige verandering in de normale workflow van de ontwikkelaars of wijzigingen in de build tools.
in het algemeen worden processen die gegevens verbruiken op het eindpunt beschouwd als een Toegestaan proces dat toestemming verleent om de inhoud in bestanden te lezen of als een geweigerd proces, in welk geval ze gedwongen worden om de versleutelde versie van de bytes te lezen. Transport tools zoals windows explorer, Mac Finder, e-mailclients, en file sync clients (bijv. Dropbox) worden allemaal aanbevolen om processen te worden geweigerd, wat betekent dat deze processen beveiligde bestanden kunnen vervoeren, maar nooit de inhoud van platte tekst te lezen.
broncode beveiligen binnen het klembord
het is gebruikelijk om het klembord in het besturingssysteem te gebruiken om gegevens van de ene locatie naar de andere te verplaatsen. In de ontwikkeling van broncode is de mogelijkheid om te kopiëren en plakken een belangrijk hulpmiddel voor de productiviteit. Met Securecrcle, ontwikkelaars zijn vrij om te kopiëren en plakken binnen en tussen toegestane processen. Als een ontwikkelaar echter probeert code te plakken van een Toegestaan proces naar een geweigerd proces, wordt de bewerking geblokkeerd. Door het controleren van kopiëren en plakken op deze manier broncode kan worden geblokkeerd exfiltrated in niet-goedgekeurde toepassingen en processen die worden beschouwd als hoge risico ‘ s, zoals e-mailclients of webbrowsers.
beveiligen van nieuw aangemaakte en afgeleide broncode
wanneer nieuwe broncodebestanden worden aangemaakt, kunnen ze ofwel standaard worden beveiligd, als onderdeel van een beveiligd proces, dat elk nieuw aangemaakt bestand beveiligt, ofwel kunnen ze worden beveiligd op basis van de inhoud van de code als een afgeleide van broncode die eerder was beveiligd door Securecrcle.
door Veilige afgeleide toe te staan, zullen overeenkomsten in gegevens tussen bestanden worden gedetecteerd. Wanneer een nieuw bestand wordt gemaakt met dezelfde inhoud als een bestaand bestand, wordt het automatisch beveiligd met hetzelfde beleid als het oorspronkelijke bestand en wordt het transparant versleuteld zodat de beveiliging met de gegevens mee kan gaan. Wanneer de broncode wordt gekopieerd van het ene bestand naar het andere binnen een Toegestaan proces, zorgt Secure Derivate ervoor dat het bestand dat de code ontvangt de beveiliging van het bestand dat de oorspronkelijke code bevatte zal erven.
broncode controleren in de repository
bij het controleren van code terug in de repository, kan het proces op de ontwikkelaarseindpunten worden ingesteld als een Toegestaan proces, dat de encryptie uit de bytes binnen de broncode verwijdert als het wordt verzonden naar de code repository. De broncode bestanden worden versleuteld in doorvoer door SSH, maar worden vervolgens opgeslagen in platte tekst formaat binnen de broncode repository, die het mogelijk maakt standaard server-side tools binnen de code repository om te blijven werken zoals verwacht. Wanneer een ontwikkelaar controleert de code in de toekomst, het zal worden beveiligd volgens de oorspronkelijke methode hierboven beschreven. Securecrcle raadt aan om beveiligingscontroles te implementeren op de repository als aanvulling op de code workflow zoals beschreven in deze whitepaper.
toegang tot broncode
in het geval dat de toegang tot broncode moet worden ingetrokken, maakt Securecrle het mogelijk om de toegang tot broncode op eindpunten uit te schakelen door gebruiker, groep of apparaat.
wanneer de toegang tot gegevens is uitgeschakeld, zijn de gegevens niet langer toegankelijk voor de betrokken gebruiker, groep of apparaat, ongeacht waar de gegevens zich bevinden. Pogingen om toegang te krijgen tot de broncode op een apparaat waarvan de toegang is ingetrokken, worden geweigerd en deze pogingen worden geregistreerd. Daarnaast zal de mogelijkheid om broncode te kopiëren uit de repository ook worden ingetrokken omdat het SSH private key bestand niet langer toegankelijk is voor het kloon proces op het ontwikkelaars eindpunt. Verwijdering van toegang tot broncode kan effectief zijn binnen enkele seconden op basis van de configuratie van time to live (TTL) – instellingen binnen de Securecrcle-service. Tot slot, de toegang tot eventuele extra kopieën of derivaten zal ook worden ingetrokken, zelfs in het geval ze werden gekopieerd op verwijderbare media.
conclusie
Securecrle stelt bedrijven in staat om workflows aan te maken die automatisch gegevens beveiligen wanneer deze naar eindpunten worden verplaatst. Door het implementeren van Securecrcle broncode wordt versleuteld in bestanden als ze worden getrokken uit de broncode repositories zonder gevolgen voor ontwikkelaars of de tools die ze gebruiken. Broncode wordt altijd versleuteld bewaard en alleen goedgekeurde toepassingen hebben toegang tot de platte tekstcode en kunnen deze wijzigen. Toegang tot broncode kan op elk moment worden ingetrokken, ongeacht waar de beveiligde broncodebestanden worden opgeslagen. Het houden van gegevens versleuteld binnen elk type bestand zonder invloed op ontwikkelaars of ontwikkelaarstools is wat deze aanpak van de broncode beveiliging uniek maakt. Bij Securecrcle zijn we ervan overtuigd dat wrijvingsloze gegevensbeveiliging de bedrijfswaarde voor onze klanten verhoogt door aanhoudende bescherming te bieden tegen toevallige exfiltratie en insiderdreiging. Voor meer informatie over hoe we omgaan met gegevensbeveiliging, kunt u terecht op onze website www.securecircle.com.