LLMs: Ein (im) vollkommen menschlicher Ansatz für sicheres Programmieren?

Eine Version dieses Artikels erschien in Dunkle Lektüre. Es wurde hier aktualisiert und syndiziert.
Seit dem ersten Hype um die neuesten, kulturerschütternden KI-Tools haben Entwickler und Programmierer sie gleichermaßen verwendet, um Code auf Knopfdruck zu generieren. Sicherheitsexperten wiesen schnell darauf hin, dass der erzeugte Code in vielen Fällen schlechte Qualität und anfälligund könnte in den Händen von Personen mit geringem Sicherheitsbewusstsein zu einer Lawine unsicherer Apps und Webentwicklung führen, die ahnungslose Verbraucher trifft.
Und dann gibt es diejenigen, die genug Sicherheitswissen haben, um es für, naja, das Böse zu nutzen. Für jede überwältigende KI-Leistung scheint es einen Gegenschlag zu geben, bei dem dieselbe Technologie eingesetzt wird schändliche Zwecke. Phishing, gefälschte Betrugsvideos, Malware-Erstellung, allgemeine Script-Kiddie-Spielereien... diese störenden Aktivitäten sind viel schneller und mit niedrigeren Eintrittsbarrieren realisierbar.
Es gibt sicherlich eine Menge Clickbait, die dieses Tool als revolutionär anpreisen oder sich zumindest durchsetzen, wenn es mit „durchschnittlichen“ menschlichen Fähigkeiten verglichen wird. Es scheint zwar unvermeidlich, dass KI-Technologie im LLM-Stil die Art und Weise verändern wird, wie wir an viele Aspekte der Arbeit herangehen — nicht nur an die Softwareentwicklung —, aber wir müssen einen Schritt zurücktreten und die Risiken berücksichtigen, die hinter den Schlagzeilen liegen.
Und als Begleiter beim Programmieren sind seine Fehler vielleicht das „menschlichste“ Merkmal.
Schlechte Codierungsmuster dominieren seine bevorzugten Lösungen
Da ChatGPT auf jahrzehntelangen Code- und Wissensdatenbanken trainiert wurde, ist es keine Überraschung, dass auch ChatGPT trotz all seiner Wunder und Geheimnisse unter den gleichen häufigen Fallstricken leidet, mit denen Menschen beim Navigieren im Code konfrontiert sind. Schlechte Codierungsmuster sind die erste Wahl, und es bedarf immer noch eines sicherheitsbewussten Treibers, um sichere Codierungsbeispiele zu generieren, indem er die richtigen Fragen stellt und die richtige schnelle technische Umsetzung liefert.
Selbst dann gibt es keine Garantie dafür, dass die angegebenen Codeschnipsel aus Sicherheitsgründen korrekt und funktionsfähig sind; die Technologie neigt sogar zu Halluzinationen Erstellung nicht existierender Bibliotheken wenn er gebeten wird, bestimmte JSON-Operationen auszuführen, wie von Mike Shema entdeckt. Dies könnte zu einer „Halluzination“ der Bedrohungsakteure führen, die nur allzu gerne Malware entwickeln würden, getarnt als die fabrizierte Bibliothek, die mit vollem Vertrauen von ChatGPT empfohlen wird.
Letztlich müssen wir uns der Realität stellen, dass wir im Allgemeinen nicht erwartet haben, dass Entwickler ausreichend sicherheitsbewusst sind, und dass wir sie als Branche auch nicht angemessen darauf vorbereitet haben, sicheren Code als Standardzustand zu schreiben. Dies wird sich in der enormen Menge an Trainingsdaten zeigen, die in ChatGPT eingespeist werden, und wir können zumindest anfänglich mit ähnlich schwachen Sicherheitsergebnissen rechnen. Entwickler müssten in der Lage sein, die Sicherheitslücken zu identifizieren und sie entweder selbst zu beheben oder bessere Eingabeaufforderungen zu entwerfen, um ein robusteres Ergebnis zu erzielen.
Der erste groß angelegte Nutzerstudie Die Untersuchung, wie Benutzer mit einem KI-Programmierassistenten interagieren, um eine Vielzahl von sicherheitsrelevanten Funktionen zu lösen — durchgeführt von Forschern der Stanford University — unterstützt diese Annahme, wobei eine Beobachtung zu dem Schluss kommt:
“Wir beobachteten, dass Teilnehmer, die Zugriff auf den KI-Assistenten hatten, bei den meisten Programmieraufgaben mit größerer Wahrscheinlichkeit Sicherheitslücken einführten, ihre unsicheren Antworten jedoch auch eher als sicher einstuften als diejenigen in unserer Kontrollgruppe..“
Dies spricht für ein gewisses Maß an Vertrauen in die Ergebnisse von KI-Codierungstools, da sie Code produzieren, der immer inhärent sicher ist, obwohl dies in Wirklichkeit nicht der Fall ist.
Angesichts dessen und der unvermeidlichen KI-gestützten Bedrohungen, die unsere Zukunft durchdringen werden, müssen Entwickler heute mehr denn je ihre Sicherheitsfähigkeiten verbessern und die Messlatte für die Codequalität höher legen, unabhängig von ihrer Herkunft.
Der Weg zu einer Datenschutzverletzung ist mit guten Vorsätzen gepflastert
Es sollte nicht überraschen, dass KI-Programmierbegleiter beliebt sind, zumal Entwickler mit zunehmender Verantwortung und immer engeren Fristen konfrontiert sind und die Ambitionen der Innovation eines Unternehmens auf ihren Schultern ruhen. Doch selbst mit den besten Absichten führt ein Mangel an umsetzbarem Sicherheitsbewusstsein beim Einsatz von KI zum Programmieren unweigerlich zu eklatanten Sicherheitsproblemen. Alle Entwickler mit KI/ML-Tools werden mehr Code generieren, und das Ausmaß des Sicherheitsrisikos hängt von ihrem Qualifikationsniveau ab. Unternehmen müssen sich darüber im Klaren sein, dass ungeschulte Mitarbeiter sicherlich schneller Code generieren, aber auch die Geschwindigkeit, mit der sie technische Sicherheitsschulden eingehen, erhöhen werden.
Sogar unser vorläufiger Test (April 2023) mit ChatGPT hat ergeben, dass es zu sehr grundlegenden Fehlern kommen wird, die verheerende Folgen haben könnten. Als wir es baten, eine Login-Routine in PHP mithilfe einer MySQL-Datenbank zu erstellen, wurde schnell funktionaler Code generiert. Es speicherte jedoch standardmäßig Passwörter im Klartext in einer Datenbank, speicherte die Anmeldeinformationen für die Datenbankverbindung im Code und verwendete ein Codierungsmuster, das zu einer SQL-Injektion führen konnte (obwohl es die Eingabeparameter bis zu einem gewissen Grad filterte und Datenbankfehler ausspuckte). Alles Anfängerfehler, egal in welcher Hinsicht:

Durch weitere Eingabeaufforderungen wurde sichergestellt, dass die Fehler behoben wurden, aber für die Kurskorrektur sind umfangreiche Sicherheitskenntnisse erforderlich. Ein unkontrollierter und weit verbreiteter Einsatz dieser Tools ist nicht besser, als Nachwuchsentwickler für Ihre Projekte zu gewinnen. Und wenn dieser Code sensible Infrastrukturen aufbaut oder personenbezogene Daten verarbeitet, haben wir es mit einer tickenden Zeitbombe zu tun.
Natürlich gehen wir davon aus, dass sich die KI/ML-Fähigkeiten verbessern werden, genau wie junge Entwickler ihre Fähigkeiten im Laufe der Zeit zweifellos verbessern werden. In einem Jahr wird es vielleicht nicht mehr so offensichtliche und einfache Sicherheitsfehler machen. Dies wird jedoch dazu führen, dass das Sicherheitswissen, das erforderlich ist, um die schwerwiegenderen, versteckten, nicht trivialen Sicherheitsfehler aufzuspüren, die immer noch zu verursachen drohen, drastisch erweitert werden.
Wir sind nach wie vor schlecht darauf vorbereitet, Sicherheitslücken zu finden und zu beheben, und KI vergrößert die Lücke
Zwar ist zu diesem Zeitpunkt seit vielen Jahren viel von einem „Linksruck“ die Rede, doch Tatsache ist, dass in den meisten Unternehmen in der Entwicklungskohorte ein erheblicher Mangel an praktischem Sicherheitswissen besteht, und wir müssen härter daran arbeiten, ihnen die richtigen Tools und Schulungen zur Verfügung zu stellen, die ihnen auf ihrem Weg helfen.
So wie es aussieht, sind wir nicht auf die Sicherheitslücken vorbereitet, an die wir gewöhnt sind, ganz zu schweigen von den neuen KI-bedingten Problemen wie Prompt Injection und Halluzination Squatting, die völlig neue Angriffsvektoren darstellen, die wie ein Lauffeuer abheben werden. KI-Programmierwerkzeuge stellen zwar die Zukunft des Programmierwaffenarsenals von Entwicklern dar, aber die Ausbildung zum sicheren Umgang mit diesen Produktivitätswaffen muss jetzt erfolgen.
.png)
Govern AI-driven development before it ships
Measure AI-assisted risk, enforce secure coding policy at commit, and accelerate secure delivery across your SDLC.
Explore more blogs
Lorem ipsum diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis.
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

One Culture of Security: How Sage built their security champions program with agile secure code learning
Discover how Sage enhanced security with a flexible, relationship-focused approach, creating 200+ security champions and achieving measurable risk reduction.
.webp)
Why most CISOs are navigating AI adoption blindfolded (and how they can remove it)
Today, Secure Code Warrior issued an all-new white paper covering a prescriptive, directional AI adoption model that security leaders can use to identify their adoption stage and make real progress in bringing the AI security risks within their organization under control.
Secure AI-driven development before it ships
See developer risk, enforce policy, and prevent vulnerabilities across your software development lifecycle.

