Das Sichern von Quellcode vor Verlust oder Diebstahl war in der Vergangenheit eine Herausforderung, da keine Sicherheitsoptionen zur Verfügung standen, um effektive Sicherheit zu bieten, ohne die Entwicklerproduktivität zu beeinträchtigen. Für viele Unternehmen ist ihr Quellcode ein äußerst wertvolles Gut, aber um Produktivität zu ermöglichen, muss er in Nur-Text-Formaten auf Entwickler-Endpunkte kopiert werden, was es schwierig macht, dieses wertvolle Gut zu sichern und zu überwachen.
Der Data Access Security Broker (DASB) von SecureCircle ist eine einfache und zuverlässige Sicherheitsarchitektur, mit der Kunden Quellcode auf dem Endpunkt sichern können, ohne dass Entwickler ihre Arbeit beeinträchtigen. DASB schützt sowohl vor Insider-Bedrohungen als auch vor versehentlichem Datenverlust, ohne Entwickler auf eine bestimmte IDE oder Build-Tools zu beschränken.
Wenn SecureCircle in einer Best-Practice-Konfiguration bereitgestellt wird, kann es Quellcode auf Endpunkten sichern, ohne dass Entwicklungsteams ihre Arbeitsweise oder Interaktion mit Code, IDEs und Entwicklungstools ändern müssen. Der Schwerpunkt liegt auf den Best Practices von SecureCircle zur Sicherung von Quellcode in Entwicklungsumgebungen.
High Level Architecture
Der gebräuchlichste Ansatz zur Verwaltung und Arbeit mit Quellcode besteht darin, ein oder mehrere Code-Repositorys zu nutzen, die als Quelle der Wahrheit für ein bestimmtes Entwicklungsprojekt gelten. Die Code-Repositorys bieten Funktionen, die die Verwaltung verschiedener Codeversionen, Verzweigungen und Releases vereinfachen.
In Entwicklungsumgebungen ist es üblich, dass Entwickler Code mithilfe eines Pull-Requests oder Checkout-Prozesses auf ihre Endpunkte (Mac / PC / Linux) kopieren. Diese Checkout- oder Pull-Operation ermöglicht es Entwicklern, Code direkt auf ihren lokalen Endpunkt zu verschieben, um die schnellste und zuverlässigste Entwicklungserfahrung bei der Arbeit mit Code zu erzielen.
SecureCircle stellt sicher, dass der Quellcode dauerhaft verschlüsselt wird, wenn er zum Endpunkt der Entwickler verschoben wird, ohne Auswirkungen auf Entwickler und ihre Tools, sodass Unternehmen immer die Kontrolle über ihren Quellcode behalten, unabhängig davon, wo sich der Code befindet.
Sichern von Quellcode auf dem Endpunkt
Wenn SecureCircle nach Best Practice konfiguriert wurde, wird der Quellcode gesichert, wenn er vom Code-Repository zu Entwicklerendpunkten verschoben wird. Insbesondere ist der Client-Prozess (z. B. git, svn) auf dem Entwicklersystem als sicherer Prozess konfiguriert. Wenn der sichere Prozess Quellcodedateien auf den Entwickler-Endpunkt kopiert oder schreibt, stellt der SecureCircle-Agent sicher, dass der Quellcode in den Dateien jederzeit verschlüsselt ist und auch während der Verwendung gesichert bleibt.
Eine zusätzliche Sicherheitsebene, die von SecureCircle empfohlen wird, ist die Verwendung von SSH als Übertragungsprotokoll für alle Pull-Anforderungen aus dem Code-Repository. Dadurch wird nicht nur sichergestellt, dass der Quellcode während der Übertragung verschlüsselt wird, sondern auch eine zusätzliche Sicherheitsebene, indem die private SSH-Schlüsseldatei auf den Endpunkten der Entwickler von SecureCircle verwaltet werden kann. Durch die Sicherung des Schlüssels mit SecureCircle kann der Zugriff auf den Quellcode auf dem Endpunkt und den Zugriff auf das Repository über das Netzwerk widerrufen werden, wenn ein Benutzer oder ein Gerät deaktiviert wird. Wenn der Zugriff auf den Code widerrufen wird, kann er von keinem Prozess mehr auf dem Endpunkt gelesen werden. Ebenso kann der Endpunkt keine Anforderungen mehr an das Repository stellen, da der SSH-Schlüssel, der den Zugriff auf das Code-Repository gewährt, ebenfalls nicht lesbar ist. Der gesamte gesicherte Quellcode auf Entwicklerendpunkten wird überwacht. Wenn die Anwendungen und der Prozess versuchen, auf den Quellcode zuzugreifen, können die versuchten Aktionen zur weiteren Analyse in einem SIEM protokolliert werden.
Zugriff auf den Quellcode auf dem Endpunkt zulassen
Quellcode in Dateien, die von einem genehmigten Entwickler auf einem genehmigten Endpunkt durch einen genehmigten Prozess ausgecheckt wurden, wird immer in einem verschlüsselten Zustand gehalten. Der Code wird nicht nur immer verschlüsselt, sondern nur genehmigte IDEs und Compiler erhalten Zugriff auf den Code in der Datei Andere Prozesse auf dem Endpunkt der Entwickler können nur mit ausdrücklicher Genehmigung auf die Nur-Text-Version des Quellcodes zugreifen.
Wenn eine genehmigte IDE den Quellcode öffnet, liest sie Klartext, die Datei wird jedoch nie entschlüsselt. Der Quellcode wird jedoch in der IDE und anderen genehmigten Prozessen wie alternativen IDEs gespeichert. Compiler können auch genehmigte Anwendungen sein und Klartext in der gesicherten Datei lesen, so dass kompilierter Code ohne Änderung des normalen Workflows der Entwickler oder Änderungen an den Build-Tools erfolgreich sein kann.
Wenn Prozesse, die Daten verbrauchen, auf dem Endpunkt ausgeführt werden, werden sie im Allgemeinen entweder als zulässiger Prozess betrachtet, der die Berechtigung zum Lesen des Inhalts in Dateien erteilt, oder als verweigerter Prozess. Transport-Tools wie Windows Explorer, Mac Finder, E-Mail-Clients und Dateisynchronisierungs-Clients (z. Dropbox) werden alle empfohlen Prozesse verweigert werden, was bedeutet, dass diese Prozesse gesicherte Dateien transportieren können, aber nie den Klartext-Inhalt lesen.
Sichern des Quellcodes in der Zwischenablage
Es ist üblich, die Zwischenablage im Betriebssystem zu verwenden, um Daten von einem Speicherort an einen anderen zu verschieben. In der Quellcodeentwicklung ist die Fähigkeit zum Kopieren und Einfügen ein wichtiges Werkzeug für die Produktivität. Mit SecureCircle können Entwickler innerhalb und zwischen zulässigen Prozessen kopieren und einfügen. Wenn ein Entwickler jedoch versucht, Code von einem zulässigen Prozess in einen abgelehnten Prozess einzufügen, wird der Vorgang blockiert. Durch die Kontrolle des Kopierens und Einfügens auf diese Weise kann verhindert werden, dass Quellcode in nicht genehmigte Anwendungen und Prozesse exfiltriert wird, die als hohes Risiko gelten, z. B. E-Mail-Clients oder Webbrowser.
Sichern von neu erstelltem und abgeleitetem Quellcode
Wenn neue Quellcodedateien erstellt werden, können sie entweder standardmäßig als Teil eines sicheren Prozesses gesichert werden, der jede neu erstellte Datei sichert, oder sie können basierend darauf gesichert werden, dass der Inhalt des Codes eine Ableitung des Quellcodes ist, der zuvor von SecureCircle gesichert wurde.
Durch Aktivieren der sicheren Ableitung werden Ähnlichkeiten innerhalb von Daten über Dateien hinweg erkannt. Wenn eine neue Datei mit ähnlichem Inhalt wie eine vorhandene Datei erstellt wird, wird sie automatisch mit denselben Richtlinien wie die Originaldatei gesichert und transparent verschlüsselt, damit sich die Sicherheit mit den Daten bewegen kann. Wenn Quellcode innerhalb eines zulässigen Prozesses von einer Datei in eine andere kopiert wird, stellt Secure Derivative sicher, dass die Datei, die diesen Code empfängt, die Sicherheit der Datei erbt, die den ursprünglichen Code enthielt.
Überprüfen des Quellcodes im Repository
Beim Überprüfen des Codes im Code-Repository kann der Prozess auf den Entwicklerendpunkten als zulässiger Prozess festgelegt werden, der die Verschlüsselung aus den Bytes im Quellcode entfernt, wenn er an das Code-Repository gesendet wird. Die Quellcodedateien werden bei der Übertragung über SSH verschlüsselt, dann jedoch im Klartextformat im Quellcode-Repository gespeichert, sodass standardmäßige serverseitige Tools im Code-Repository weiterhin wie erwartet funktionieren können. Wenn ein Entwickler den Code in Zukunft auscheckt, wird er gemäß der oben beschriebenen ursprünglichen Methode gesichert. SecureCircle empfiehlt die Implementierung von Sicherheitskontrollen im Repository, um den in diesem Whitepaper beschriebenen Code-Workflow zu ergänzen.
Zugriff auf Quellcode widerrufen
Für den Fall, dass der Zugriff auf Quellcode widerrufen werden muss, ermöglicht SecureCircle die Möglichkeit, den Zugriff auf Quellcode auf Endpunkten nach Benutzer, Gruppe oder Gerät zu deaktivieren.
Wenn der Zugriff auf Daten deaktiviert ist, sind die Daten für den betreffenden Benutzer, die betreffende Gruppe oder das betreffende Gerät nicht mehr zugänglich, unabhängig davon, wo sich die Daten befinden. Versuche, auf einem Gerät, dem der Zugriff entzogen wurde, auf den Quellcode zuzugreifen, werden abgelehnt und diese Versuche werden protokolliert. Darüber hinaus wird die Möglichkeit, Quellcode aus dem Repository zu kopieren, aufgehoben, da die private SSH-Schlüsseldatei für den Klonprozess auf dem Entwickler-Endpunkt nicht mehr zugänglich ist. Die Entfernung des Zugriffs auf den Quellcode kann innerhalb von Sekunden wirksam werden, basierend auf der Konfiguration der Time-to-Live-Einstellungen (TTL) innerhalb des SecureCircle-Dienstes. Schließlich wird der Zugriff auf zusätzliche Kopien oder Derivate auch dann widerrufen, wenn sie auf Wechselmedien kopiert wurden.
Fazit
Mit SecureCircle können Unternehmen Workflows erstellen, die Daten automatisch sichern, wenn sie zu Endpunkten verschoben werden. Durch die Bereitstellung von SecureCircle wird der Quellcode in Dateien verschlüsselt, wenn sie aus den Quellcode-Repositorys entfernt werden, ohne dass dies Auswirkungen auf Entwickler oder die von ihnen verwendeten Tools hat. Der Quellcode wird immer in einem verschlüsselten Zustand gehalten, und nur genehmigte Anwendungen können auf den Klartextcode zugreifen und ihn ändern. Der Zugriff auf den Quellcode kann jederzeit widerrufen werden, unabhängig davon, wo die gesicherten Quellcodedateien gespeichert sind. Das Verschlüsseln von Daten in jedem Dateityp ohne Auswirkungen auf Entwickler oder Entwicklertools macht diesen Ansatz für die Quellcodesicherheit einzigartig. Wir bei SecureCircle glauben, dass reibungslose Datensicherheit den Geschäftswert für unsere Kunden steigert, indem sie dauerhaften Schutz vor versehentlicher Exfiltration und Insider-Bedrohung bietet. Weitere Informationen zum Umgang mit Datensicherheit finden Sie auf unserer Website www.securecircle.com .