
«Links von links» beginnen: ¿El código de seguridad es siempre código de calidad?
Eine Version dieses Artikels erschien in Dunkle Lektüre. Es wurde hier aktualisiert und syndiziert.
Wenn ich mit Entwicklern über Sicherheit spreche, lautet eines meiner Mantras, dass „der einzige Qualitätscode der sichere Code ist“. Das ist immer noch wahr; wir sind vielleicht einer Katastrophe entkommen, als anfällige Software in den 90er Jahren in der Wildnis herumlief, aber heute ist es das Risiko nicht wert. Viele haben im Laufe der Jahre hart daran gearbeitet, Entwicklern eine sicherheitsbewusste Denkweise zu vermitteln, und auf diese Weise hoffentlich Sicherheit zum Synonym für Qualität gemacht, wenn es um die Selbsteinschätzung ihres Codes geht.
Nach reiflicher Überlegung (und einigen Diskussionen unter meinen Kollegen) wird das Konzept jedoch möglicherweise zu stark vereinfacht. Es ist durchaus möglich, Code zu erstellen, der in der Tat sicher ist, aber Anzeichen einer neuen Entwicklungstechnik oder andere Problembereiche aufweist, die ihn nicht ideal machen.
Unsere Branche spricht ausführlich über den Begriff „Linksverschiebung“. Meiner Meinung nach geht es vor allem darum, links zu beginnen, indem die Ingenieurskohorten in die Lage versetzt werden, die Verantwortung für Sicherheit gemeinsam zu übernehmen (was ein Aspekt der Qualität ist), und ihnen die Möglichkeit zu geben, häufig auftretende Sicherheitslücken mit ihren (wörtlichen) Fingerspitzen zu beseitigen. Angesichts dieses aktuellen Rätsels scheint es jedoch, dass die Grenzen noch ein wenig weiter verschoben werden müssen.
El código con un determinado nivel de calidad es, por definición, también seguro, pero no todo código seguro es necesariamente de buena calidad. ¿Es el inicio «desde la izquierda» la fórmula para garantizar unos estándares de codificación puramente seguros?
Wie sieht ein Sicherheitscode von „schlechter Qualität“ aus?
Lassen Sie uns die Lupe über diesen Codeausschnitt legen:

Wenn wir diesen Code aus Sicherheitsgründen analysieren, ist dieses Snippet in der Tat sicher und kein Einstiegspunkt für einen Angreifer, um eine SQL Injection-Schwachstelle auszunutzen.
Ist es ein Beispiel für hochwertigen Code? Leider nicht wirklich. Eine einfache Änderung des Arguments von einem Minze (Heger) zu einem Schnur Wert ermöglicht eine freie Benutzereingabe, um die Abfrage zu manipulieren, im Gegensatz zu einer Zahl, die dies nicht kann. Diese Änderung — oder ein zufälliges Kopieren und Einfügen der Zeichenfolge sql von einer anderen Stelle — schafft sofort eine Umgebung, in der SQL-Injection-Schwachstellen mit allen damit verbundenen Risiken möglich sind:

