Sicherung von KI-generiertem Code mit Digital.ai Release

Einleitung: KI-Code-Sicherheit und ihre neuen Risiken

Große Sprachmodelle (LLMs) und KI-gestützte Codierungswerkzeuge bieten ein enormes Potenzial zur Beschleunigung von Entwicklungszyklen, Kostensenkung und Produktivitätssteigerung. Diese Beschleunigung hat jedoch ihren Preis: KI-generierter Code birgt erhebliche Sicherheitsrisiken, von denen viele unzureichend verstanden, ungenügend abgemildert und weitgehend unreguliert sind. Die Schwachstellen von KI-generiertem Code lassen sich mit den begrenzten Frameworks und Methoden zur Bewertung, Sicherung und Steuerung KI-gestützter Softwareentwicklung nur schwer identifizieren und beheben.

Modelle zur Codegenerierung mit künstlicher Intelligenz (KI) sind anfällig für die Erzeugung unsicheren Codes; jedoch Studien weisen darauf hin Nutzer nehmen KI-generierten Code als vertrauenswürdiger wahr als von Menschen erstellten Code, und es gibt nur wenige Frameworks, die detailliert beschreiben, wie Probleme in KI-generiertem Code identifiziert und behoben werden können. Dies führt dazu, dass Organisationen eine erhebliche Schwachstelle aufweisen und dadurch beträchtlichen Risiken ausgesetzt sind.

Die folgenden Studien untersuchen beispielsweise das Ausmaß der Sicherheitsbedenken im Zusammenhang mit KI-generiertem Code:

  • Von 130 Codebeispielen Bei der manuellen Überprüfung der mit InCoder und Github Copilot generierten Codebeispiele wiesen 68 % bzw. 73 % Sicherheitslücken auf.
  • ChatGPT wurde verwendet, um zu generieren 21 Programme in fünf verschiedenen Programmiersprachen wurden auf CWEs getestet. Dabei zeigte sich, dass nur fünf von 21 Programmen anfänglich sicher waren. Erst nach gezielter Aufforderung zur Codekorrektur generierten sieben weitere Programme sicheren Code.
  • Durchschnittlich 48% Der von fünf verschiedenen LLMs erzeugte Code enthält mindestens einen Fehler, der potenziell zu böswilliger Ausnutzung führen könnte.

Trotz dieser Ergebnisse gibt es erste Anzeichen dafür, dass Nutzer KI-generierten Code als sicherer wahrnehmen als von Menschen geschriebenen Code. Diese „Automatisierungsverzerrung“ zugunsten von KI-generiertem Code kann dazu führen, dass Nutzer eine sorgfältige Codeüberprüfung vernachlässigen und unsicheren Code unreflektiert akzeptieren. Beispielsweise in einem Branchenumfrage 2023 Von 537 Technologie- und IT-Fachkräften und Managern gaben 76 % an, dass KI-Code sicherer sei als von Menschen erstellter Code.

Was macht KI-Code angreifbar?

Generative KI-Systeme weisen bekannte Schwachstellen gegenüber verschiedenen Arten von Angriffen auf. Dazu gehören Datenvergiftungsangriffe, bei denen ein Angreifer die Trainingsdaten eines Modells manipuliert, um ein gewünschtes Verhalten hervorzurufen, und Hintertürangriffe, bei denen ein Angreifer versucht, eine bestimmte Ausgabe zu erzeugen, indem er das Modell mit einer vorab festgelegten Triggerphrase auffordert. Im Kontext der Codegenerierung kann ein Datenvergiftungsangriff beispielsweise so aussehen, als würde ein Angreifer die Trainingsdaten eines Modells manipulieren, um die Wahrscheinlichkeit zu erhöhen, dass es Code erzeugt, der ein schädliches Paket oder eine schädliche Bibliothek importiert.

Ein Hintertürangriff auf das Modell selbst kann dessen Verhalten mit einem einzigen Auslöser drastisch verändern, und zwar so stark, dass die Auswirkungen selbst dann bestehen bleiben, wenn die Entwickler versuchen, den Angriff zu beheben. Dieses veränderte Verhalten kann zu Ausgaben führen, die gegen die von den Entwicklern festgelegten Beschränkungen verstoßen (z. B. „Keine Code-Muster vorschlagen, die mit Malware in Verbindung stehen“) oder unerwünschte oder sensible Informationen preisgeben. Forscher weisen darauf hin, dass Angreifer, da Code-Generierungsmodelle mit großen Datenmengen aus einer begrenzten Anzahl unsanierter Code-Repositories trainiert werden, diese Repositories leicht mit Dateien infiltrieren können, die Schadcode enthalten, oder gezielt neue Repositories mit anfälligem Code einführen können.

