Code aus dem Käfig: Warum sichere Entwickler ohne Grenzen liefern können

Veröffentlicht Jul 25, 2023
von
FALLSTUDIE

Code aus dem Käfig: Warum sichere Entwickler ohne Grenzen liefern können

Veröffentlicht Jul 25, 2023
von
Ressource anzeigen
Ressource anzeigen
Regenbogenstreifen aus Licht auf schwarzem Hintergrund.
Regenbogenstreifen aus Licht auf schwarzem Hintergrund.

Dieser Artikel erschien ursprünglich in der SD Times. Er wurde hier aktualisiert und syndiziert.

Die Überprüfung von Fähigkeiten ist seit der Neuzeit ein fester Bestandteil unseres Lebens, der uns Gültigkeit verleiht und Türen öffnet, die uns sonst verschlossen bleiben würden. Autofahren zum Beispiel ist für die meisten von uns ein wichtiges Initiationsritual, und es wird von uns erwartet, dass wir eine Reihe von standardisierten Prüfungen bestehen, um zu bestätigen, dass man uns eine viertausend Pfund schwere Maschine anvertrauen kann, die in der Lage ist, über hundert Meilen pro Stunde zu fahren. Fehler, vor allem bei hoher Geschwindigkeit, können einen dieses Privileg oder sogar ein Menschenleben kosten.

Was aber, wenn Autofahren für einige mehr als eine alltägliche Annehmlichkeit ist und zu einem elitären Beruf wird? Eine Person kann sich weiterbilden und möglicherweise Formel-1-Fahrer werden, wo sie Maschinen bedienen darf, die schneller fahren, als es ein Zivilist realistischerweise tun könnte, ohne dass die Wahrscheinlichkeit von Fehlern bei hohen Geschwindigkeiten groß ist. 

In diesem Zusammenhang erscheint es verwunderlich, dass die meisten Entwickler, die an Code für kritische Infrastrukturen, Autos, Medizintechnik und alles dazwischen arbeiten, dies tun, ohne zuvor ihre Sicherheitsfähigkeiten zu überprüfen. Andererseits: Warum müssen sich sicherheitskompetente Entwickler, die wiederholt bewiesen haben, dass sie wissen, wie man Dinge sicher entwickelt, wegen all der Sicherheitskontrollen mit allen anderen in den immer langsamer werdenden Entwicklungspipelines anstellen? Die Branche betrachtet dies nicht als Versäumnis, es ist die Norm. 

Wir wissen aus umfangreichen Untersuchungen, dass die meisten Entwickler der Sicherheit in ihrem Code einfach keine Priorität einräumen und dass ihnen die regelmäßige Schulung fehlt, die erforderlich ist, um mit vielen gängigen Sicherheitslücken umzugehen. Sie sind mit ein Grund dafür, dass Sicherheit im Eiltempo ein Hirngespinst zu sein scheint und viele sicherheitsorientierte Entwickler das Gefühl haben, dass sie auf der Autobahn auf der Kriechspur hinter einer Gruppe von Fahrschülern festsitzen. 

Trotzdem entwickelt sich die Sicherheitswelt langsam weiter, und die Nachfrage nach Entwicklern mit nachgewiesenen Sicherheitskenntnissen, die sofort einsatzbereit sind, steigt. Die Executive Order der Biden-Administration zur Verbesserung der Cybersicherheit der Nation fordert ausdrücklich die Bewertung der Sicherheitspraktiken von Anbietern - und deren Entwicklungskohorten - für alle Lieferanten in der Software-Lieferkette der US-Regierung. Es liegt auf der Hand, dass die Bedeutung der Sicherheitskompetenzen von Entwicklern in den meisten Sektoren zunehmen wird, aber wie können Unternehmen angesichts des geringen Angebots an branchenüblichen Bewertungen nachweisen, dass ihr Sicherheitsprogramm nachweisbare Sicherheitskompetenzen von Entwicklern auf eine Art und Weise fördert, die die Lieferung nicht in die Knie zwingt oder die sicherheitsbewussten Entwickler davon abhält, ihre Flügel auszubreiten?

Leistungsabhängige Zugangskontrolle: Kann das funktionieren?

Die Sicherheitskontrollen mit den geringsten Rechten sind in vielen Unternehmen ein fester Bestandteil, wobei jeder Rolle der Zugriff auf Software, Daten und Systeme nach dem Prinzip "Kenntnis nur, wenn nötig" im Rahmen ihrer Aufgaben zugewiesen wird. Diese Methode - vor allem in Verbindung mit Zero-Trust-Autorisierungsprinzipien - ist hilfreich, um das gesamte Ausmaß der Angriffsfläche einzudämmen. Und eigentlich sollten wir diese Strategie auch auf API-Berechtigungen und andere softwarebasierte Anwendungsfälle anwenden. 