Die Sicherheitsmaßnahmen hatten hier einen sehr begrenzten Anwendungsbereich, wohingegen ein gründlicherer (oder erfahrener) Entwickler möglicherweise einen anderen Ansatz gewählt und die Auswirkungen einer ineffizienten Argumentationsstruktur berücksichtigt hat. Ein solcher Code ist nicht nur eine schlechte Praxis, er ist auch ein schlechtes Beispiel für andere in der Entwicklungskohorte.
Die Software „Triple Threat“: Form, Funktion, festungsartig?
Eine „dreifache Bedrohung“ in der Unterhaltungsindustrie ist eine Person, die mit ebenso hohem Können schauspielern, tanzen und singen kann. Sie sind die Menschen, die bei jedem Vorsingen gefürchtet und beneidet werden, und sie sind die Einhörner eines ohnehin schon hart umkämpften Raums. Jede Branche hat ihre eigene Version eines erstklassigen, außergewöhnlichen Beispiels ihrer Produkte und Dienstleistungen, wobei Software keine Ausnahme bildet.
Wenn wir an drei Schlüsselelemente in Anwendungen denken, die bei gleicher (hoher) Qualität schwer auszubalancieren sind, könnten das Funktionalität/Eleganz plus uneingeschränkte Sicherheit sowie Wirtschaftlichkeit sein, wenn man die erforderliche Liefergeschwindigkeit berücksichtigt. Nun, dieses letzte Merkmal ist zweifellos ein entscheidender Faktor dafür, wie gut die anderen beiden Optionen angewendet werden, und es kann ein Katalysator dafür sein, dass die Gesamtqualität im Laufe der Zeit abnimmt.
Muss jedoch die gesamte Software wie Hugh Jackman funktionieren, oder können wir mit Nicolas Cage durchkommen? Sagen wir es so: Wenn du Wolverine in dein Team holen kannst, dann gibst du dein Bestes.
Martin Fowler stellte die Frage, Ist hohe Qualität die Kosten wert? in der Softwareentwicklung und kam zu dem Schluss, dass es sich nicht nur „gelohnt“ hat, sondern im Laufe der Zeit sogar billiger wurde. Die meisten Benutzer werden nicht unter die Haube schauen, um zu beurteilen, ob der Code ein Chaos ist oder ob Sicherheit genauso wichtig für alles andere gemacht wurde. Diejenigen, die die Tools verwenden, werden jedoch wertvolle Zeit damit verschwenden, schlampigen Code zu überarbeiten, um neue Funktionen hinzuzufügen, oder große Teile des Projekts zu durchsuchen, um zu verstehen, was vor sich geht, oder, im schlimmsten Fall: das Beheben einer Sicherheitslücke, die vom AppSec-Team zurückgekehrt ist und die Produktion verzögert hat. Jetzt Zeit damit zu verbringen, Code sowohl sicher als auch qualitativ hochwertig zu machen, erspart eine Menge zukünftiger Herzschmerz, ganz zu schweigen von den Kosten, die entstehen, wenn schlecht ausgeführte Arbeit enträtselt wird.
Erfahrene sicherheitsbewusste Entwickler schreiben Code, der ihre kreative, problemlösende Vision bei der Bereitstellung von Funktionen beibehält. Dabei wird darauf geachtet, die üblichen Sicherheitslücken zu beseitigen, die Ingenieure in ihrer Phase des Prozesses kontrollieren können. Sicherer Code ist für sich genommen nicht besonders effektiv. Aus diesem Grund trägt die Idee, „links von links“ zu beginnen, dazu bei, eine Sicherheitskultur zu fördern, die für Entwickler eine Selbstverständlichkeit ist und die in ihre Fähigkeit integriert ist, erstaunliche Funktionen mit reduziertem Risiko bereitzustellen.
Für eine sichere Benutzererfahrung ist es wichtig, „links von links“ zu beginnen.
Sicherheit spielt bei der Benutzererfahrung von Software seit langem eine wichtige Rolle, führte aber eindeutig zu gemischten Erfolgen. Fehlkonfigurationen im Sicherheitsbereich wurden berücksichtigt 21% der Cloud-basierten Datenschutzverletzungen im vergangenen Jahr, als Amateurfehler wie das Speichern von Passwörtern im Klartext zu schwerwiegenden Produktivitäts-, Umsatz- und Kundenvertrauensverlusten für die betroffenen Unternehmen führten.
Das, und die Benutzer selbst können ihr eigener schlimmster Feind sein, wenn es darum geht, ihre eigenen Daten zu schützen. Viel zu viele Leute verwenden immer noch „Passwort“ als Passwort oder verwenden dieselbe Kombination für mehrere vertrauliche Konten.
Ich kenne keinen Entwickler, der mit der Faust Luft macht, wenn ihnen gesagt wird, dass sie an einem Anmeldebildschirm arbeiten müssen, und das ist kein Wunder: Es ist ein empfindliches Gleichgewicht, einen Sicherheitsfluss zu entwerfen, der robust und funktional ist und in dem die Benutzer so navigieren können, wie es für sie sinnvoll ist, mit der geringsten Störung.
Wenn Sie zu viele komplexe Schritte und Einschränkungen einplanen, schalten Benutzer möglicherweise ab, um nie wieder zurückzukehren (eine Katastrophe für eine neue App), machen Sie es zu verwirrend, und Sie könnten das Support-Team am Ende kollektiv verunsichern, wenn sie Anfragen von Benutzern beantworten, die versuchen, auf ihre Konten zuzugreifen. Wenn Sie es zu einfach machen, versagen Sie irgendwie im Sicherheitsbereich.
Eine erfolgreiche sichere Benutzererfahrung muss strenge Sicherheitsvorkehrungen in einen sinnvollen Ablauf integrieren, der auf eine Weise präsentiert wird, die nicht von allem anderen ablenkt, was an der Software überzeugend ist. Sie können sicherlich das Ziel erreichen, eine sichere Anmeldefunktion zu programmieren, indem Sie alle möglichen komplexen Passwortanforderungen, CAPTCHA, Mini-Bosse und vier Wellen von Zombies eingeben, aber wenn es ein totales Durcheinander ist, das Benutzer abschreckt, verfehlt es das Ziel.
Legen Sie den Grundstein für Software-Exzellenz.
Da ich selbst Entwickler bin, weiß ich, dass die überwiegende Mehrheit von uns stolz auf unsere Arbeit ist und das Richtige tun möchte. Lästige Hindernisse wie Zeitbeschränkungen, plötzliche Änderungen des aktuellen Ziels oder dringende Hotfixes können den Arbeitsablauf stören und zu Fehlern führen, aber die harte Wahrheit ist, dass viele Softwareentwickler nicht auf Erfolg vorbereitet sind.
„Links von links“ zu beginnen ist ein Konzept, bei dem die Entwickler an erster Stelle stehen, und Unternehmen müssen ernsthaft daran arbeiten, ihre technische Kohorte zu verbessern. Sicherheitsbewusste Entwickler sind Gold wert, und Unterstützung in Form von Schulungen, der Bereitstellung der richtigen Tools und der Möglichkeit, von erfahreneren Entwicklern betreut zu werden, wird eine Umgebung fördern, in der Code mit einer sicherheitsorientierten Denkweise erstellt wird, mit der Präzision und Liebe zum Detail, die erforderlich sind, um Software auf die nächste Stufe zu heben.
Bist du bereit, das sichere Codierungsfeuer in dir selbst zu entfachen? Stellen Sie sich der Herausforderung.


El código con un determinado nivel de calidad es, por definición, también seguro, pero no todo código seguro es necesariamente de buena calidad. ¿Es el inicio «desde la izquierda» la fórmula para garantizar unos estándares de codificación puramente seguros?
Matias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.

Secure Code Warrior a disposición de su empresa para ayudarle a proteger el código durante todo el ciclo de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es responsable de seguridad de aplicaciones, desarrollador, responsable de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su empresa a reducir los riesgos asociados al código inseguro.
Reservar una demostraciónMatias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.
Matías es un investigador y desarrollador con más de 15 años de experiencia práctica en seguridad de software. Ha desarrollado soluciones para empresas como Fortify Software y su propia empresa Sensei Security. A lo largo de su carrera, Matías ha dirigido múltiples proyectos de investigación sobre seguridad de aplicaciones que han dado lugar a productos comerciales y cuenta con más de 10 patentes en su haber. Cuando está lejos de su escritorio, Matias ha servido como instructor para la formación de seguridad de aplicaciones avanzadas courses y regularmente habla en conferencias mundiales como la Conferencia RSA, Black Hat, DefCon, BSIMM, OWASP AppSec y BruCon.
Matías es doctor en Ingeniería Informática por la Universidad de Gante, donde estudió la seguridad de las aplicaciones mediante la ofuscación de programas para ocultar el funcionamiento interno de una aplicación.