Abhängig von der Schnittstelle oder dem Gerüst des Codegenerierungsmodells können weitere Formen von Angriffen auftreten, wie beispielsweise die indirekte Eingabeaufforderung (Input Injection). Dabei versucht ein Angreifer, ein Modell zu einem bestimmten Verhalten zu veranlassen, ohne diese Anweisungen für einen legitimen Benutzer sichtbar zu machen. Im Gegensatz zur direkten Eingabeaufforderung (auch bekannt als „Jailbreaking“), bei der ein Benutzer ein generatives Modell durch gezielte Eingabeaufforderungen angreift, erfordert die indirekte Eingabeaufforderung, dass das Modell kompromittierte Daten – die versteckte Anweisungen enthalten – von einer externen Quelle, wie beispielsweise einer Website, abruft.

Im Kontext der Codegenerierung hat ein KI-Modell, das auf externe Webseiten oder Dokumentationen verweisen kann, möglicherweise keine Möglichkeit, zwischen legitimen und bösartigen Eingabeaufforderungen zu unterscheiden, die es hypothetisch anweisen könnten, Code zu generieren, der ein bestimmtes Paket aufruft oder einem unsicheren Codierungsmuster folgt.

Schließlich können Codegenerierungsmodelle effektiver und nützlicher sein, wenn ihnen weitreichende Berechtigungen erteilt werden. Dies birgt jedoch auch das Risiko von Angriffen, die entsprechend abgesichert werden müssen. Der Großteil des KI-generierten Codes in professionellen Kontexten durchläuft wahrscheinlich einen Entwicklungsprozess mit integrierten Tests und Sicherheitsbewertungen. KI-Unternehmen arbeiten jedoch aktiv an Strategien, um Modellen – einschließlich Codegenerierungsmodellen – mehr Autonomie und Interaktionsfähigkeit mit ihrer Umgebung zu verleihen.

Generative KI-Systeme, insbesondere solche zur Codegenerierung, sind von Natur aus anfällig für verschiedene Angriffe, darunter Datenvergiftung, Manipulation von Hintertüren und Prompt-Injection. Diese Angriffe nutzen Schwächen in den Trainingsdaten, im Modellverhalten und in externen Abhängigkeiten aus und ermöglichen es Angreifern, Schadcode einzuschleusen oder Sicherheitslücken zu umgehen. safeWächter. Die Unfähigkeit von KI-Modellen, legitime und bösartige Eingaben konsequent zu unterscheiden, verschärft diese Risiken zusätzlich, insbesondere in Kontexten, in denen Modelle mit externen Ressourcen interagieren oder mit weitreichenden Berechtigungen arbeiten.

Best-Practice-Rahmenwerk für KI-generierten Code

Die Implementierung bewährter Verfahren ermöglicht es Organisationen, Risiken zu minimieren, die Einhaltung von Vorschriften sicherzustellen und wirksame Sicherheitsmaßnahmen aufrechtzuerhalten. Im Folgenden wird ein Rahmenkonzept für die Einhaltung von Vorschriften zur Gewährleistung sicheren, KI-generierten Codes vorgeschlagen.

