Die Welt der Softwareentwicklung verändert sich mit der Zeit. Angesichts immer raffinierterer Bedrohungsakteure weltweit müssen im Softwareentwicklungszyklus immer ausgefeiltere Mechanismen eingesetzt werden. Einige der neueren Methoden, die in Kontinuierliche Integration/Kontinuierliche Entwicklung (CI/CD) Pipelines sind KI- und Open-Source-Tools. Diese Art von Tools macht die Entwicklung von Software viel schneller und einfacher.
Dies kann jedoch zahlreiche Probleme für die Sicherheitsteams innerhalb einer Organisation verursachen. Die Überprüfung von Open-Source- oder KI-Tools gestaltet sich für diese Teams deutlich schwieriger, da bei Open-Source-Tools die Herkunft aus einer vertrauenswürdigen Quelle in der Regel nicht hinterfragt wird, während KI-Tools im Softwareentwicklungszyklus noch nicht so weit sind, dass man ihnen uneingeschränkt vertrauen kann, da KI weiterhin Fehler macht.
Obwohl KI und Open-Source-Tools Entwicklern helfen, viele Prozesse zu automatisieren und die CI/CD-Pipeline zu beschleunigen, entsteht dadurch ein Problem für Sicherheitsteams. Die Sorge besteht darin, dass Entwickler der Geschwindigkeit Vorrang vor der Sicherheit einräumen. Durch diese Priorisierung eröffnen sich Angreifern mit diesen KI- und Open-Source-Tools zahlreiche neue Angriffsvektoren.
Entwickler möchten zudem im Wettbewerb mit anderen Entwicklern konkurrierender Unternehmen bestehen. Der Verzicht auf Tools wie KI führt dazu, dass sie im Wettbewerb zurückfallen und somit im Nachteil sind. Bevor wir uns mit den Gefahren befassen, die diese Tools mit sich bringen, werfen wir zunächst einen Blick auf Code Signing und CI/CD-Pipelines.
CI/CD-Pipelines und Code Signing verstehen
Code-Signierung ist ein relativ einfach zu verstehender Prozess und beginnt mit einer Public Key Infrastructure oder PKIDer Unterzeichner fordert ein Codesignaturzertifikat von der PKI an und erhält so ein öffentlich-privates Schlüsselpaar, mit dem er den Code signieren kann. Das Schlüsselpaar besteht aus einem öffentlichen Schlüssel, der mathematisch mit dem privaten Schlüssel verknüpft ist. Der öffentliche Schlüssel ist für jedermann sichtbar und nutzbar, während der private Schlüssel nur vom Zertifikatsinhaber genutzt werden kann. Der Sinn dieses Codesignaturzertifikats besteht darin, dass die Signatur des Codes dem jeweiligen Benutzer zugeordnet wird, der das Zertifikat besitzt.
Der eigentliche Code-Signierungsprozess umfasst Hashing Zuerst der Code. Hashing ist ein Prozess, bei dem Code oder ein Dokument in einen Hashing-Algorithmus eingespeist wird. Dieser Algorithmus wandelt die Datei dann in einen unlesbaren Hash-Digest um. Ähnlich wie bei der Verschlüsselung ist der Hash-Digest eine unlesbare Mischung aus Buchstaben und Zahlen. Im Gegensatz zur Verschlüsselung ist Hashing jedoch einseitig. Das bedeutet, dass der Hash-Digest niemals rückgängig gemacht werden kann, um den Originaltext zu erhalten.
Dieser Hash wird dann an einen Hardware-Sicherheitsmodul (HSM) Hier wird der private Schlüssel zum Codesignaturzertifikat gespeichert. Mit diesem privaten Schlüssel wird eine Signatur für den Code generiert. Die Signatur wird anschließend an den Client zurückgesendet und mit dem Code gebündelt. Diese Signatur stellt sicher, dass der Code frei von Malware oder Viren ist.
Nachdem wir nun die Funktionsweise der Codesignierung verstanden haben, stellt sich die Frage: Wo kommt sie in den CI/CD-Pipelines von Softwareentwicklern zum Einsatz? Eine CI/CD-Pipeline nutzt für jede Phase des Softwareentwicklungszyklus verschiedene Tools, wodurch der Softwareentwicklungsprozess automatisiert und vereinfacht wird. Tools wie Jenkins können in die Codesignierung integriert werden, um im letzten Schritt eine digitale Signatur zu erstellen.
Tools wie SBOM können vor dem Hochladen von Code auf GitHub eingesetzt werden, um eine bestimmte Anzahl von Sicherheitslücken zu überprüfen. Virenscanner können den Code während des gesamten Prozesses auf Viren scannen und so das Vertrauen der Endnutzer in ihre Software stärken. Wie Sie sehen, können KI-gestützte oder Open-Source-Tools die CI/CD-Pipeline deutlich beschleunigen. Der Einsatz solcher Tools bedeutet jedoch, dass die Sicherheit zugunsten der Geschwindigkeit beeinträchtigt wird, was grundsätzlich nicht empfehlenswert ist.
Bedrohungen durch Open Source und KI-Tools
Open-Source- oder KI-Tools eignen sich hervorragend zur Verbesserung und Beschleunigung Ihrer CI/CD-Pipeline. Allerdings bergen diese neuen Tooltypen auch viele Sicherheitsbedenken. Es gibt Sicherheitsprobleme bei Open-Source-Tools. Da es sich um Open Source-Tools handelt, lässt sich weder ihre Herkunft noch deren Änderung oder Aktualisierung überprüfen. Dies führt zu Sicherheitsproblemen, da Sie Software bereitstellen möchten, bei der sich der Endbenutzer darauf verlassen kann, dass sie sicher erstellt und verwaltet wurde.
Open-Source-Tools können Schwachstellen in einer CI/CD-Pipeline verursachen und Bedrohungsakteuren so neue Angriffsmethoden eröffnen, um Opfer mit Malware und Viren zu infizieren. Der Einsatz von KI-Tools spielt eine Vielzahl von Faktoren eine Rolle. KI-Tools bergen das Risiko von Datenschutzrisiken oder Problemen mit geistigem Eigentum, die beim Umgang mit Kundendaten problematisch sind.
Eine Möglichkeit, diesen Bedrohungen und Problemen zu begegnen, besteht darin, Ihre Sicherheits- und Geschwindigkeitsentscheidungen in Einklang zu bringen. Stellen Sie sicher, dass Ihre Pipeline eine gute Geschwindigkeit aufweist, ohne dabei Abstriche bei der Sicherheit zu machen. Es ist außerdem sehr wichtig, dass Ihre CI/CD-Pipeline ausreichend sicher ist und Sie dennoch schnell und effizient arbeiten können. Diese Balance zu finden und gleichzeitig wettbewerbsfähig zu bleiben, kann schwierig sein, ist aber auf lange Sicht sehr hilfreich.
Fazit
Die richtige Balance zwischen Geschwindigkeit und Sicherheit zu finden, ist sehr wichtig und kann für ein kleineres Team eine schwierige Aufgabe sein. Glücklicherweise kann Encryption Consulting helfen. Wir helfen Ihnen, Ihre Compliance-Anforderungen sowie Ihre Code-Signing-Anforderungen zu erfüllen. Unsere Plattform, CodeSign Secure, bietet eine Reihe verschiedener Ressourcen, die Sie in Ihren CI/CD-Pipelines verwenden werden.
Neben der Code-Signierung ermöglicht Ihnen CodeSign Secure die Nutzung der SBOM-Integrationen, um Code vor dem Hochladen auf GitHub auf Schwachstellen zu scannen. Sie können auch in Ihre bestehenden CI/CD-Pipelines integrieren, wie z. B. Jenkins, TeamCity oder Azure DevOps. Um mehr über CodeSign Secure zu erfahren, kontaktieren Sie uns unter www.encryptionconsulting.com.