Eine Version dieses Artikels erschien in Dunkle Lektüre. Es wurde hier aktualisiert und syndiziert.
Wenn ich mit Entwicklern über Sicherheit spreche, lautet eines meiner Mantras, dass „der einzige Qualitätscode der sichere Code ist“. Das ist immer noch wahr; wir sind vielleicht einer Katastrophe entkommen, als anfällige Software in den 90er Jahren in der Wildnis herumlief, aber heute ist es das Risiko nicht wert. Viele haben im Laufe der Jahre hart daran gearbeitet, Entwicklern eine sicherheitsbewusste Denkweise zu vermitteln, und auf diese Weise hoffentlich Sicherheit zum Synonym für Qualität gemacht, wenn es um die Selbsteinschätzung ihres Codes geht.
Nach reiflicher Überlegung (und einigen Diskussionen unter meinen Kollegen) wird das Konzept jedoch möglicherweise zu stark vereinfacht. Es ist durchaus möglich, Code zu erstellen, der in der Tat sicher ist, aber Anzeichen einer neuen Entwicklungstechnik oder andere Problembereiche aufweist, die ihn nicht ideal machen.
Unsere Branche spricht ausführlich über den Begriff „Linksverschiebung“. Meiner Meinung nach geht es vor allem darum, links zu beginnen, indem die Ingenieurskohorten in die Lage versetzt werden, die Verantwortung für Sicherheit gemeinsam zu übernehmen (was ein Aspekt der Qualität ist), und ihnen die Möglichkeit zu geben, häufig auftretende Sicherheitslücken mit ihren (wörtlichen) Fingerspitzen zu beseitigen. Angesichts dieses aktuellen Rätsels scheint es jedoch, dass die Grenzen noch ein wenig weiter verschoben werden müssen.
El código con un determinado nivel de calidad es, por definición, también seguro, pero no todo código seguro es necesariamente de buena calidad. ¿Es el inicio «desde la izquierda» la fórmula para garantizar unos estándares de codificación puramente seguros?
Wie sieht ein Sicherheitscode von „schlechter Qualität“ aus?
Lassen Sie uns die Lupe über diesen Codeausschnitt legen:

Wenn wir diesen Code aus Sicherheitsgründen analysieren, ist dieses Snippet in der Tat sicher und kein Einstiegspunkt für einen Angreifer, um eine SQL Injection-Schwachstelle auszunutzen.
Ist es ein Beispiel für hochwertigen Code? Leider nicht wirklich. Eine einfache Änderung des Arguments von einem Minze (Heger) zu einem Schnur Wert ermöglicht eine freie Benutzereingabe, um die Abfrage zu manipulieren, im Gegensatz zu einer Zahl, die dies nicht kann. Diese Änderung — oder ein zufälliges Kopieren und Einfügen der Zeichenfolge sql von einer anderen Stelle — schafft sofort eine Umgebung, in der SQL-Injection-Schwachstellen mit allen damit verbundenen Risiken möglich sind:

Die Sicherheitsmaßnahmen hatten hier einen sehr begrenzten Anwendungsbereich, wohingegen ein gründlicherer (oder erfahrener) Entwickler möglicherweise einen anderen Ansatz gewählt und die Auswirkungen einer ineffizienten Argumentationsstruktur berücksichtigt hat. Ein solcher Code ist nicht nur eine schlechte Praxis, er ist auch ein schlechtes Beispiel für andere in der Entwicklungskohorte.
Die Software „Triple Threat“: Form, Funktion, festungsartig?
Eine „dreifache Bedrohung“ in der Unterhaltungsindustrie ist eine Person, die mit ebenso hohem Können schauspielern, tanzen und singen kann. Sie sind die Menschen, die bei jedem Vorsingen gefürchtet und beneidet werden, und sie sind die Einhörner eines ohnehin schon hart umkämpften Raums. Jede Branche hat ihre eigene Version eines erstklassigen, außergewöhnlichen Beispiels ihrer Produkte und Dienstleistungen, wobei Software keine Ausnahme bildet.
Wenn wir an drei Schlüsselelemente in Anwendungen denken, die bei gleicher (hoher) Qualität schwer auszubalancieren sind, könnten das Funktionalität/Eleganz plus uneingeschränkte Sicherheit sowie Wirtschaftlichkeit sein, wenn man die erforderliche Liefergeschwindigkeit berücksichtigt. Nun, dieses letzte Merkmal ist zweifellos ein entscheidender Faktor dafür, wie gut die anderen beiden Optionen angewendet werden, und es kann ein Katalysator dafür sein, dass die Gesamtqualität im Laufe der Zeit abnimmt.
Muss jedoch die gesamte Software wie Hugh Jackman funktionieren, oder können wir mit Nicolas Cage durchkommen? Sagen wir es so: Wenn du Wolverine in dein Team holen kannst, dann gibst du dein Bestes.
Martin Fowler stellte die Frage, Ist hohe Qualität die Kosten wert? in der Softwareentwicklung und kam zu dem Schluss, dass es sich nicht nur „gelohnt“ hat, sondern im Laufe der Zeit sogar billiger wurde. Die meisten Benutzer werden nicht unter die Haube schauen, um zu beurteilen, ob der Code ein Chaos ist oder ob Sicherheit genauso wichtig für alles andere gemacht wurde. Diejenigen, die die Tools verwenden, werden jedoch wertvolle Zeit damit verschwenden, schlampigen Code zu überarbeiten, um neue Funktionen hinzuzufügen, oder große Teile des Projekts zu durchsuchen, um zu verstehen, was vor sich geht, oder, im schlimmsten Fall: das Beheben einer Sicherheitslücke, die vom AppSec-Team zurückgekehrt ist und die Produktion verzögert hat. Jetzt Zeit damit zu verbringen, Code sowohl sicher als auch qualitativ hochwertig zu machen, erspart eine Menge zukünftiger Herzschmerz, ganz zu schweigen von den Kosten, die entstehen, wenn schlecht ausgeführte Arbeit enträtselt wird.
Erfahrene sicherheitsbewusste Entwickler schreiben Code, der ihre kreative, problemlösende Vision bei der Bereitstellung von Funktionen beibehält. Dabei wird darauf geachtet, die üblichen Sicherheitslücken zu beseitigen, die Ingenieure in ihrer Phase des Prozesses kontrollieren können. Sicherer Code ist für sich genommen nicht besonders effektiv. Aus diesem Grund trägt die Idee, „links von links“ zu beginnen, dazu bei, eine Sicherheitskultur zu fördern, die für Entwickler eine Selbstverständlichkeit ist und die in ihre Fähigkeit integriert ist, erstaunliche Funktionen mit reduziertem Risiko bereitzustellen.
Für eine sichere Benutzererfahrung ist es wichtig, „links von links“ zu beginnen.
Sicherheit spielt bei der Benutzererfahrung von Software seit langem eine wichtige Rolle, führte aber eindeutig zu gemischten Erfolgen. Fehlkonfigurationen im Sicherheitsbereich wurden berücksichtigt 21% der Cloud-basierten Datenschutzverletzungen im vergangenen Jahr, als Amateurfehler wie das Speichern von Passwörtern im Klartext zu schwerwiegenden Produktivitäts-, Umsatz- und Kundenvertrauensverlusten für die betroffenen Unternehmen führten.
Das, und die Benutzer selbst können ihr eigener schlimmster Feind sein, wenn es darum geht, ihre eigenen Daten zu schützen. Viel zu viele Leute verwenden immer noch „Passwort“ als Passwort oder verwenden dieselbe Kombination für mehrere vertrauliche Konten.
Ich kenne keinen Entwickler, der mit der Faust Luft macht, wenn ihnen gesagt wird, dass sie an einem Anmeldebildschirm arbeiten müssen, und das ist kein Wunder: Es ist ein empfindliches Gleichgewicht, einen Sicherheitsfluss zu entwerfen, der robust und funktional ist und in dem die Benutzer so navigieren können, wie es für sie sinnvoll ist, mit der geringsten Störung.
Wenn Sie zu viele komplexe Schritte und Einschränkungen einplanen, schalten Benutzer möglicherweise ab, um nie wieder zurückzukehren (eine Katastrophe für eine neue App), machen Sie es zu verwirrend, und Sie könnten das Support-Team am Ende kollektiv verunsichern, wenn sie Anfragen von Benutzern beantworten, die versuchen, auf ihre Konten zuzugreifen. Wenn Sie es zu einfach machen, versagen Sie irgendwie im Sicherheitsbereich.
Eine erfolgreiche sichere Benutzererfahrung muss strenge Sicherheitsvorkehrungen in einen sinnvollen Ablauf integrieren, der auf eine Weise präsentiert wird, die nicht von allem anderen ablenkt, was an der Software überzeugend ist. Sie können sicherlich das Ziel erreichen, eine sichere Anmeldefunktion zu programmieren, indem Sie alle möglichen komplexen Passwortanforderungen, CAPTCHA, Mini-Bosse und vier Wellen von Zombies eingeben, aber wenn es ein totales Durcheinander ist, das Benutzer abschreckt, verfehlt es das Ziel.
Legen Sie den Grundstein für Software-Exzellenz.
Da ich selbst Entwickler bin, weiß ich, dass die überwiegende Mehrheit von uns stolz auf unsere Arbeit ist und das Richtige tun möchte. Lästige Hindernisse wie Zeitbeschränkungen, plötzliche Änderungen des aktuellen Ziels oder dringende Hotfixes können den Arbeitsablauf stören und zu Fehlern führen, aber die harte Wahrheit ist, dass viele Softwareentwickler nicht auf Erfolg vorbereitet sind.
„Links von links“ zu beginnen ist ein Konzept, bei dem die Entwickler an erster Stelle stehen, und Unternehmen müssen ernsthaft daran arbeiten, ihre technische Kohorte zu verbessern. Sicherheitsbewusste Entwickler sind Gold wert, und Unterstützung in Form von Schulungen, der Bereitstellung der richtigen Tools und der Möglichkeit, von erfahreneren Entwicklern betreut zu werden, wird eine Umgebung fördern, in der Code mit einer sicherheitsorientierten Denkweise erstellt wird, mit der Präzision und Liebe zum Detail, die erforderlich sind, um Software auf die nächste Stufe zu heben.
Bist du bereit, das sichere Codierungsfeuer in dir selbst zu entfachen? Stellen Sie sich der Herausforderung.

Eine Version dieses Artikels erschien in Dunkle Lektüre. Es wurde hier aktualisiert und syndiziert.
Wenn ich mit Entwicklern über Sicherheit spreche, lautet eines meiner Mantras, dass „der einzige Qualitätscode der sichere Code ist“. Das ist immer noch wahr; wir sind vielleicht einer Katastrophe entkommen, als anfällige Software in den 90er Jahren in der Wildnis herumlief, aber heute ist es das Risiko nicht wert. Viele haben im Laufe der Jahre hart daran gearbeitet, Entwicklern eine sicherheitsbewusste Denkweise zu vermitteln, und auf diese Weise hoffentlich Sicherheit zum Synonym für Qualität gemacht, wenn es um die Selbsteinschätzung ihres Codes geht.
Nach reiflicher Überlegung (und einigen Diskussionen unter meinen Kollegen) wird das Konzept jedoch möglicherweise zu stark vereinfacht. Es ist durchaus möglich, Code zu erstellen, der in der Tat sicher ist, aber Anzeichen einer neuen Entwicklungstechnik oder andere Problembereiche aufweist, die ihn nicht ideal machen.
Unsere Branche spricht ausführlich über den Begriff „Linksverschiebung“. Meiner Meinung nach geht es vor allem darum, links zu beginnen, indem die Ingenieurskohorten in die Lage versetzt werden, die Verantwortung für Sicherheit gemeinsam zu übernehmen (was ein Aspekt der Qualität ist), und ihnen die Möglichkeit zu geben, häufig auftretende Sicherheitslücken mit ihren (wörtlichen) Fingerspitzen zu beseitigen. Angesichts dieses aktuellen Rätsels scheint es jedoch, dass die Grenzen noch ein wenig weiter verschoben werden müssen.
El código con un determinado nivel de calidad es, por definición, también seguro, pero no todo código seguro es necesariamente de buena calidad. ¿Es el inicio «desde la izquierda» la fórmula para garantizar unos estándares de codificación puramente seguros?
Wie sieht ein Sicherheitscode von „schlechter Qualität“ aus?
Lassen Sie uns die Lupe über diesen Codeausschnitt legen:

Wenn wir diesen Code aus Sicherheitsgründen analysieren, ist dieses Snippet in der Tat sicher und kein Einstiegspunkt für einen Angreifer, um eine SQL Injection-Schwachstelle auszunutzen.
Ist es ein Beispiel für hochwertigen Code? Leider nicht wirklich. Eine einfache Änderung des Arguments von einem Minze (Heger) zu einem Schnur Wert ermöglicht eine freie Benutzereingabe, um die Abfrage zu manipulieren, im Gegensatz zu einer Zahl, die dies nicht kann. Diese Änderung — oder ein zufälliges Kopieren und Einfügen der Zeichenfolge sql von einer anderen Stelle — schafft sofort eine Umgebung, in der SQL-Injection-Schwachstellen mit allen damit verbundenen Risiken möglich sind:

Die Sicherheitsmaßnahmen hatten hier einen sehr begrenzten Anwendungsbereich, wohingegen ein gründlicherer (oder erfahrener) Entwickler möglicherweise einen anderen Ansatz gewählt und die Auswirkungen einer ineffizienten Argumentationsstruktur berücksichtigt hat. Ein solcher Code ist nicht nur eine schlechte Praxis, er ist auch ein schlechtes Beispiel für andere in der Entwicklungskohorte.
Die Software „Triple Threat“: Form, Funktion, festungsartig?
Eine „dreifache Bedrohung“ in der Unterhaltungsindustrie ist eine Person, die mit ebenso hohem Können schauspielern, tanzen und singen kann. Sie sind die Menschen, die bei jedem Vorsingen gefürchtet und beneidet werden, und sie sind die Einhörner eines ohnehin schon hart umkämpften Raums. Jede Branche hat ihre eigene Version eines erstklassigen, außergewöhnlichen Beispiels ihrer Produkte und Dienstleistungen, wobei Software keine Ausnahme bildet.
Wenn wir an drei Schlüsselelemente in Anwendungen denken, die bei gleicher (hoher) Qualität schwer auszubalancieren sind, könnten das Funktionalität/Eleganz plus uneingeschränkte Sicherheit sowie Wirtschaftlichkeit sein, wenn man die erforderliche Liefergeschwindigkeit berücksichtigt. Nun, dieses letzte Merkmal ist zweifellos ein entscheidender Faktor dafür, wie gut die anderen beiden Optionen angewendet werden, und es kann ein Katalysator dafür sein, dass die Gesamtqualität im Laufe der Zeit abnimmt.
Muss jedoch die gesamte Software wie Hugh Jackman funktionieren, oder können wir mit Nicolas Cage durchkommen? Sagen wir es so: Wenn du Wolverine in dein Team holen kannst, dann gibst du dein Bestes.
Martin Fowler stellte die Frage, Ist hohe Qualität die Kosten wert? in der Softwareentwicklung und kam zu dem Schluss, dass es sich nicht nur „gelohnt“ hat, sondern im Laufe der Zeit sogar billiger wurde. Die meisten Benutzer werden nicht unter die Haube schauen, um zu beurteilen, ob der Code ein Chaos ist oder ob Sicherheit genauso wichtig für alles andere gemacht wurde. Diejenigen, die die Tools verwenden, werden jedoch wertvolle Zeit damit verschwenden, schlampigen Code zu überarbeiten, um neue Funktionen hinzuzufügen, oder große Teile des Projekts zu durchsuchen, um zu verstehen, was vor sich geht, oder, im schlimmsten Fall: das Beheben einer Sicherheitslücke, die vom AppSec-Team zurückgekehrt ist und die Produktion verzögert hat. Jetzt Zeit damit zu verbringen, Code sowohl sicher als auch qualitativ hochwertig zu machen, erspart eine Menge zukünftiger Herzschmerz, ganz zu schweigen von den Kosten, die entstehen, wenn schlecht ausgeführte Arbeit enträtselt wird.
Erfahrene sicherheitsbewusste Entwickler schreiben Code, der ihre kreative, problemlösende Vision bei der Bereitstellung von Funktionen beibehält. Dabei wird darauf geachtet, die üblichen Sicherheitslücken zu beseitigen, die Ingenieure in ihrer Phase des Prozesses kontrollieren können. Sicherer Code ist für sich genommen nicht besonders effektiv. Aus diesem Grund trägt die Idee, „links von links“ zu beginnen, dazu bei, eine Sicherheitskultur zu fördern, die für Entwickler eine Selbstverständlichkeit ist und die in ihre Fähigkeit integriert ist, erstaunliche Funktionen mit reduziertem Risiko bereitzustellen.
Für eine sichere Benutzererfahrung ist es wichtig, „links von links“ zu beginnen.
Sicherheit spielt bei der Benutzererfahrung von Software seit langem eine wichtige Rolle, führte aber eindeutig zu gemischten Erfolgen. Fehlkonfigurationen im Sicherheitsbereich wurden berücksichtigt 21% der Cloud-basierten Datenschutzverletzungen im vergangenen Jahr, als Amateurfehler wie das Speichern von Passwörtern im Klartext zu schwerwiegenden Produktivitäts-, Umsatz- und Kundenvertrauensverlusten für die betroffenen Unternehmen führten.
Das, und die Benutzer selbst können ihr eigener schlimmster Feind sein, wenn es darum geht, ihre eigenen Daten zu schützen. Viel zu viele Leute verwenden immer noch „Passwort“ als Passwort oder verwenden dieselbe Kombination für mehrere vertrauliche Konten.
Ich kenne keinen Entwickler, der mit der Faust Luft macht, wenn ihnen gesagt wird, dass sie an einem Anmeldebildschirm arbeiten müssen, und das ist kein Wunder: Es ist ein empfindliches Gleichgewicht, einen Sicherheitsfluss zu entwerfen, der robust und funktional ist und in dem die Benutzer so navigieren können, wie es für sie sinnvoll ist, mit der geringsten Störung.
Wenn Sie zu viele komplexe Schritte und Einschränkungen einplanen, schalten Benutzer möglicherweise ab, um nie wieder zurückzukehren (eine Katastrophe für eine neue App), machen Sie es zu verwirrend, und Sie könnten das Support-Team am Ende kollektiv verunsichern, wenn sie Anfragen von Benutzern beantworten, die versuchen, auf ihre Konten zuzugreifen. Wenn Sie es zu einfach machen, versagen Sie irgendwie im Sicherheitsbereich.
Eine erfolgreiche sichere Benutzererfahrung muss strenge Sicherheitsvorkehrungen in einen sinnvollen Ablauf integrieren, der auf eine Weise präsentiert wird, die nicht von allem anderen ablenkt, was an der Software überzeugend ist. Sie können sicherlich das Ziel erreichen, eine sichere Anmeldefunktion zu programmieren, indem Sie alle möglichen komplexen Passwortanforderungen, CAPTCHA, Mini-Bosse und vier Wellen von Zombies eingeben, aber wenn es ein totales Durcheinander ist, das Benutzer abschreckt, verfehlt es das Ziel.
Legen Sie den Grundstein für Software-Exzellenz.
Da ich selbst Entwickler bin, weiß ich, dass die überwiegende Mehrheit von uns stolz auf unsere Arbeit ist und das Richtige tun möchte. Lästige Hindernisse wie Zeitbeschränkungen, plötzliche Änderungen des aktuellen Ziels oder dringende Hotfixes können den Arbeitsablauf stören und zu Fehlern führen, aber die harte Wahrheit ist, dass viele Softwareentwickler nicht auf Erfolg vorbereitet sind.
„Links von links“ zu beginnen ist ein Konzept, bei dem die Entwickler an erster Stelle stehen, und Unternehmen müssen ernsthaft daran arbeiten, ihre technische Kohorte zu verbessern. Sicherheitsbewusste Entwickler sind Gold wert, und Unterstützung in Form von Schulungen, der Bereitstellung der richtigen Tools und der Möglichkeit, von erfahreneren Entwicklern betreut zu werden, wird eine Umgebung fördern, in der Code mit einer sicherheitsorientierten Denkweise erstellt wird, mit der Präzision und Liebe zum Detail, die erforderlich sind, um Software auf die nächste Stufe zu heben.
Bist du bereit, das sichere Codierungsfeuer in dir selbst zu entfachen? Stellen Sie sich der Herausforderung.