Die meisten von uns in der Sicherheitsbranche sind sich der Tatsache bewusst, dass Software die Welt auffrisst, und der Code für eingebettete Systeme, mit dem Ihre Fritteuse betrieben wird, unterscheidet sich in Bezug auf sein Ausnutzungspotenzial nicht von dem Code, der das Stromnetz am Laufen hält. Unser Leben und unsere kritischen Daten sind der Gnade von Bedrohungsakteuren ausgeliefert, und jeder Entwickler muss verstehen, welche Möglichkeiten er hat, seinen Code zu schützen, wenn er entsprechend geschult ist. Dies erfordert ein ernsthaftes Upgrade der Sicherheitskultur eines Unternehmens, aber für eine echte gemeinsame Verantwortung im Sinne von DevSecOps brauchen die Entwickler einen Grund, sich mehr Gedanken über ihre Rolle zu machen, und vielleicht wäre der schnellste Weg, ihre Einstellung zu ändern, die Verknüpfung des Zugriffs auf das Code-Repository mit Lernergebnissen im Bereich der sicheren Programmierung.

Nehmen wir zum Beispiel ein Unternehmen aus dem BFSI-Bereich: Die Chancen stehen gut, dass es dort hochsensible Repositories gibt, die Kundendaten enthalten oder wertvolle Informationen wie Kreditkartennummern speichern. Warum sollten wir dann davon ausgehen, dass jeder Techniker, dem Zugang gewährt wurde, sicherheitsbewusst ist, die strengen PCI-DSS-Anforderungen erfüllt und in der Lage ist, Änderungen an der Hauptverzweigung schnell und ohne Zwischenfälle vorzunehmen? Auch wenn dies bei einigen der Fall sein mag, wäre es weitaus sicherer, den Zugang zu diesen heiklen Systemen zu beschränken, bis dieses Wissen nachgewiesen ist.

Die Herausforderung besteht darin, dass in den meisten Unternehmen die Umsetzung eines "License to Code"-Szenarios mühsam und je nach Schulungslösung etwas zu manuell wäre, um jegliche Art von Sicherheitszielen mit hoher Geschwindigkeit zu unterstützen. Die richtige Kombination aus integrativer Schulung und Tools kann jedoch den Kern einer entwicklergesteuerten, defensiven Sicherheitsstrategie bilden. 

Eine wirksame Integration der Ausbildung ist nicht unmöglich.

Die Suche nach Lösungen für die Weiterbildung von Entwicklern, die sowohl die schnelllebigen Geschäftsziele als auch ihre Arbeitsabläufe ergänzen, ist schon die halbe Miete, aber nur wenn wir uns die Mühe machen, über die einmalige Schulung zur Einhaltung der Vorschriften hinauszugehen, werden wir eine deutliche Verringerung der Schwachstellen auf Code-Ebene erleben. Und was ist mit den Entwicklern, die sich erfolgreich bewähren? Nun, die Welt der Programmierung liegt ihnen zu Füßen, und sie müssen sich nicht von Sicherheitskontrollen lähmen lassen, die davon ausgehen, dass sie die Grundlagen nicht beherrschen. 

Die praxisnahe Förderung von Fähigkeiten, die sich nahtlos in die Entwicklungsumgebung einfügt, bietet den Ingenieuren den nötigen Kontext, um sichere Programmierkonzepte wirklich zu verstehen und anzuwenden. Die gleichen Integrationen können auch dazu verwendet werden, den Zugang zu kritischen Systemen effektiv zu verwalten, um sicherzustellen, dass diejenigen, die sich durch ihre Lernergebnisse auszeichnen, ungehindert an den sensiblen Aufgaben mit höchster Priorität arbeiten können. Außerdem lassen sich auf diese Weise Belohnungen und Anerkennungen leichter implementieren, so dass sicherheitskompetente Entwickler in ihrer Gruppe als aufstrebend angesehen werden. 

Wie bei vielen Dingen im Leben gilt: Das Glück ist mit den Mutigen, und es ist genau das, was wir brauchen, um die Standards für akzeptable Codequalität von morgen anzuheben, ohne Abstriche bei der Geschwindigkeit zu machen, wenn wir mit dem Status quo brechen und einen unkonventionellen Ansatz für die Überprüfung von Entwicklerfähigkeiten verfolgen.

Ressource anzeigen
Ressource anzeigen

Autor

Sie wollen mehr?

Tauchen Sie ein in unsere neuesten Erkenntnisse über sichere Kodierung im Blog.

Unsere umfangreiche Ressourcenbibliothek zielt darauf ab, die menschliche Herangehensweise an eine sichere Weiterbildung im Bereich der Programmierung zu stärken.

Blog ansehen
Sie wollen mehr?

Holen Sie sich die neuesten Forschungsergebnisse zur entwicklergesteuerten Sicherheit

