LLMs: Ein (un)perfekter menschlicher Ansatz zur sicheren Kodierung?
Eine Version dieses Artikels erschien in Dunkles Lesen. Er wurde aktualisiert und hier syndiziert.
Seit dem ersten Hype um die neuesten, kulturverändernden KI-Tools haben Entwickler und Neugierige sie genutzt, um Code auf Knopfdruck zu erzeugen. Sicherheitsexperten wiesen schnell darauf hin, dass der erzeugte Code in vielen Fällen von schlechter Qualität und angreifbar war und in den Händen von Personen mit geringem Sicherheitsbewusstsein eine Lawine unsicherer Apps und Webentwicklungen auslösen konnte, die auf ahnungslose Verbraucher losgelassen wurde.
Und dann gibt es noch diejenigen, die über genügend Sicherheitswissen verfügen, um es für, nun ja, Böses zu nutzen. Für jede atemberaubende KI-Leistung scheint es einen Gegenschlag zu geben, bei dem die gleiche Technologie für ruchlose Zwecke eingesetzt wird. Phishing, gefälschte Betrugsvideos, die Erstellung von Malware, allgemeine Skript-Kinderspielereien ... diese störenden Aktivitäten sind viel schneller und mit niedrigeren Einstiegshürden zu erreichen.
Es gibt sicherlich eine Menge Clickbaits, die diese Werkzeuge als revolutionär anpreisen oder zumindest als überlegen, wenn sie mit "durchschnittlichen" menschlichen Fähigkeiten kombiniert werden. Auch wenn es unvermeidlich scheint, dass die KI-Technologie im Stil des LLM die Art und Weise, wie wir an viele Aspekte der Arbeit herangehen - nicht nur an die Softwareentwicklung - verändern wird, müssen wir einen Schritt zurücktreten und die Risiken jenseits der Schlagzeilen betrachten.
Und als Programmierbegleiter sind seine Schwächen vielleicht sein "menschlichstes" Attribut.
Schlechte Kodierungsmuster dominieren die Lösungen
Da ChatGPT auf jahrzehntelang bestehendem Code und Wissensdatenbanken basiert, ist es nicht verwunderlich, dass es trotz all seiner Wunder und Geheimnisse auch unter denselben häufigen Fallstricken leidet, mit denen Menschen beim Navigieren durch Code konfrontiert werden. Schlechte Codierungsmuster sind an der Tagesordnung, und es bedarf immer noch eines sicherheitsbewussten Treibers, um sichere Codierungsbeispiele zu generieren, indem er die richtigen Fragen stellt und das richtige Prompt Engineering liefert.
Selbst dann gibt es keine Garantie dafür, dass die angegebenen Codeschnipsel aus der Sicherheitsperspektive korrekt und funktionsfähig sind. Die Technologie neigt zu Halluzinationen und erfindet sogar nicht existierende Bibliotheken, wenn sie aufgefordert wird, bestimmte JSON-Operationen durchzuführen, wie Mike Shema herausgefunden hat. Dies könnte dazu führen, dass Bedrohungsakteure "Halluzinationen besetzen", die nur allzu gerne eine Malware entwickeln, die als die von ChatGPT vertrauensvoll empfohlene Bibliothek getarnt ist.
Letztendlich müssen wir der Realität ins Auge sehen, dass wir im Allgemeinen nicht erwartet haben, dass Entwickler ausreichend sicherheitsbewusst sind, noch haben wir sie als Industrie angemessen darauf vorbereitet, standardmäßig sicheren Code zu schreiben. Dies wird sich in der enormen Menge an Trainingsdaten zeigen, die in ChatGPT eingespeist werden, und wir können zumindest anfangs mit ähnlich glanzlosen Sicherheitsergebnissen rechnen. Die Entwickler müssten in der Lage sein, die Sicherheitslücken zu erkennen und sie entweder selbst zu beheben oder bessere Eingabeaufforderungen zu entwerfen, um ein stabileres Ergebnis zu erzielen.
Die erste groß angelegte Nutzerstudie, in der untersucht wurde, wie Nutzer mit einem KI-Codierassistenten interagieren, um verschiedene sicherheitsrelevante Aufgaben zu lösen, und die von Forschern der Stanford University durchgeführt wurde, stützt diesen Gedanken, wobei eine Beobachtung zum Schluss kommt:
"Wir konnten beobachten, dass Teilnehmer, die Zugang zum KI-Assistenten hatten, bei den meisten Programmieraufgaben eher Sicherheitslücken einbrachten, aber auch eher ihre unsicheren Antworten als sicher einstuften als die Teilnehmer unserer Kontrollgruppe."
Dies spricht für ein gewisses Standardvertrauen in die Ergebnisse von KI-Codierungstools, die einen Code produzieren, der immer von Natur aus sicher ist, obwohl dies nicht der Fall ist.
In Anbetracht dieser Tatsache und der unvermeidlichen, von KI ausgehenden Bedrohungen, die unsere Zukunft durchdringen werden, müssen Entwickler mehr denn je ihre Sicherheitsfähigkeiten verbessern und die Messlatte für die Qualität des Codes unabhängig von seiner Herkunft höher legen.
Der Weg zu einer Datenverletzungskatastrophe ist mit guten Absichten gepflastert
Es sollte nicht überraschen, dass KI-Coding-Begleiter beliebt sind, zumal Entwickler mit zunehmender Verantwortung, engeren Fristen und den Ambitionen der Innovation eines Unternehmens konfrontiert sind, die auf ihren Schultern ruhen. Doch selbst bei den besten Absichten führt ein mangelndes Sicherheitsbewusstsein beim Einsatz von KI für die Programmierung unweigerlich zu eklatanten Sicherheitsproblemen. Alle Entwickler, die KI/ML-Tools einsetzen, werden mehr Code generieren, und das Sicherheitsrisiko hängt von ihrem Kenntnisstand ab. Unternehmen müssen sich darüber im Klaren sein, dass ungeschulte Mitarbeiter sicherlich schneller Code generieren werden, aber auch die Geschwindigkeit der technischen Sicherheitsverschuldung erhöhen werden.
Schon unser erster Test (April 2023) mit ChatGPT hat gezeigt, dass es sehr einfache Fehler erzeugt, die verheerende Folgen haben können. Als wir es baten, eine Login-Routine in PHP mit einer MySQL-Datenbank zu erstellen, wurde schnell funktionierender Code erzeugt. Es speicherte jedoch standardmäßig Passwörter im Klartext in einer Datenbank, speicherte Datenbankverbindungsdaten im Code und verwendete ein Codierungsmuster, das zu SQL-Injection führen könnte (obwohl es die Eingabeparameter in gewissem Umfang filterte und Datenbankfehler ausspuckte). Alles Anfängerfehler nach allen Regeln der Kunst:
Weitere Aufforderungen sorgten dafür, dass die Fehler korrigiert wurden, aber es erfordert erhebliches Sicherheitswissen, um den Kurs zu korrigieren. Die unkontrollierte und weit verbreitete Nutzung dieser Tools ist nicht besser, als wenn man Nachwuchsentwickler auf seine Projekte loslässt, und wenn dieser Code sensible Infrastrukturen aufbaut oder personenbezogene Daten verarbeitet, dann haben wir es mit einer tickenden Zeitbombe zu tun.
Natürlich erwarten wir, dass sich die KI/ML-Fähigkeiten mit der Zeit verbessern, so wie Nachwuchsentwickler ihre Fähigkeiten zweifellos verbessern. In einem Jahr wird sie vielleicht keine so offensichtlichen und einfachen Sicherheitsfehler mehr machen. Dies wird jedoch zur Folge haben, dass die Sicherheitsfähigkeiten, die erforderlich sind, um die schwerwiegenderen, versteckten, nicht trivialen Sicherheitsfehler aufzuspüren, die noch immer auftreten können, drastisch zunehmen werden.
Wir sind nach wie vor schlecht darauf vorbereitet, Sicherheitsschwachstellen zu finden und zu beheben, und KI vergrößert die Lücke
Auch wenn seit vielen Jahren von einem "Linksruck" die Rede ist, bleibt die Tatsache bestehen, dass in den meisten Unternehmen ein erheblicher Mangel an praktischen Sicherheitskenntnissen unter den Entwicklern herrscht. Wir müssen härter daran arbeiten, die richtigen Tools und Schulungen bereitzustellen, um sie auf ihrem Weg zu unterstützen.
So wie es aussieht, sind wir nicht auf die Sicherheitsprobleme vorbereitet, an die wir gewöhnt sind, ganz zu schweigen von den neuen, durch KI verursachten Problemen wie Prompt Injection und Halluzination Squatting, die völlig neue Angriffsvektoren darstellen, die sich wie ein Lauffeuer verbreiten werden. KI-Codierungstools stellen die Zukunft des Codierungsarsenals eines Entwicklers dar, aber die Ausbildung zum sicheren Umgang mit diesen Produktivitätswaffen muss jetzt erfolgen.
Auch wenn es unvermeidlich scheint, dass die KI-Technologie im Stil des LLM die Art und Weise, wie wir an viele Aspekte der Arbeit herangehen - nicht nur an die Softwareentwicklung - verändern wird, müssen wir einen Schritt zurücktreten und die Risiken jenseits der Schlagzeilen betrachten. Und als KI-Begleiter sind ihre Schwächen vielleicht ihr "menschlichstes" Attribut.
Vorstandsvorsitzender, Chairman und Mitbegründer
Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Demo buchenVorstandsvorsitzender, Chairman und Mitbegründer
Pieter Danhieux ist ein weltweit anerkannter Sicherheitsexperte mit mehr als 12 Jahren Erfahrung als Sicherheitsberater und 8 Jahren als Principal Instructor für SANS, wo er offensive Techniken lehrt, wie man Organisationen, Systeme und Einzelpersonen auf Sicherheitsschwächen hin untersucht und bewertet. Im Jahr 2016 wurde er als einer der "Coolest Tech People in Australia" (Business Insider) ausgezeichnet, erhielt die Auszeichnung "Cyber Security Professional of the Year" (AISA - Australian Information Security Association) und besitzt die Zertifizierungen GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA.
Eine Version dieses Artikels erschien in Dunkles Lesen. Er wurde aktualisiert und hier syndiziert.
Seit dem ersten Hype um die neuesten, kulturverändernden KI-Tools haben Entwickler und Neugierige sie genutzt, um Code auf Knopfdruck zu erzeugen. Sicherheitsexperten wiesen schnell darauf hin, dass der erzeugte Code in vielen Fällen von schlechter Qualität und angreifbar war und in den Händen von Personen mit geringem Sicherheitsbewusstsein eine Lawine unsicherer Apps und Webentwicklungen auslösen konnte, die auf ahnungslose Verbraucher losgelassen wurde.
Und dann gibt es noch diejenigen, die über genügend Sicherheitswissen verfügen, um es für, nun ja, Böses zu nutzen. Für jede atemberaubende KI-Leistung scheint es einen Gegenschlag zu geben, bei dem die gleiche Technologie für ruchlose Zwecke eingesetzt wird. Phishing, gefälschte Betrugsvideos, die Erstellung von Malware, allgemeine Skript-Kinderspielereien ... diese störenden Aktivitäten sind viel schneller und mit niedrigeren Einstiegshürden zu erreichen.
Es gibt sicherlich eine Menge Clickbaits, die diese Werkzeuge als revolutionär anpreisen oder zumindest als überlegen, wenn sie mit "durchschnittlichen" menschlichen Fähigkeiten kombiniert werden. Auch wenn es unvermeidlich scheint, dass die KI-Technologie im Stil des LLM die Art und Weise, wie wir an viele Aspekte der Arbeit herangehen - nicht nur an die Softwareentwicklung - verändern wird, müssen wir einen Schritt zurücktreten und die Risiken jenseits der Schlagzeilen betrachten.
Und als Programmierbegleiter sind seine Schwächen vielleicht sein "menschlichstes" Attribut.
Schlechte Kodierungsmuster dominieren die Lösungen
Da ChatGPT auf jahrzehntelang bestehendem Code und Wissensdatenbanken basiert, ist es nicht verwunderlich, dass es trotz all seiner Wunder und Geheimnisse auch unter denselben häufigen Fallstricken leidet, mit denen Menschen beim Navigieren durch Code konfrontiert werden. Schlechte Codierungsmuster sind an der Tagesordnung, und es bedarf immer noch eines sicherheitsbewussten Treibers, um sichere Codierungsbeispiele zu generieren, indem er die richtigen Fragen stellt und das richtige Prompt Engineering liefert.
Selbst dann gibt es keine Garantie dafür, dass die angegebenen Codeschnipsel aus der Sicherheitsperspektive korrekt und funktionsfähig sind. Die Technologie neigt zu Halluzinationen und erfindet sogar nicht existierende Bibliotheken, wenn sie aufgefordert wird, bestimmte JSON-Operationen durchzuführen, wie Mike Shema herausgefunden hat. Dies könnte dazu führen, dass Bedrohungsakteure "Halluzinationen besetzen", die nur allzu gerne eine Malware entwickeln, die als die von ChatGPT vertrauensvoll empfohlene Bibliothek getarnt ist.
Letztendlich müssen wir der Realität ins Auge sehen, dass wir im Allgemeinen nicht erwartet haben, dass Entwickler ausreichend sicherheitsbewusst sind, noch haben wir sie als Industrie angemessen darauf vorbereitet, standardmäßig sicheren Code zu schreiben. Dies wird sich in der enormen Menge an Trainingsdaten zeigen, die in ChatGPT eingespeist werden, und wir können zumindest anfangs mit ähnlich glanzlosen Sicherheitsergebnissen rechnen. Die Entwickler müssten in der Lage sein, die Sicherheitslücken zu erkennen und sie entweder selbst zu beheben oder bessere Eingabeaufforderungen zu entwerfen, um ein stabileres Ergebnis zu erzielen.
Die erste groß angelegte Nutzerstudie, in der untersucht wurde, wie Nutzer mit einem KI-Codierassistenten interagieren, um verschiedene sicherheitsrelevante Aufgaben zu lösen, und die von Forschern der Stanford University durchgeführt wurde, stützt diesen Gedanken, wobei eine Beobachtung zum Schluss kommt:
"Wir konnten beobachten, dass Teilnehmer, die Zugang zum KI-Assistenten hatten, bei den meisten Programmieraufgaben eher Sicherheitslücken einbrachten, aber auch eher ihre unsicheren Antworten als sicher einstuften als die Teilnehmer unserer Kontrollgruppe."
Dies spricht für ein gewisses Standardvertrauen in die Ergebnisse von KI-Codierungstools, die einen Code produzieren, der immer von Natur aus sicher ist, obwohl dies nicht der Fall ist.
In Anbetracht dieser Tatsache und der unvermeidlichen, von KI ausgehenden Bedrohungen, die unsere Zukunft durchdringen werden, müssen Entwickler mehr denn je ihre Sicherheitsfähigkeiten verbessern und die Messlatte für die Qualität des Codes unabhängig von seiner Herkunft höher legen.
Der Weg zu einer Datenverletzungskatastrophe ist mit guten Absichten gepflastert
Es sollte nicht überraschen, dass KI-Coding-Begleiter beliebt sind, zumal Entwickler mit zunehmender Verantwortung, engeren Fristen und den Ambitionen der Innovation eines Unternehmens konfrontiert sind, die auf ihren Schultern ruhen. Doch selbst bei den besten Absichten führt ein mangelndes Sicherheitsbewusstsein beim Einsatz von KI für die Programmierung unweigerlich zu eklatanten Sicherheitsproblemen. Alle Entwickler, die KI/ML-Tools einsetzen, werden mehr Code generieren, und das Sicherheitsrisiko hängt von ihrem Kenntnisstand ab. Unternehmen müssen sich darüber im Klaren sein, dass ungeschulte Mitarbeiter sicherlich schneller Code generieren werden, aber auch die Geschwindigkeit der technischen Sicherheitsverschuldung erhöhen werden.
Schon unser erster Test (April 2023) mit ChatGPT hat gezeigt, dass es sehr einfache Fehler erzeugt, die verheerende Folgen haben können. Als wir es baten, eine Login-Routine in PHP mit einer MySQL-Datenbank zu erstellen, wurde schnell funktionierender Code erzeugt. Es speicherte jedoch standardmäßig Passwörter im Klartext in einer Datenbank, speicherte Datenbankverbindungsdaten im Code und verwendete ein Codierungsmuster, das zu SQL-Injection führen könnte (obwohl es die Eingabeparameter in gewissem Umfang filterte und Datenbankfehler ausspuckte). Alles Anfängerfehler nach allen Regeln der Kunst:
Weitere Aufforderungen sorgten dafür, dass die Fehler korrigiert wurden, aber es erfordert erhebliches Sicherheitswissen, um den Kurs zu korrigieren. Die unkontrollierte und weit verbreitete Nutzung dieser Tools ist nicht besser, als wenn man Nachwuchsentwickler auf seine Projekte loslässt, und wenn dieser Code sensible Infrastrukturen aufbaut oder personenbezogene Daten verarbeitet, dann haben wir es mit einer tickenden Zeitbombe zu tun.
Natürlich erwarten wir, dass sich die KI/ML-Fähigkeiten mit der Zeit verbessern, so wie Nachwuchsentwickler ihre Fähigkeiten zweifellos verbessern. In einem Jahr wird sie vielleicht keine so offensichtlichen und einfachen Sicherheitsfehler mehr machen. Dies wird jedoch zur Folge haben, dass die Sicherheitsfähigkeiten, die erforderlich sind, um die schwerwiegenderen, versteckten, nicht trivialen Sicherheitsfehler aufzuspüren, die noch immer auftreten können, drastisch zunehmen werden.
Wir sind nach wie vor schlecht darauf vorbereitet, Sicherheitsschwachstellen zu finden und zu beheben, und KI vergrößert die Lücke
Auch wenn seit vielen Jahren von einem "Linksruck" die Rede ist, bleibt die Tatsache bestehen, dass in den meisten Unternehmen ein erheblicher Mangel an praktischen Sicherheitskenntnissen unter den Entwicklern herrscht. Wir müssen härter daran arbeiten, die richtigen Tools und Schulungen bereitzustellen, um sie auf ihrem Weg zu unterstützen.
So wie es aussieht, sind wir nicht auf die Sicherheitsprobleme vorbereitet, an die wir gewöhnt sind, ganz zu schweigen von den neuen, durch KI verursachten Problemen wie Prompt Injection und Halluzination Squatting, die völlig neue Angriffsvektoren darstellen, die sich wie ein Lauffeuer verbreiten werden. KI-Codierungstools stellen die Zukunft des Codierungsarsenals eines Entwicklers dar, aber die Ausbildung zum sicheren Umgang mit diesen Produktivitätswaffen muss jetzt erfolgen.
Eine Version dieses Artikels erschien in Dunkles Lesen. Er wurde aktualisiert und hier syndiziert.
Seit dem ersten Hype um die neuesten, kulturverändernden KI-Tools haben Entwickler und Neugierige sie genutzt, um Code auf Knopfdruck zu erzeugen. Sicherheitsexperten wiesen schnell darauf hin, dass der erzeugte Code in vielen Fällen von schlechter Qualität und angreifbar war und in den Händen von Personen mit geringem Sicherheitsbewusstsein eine Lawine unsicherer Apps und Webentwicklungen auslösen konnte, die auf ahnungslose Verbraucher losgelassen wurde.
Und dann gibt es noch diejenigen, die über genügend Sicherheitswissen verfügen, um es für, nun ja, Böses zu nutzen. Für jede atemberaubende KI-Leistung scheint es einen Gegenschlag zu geben, bei dem die gleiche Technologie für ruchlose Zwecke eingesetzt wird. Phishing, gefälschte Betrugsvideos, die Erstellung von Malware, allgemeine Skript-Kinderspielereien ... diese störenden Aktivitäten sind viel schneller und mit niedrigeren Einstiegshürden zu erreichen.
Es gibt sicherlich eine Menge Clickbaits, die diese Werkzeuge als revolutionär anpreisen oder zumindest als überlegen, wenn sie mit "durchschnittlichen" menschlichen Fähigkeiten kombiniert werden. Auch wenn es unvermeidlich scheint, dass die KI-Technologie im Stil des LLM die Art und Weise, wie wir an viele Aspekte der Arbeit herangehen - nicht nur an die Softwareentwicklung - verändern wird, müssen wir einen Schritt zurücktreten und die Risiken jenseits der Schlagzeilen betrachten.
Und als Programmierbegleiter sind seine Schwächen vielleicht sein "menschlichstes" Attribut.
Schlechte Kodierungsmuster dominieren die Lösungen
Da ChatGPT auf jahrzehntelang bestehendem Code und Wissensdatenbanken basiert, ist es nicht verwunderlich, dass es trotz all seiner Wunder und Geheimnisse auch unter denselben häufigen Fallstricken leidet, mit denen Menschen beim Navigieren durch Code konfrontiert werden. Schlechte Codierungsmuster sind an der Tagesordnung, und es bedarf immer noch eines sicherheitsbewussten Treibers, um sichere Codierungsbeispiele zu generieren, indem er die richtigen Fragen stellt und das richtige Prompt Engineering liefert.
Selbst dann gibt es keine Garantie dafür, dass die angegebenen Codeschnipsel aus der Sicherheitsperspektive korrekt und funktionsfähig sind. Die Technologie neigt zu Halluzinationen und erfindet sogar nicht existierende Bibliotheken, wenn sie aufgefordert wird, bestimmte JSON-Operationen durchzuführen, wie Mike Shema herausgefunden hat. Dies könnte dazu führen, dass Bedrohungsakteure "Halluzinationen besetzen", die nur allzu gerne eine Malware entwickeln, die als die von ChatGPT vertrauensvoll empfohlene Bibliothek getarnt ist.
Letztendlich müssen wir der Realität ins Auge sehen, dass wir im Allgemeinen nicht erwartet haben, dass Entwickler ausreichend sicherheitsbewusst sind, noch haben wir sie als Industrie angemessen darauf vorbereitet, standardmäßig sicheren Code zu schreiben. Dies wird sich in der enormen Menge an Trainingsdaten zeigen, die in ChatGPT eingespeist werden, und wir können zumindest anfangs mit ähnlich glanzlosen Sicherheitsergebnissen rechnen. Die Entwickler müssten in der Lage sein, die Sicherheitslücken zu erkennen und sie entweder selbst zu beheben oder bessere Eingabeaufforderungen zu entwerfen, um ein stabileres Ergebnis zu erzielen.
Die erste groß angelegte Nutzerstudie, in der untersucht wurde, wie Nutzer mit einem KI-Codierassistenten interagieren, um verschiedene sicherheitsrelevante Aufgaben zu lösen, und die von Forschern der Stanford University durchgeführt wurde, stützt diesen Gedanken, wobei eine Beobachtung zum Schluss kommt:
"Wir konnten beobachten, dass Teilnehmer, die Zugang zum KI-Assistenten hatten, bei den meisten Programmieraufgaben eher Sicherheitslücken einbrachten, aber auch eher ihre unsicheren Antworten als sicher einstuften als die Teilnehmer unserer Kontrollgruppe."
Dies spricht für ein gewisses Standardvertrauen in die Ergebnisse von KI-Codierungstools, die einen Code produzieren, der immer von Natur aus sicher ist, obwohl dies nicht der Fall ist.
In Anbetracht dieser Tatsache und der unvermeidlichen, von KI ausgehenden Bedrohungen, die unsere Zukunft durchdringen werden, müssen Entwickler mehr denn je ihre Sicherheitsfähigkeiten verbessern und die Messlatte für die Qualität des Codes unabhängig von seiner Herkunft höher legen.
Der Weg zu einer Datenverletzungskatastrophe ist mit guten Absichten gepflastert
Es sollte nicht überraschen, dass KI-Coding-Begleiter beliebt sind, zumal Entwickler mit zunehmender Verantwortung, engeren Fristen und den Ambitionen der Innovation eines Unternehmens konfrontiert sind, die auf ihren Schultern ruhen. Doch selbst bei den besten Absichten führt ein mangelndes Sicherheitsbewusstsein beim Einsatz von KI für die Programmierung unweigerlich zu eklatanten Sicherheitsproblemen. Alle Entwickler, die KI/ML-Tools einsetzen, werden mehr Code generieren, und das Sicherheitsrisiko hängt von ihrem Kenntnisstand ab. Unternehmen müssen sich darüber im Klaren sein, dass ungeschulte Mitarbeiter sicherlich schneller Code generieren werden, aber auch die Geschwindigkeit der technischen Sicherheitsverschuldung erhöhen werden.
Schon unser erster Test (April 2023) mit ChatGPT hat gezeigt, dass es sehr einfache Fehler erzeugt, die verheerende Folgen haben können. Als wir es baten, eine Login-Routine in PHP mit einer MySQL-Datenbank zu erstellen, wurde schnell funktionierender Code erzeugt. Es speicherte jedoch standardmäßig Passwörter im Klartext in einer Datenbank, speicherte Datenbankverbindungsdaten im Code und verwendete ein Codierungsmuster, das zu SQL-Injection führen könnte (obwohl es die Eingabeparameter in gewissem Umfang filterte und Datenbankfehler ausspuckte). Alles Anfängerfehler nach allen Regeln der Kunst:
Weitere Aufforderungen sorgten dafür, dass die Fehler korrigiert wurden, aber es erfordert erhebliches Sicherheitswissen, um den Kurs zu korrigieren. Die unkontrollierte und weit verbreitete Nutzung dieser Tools ist nicht besser, als wenn man Nachwuchsentwickler auf seine Projekte loslässt, und wenn dieser Code sensible Infrastrukturen aufbaut oder personenbezogene Daten verarbeitet, dann haben wir es mit einer tickenden Zeitbombe zu tun.
Natürlich erwarten wir, dass sich die KI/ML-Fähigkeiten mit der Zeit verbessern, so wie Nachwuchsentwickler ihre Fähigkeiten zweifellos verbessern. In einem Jahr wird sie vielleicht keine so offensichtlichen und einfachen Sicherheitsfehler mehr machen. Dies wird jedoch zur Folge haben, dass die Sicherheitsfähigkeiten, die erforderlich sind, um die schwerwiegenderen, versteckten, nicht trivialen Sicherheitsfehler aufzuspüren, die noch immer auftreten können, drastisch zunehmen werden.
Wir sind nach wie vor schlecht darauf vorbereitet, Sicherheitsschwachstellen zu finden und zu beheben, und KI vergrößert die Lücke
Auch wenn seit vielen Jahren von einem "Linksruck" die Rede ist, bleibt die Tatsache bestehen, dass in den meisten Unternehmen ein erheblicher Mangel an praktischen Sicherheitskenntnissen unter den Entwicklern herrscht. Wir müssen härter daran arbeiten, die richtigen Tools und Schulungen bereitzustellen, um sie auf ihrem Weg zu unterstützen.
So wie es aussieht, sind wir nicht auf die Sicherheitsprobleme vorbereitet, an die wir gewöhnt sind, ganz zu schweigen von den neuen, durch KI verursachten Problemen wie Prompt Injection und Halluzination Squatting, die völlig neue Angriffsvektoren darstellen, die sich wie ein Lauffeuer verbreiten werden. KI-Codierungstools stellen die Zukunft des Codierungsarsenals eines Entwicklers dar, aber die Ausbildung zum sicheren Umgang mit diesen Produktivitätswaffen muss jetzt erfolgen.
Vorstandsvorsitzender, Chairman und Mitbegründer
Klicken Sie auf den unten stehenden Link und laden Sie die PDF-Datei dieses One-Pagers herunter.
HerunterladenSecure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Bericht ansehenDemo buchenVorstandsvorsitzender, Chairman und Mitbegründer
Pieter Danhieux ist ein weltweit anerkannter Sicherheitsexperte mit mehr als 12 Jahren Erfahrung als Sicherheitsberater und 8 Jahren als Principal Instructor für SANS, wo er offensive Techniken lehrt, wie man Organisationen, Systeme und Einzelpersonen auf Sicherheitsschwächen hin untersucht und bewertet. Im Jahr 2016 wurde er als einer der "Coolest Tech People in Australia" (Business Insider) ausgezeichnet, erhielt die Auszeichnung "Cyber Security Professional of the Year" (AISA - Australian Information Security Association) und besitzt die Zertifizierungen GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA.
Eine Version dieses Artikels erschien in Dunkles Lesen. Er wurde aktualisiert und hier syndiziert.
Seit dem ersten Hype um die neuesten, kulturverändernden KI-Tools haben Entwickler und Neugierige sie genutzt, um Code auf Knopfdruck zu erzeugen. Sicherheitsexperten wiesen schnell darauf hin, dass der erzeugte Code in vielen Fällen von schlechter Qualität und angreifbar war und in den Händen von Personen mit geringem Sicherheitsbewusstsein eine Lawine unsicherer Apps und Webentwicklungen auslösen konnte, die auf ahnungslose Verbraucher losgelassen wurde.
Und dann gibt es noch diejenigen, die über genügend Sicherheitswissen verfügen, um es für, nun ja, Böses zu nutzen. Für jede atemberaubende KI-Leistung scheint es einen Gegenschlag zu geben, bei dem die gleiche Technologie für ruchlose Zwecke eingesetzt wird. Phishing, gefälschte Betrugsvideos, die Erstellung von Malware, allgemeine Skript-Kinderspielereien ... diese störenden Aktivitäten sind viel schneller und mit niedrigeren Einstiegshürden zu erreichen.
Es gibt sicherlich eine Menge Clickbaits, die diese Werkzeuge als revolutionär anpreisen oder zumindest als überlegen, wenn sie mit "durchschnittlichen" menschlichen Fähigkeiten kombiniert werden. Auch wenn es unvermeidlich scheint, dass die KI-Technologie im Stil des LLM die Art und Weise, wie wir an viele Aspekte der Arbeit herangehen - nicht nur an die Softwareentwicklung - verändern wird, müssen wir einen Schritt zurücktreten und die Risiken jenseits der Schlagzeilen betrachten.
Und als Programmierbegleiter sind seine Schwächen vielleicht sein "menschlichstes" Attribut.
Schlechte Kodierungsmuster dominieren die Lösungen
Da ChatGPT auf jahrzehntelang bestehendem Code und Wissensdatenbanken basiert, ist es nicht verwunderlich, dass es trotz all seiner Wunder und Geheimnisse auch unter denselben häufigen Fallstricken leidet, mit denen Menschen beim Navigieren durch Code konfrontiert werden. Schlechte Codierungsmuster sind an der Tagesordnung, und es bedarf immer noch eines sicherheitsbewussten Treibers, um sichere Codierungsbeispiele zu generieren, indem er die richtigen Fragen stellt und das richtige Prompt Engineering liefert.
Selbst dann gibt es keine Garantie dafür, dass die angegebenen Codeschnipsel aus der Sicherheitsperspektive korrekt und funktionsfähig sind. Die Technologie neigt zu Halluzinationen und erfindet sogar nicht existierende Bibliotheken, wenn sie aufgefordert wird, bestimmte JSON-Operationen durchzuführen, wie Mike Shema herausgefunden hat. Dies könnte dazu führen, dass Bedrohungsakteure "Halluzinationen besetzen", die nur allzu gerne eine Malware entwickeln, die als die von ChatGPT vertrauensvoll empfohlene Bibliothek getarnt ist.
Letztendlich müssen wir der Realität ins Auge sehen, dass wir im Allgemeinen nicht erwartet haben, dass Entwickler ausreichend sicherheitsbewusst sind, noch haben wir sie als Industrie angemessen darauf vorbereitet, standardmäßig sicheren Code zu schreiben. Dies wird sich in der enormen Menge an Trainingsdaten zeigen, die in ChatGPT eingespeist werden, und wir können zumindest anfangs mit ähnlich glanzlosen Sicherheitsergebnissen rechnen. Die Entwickler müssten in der Lage sein, die Sicherheitslücken zu erkennen und sie entweder selbst zu beheben oder bessere Eingabeaufforderungen zu entwerfen, um ein stabileres Ergebnis zu erzielen.
Die erste groß angelegte Nutzerstudie, in der untersucht wurde, wie Nutzer mit einem KI-Codierassistenten interagieren, um verschiedene sicherheitsrelevante Aufgaben zu lösen, und die von Forschern der Stanford University durchgeführt wurde, stützt diesen Gedanken, wobei eine Beobachtung zum Schluss kommt:
"Wir konnten beobachten, dass Teilnehmer, die Zugang zum KI-Assistenten hatten, bei den meisten Programmieraufgaben eher Sicherheitslücken einbrachten, aber auch eher ihre unsicheren Antworten als sicher einstuften als die Teilnehmer unserer Kontrollgruppe."
Dies spricht für ein gewisses Standardvertrauen in die Ergebnisse von KI-Codierungstools, die einen Code produzieren, der immer von Natur aus sicher ist, obwohl dies nicht der Fall ist.
In Anbetracht dieser Tatsache und der unvermeidlichen, von KI ausgehenden Bedrohungen, die unsere Zukunft durchdringen werden, müssen Entwickler mehr denn je ihre Sicherheitsfähigkeiten verbessern und die Messlatte für die Qualität des Codes unabhängig von seiner Herkunft höher legen.
Der Weg zu einer Datenverletzungskatastrophe ist mit guten Absichten gepflastert
Es sollte nicht überraschen, dass KI-Coding-Begleiter beliebt sind, zumal Entwickler mit zunehmender Verantwortung, engeren Fristen und den Ambitionen der Innovation eines Unternehmens konfrontiert sind, die auf ihren Schultern ruhen. Doch selbst bei den besten Absichten führt ein mangelndes Sicherheitsbewusstsein beim Einsatz von KI für die Programmierung unweigerlich zu eklatanten Sicherheitsproblemen. Alle Entwickler, die KI/ML-Tools einsetzen, werden mehr Code generieren, und das Sicherheitsrisiko hängt von ihrem Kenntnisstand ab. Unternehmen müssen sich darüber im Klaren sein, dass ungeschulte Mitarbeiter sicherlich schneller Code generieren werden, aber auch die Geschwindigkeit der technischen Sicherheitsverschuldung erhöhen werden.
Schon unser erster Test (April 2023) mit ChatGPT hat gezeigt, dass es sehr einfache Fehler erzeugt, die verheerende Folgen haben können. Als wir es baten, eine Login-Routine in PHP mit einer MySQL-Datenbank zu erstellen, wurde schnell funktionierender Code erzeugt. Es speicherte jedoch standardmäßig Passwörter im Klartext in einer Datenbank, speicherte Datenbankverbindungsdaten im Code und verwendete ein Codierungsmuster, das zu SQL-Injection führen könnte (obwohl es die Eingabeparameter in gewissem Umfang filterte und Datenbankfehler ausspuckte). Alles Anfängerfehler nach allen Regeln der Kunst:
Weitere Aufforderungen sorgten dafür, dass die Fehler korrigiert wurden, aber es erfordert erhebliches Sicherheitswissen, um den Kurs zu korrigieren. Die unkontrollierte und weit verbreitete Nutzung dieser Tools ist nicht besser, als wenn man Nachwuchsentwickler auf seine Projekte loslässt, und wenn dieser Code sensible Infrastrukturen aufbaut oder personenbezogene Daten verarbeitet, dann haben wir es mit einer tickenden Zeitbombe zu tun.
Natürlich erwarten wir, dass sich die KI/ML-Fähigkeiten mit der Zeit verbessern, so wie Nachwuchsentwickler ihre Fähigkeiten zweifellos verbessern. In einem Jahr wird sie vielleicht keine so offensichtlichen und einfachen Sicherheitsfehler mehr machen. Dies wird jedoch zur Folge haben, dass die Sicherheitsfähigkeiten, die erforderlich sind, um die schwerwiegenderen, versteckten, nicht trivialen Sicherheitsfehler aufzuspüren, die noch immer auftreten können, drastisch zunehmen werden.
Wir sind nach wie vor schlecht darauf vorbereitet, Sicherheitsschwachstellen zu finden und zu beheben, und KI vergrößert die Lücke
Auch wenn seit vielen Jahren von einem "Linksruck" die Rede ist, bleibt die Tatsache bestehen, dass in den meisten Unternehmen ein erheblicher Mangel an praktischen Sicherheitskenntnissen unter den Entwicklern herrscht. Wir müssen härter daran arbeiten, die richtigen Tools und Schulungen bereitzustellen, um sie auf ihrem Weg zu unterstützen.
So wie es aussieht, sind wir nicht auf die Sicherheitsprobleme vorbereitet, an die wir gewöhnt sind, ganz zu schweigen von den neuen, durch KI verursachten Problemen wie Prompt Injection und Halluzination Squatting, die völlig neue Angriffsvektoren darstellen, die sich wie ein Lauffeuer verbreiten werden. KI-Codierungstools stellen die Zukunft des Codierungsarsenals eines Entwicklers dar, aber die Ausbildung zum sicheren Umgang mit diesen Produktivitätswaffen muss jetzt erfolgen.
Inhaltsübersicht
Vorstandsvorsitzender, Chairman und Mitbegründer
Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Demo buchenHerunterladenRessourcen für den Einstieg
DigitalOcean verringert Sicherheitsverschuldung mit Secure Code Warrior
DigitalOceans Einsatz von Secure Code Warrior hat die Sicherheitsverschuldung deutlich reduziert, so dass sich die Teams stärker auf Innovation und Produktivität konzentrieren können. Die verbesserte Sicherheit hat die Produktqualität und den Wettbewerbsvorteil des Unternehmens gestärkt. Mit Blick auf die Zukunft wird der SCW Trust Score dem Unternehmen helfen, seine Sicherheitspraktiken weiter zu verbessern und Innovationen voranzutreiben.
Entwicklergesteuerte Sicherheit im großen Maßstab durch globale Tournaments
Unsere Plattform ermöglicht es Ihnen, ein Community-zentriertes Cybersicherheitsnetzwerk mit ansprechenden Programmierwettbewerben und tournaments zu fördern, das reale Schwachstellen und sichere Programmierpraktiken aufzeigt.
Trust Agent in Aktion
Der SCW Trust Agent gibt Ihnen die Werkzeuge an die Hand, die Sie benötigen, um sicheren Code schneller zu liefern, und stellt sicher, dass die Entwickler über das Wissen und die Fähigkeiten verfügen, um bewährte Sicherheitspraktiken in der spezifischen Programmiersprache ihrer Code-Commits zu implementieren.
Ressourcen für den Einstieg
Wie DigitalOcean die Software-Sicherheitsverschuldung reduzierte und die Grenzen der Produktivität verschob
Secure Code Warrior hat DigitalOcean dabei geholfen, von Anfang an hochwertigen Code zu erstellen und zu veröffentlichen und so die digitale Innovation und Modernisierung mit sicherheitsbewussten Entwicklern voranzutreiben.
Wie DigitalOcean die Software-Sicherheitsverschuldung reduzierte und die Grenzen der Produktivität verschob
Secure Code Warrior hat DigitalOcean dabei geholfen, von Anfang an hochwertigen Code zu erstellen und zu veröffentlichen und so die digitale Innovation und Modernisierung mit sicherheitsbewussten Entwicklern voranzutreiben.
Frauen in der Sicherheitsbranche sind auf dem Vormarsch: Wie die AWSN eine neue Generation von Superfrauen im Sicherheitsbereich hervorbringt
Secure-by-Design ist die neueste Initiative, die in aller Munde ist, und die australische Regierung, die mit der CISA auf den höchsten Ebenen der Global Governance zusammenarbeitet, fordert von den Anbietern einen höheren Standard für Softwarequalität und -sicherheit.
SCW Trust Agent - Sichtbarkeit und Kontrolle zur Skalierung der entwicklergesteuerten Sicherheit
Der von Secure Code Warrior vorgestellte SCW Trust Agent bietet Sicherheitsverantwortlichen die Transparenz und Kontrolle, die sie für die Skalierung der entwicklergesteuerten Sicherheit in Unternehmen benötigen. Durch die Verbindung mit Code-Repositories wertet er Code-Commit-Metadaten aus, prüft Entwickler, verwendete Programmiersprachen und Zeitstempel für den Versand, um das Sicherheitswissen der Entwickler zu ermitteln.