Haga clic en el enlace de abajo y descargue el PDF de este recurso.
Secure Code Warrior a disposición de su empresa para ayudarle a proteger el código durante todo el ciclo de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es responsable de seguridad de aplicaciones, desarrollador, responsable de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su empresa a reducir los riesgos asociados al código inseguro.
Ver informeReservar una demostraciónMatias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.
Matías es un investigador y desarrollador con más de 15 años de experiencia práctica en seguridad de software. Ha desarrollado soluciones para empresas como Fortify Software y su propia empresa Sensei Security. A lo largo de su carrera, Matías ha dirigido múltiples proyectos de investigación sobre seguridad de aplicaciones que han dado lugar a productos comerciales y cuenta con más de 10 patentes en su haber. Cuando está lejos de su escritorio, Matias ha servido como instructor para la formación de seguridad de aplicaciones avanzadas courses y regularmente habla en conferencias mundiales como la Conferencia RSA, Black Hat, DefCon, BSIMM, OWASP AppSec y BruCon.
Matías es doctor en Ingeniería Informática por la Universidad de Gante, donde estudió la seguridad de las aplicaciones mediante la ofuscación de programas para ocultar el funcionamiento interno de una aplicación.
Eine Version dieses Artikels erschien in Dunkle Lektüre. Es wurde hier aktualisiert und syndiziert.
Wenn ich mit Entwicklern über Sicherheit spreche, lautet eines meiner Mantras, dass „der einzige Qualitätscode der sichere Code ist“. Das ist immer noch wahr; wir sind vielleicht einer Katastrophe entkommen, als anfällige Software in den 90er Jahren in der Wildnis herumlief, aber heute ist es das Risiko nicht wert. Viele haben im Laufe der Jahre hart daran gearbeitet, Entwicklern eine sicherheitsbewusste Denkweise zu vermitteln, und auf diese Weise hoffentlich Sicherheit zum Synonym für Qualität gemacht, wenn es um die Selbsteinschätzung ihres Codes geht.
Nach reiflicher Überlegung (und einigen Diskussionen unter meinen Kollegen) wird das Konzept jedoch möglicherweise zu stark vereinfacht. Es ist durchaus möglich, Code zu erstellen, der in der Tat sicher ist, aber Anzeichen einer neuen Entwicklungstechnik oder andere Problembereiche aufweist, die ihn nicht ideal machen.
Unsere Branche spricht ausführlich über den Begriff „Linksverschiebung“. Meiner Meinung nach geht es vor allem darum, links zu beginnen, indem die Ingenieurskohorten in die Lage versetzt werden, die Verantwortung für Sicherheit gemeinsam zu übernehmen (was ein Aspekt der Qualität ist), und ihnen die Möglichkeit zu geben, häufig auftretende Sicherheitslücken mit ihren (wörtlichen) Fingerspitzen zu beseitigen. Angesichts dieses aktuellen Rätsels scheint es jedoch, dass die Grenzen noch ein wenig weiter verschoben werden müssen.
El código con un determinado nivel de calidad es, por definición, también seguro, pero no todo código seguro es necesariamente de buena calidad. ¿Es el inicio «desde la izquierda» la fórmula para garantizar unos estándares de codificación puramente seguros?
Wie sieht ein Sicherheitscode von „schlechter Qualität“ aus?
Lassen Sie uns die Lupe über diesen Codeausschnitt legen:

Wenn wir diesen Code aus Sicherheitsgründen analysieren, ist dieses Snippet in der Tat sicher und kein Einstiegspunkt für einen Angreifer, um eine SQL Injection-Schwachstelle auszunutzen.
Ist es ein Beispiel für hochwertigen Code? Leider nicht wirklich. Eine einfache Änderung des Arguments von einem Minze (Heger) zu einem Schnur Wert ermöglicht eine freie Benutzereingabe, um die Abfrage zu manipulieren, im Gegensatz zu einer Zahl, die dies nicht kann. Diese Änderung — oder ein zufälliges Kopieren und Einfügen der Zeichenfolge sql von einer anderen Stelle — schafft sofort eine Umgebung, in der SQL-Injection-Schwachstellen mit allen damit verbundenen Risiken möglich sind:

Die Sicherheitsmaßnahmen hatten hier einen sehr begrenzten Anwendungsbereich, wohingegen ein gründlicherer (oder erfahrener) Entwickler möglicherweise einen anderen Ansatz gewählt und die Auswirkungen einer ineffizienten Argumentationsstruktur berücksichtigt hat. Ein solcher Code ist nicht nur eine schlechte Praxis, er ist auch ein schlechtes Beispiel für andere in der Entwicklungskohorte.
Die Software „Triple Threat“: Form, Funktion, festungsartig?
Eine „dreifache Bedrohung“ in der Unterhaltungsindustrie ist eine Person, die mit ebenso hohem Können schauspielern, tanzen und singen kann. Sie sind die Menschen, die bei jedem Vorsingen gefürchtet und beneidet werden, und sie sind die Einhörner eines ohnehin schon hart umkämpften Raums. Jede Branche hat ihre eigene Version eines erstklassigen, außergewöhnlichen Beispiels ihrer Produkte und Dienstleistungen, wobei Software keine Ausnahme bildet.
Wenn wir an drei Schlüsselelemente in Anwendungen denken, die bei gleicher (hoher) Qualität schwer auszubalancieren sind, könnten das Funktionalität/Eleganz plus uneingeschränkte Sicherheit sowie Wirtschaftlichkeit sein, wenn man die erforderliche Liefergeschwindigkeit berücksichtigt. Nun, dieses letzte Merkmal ist zweifellos ein entscheidender Faktor dafür, wie gut die anderen beiden Optionen angewendet werden, und es kann ein Katalysator dafür sein, dass die Gesamtqualität im Laufe der Zeit abnimmt.
Muss jedoch die gesamte Software wie Hugh Jackman funktionieren, oder können wir mit Nicolas Cage durchkommen? Sagen wir es so: Wenn du Wolverine in dein Team holen kannst, dann gibst du dein Bestes.
Martin Fowler stellte die Frage, Ist hohe Qualität die Kosten wert? in der Softwareentwicklung und kam zu dem Schluss, dass es sich nicht nur „gelohnt“ hat, sondern im Laufe der Zeit sogar billiger wurde. Die meisten Benutzer werden nicht unter die Haube schauen, um zu beurteilen, ob der Code ein Chaos ist oder ob Sicherheit genauso wichtig für alles andere gemacht wurde. Diejenigen, die die Tools verwenden, werden jedoch wertvolle Zeit damit verschwenden, schlampigen Code zu überarbeiten, um neue Funktionen hinzuzufügen, oder große Teile des Projekts zu durchsuchen, um zu verstehen, was vor sich geht, oder, im schlimmsten Fall: das Beheben einer Sicherheitslücke, die vom AppSec-Team zurückgekehrt ist und die Produktion verzögert hat. Jetzt Zeit damit zu verbringen, Code sowohl sicher als auch qualitativ hochwertig zu machen, erspart eine Menge zukünftiger Herzschmerz, ganz zu schweigen von den Kosten, die entstehen, wenn schlecht ausgeführte Arbeit enträtselt wird.
Erfahrene sicherheitsbewusste Entwickler schreiben Code, der ihre kreative, problemlösende Vision bei der Bereitstellung von Funktionen beibehält. Dabei wird darauf geachtet, die üblichen Sicherheitslücken zu beseitigen, die Ingenieure in ihrer Phase des Prozesses kontrollieren können. Sicherer Code ist für sich genommen nicht besonders effektiv. Aus diesem Grund trägt die Idee, „links von links“ zu beginnen, dazu bei, eine Sicherheitskultur zu fördern, die für Entwickler eine Selbstverständlichkeit ist und die in ihre Fähigkeit integriert ist, erstaunliche Funktionen mit reduziertem Risiko bereitzustellen.
Für eine sichere Benutzererfahrung ist es wichtig, „links von links“ zu beginnen.
Sicherheit spielt bei der Benutzererfahrung von Software seit langem eine wichtige Rolle, führte aber eindeutig zu gemischten Erfolgen. Fehlkonfigurationen im Sicherheitsbereich wurden berücksichtigt 21% der Cloud-basierten Datenschutzverletzungen im vergangenen Jahr, als Amateurfehler wie das Speichern von Passwörtern im Klartext zu schwerwiegenden Produktivitäts-, Umsatz- und Kundenvertrauensverlusten für die betroffenen Unternehmen führten.
Das, und die Benutzer selbst können ihr eigener schlimmster Feind sein, wenn es darum geht, ihre eigenen Daten zu schützen. Viel zu viele Leute verwenden immer noch „Passwort“ als Passwort oder verwenden dieselbe Kombination für mehrere vertrauliche Konten.
Ich kenne keinen Entwickler, der mit der Faust Luft macht, wenn ihnen gesagt wird, dass sie an einem Anmeldebildschirm arbeiten müssen, und das ist kein Wunder: Es ist ein empfindliches Gleichgewicht, einen Sicherheitsfluss zu entwerfen, der robust und funktional ist und in dem die Benutzer so navigieren können, wie es für sie sinnvoll ist, mit der geringsten Störung.
Wenn Sie zu viele komplexe Schritte und Einschränkungen einplanen, schalten Benutzer möglicherweise ab, um nie wieder zurückzukehren (eine Katastrophe für eine neue App), machen Sie es zu verwirrend, und Sie könnten das Support-Team am Ende kollektiv verunsichern, wenn sie Anfragen von Benutzern beantworten, die versuchen, auf ihre Konten zuzugreifen. Wenn Sie es zu einfach machen, versagen Sie irgendwie im Sicherheitsbereich.
Eine erfolgreiche sichere Benutzererfahrung muss strenge Sicherheitsvorkehrungen in einen sinnvollen Ablauf integrieren, der auf eine Weise präsentiert wird, die nicht von allem anderen ablenkt, was an der Software überzeugend ist. Sie können sicherlich das Ziel erreichen, eine sichere Anmeldefunktion zu programmieren, indem Sie alle möglichen komplexen Passwortanforderungen, CAPTCHA, Mini-Bosse und vier Wellen von Zombies eingeben, aber wenn es ein totales Durcheinander ist, das Benutzer abschreckt, verfehlt es das Ziel.
Legen Sie den Grundstein für Software-Exzellenz.
Da ich selbst Entwickler bin, weiß ich, dass die überwiegende Mehrheit von uns stolz auf unsere Arbeit ist und das Richtige tun möchte. Lästige Hindernisse wie Zeitbeschränkungen, plötzliche Änderungen des aktuellen Ziels oder dringende Hotfixes können den Arbeitsablauf stören und zu Fehlern führen, aber die harte Wahrheit ist, dass viele Softwareentwickler nicht auf Erfolg vorbereitet sind.
„Links von links“ zu beginnen ist ein Konzept, bei dem die Entwickler an erster Stelle stehen, und Unternehmen müssen ernsthaft daran arbeiten, ihre technische Kohorte zu verbessern. Sicherheitsbewusste Entwickler sind Gold wert, und Unterstützung in Form von Schulungen, der Bereitstellung der richtigen Tools und der Möglichkeit, von erfahreneren Entwicklern betreut zu werden, wird eine Umgebung fördern, in der Code mit einer sicherheitsorientierten Denkweise erstellt wird, mit der Präzision und Liebe zum Detail, die erforderlich sind, um Software auf die nächste Stufe zu heben.
Bist du bereit, das sichere Codierungsfeuer in dir selbst zu entfachen? Stellen Sie sich der Herausforderung.
Índice
Matias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.