Unsere umfangreiche Ressourcenbibliothek ist voll von hilfreichen Ressourcen, von Whitepapers bis hin zu Webinaren, die Ihnen den Einstieg in die entwicklungsorientierte sichere Programmierung erleichtern. Erforschen Sie sie jetzt.

Ressourcendrehscheibe

Code aus dem Käfig: Warum sichere Entwickler ohne Grenzen liefern können

Veröffentlicht Jul 25, 2023
Unter

Dieser Artikel erschien ursprünglich in der SD Times. Er wurde hier aktualisiert und syndiziert.

Die Überprüfung von Fähigkeiten ist seit der Neuzeit ein fester Bestandteil unseres Lebens, der uns Gültigkeit verleiht und Türen öffnet, die uns sonst verschlossen bleiben würden. Autofahren zum Beispiel ist für die meisten von uns ein wichtiges Initiationsritual, und es wird von uns erwartet, dass wir eine Reihe von standardisierten Prüfungen bestehen, um zu bestätigen, dass man uns eine viertausend Pfund schwere Maschine anvertrauen kann, die in der Lage ist, über hundert Meilen pro Stunde zu fahren. Fehler, vor allem bei hoher Geschwindigkeit, können einen dieses Privileg oder sogar ein Menschenleben kosten.

Was aber, wenn Autofahren für einige mehr als eine alltägliche Annehmlichkeit ist und zu einem elitären Beruf wird? Eine Person kann sich weiterbilden und möglicherweise Formel-1-Fahrer werden, wo sie Maschinen bedienen darf, die schneller fahren, als es ein Zivilist realistischerweise tun könnte, ohne dass die Wahrscheinlichkeit von Fehlern bei hohen Geschwindigkeiten groß ist. 

In diesem Zusammenhang erscheint es verwunderlich, dass die meisten Entwickler, die an Code für kritische Infrastrukturen, Autos, Medizintechnik und alles dazwischen arbeiten, dies tun, ohne zuvor ihre Sicherheitsfähigkeiten zu überprüfen. Andererseits: Warum müssen sich sicherheitskompetente Entwickler, die wiederholt bewiesen haben, dass sie wissen, wie man Dinge sicher entwickelt, wegen all der Sicherheitskontrollen mit allen anderen in den immer langsamer werdenden Entwicklungspipelines anstellen? Die Branche betrachtet dies nicht als Versäumnis, es ist die Norm. 

Wir wissen aus umfangreichen Untersuchungen, dass die meisten Entwickler der Sicherheit in ihrem Code einfach keine Priorität einräumen und dass ihnen die regelmäßige Schulung fehlt, die erforderlich ist, um mit vielen gängigen Sicherheitslücken umzugehen. Sie sind mit ein Grund dafür, dass Sicherheit im Eiltempo ein Hirngespinst zu sein scheint und viele sicherheitsorientierte Entwickler das Gefühl haben, dass sie auf der Autobahn auf der Kriechspur hinter einer Gruppe von Fahrschülern festsitzen. 

Trotzdem entwickelt sich die Sicherheitswelt langsam weiter, und die Nachfrage nach Entwicklern mit nachgewiesenen Sicherheitskenntnissen, die sofort einsatzbereit sind, steigt. Die Executive Order der Biden-Administration zur Verbesserung der Cybersicherheit der Nation fordert ausdrücklich die Bewertung der Sicherheitspraktiken von Anbietern - und deren Entwicklungskohorten - für alle Lieferanten in der Software-Lieferkette der US-Regierung. Es liegt auf der Hand, dass die Bedeutung der Sicherheitskompetenzen von Entwicklern in den meisten Sektoren zunehmen wird, aber wie können Unternehmen angesichts des geringen Angebots an branchenüblichen Bewertungen nachweisen, dass ihr Sicherheitsprogramm nachweisbare Sicherheitskompetenzen von Entwicklern auf eine Art und Weise fördert, die die Lieferung nicht in die Knie zwingt oder die sicherheitsbewussten Entwickler davon abhält, ihre Flügel auszubreiten?

Leistungsabhängige Zugangskontrolle: Kann das funktionieren?

Die Sicherheitskontrollen mit den geringsten Rechten sind in vielen Unternehmen ein fester Bestandteil, wobei jeder Rolle der Zugriff auf Software, Daten und Systeme nach dem Prinzip "Kenntnis nur, wenn nötig" im Rahmen ihrer Aufgaben zugewiesen wird. Diese Methode - vor allem in Verbindung mit Zero-Trust-Autorisierungsprinzipien - ist hilfreich, um das gesamte Ausmaß der Angriffsfläche einzudämmen. Und eigentlich sollten wir diese Strategie auch auf API-Berechtigungen und andere softwarebasierte Anwendungsfälle anwenden. 

