
„Links von links“ beginnen: Ist Sicherheitscode immer Qualitätscode?
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.
Code mit einem bestimmten Qualitätsniveau ist per Definition auch sicher, aber jeder sichere Code ist nicht unbedingt von guter Qualität. Ist das Starten von „links von links“ die Formel, um reine sichere Codierungsstandards zu gewährleisten?
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.


Code mit einem bestimmten Qualitätsniveau ist per Definition auch sicher, aber jeder sichere Code ist nicht unbedingt von guter Qualität. Ist das Starten von „links von links“ die Formel, um reine sichere Codierungsstandards zu gewährleisten?
Matias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.

Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.
Réserver une démonstrationMatias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.
Matias est un chercheur et un développeur qui possède plus de 15 ans d'expérience pratique dans le domaine de la sécurité des logiciels. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre entreprise Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont débouché sur des produits commerciaux et peut se targuer d'avoir déposé plus de 10 brevets. Lorsqu'il n'est pas à son bureau, Matias a été instructeur pour des formations avancées en matière de sécurité des applications ( courses ) et intervient régulièrement lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.
Matias est titulaire d'un doctorat en ingénierie informatique de l'Université de Gand, où il a étudié la sécurité des applications par le biais de l'obscurcissement des programmes afin de dissimuler le fonctionnement interne d'une application.


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.
Code mit einem bestimmten Qualitätsniveau ist per Definition auch sicher, aber jeder sichere Code ist nicht unbedingt von guter Qualität. Ist das Starten von „links von links“ die Formel, um reine sichere Codierungsstandards zu gewährleisten?
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.
Code mit einem bestimmten Qualitätsniveau ist per Definition auch sicher, aber jeder sichere Code ist nicht unbedingt von guter Qualität. Ist das Starten von „links von links“ die Formel, um reine sichere Codierungsstandards zu gewährleisten?
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.

Veuillez cliquer sur le lien ci-dessous et télécharger le PDF de cette ressource.
Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.
Consulter le rapportRéserver une démonstrationMatias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.
Matias est un chercheur et un développeur qui possède plus de 15 ans d'expérience pratique dans le domaine de la sécurité des logiciels. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre entreprise Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont débouché sur des produits commerciaux et peut se targuer d'avoir déposé plus de 10 brevets. Lorsqu'il n'est pas à son bureau, Matias a été instructeur pour des formations avancées en matière de sécurité des applications ( courses ) et intervient régulièrement lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.
Matias est titulaire d'un doctorat en ingénierie informatique de l'Université de Gand, où il a étudié la sécurité des applications par le biais de l'obscurcissement des programmes afin de dissimuler le fonctionnement interne d'une application.
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.
Code mit einem bestimmten Qualitätsniveau ist per Definition auch sicher, aber jeder sichere Code ist nicht unbedingt von guter Qualität. Ist das Starten von „links von links“ die Formel, um reine sichere Codierungsstandards zu gewährleisten?
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.
Table des matières
Matias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.

Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.
Réserver une démonstrationTéléchargerRessources pour débuter
Thèmes et contenus de la formation Securecode
Nos contenus de pointe sont constamment développés afin de s'adapter à l'évolution constante du paysage du développement logiciel, en tenant compte de votre rôle. Les thèmes abordés couvrent tous les domaines, de l'IA à l'injection XQuery, et sont proposés pour une multitude de rôles, des architectes et ingénieurs aux chefs de produit et responsables assurance qualité. Nous vous invitons à découvrir un aperçu de notre catalogue de contenus classés par thème et par rôle.
La Chambre de commerce établit la norme en matière de sécurité à grande échelle axée sur les développeurs
La Chambre de commerce néerlandaise explique comment elle a intégré le codage sécurisé dans le développement quotidien grâce à des certifications basées sur les rôles, à l'évaluation comparative du Trust Score et à une culture de responsabilité partagée en matière de sécurité.
Modélisation des menaces avec l'IA : transformer chaque développeur en modélisateur de menaces
Vous repartirez mieux équipé pour aider les développeurs à combiner les idées et les techniques de modélisation des menaces avec les outils d'IA qu'ils utilisent déjà pour renforcer la sécurité, améliorer la collaboration et créer des logiciels plus résilients dès le départ.
Ressources pour débuter
Cybermon est de retour : les missions KI « Beat the Boss » sont désormais disponibles sur demande.
Cybermon 2025 Beat the Boss est désormais disponible toute l'année dans SCW. Il utilise des exigences de sécurité IA/LLM avancées pour renforcer le développement sécurisé de l'IA à grande échelle.
Explication de la loi sur la cyber-résilience : implications pour le développement de logiciels sécurisés dès la conception
Découvrez les exigences de la loi européenne sur la cyber-résilience (CRA), à qui elle s'applique et comment les équipes de développement peuvent s'y préparer en adoptant des méthodes sécurisées, en prévenant les failles de sécurité et en renforçant les compétences des développeurs.
Facteur 1 : Critères de réussite définis et mesurables
Le catalyseur n° 1 inaugure notre série en dix parties intitulée « Les catalyseurs de la réussite » et démontre comment un codage sécurisé peut être associé à des résultats commerciaux tels que la réduction des risques et la rapidité afin d'atteindre une maturité programmatique à long terme.




%20(1).avif)
.avif)