Secure Code Warrior a disposición de su empresa para ayudarle a proteger el código durante todo el ciclo de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es responsable de seguridad de aplicaciones, desarrollador, responsable de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su empresa a reducir los riesgos asociados al código inseguro.
Reservar una demostraciónDescargarRecursos para empezar
Temas y contenidos de la formación Securecode
Nuestros contenidos líderes en el sector se desarrollan continuamente para adaptarse al cambiante panorama del desarrollo de software, teniendo en cuenta su función. Temas que abarcan desde la inteligencia artificial hasta la inyección XQuery y que se ofrecen para una amplia variedad de funciones, desde arquitectos e ingenieros hasta gestores de productos y control de calidad. Eche un vistazo a nuestro catálogo de contenidos por temas y funciones.
La Cámara de Comercio establece el estándar para la seguridad impulsada por desarrolladores a gran escala
Kamer van Koophandel comparte cómo ha integrado la codificación segura en el desarrollo diario mediante certificaciones basadas en roles, evaluaciones comparativas de Trust Score y una cultura de responsabilidad compartida en materia de seguridad.
Modelado de amenazas con IA: convertir a cada desarrollador en un modelador de amenazas
Saldrá mejor equipado para ayudar a los desarrolladores a combinar ideas y técnicas de modelado de amenazas con las herramientas de IA que ya utilizan para reforzar la seguridad, mejorar la colaboración y crear software más resistente desde el principio.
Recursos para empezar
Cybermon ha vuelto: ¡Derrota al jefe! Las misiones KI ya están disponibles bajo demanda.
Cybermon 2025 Beat the Boss ya está disponible durante todo el año en SCW. Utiliza requisitos de seguridad avanzados de IA/LLM para reforzar el desarrollo seguro de la IA a gran escala.
Explicación de la Ley de Resiliencia Cibernética: qué significa para el desarrollo de software Secure by Design
Descubra qué exige la Ley de Ciberresiliencia de la UE (CRA), a quién se aplica y cómo los equipos de desarrollo pueden prepararse para ella mediante métodos seguros, la prevención de vulnerabilidades de seguridad y el desarrollo de capacidades para los desarrolladores.
Facilitador 1: Criterios de éxito definidos y medibles
El facilitador 1 abre nuestra serie de diez partes titulada «Facilitadores del éxito» y muestra cómo la codificación segura puede combinarse con resultados empresariales como la reducción de riesgos y la velocidad para lograr la madurez del programa a largo plazo.




%20(1).avif)
.avif)