Die meisten von uns in der Sicherheitsbranche sind sich der Tatsache bewusst, dass Software die Welt auffrisst, und der Code für eingebettete Systeme, mit dem Ihre Fritteuse betrieben wird, unterscheidet sich in Bezug auf sein Ausnutzungspotenzial nicht von dem Code, der das Stromnetz am Laufen hält. Unser Leben und unsere kritischen Daten sind der Gnade von Bedrohungsakteuren ausgeliefert, und jeder Entwickler muss verstehen, welche Möglichkeiten er hat, seinen Code zu schützen, wenn er entsprechend geschult ist. Dies erfordert ein ernsthaftes Upgrade der Sicherheitskultur eines Unternehmens, aber für eine echte gemeinsame Verantwortung im Sinne von DevSecOps brauchen die Entwickler einen Grund, sich mehr Gedanken über ihre Rolle zu machen, und vielleicht wäre der schnellste Weg, ihre Einstellung zu ändern, die Verknüpfung des Zugriffs auf das Code-Repository mit Lernergebnissen im Bereich der sicheren Programmierung.

Nehmen wir zum Beispiel ein Unternehmen aus dem BFSI-Bereich: Die Chancen stehen gut, dass es dort hochsensible Repositories gibt, die Kundendaten enthalten oder wertvolle Informationen wie Kreditkartennummern speichern. Warum sollten wir dann davon ausgehen, dass jeder Techniker, dem Zugang gewährt wurde, sicherheitsbewusst ist, die strengen PCI-DSS-Anforderungen erfüllt und in der Lage ist, Änderungen an der Hauptverzweigung schnell und ohne Zwischenfälle vorzunehmen? Auch wenn dies bei einigen der Fall sein mag, wäre es weitaus sicherer, den Zugang zu diesen heiklen Systemen zu beschränken, bis dieses Wissen nachgewiesen ist.

Die Herausforderung besteht darin, dass in den meisten Unternehmen die Umsetzung eines "License to Code"-Szenarios mühsam und je nach Schulungslösung etwas zu manuell wäre, um jegliche Art von Sicherheitszielen mit hoher Geschwindigkeit zu unterstützen. Die richtige Kombination aus integrativer Schulung und Tools kann jedoch den Kern einer entwicklergesteuerten, defensiven Sicherheitsstrategie bilden. 

Eine wirksame Integration der Ausbildung ist nicht unmöglich.

Die Suche nach Lösungen für die Weiterbildung von Entwicklern, die sowohl die schnelllebigen Geschäftsziele als auch ihre Arbeitsabläufe ergänzen, ist schon die halbe Miete, aber nur wenn wir uns die Mühe machen, über die einmalige Schulung zur Einhaltung der Vorschriften hinauszugehen, werden wir eine deutliche Verringerung der Schwachstellen auf Code-Ebene erleben. Und was ist mit den Entwicklern, die sich erfolgreich bewähren? Nun, die Welt der Programmierung liegt ihnen zu Füßen, und sie müssen sich nicht von Sicherheitskontrollen lähmen lassen, die davon ausgehen, dass sie die Grundlagen nicht beherrschen. 

Die praxisnahe Förderung von Fähigkeiten, die sich nahtlos in die Entwicklungsumgebung einfügt, bietet den Ingenieuren den nötigen Kontext, um sichere Programmierkonzepte wirklich zu verstehen und anzuwenden. Die gleichen Integrationen können auch dazu verwendet werden, den Zugang zu kritischen Systemen effektiv zu verwalten, um sicherzustellen, dass diejenigen, die sich durch ihre Lernergebnisse auszeichnen, ungehindert an den sensiblen Aufgaben mit höchster Priorität arbeiten können. Außerdem lassen sich auf diese Weise Belohnungen und Anerkennungen leichter implementieren, so dass sicherheitskompetente Entwickler in ihrer Gruppe als aufstrebend angesehen werden. 

Wie bei vielen Dingen im Leben gilt: Das Glück ist mit den Mutigen, und es ist genau das, was wir brauchen, um die Standards für akzeptable Codequalität von morgen anzuheben, ohne Abstriche bei der Geschwindigkeit zu machen, wenn wir mit dem Status quo brechen und einen unkonventionellen Ansatz für die Überprüfung von Entwicklerfähigkeiten verfolgen.

Wir bitten Sie um Ihre Erlaubnis, Ihnen Informationen über unsere Produkte und/oder verwandte Themen der sicheren Codierung zuzusenden. Wir werden Ihre persönlichen Daten immer mit äußerster Sorgfalt behandeln und sie niemals zu Marketingzwecken an andere Unternehmen verkaufen.

Senden
Um das Formular abzuschicken, aktivieren Sie bitte "Analytics"-Cookies. Sie können die Cookies wieder deaktivieren, sobald Sie fertig sind.