Kategorie  Praxis  Ziel  Handlungsschritte  Ergebnis 
Test und Validierung Prüfung von LLMs und deren Ergebnissen Identifizieren Sie Schwachstellen und gewährleisten Sie konsistenten, sicheren KI-generierten Code. Führen Sie Adversarial Testing durch, simulieren Sie diverse realweltliche Eingabeaufforderungen und validieren Sie Edge-Cases. Minimiertes Risiko unsicherer Ausgaben und verbesserte Codekonsistenz
Werkzeugintegration Verwenden Sie SAST- und SCA-Tools Aufspüren von Schwachstellen im Quellcode, in Abhängigkeiten und in Laufzeitumgebungen Integrieren Sie Tools in CI/CD-Pipelines, automatisieren Sie Scans und beheben Sie identifizierte Probleme. Umfassender Sicherheitsschutz während des gesamten Entwicklungszyklus
Zugangskontrolle Rollenbasierte Zugriffskontrolle (RBAC) implementieren Unbefugten Zugriff auf KI-Systeme und sensible Funktionen einschränken Definieren Sie detaillierte Rollen und Berechtigungen, erzwingen Sie die Segmentierung und pflegen Sie detaillierte Zugriffsprotokolle. Minimiertes Missbrauchsrisiko und erhöhte Verantwortlichkeit
Richtlinien und Compliance Automatisieren Sie die Durchsetzung von Richtlinien mithilfe von Compliance-Vorlagen. An den organisatorischen und regulatorischen Anforderungen ausrichten Deploy Vorlagen zur Einhaltung von DSGVO, HIPAA und PCI DSS sowie Validierung der Ergebnisse anhand von Sicherheitsstandards Konsequente Einhaltung der Richtlinien und weniger Verstöße gegen die Compliance-Vorschriften
Rückverfolgbarkeit Eine lückenlose Dokumentation der Softwarekette gewährleisten Sicherstellung der Rückverfolgbarkeit und Verantwortlichkeit für KI-generierten Code Verfolgen Sie die Herkunft, die Änderungen und die Bereitstellung des Codes und nutzen Sie Governance-Tools, um Abweichungen zu kennzeichnen. Verbesserte Fähigkeit zur Aufspürung von Schwachstellen und zur Aufrechterhaltung der Prüfbarkeit
Resilienzmaßnahmen Progressive Auslieferungs- und Rückrollstrategien einbeziehen Erkennen und Beheben von Schwachstellen in Produktionsumgebungen Führen Sie Canary-Tests und Blue-Green-Deployments durch und aktivieren Sie automatisierte Rollbacks für identifizierte Probleme. Verringerte Auswirkungen von Schwachstellen auf Produktionssysteme
Zentrales Management  Nutzen Sie eine einheitliche Plattform zur Verwaltung von Tools und Prozessen.  Optimieren Sie Sicherheitsabläufe, überwachen Sie Risiken und priorisieren Sie die Behebung.  Aggregieren Sie SAST-, DAST- und SCA-Daten, automatisieren Sie Arbeitsabläufe und bieten Sie Transparenz durch Dashboards.  Verbesserte betriebliche Effizienz, Risikominderung und Zusammenarbeit zwischen den Teams 

Reviewing Tools und Prozesse mit Digital.ai

Digital.ai Release und Deploy integriert eine umfassende Suite von Tools, Warnmeldungen und Richtlinien, um Best Practices für die Absicherung von KI-generiertem Code zu gewährleisten. Hier ist eine Liste von Digital.aidie relevanten sofort einsatzbereiten Integrationen und nativen Funktionen, die zur Gewährleistung der Sicherheit von KI-generiertem Code verwendet werden.

Digital.aiIntegrationen für die Sicherheit von KI-generiertem Code

  • Application Security Tests – Checkmarx ermöglicht SAST-Scans, und Black Duck führt SCA-Scans durch.
  • Richtliniendurchsetzung – Open Policy Agent (OPA) implementiert Policy-as-Code in der gesamten CI/CD-Pipeline.
  • Kontinuierliche Lieferung – ArgoCD und Argo Rollouts ermöglichen kontinuierliche und progressive Bereitstellung sowie GitOps-Workflows.

Digital.aiNative Funktionalität für KI-generierten Code Sicherheit

  • Rollenbasierte Zugriffssteuerung – Gewährleistet die Einhaltung des Prinzips der minimalen Berechtigungen für LLMs und Benutzer bei gleichzeitiger Durchsetzung der Compliance-Vorgaben.
  • Prüfung und Einhaltungsüberwachung – Überprüft alle Aktivitäten über Tools, Benutzer und Umgebungen hinweg und bewertet deren Auswirkungen auf die Einhaltung der Vorschriften.
  • Analysen und Arbeitsabläufe – Bewertet Umwelt- und Sicherheitstrends, delegiert Aufgaben und erleichtert Arbeitsabläufe, um auftretende Probleme zu lösen und die Einhaltung von Vorschriften durchzusetzen.

Umfassender Anwendungsfall: Durchsetzung der KI-Codesicherheit

Durch die Integration der zuvor genannten Tools, die Konfiguration von Warnmeldungen und die Durchsetzung von Richtlinien, Digital.ai Release und Deploy stellt sicher, dass KI-generierter Code sicher, konform und betriebseffizient ist. Dies wird darüber hinaus für alle potenziellen Anwendungsfälle untersucht. Release und Deploy, die unten aufgelistet sind.

Application Security Tests

  • Checkmarx' SAST scannt KI-generierten Code auf unsichere Muster in Anwendungen. Diese Scans sind so konfiguriert, dass sie nach Code-Commits in CI/CD-Pipelines automatisch ausgelöst werden. Dadurch erhalten Entwickler sofortiges Feedback und das Risiko von Sicherheitslücken in nachgelagerten Systemen wird minimiert.
  • Black Duck SCA identifiziert Schwachstellen in Drittanbieterabhängigkeiten, die von KI-Modellen empfohlen werden. Diese Abhängigkeiten, häufig Bibliotheken mit bekannten CVEs oder durch Typosquatting manipulierte, schädliche Pakete, werden während der Build-Phase der Pipeline gescannt. Durch das frühzeitige Erkennen und Beheben riskanter Abhängigkeiten stellte die Bank sicher, dass unsichere Bibliotheken aus Produktionsumgebungen ausgeschlossen wurden.

Compliance-Durchsetzung

  • Open Policy Agent (OPA) bietet Funktionen für Richtlinien als Code und integriert sich in die CI/CD-Pipeline. Richtlinien werden in Rego geschrieben, um die Durchsetzung kritischer Standards wie DSGVO, PCI DSS und interner Governance-Frameworks zu automatisieren. Dies basiert auf der Schwere des Risikos, vorgeschriebenen Untersuchungs- und Wiederherstellungsmaßnahmen sowie der Einhaltung von Best Practices und Compliance-Anforderungen. Beispielsweise können OPA-Richtlinien die Bereitstellung KI-generierter APIs blockieren, sofern diese nicht HTTPS erzwingen und robuste Zugriffskontrollen implementieren, um die Compliance-Anforderungen zu erfüllen. Darüber hinaus validiert OPA Laufzeitkonfigurationen, um sicherzustellen, dass sensible Daten sowohl während der Übertragung als auch im Ruhezustand verschlüsselt wurden. Richtlinien beschränken außerdem die Einbindung von Bibliotheken mit hohem Risiko (definiert als solche mit einem CVE-Score über 7.0), um die Einhaltung von Best Practices für eine sichere Entwicklung zu gewährleisten.
  • RBAC minimiert Risiken durch die Definition detaillierter Berechtigungen für Benutzer, die mit KI-Systemen und Bereitstellungspipelines interagieren. Entwickler dürfen Code nur in isolierten Umgebungen generieren und testen, während Sicherheitsteams Zugriff auf die Überprüfung, das Audit und die Freigabe der Ergebnisse erhalten. Administratoren können Richtlinien anpassen, Tools verwalten und Bereitstellungen überwachen. Diese Segmentierung minimiert das Risiko eines versehentlichen oder böswilligen Missbrauchs von KI-generiertem Code. Detaillierte Zugriffsprotokolle gewährleisten die Nachvollziehbarkeit jeder im System durchgeführten Aktion.
  • Digital.aiDie Monitoring-Dashboards bieten eine zentrale Übersicht über den Sicherheitsstatus einer Organisation und aggregieren Daten aus SAST-, SCA- und Observability-Tools. Warnmeldungen benachrichtigen Teams über kritische Schwachstellen, Richtlinienverstöße oder Laufzeitprobleme. Compliance-Vorlagen stellen wiederholbare Workflows zur Durchsetzung von Compliance-Standards bereit. Die Software-Nachverfolgungskette erfasst jede Änderung – von KI-generierten Ausgaben bis zur Bereitstellung – und gewährleistet so Rückverfolgbarkeit und Compliance. Wenn beispielsweise ein KI-generiertes Skript eine Schwachstelle eingeführt hat, identifiziert die Nachverfolgungskette die spezifische Eingabeaufforderung und die beteiligten Abhängigkeiten, sodass die Bank die Ursache effizient beheben kann.

Zusammenfassung des Anwendungsfalls

Dieses integrierte Verfahren identifiziert Schwachstellen in jeder Phase des Softwareentwicklungszyklus, gewährleistet Compliance und sichert die Betriebsstabilität. Richtlinien gewährleisten die Einhaltung regulatorischer Standards, während rollenbasierte Zugriffskontrolle (RBAC), Governance-Tools und die Nachverfolgbarkeit der Codekette für Verantwortlichkeit und Auditierbarkeit sorgen. Automatisierte Workflows reduzieren den manuellen Aufwand, optimieren Abläufe und beschleunigen die Behebung von Schwachstellen. Durch den Einsatz dieser Tools wird KI-generierter Code gesichert, Risiken werden minimiert und Compliance-Vorgaben eingehalten.

Auch interessant