Prävention im Zeitalter der unendlichen Angriffsfläche
Eine Version dieses Artikels erschien in der SD-Zeiten. Er wurde aktualisiert und hier wiedergegeben.
Wenn wir über Fortschritt sprechen, steht in der Regel der digitale Fortschritt im Vordergrund des Gesprächs. Wir wollen alles besser, schneller, bequemer, leistungsfähiger und mit weniger Geld, Zeit und Risiko erreichen. In den meisten Fällen werden diese "unmöglichen" Ziele schließlich erreicht. Es kann zwar mehrere Jahre und mehrere Versionen dauern (und ein Team von Entwicklern, das einen Putsch anzettelt, wenn es noch ein einziges Mal gebeten wird, beim Funktionsdesign einen anderen Gang einzulegen), aber jeden Tag verändert der Code da draußen die Welt.
Mit einer großen Softwareexpansion geht jedoch auch eine große Verantwortung einher, und die Realität ist, dass wir aus der Sicherheitsperspektive einfach noch nicht bereit sind, damit umzugehen. Die Softwareentwicklung ist keine Insel mehr, und wenn wir alle Aspekte des softwarebasierten Risikos berücksichtigen - von der Cloud über eingebettete Systeme in Geräten und Fahrzeugen bis hin zu unserer kritischen Infrastruktur, ganz zu schweigen von den APIs, die alles miteinander verbinden - ist die Angriffsfläche grenzenlos und außer Kontrolle.
Wir können keine magische Zeit erwarten, in der jede Codezeile von erfahrenen Sicherheitsexperten akribisch geprüft wird - diese Qualifikationslücke wird sich in absehbarer Zeit nicht schließen -, aber wir können als Branche einen ganzheitlicheren Ansatz für die Sicherheit auf Codeebene verfolgen.
Lassen Sie uns untersuchen, wie wir diese unendliche Angriffsfläche mit den uns zur Verfügung stehenden Tools eindämmen können:
Seien Sie realistisch, was das Geschäftsrisiko angeht (und was Sie bereit sind zu akzeptieren)
Perfekte Sicherheit ist nicht von Dauer, aber es ist auch nicht möglich, sich die Augen zu verbinden und so zu tun, als sei alles in Butter. Wir wissen bereits, dass Unternehmen wissentlich anfälligen Code ausliefern, und dies ist eindeutig ein kalkuliertes Risiko, das auf der Markteinführungszeit neuer Funktionen und Produkte beruht.
Sicherheit im Eiltempo ist eine Herausforderung, vor allem dort, wo DevSecOps nicht zur Standardentwicklungsmethodik gehört. Wir brauchen uns jedoch nur den jüngsten Log4Shell-Exploit anzusehen, um zu erkennen, wie relativ kleine Sicherheitslücken im Code Möglichkeiten für einen erfolgreichen Angriff eröffnet haben, und um zu sehen, dass die Folgen dieser kalkulierten Risiken für die Auslieferung von minderwertigem Code viel größer sein könnten als angenommen.
Gewöhnen Sie sich daran, ein (Zugangs-)Kontrollfreak zu sein
Eine alarmierende Anzahl von kostspieligen Datenschutzverletzungen wird durch schlecht konfigurierte Cloud-Speicherumgebungen verursacht, und die Gefahr der Offenlegung sensibler Daten aufgrund von Fehlern bei der Zugriffskontrolle beschäftigt die Sicherheitsteams in den meisten Unternehmen weiterhin.
Im Jahr 2019 musste das Fortune-500-Unternehmen First American Financial Corp. diese Erfahrung auf die harte Tour machen. Ein Authentifizierungsfehler - der relativ einfach zu beheben war - führte zur Offenlegung von über 800 Millionen Datensätzen, darunter Kontoauszüge, Hypothekenverträge und Fotoausweise. Die Links zu den Dokumenten erforderten keine Benutzeridentifizierung oder Anmeldung, so dass sie für jeden mit einem Webbrowser zugänglich waren. Schlimmer noch, sie wurden mit fortlaufenden Nummern protokolliert, was bedeutet, dass eine einfache Änderung der Nummer im Link einen neuen Datensatz enthüllte.
Dieses Sicherheitsproblem wurde intern erkannt, bevor es in den Medien aufgedeckt wurde. Allerdings führten Versäumnisse bei der korrekten Einstufung als Hochrisiko-Sicherheitsproblem und das Versäumnis, es der Geschäftsleitung zur dringenden Behebung zu melden, zu Auswirkungen, die bis heute andauern.
Es gibt einen Grund dafür, dass eine unzureichende Zugriffskontrolle jetzt ganz oben auf der OWASP Top 10 steht: Sie ist weit verbreitet und Entwickler benötigen ein verifiziertes Sicherheitsbewusstsein und praktische Fähigkeiten, um Best Practices rund um Authentifizierung und Privilegien in ihren eigenen Builds zu beherrschen und sicherzustellen, dass Prüfungen und Maßnahmen zum Schutz sensibler Daten vorhanden sind.
Die Natur von APIs macht sie besonders relevant und heikel; sie sind von vornherein sehr gesprächig mit anderen Anwendungen, und Entwicklungsteams sollten alle potenziellen Zugangspunkte im Blick haben. Schließlich können sie in ihrem Bestreben, sichere Software bereitzustellen, keine unbekannten Variablen und Anwendungsfälle berücksichtigen.
Analysieren Sie Ihr Sicherheitsprogramm: Wie viel Wert wird auf Prävention gelegt?
Es ist sinnvoll, dass ein großer Teil eines Sicherheitsprogramms der Reaktion auf einen Vorfall gewidmet ist, aber viele Unternehmen verpassen eine wertvolle Risikominimierung, indem sie nicht alle verfügbaren Ressourcen nutzen, um einen Sicherheitsvorfall von vornherein zu verhindern.
Sicher, es gibt umfassende Sicherheitstools, die bei der Aufdeckung problematischer Fehler helfen, aber fast 50 % der Unternehmen gaben zu, dass sie Code ausgeliefert haben, von dem sie wussten, dass er anfällig ist. Zeitmangel, die Komplexität der Toolsets und der Mangel an geschulten Experten, die auf Meldungen reagieren können, tragen dazu bei, dass es sich im Wesentlichen um ein kalkuliertes Risiko handelt. Die Tatsache, dass Code in der Cloud, in Anwendungen, in API-Funktionen, eingebetteten Systemen, Bibliotheken und einer sich ständig erweiternden Technologielandschaft gesichert werden muss, sorgt jedoch dafür, dass wir mit dem derzeitigen Ansatz immer einen Schritt hinterherhinken werden.
Sicherheitsfehler sind ein von Menschen verursachtes Problem, und wir können nicht erwarten, dass Roboter die ganze Arbeit für uns erledigen. Wenn Ihre Entwickler nicht effektiv weitergebildet werden - nicht nur durch ein jährliches Seminar, sondern durch geeignete Ausbildungsbausteine - dann besteht immer die Gefahr, dass Sie minderwertigen Code als Standard akzeptieren und das damit verbundene Sicherheitsrisiko in Kauf nehmen.
Haben Sie die Bereitschaft Ihrer Entwickler überschätzt?
Entwickler werden selten nach ihren Fähigkeiten zur sicheren Programmierung beurteilt, und es ist nicht ihre Priorität (und in vielen Fällen auch kein KPI). Sie können nicht die Sündenböcke für schlechte Sicherheitspraktiken sein, wenn ihnen kein besserer Weg aufgezeigt oder gesagt wird, dass dies ein Maßstab für ihren Erfolg ist.
Allzu oft wird in Unternehmen jedoch davon ausgegangen, dass die bereitgestellten Anleitungen das Entwicklungsteam wirksam auf die Eindämmung gängiger Sicherheitsrisiken vorbereitet haben. Je nach Schulung und Bewusstsein für die Anwendung bewährter Sicherheitspraktiken sind sie möglicherweise nicht darauf vorbereitet, die wünschenswerte erste Verteidigungslinie zu sein (und endlose Injektionsfehler zu verhindern, die die Pentestberichte verstopfen).
Der Idealzustand ist, dass Lernpfade von zunehmender Komplexität absolviert werden und die daraus resultierenden Fähigkeiten überprüft werden, um sicherzustellen, dass sie für den Entwickler in der realen Welt tatsächlich funktionieren. Dies erfordert jedoch einen kulturellen Standard, bei dem die Entwickler von Anfang an berücksichtigt und korrekt befähigt werden. Wenn wir uns als Branche in die Wildnis begeben, um diese riesige Codelandschaft, die wir selbst geschaffen haben, zu verteidigen, brauchen wir jede Hilfe, die wir bekommen können... und es gibt mehr davon direkt vor unserer Nase, als uns bewusst ist.
Die Softwareentwicklung ist keine Insel mehr, und wenn wir alle Aspekte des softwarebasierten Risikos berücksichtigen - von der Cloud über eingebettete Systeme in Geräten und Fahrzeugen bis hin zu unserer kritischen Infrastruktur, ganz zu schweigen von den APIs, die alles miteinander verbinden - ist die Angriffsfläche grenzenlos und außer Kontrolle.
Matias Madou, Ph.D., ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent im Bereich Anwendungssicherheit und konzentrierte sich dabei auf statische Analyselösungen. Später wechselte er zu Fortify in den USA, wo er erkannte, dass es nicht ausreicht, nur Codeprobleme zu erkennen, ohne den Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, den Aufwand für die Sicherheit verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht an seinem Schreibtisch im Team Awesome sitzt, steht er gerne auf der Bühne und hält Vorträge auf Konferenzen wie der RSA Conference, BlackHat und DefCon.
Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Demo buchenMatias Madou, Ph.D., ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent im Bereich Anwendungssicherheit und konzentrierte sich dabei auf statische Analyselösungen. Später wechselte er zu Fortify in den USA, wo er erkannte, dass es nicht ausreicht, nur Codeprobleme zu erkennen, ohne den Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, den Aufwand für die Sicherheit verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht an seinem Schreibtisch im Team Awesome sitzt, steht er gerne auf der Bühne und hält Vorträge auf Konferenzen wie der RSA Conference, BlackHat und DefCon.
Matias ist ein Forscher und Entwickler mit mehr als 15 Jahren praktischer Erfahrung im Bereich der Softwaresicherheit. Er hat Lösungen für Unternehmen wie Fortify Software und sein eigenes Unternehmen Sensei Security entwickelt. Im Laufe seiner Karriere hat Matias mehrere Forschungsprojekte zur Anwendungssicherheit geleitet, die zu kommerziellen Produkten geführt haben, und kann auf über 10 Patente verweisen. Wenn er nicht am Schreibtisch sitzt, ist Matias als Ausbilder für fortgeschrittene Anwendungssicherheitstrainings courses tätig und hält regelmäßig Vorträge auf globalen Konferenzen wie RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec und BruCon.
Matias hat einen Doktortitel in Computertechnik von der Universität Gent, wo er die Sicherheit von Anwendungen durch Programmverschleierung untersuchte, um die innere Funktionsweise einer Anwendung zu verbergen.
Eine Version dieses Artikels erschien in der SD-Zeiten. Er wurde aktualisiert und hier wiedergegeben.
Wenn wir über Fortschritt sprechen, steht in der Regel der digitale Fortschritt im Vordergrund des Gesprächs. Wir wollen alles besser, schneller, bequemer, leistungsfähiger und mit weniger Geld, Zeit und Risiko erreichen. In den meisten Fällen werden diese "unmöglichen" Ziele schließlich erreicht. Es kann zwar mehrere Jahre und mehrere Versionen dauern (und ein Team von Entwicklern, das einen Putsch anzettelt, wenn es noch ein einziges Mal gebeten wird, beim Funktionsdesign einen anderen Gang einzulegen), aber jeden Tag verändert der Code da draußen die Welt.
Mit einer großen Softwareexpansion geht jedoch auch eine große Verantwortung einher, und die Realität ist, dass wir aus der Sicherheitsperspektive einfach noch nicht bereit sind, damit umzugehen. Die Softwareentwicklung ist keine Insel mehr, und wenn wir alle Aspekte des softwarebasierten Risikos berücksichtigen - von der Cloud über eingebettete Systeme in Geräten und Fahrzeugen bis hin zu unserer kritischen Infrastruktur, ganz zu schweigen von den APIs, die alles miteinander verbinden - ist die Angriffsfläche grenzenlos und außer Kontrolle.
Wir können keine magische Zeit erwarten, in der jede Codezeile von erfahrenen Sicherheitsexperten akribisch geprüft wird - diese Qualifikationslücke wird sich in absehbarer Zeit nicht schließen -, aber wir können als Branche einen ganzheitlicheren Ansatz für die Sicherheit auf Codeebene verfolgen.
Lassen Sie uns untersuchen, wie wir diese unendliche Angriffsfläche mit den uns zur Verfügung stehenden Tools eindämmen können:
Seien Sie realistisch, was das Geschäftsrisiko angeht (und was Sie bereit sind zu akzeptieren)
Perfekte Sicherheit ist nicht von Dauer, aber es ist auch nicht möglich, sich die Augen zu verbinden und so zu tun, als sei alles in Butter. Wir wissen bereits, dass Unternehmen wissentlich anfälligen Code ausliefern, und dies ist eindeutig ein kalkuliertes Risiko, das auf der Markteinführungszeit neuer Funktionen und Produkte beruht.
Sicherheit im Eiltempo ist eine Herausforderung, vor allem dort, wo DevSecOps nicht zur Standardentwicklungsmethodik gehört. Wir brauchen uns jedoch nur den jüngsten Log4Shell-Exploit anzusehen, um zu erkennen, wie relativ kleine Sicherheitslücken im Code Möglichkeiten für einen erfolgreichen Angriff eröffnet haben, und um zu sehen, dass die Folgen dieser kalkulierten Risiken für die Auslieferung von minderwertigem Code viel größer sein könnten als angenommen.
Gewöhnen Sie sich daran, ein (Zugangs-)Kontrollfreak zu sein
Eine alarmierende Anzahl von kostspieligen Datenschutzverletzungen wird durch schlecht konfigurierte Cloud-Speicherumgebungen verursacht, und die Gefahr der Offenlegung sensibler Daten aufgrund von Fehlern bei der Zugriffskontrolle beschäftigt die Sicherheitsteams in den meisten Unternehmen weiterhin.
Im Jahr 2019 musste das Fortune-500-Unternehmen First American Financial Corp. diese Erfahrung auf die harte Tour machen. Ein Authentifizierungsfehler - der relativ einfach zu beheben war - führte zur Offenlegung von über 800 Millionen Datensätzen, darunter Kontoauszüge, Hypothekenverträge und Fotoausweise. Die Links zu den Dokumenten erforderten keine Benutzeridentifizierung oder Anmeldung, so dass sie für jeden mit einem Webbrowser zugänglich waren. Schlimmer noch, sie wurden mit fortlaufenden Nummern protokolliert, was bedeutet, dass eine einfache Änderung der Nummer im Link einen neuen Datensatz enthüllte.
Dieses Sicherheitsproblem wurde intern erkannt, bevor es in den Medien aufgedeckt wurde. Allerdings führten Versäumnisse bei der korrekten Einstufung als Hochrisiko-Sicherheitsproblem und das Versäumnis, es der Geschäftsleitung zur dringenden Behebung zu melden, zu Auswirkungen, die bis heute andauern.
Es gibt einen Grund dafür, dass eine unzureichende Zugriffskontrolle jetzt ganz oben auf der OWASP Top 10 steht: Sie ist weit verbreitet und Entwickler benötigen ein verifiziertes Sicherheitsbewusstsein und praktische Fähigkeiten, um Best Practices rund um Authentifizierung und Privilegien in ihren eigenen Builds zu beherrschen und sicherzustellen, dass Prüfungen und Maßnahmen zum Schutz sensibler Daten vorhanden sind.
Die Natur von APIs macht sie besonders relevant und heikel; sie sind von vornherein sehr gesprächig mit anderen Anwendungen, und Entwicklungsteams sollten alle potenziellen Zugangspunkte im Blick haben. Schließlich können sie in ihrem Bestreben, sichere Software bereitzustellen, keine unbekannten Variablen und Anwendungsfälle berücksichtigen.
Analysieren Sie Ihr Sicherheitsprogramm: Wie viel Wert wird auf Prävention gelegt?
Es ist sinnvoll, dass ein großer Teil eines Sicherheitsprogramms der Reaktion auf einen Vorfall gewidmet ist, aber viele Unternehmen verpassen eine wertvolle Risikominimierung, indem sie nicht alle verfügbaren Ressourcen nutzen, um einen Sicherheitsvorfall von vornherein zu verhindern.
Sicher, es gibt umfassende Sicherheitstools, die bei der Aufdeckung problematischer Fehler helfen, aber fast 50 % der Unternehmen gaben zu, dass sie Code ausgeliefert haben, von dem sie wussten, dass er anfällig ist. Zeitmangel, die Komplexität der Toolsets und der Mangel an geschulten Experten, die auf Meldungen reagieren können, tragen dazu bei, dass es sich im Wesentlichen um ein kalkuliertes Risiko handelt. Die Tatsache, dass Code in der Cloud, in Anwendungen, in API-Funktionen, eingebetteten Systemen, Bibliotheken und einer sich ständig erweiternden Technologielandschaft gesichert werden muss, sorgt jedoch dafür, dass wir mit dem derzeitigen Ansatz immer einen Schritt hinterherhinken werden.
Sicherheitsfehler sind ein von Menschen verursachtes Problem, und wir können nicht erwarten, dass Roboter die ganze Arbeit für uns erledigen. Wenn Ihre Entwickler nicht effektiv weitergebildet werden - nicht nur durch ein jährliches Seminar, sondern durch geeignete Ausbildungsbausteine - dann besteht immer die Gefahr, dass Sie minderwertigen Code als Standard akzeptieren und das damit verbundene Sicherheitsrisiko in Kauf nehmen.
Haben Sie die Bereitschaft Ihrer Entwickler überschätzt?
Entwickler werden selten nach ihren Fähigkeiten zur sicheren Programmierung beurteilt, und es ist nicht ihre Priorität (und in vielen Fällen auch kein KPI). Sie können nicht die Sündenböcke für schlechte Sicherheitspraktiken sein, wenn ihnen kein besserer Weg aufgezeigt oder gesagt wird, dass dies ein Maßstab für ihren Erfolg ist.
Allzu oft wird in Unternehmen jedoch davon ausgegangen, dass die bereitgestellten Anleitungen das Entwicklungsteam wirksam auf die Eindämmung gängiger Sicherheitsrisiken vorbereitet haben. Je nach Schulung und Bewusstsein für die Anwendung bewährter Sicherheitspraktiken sind sie möglicherweise nicht darauf vorbereitet, die wünschenswerte erste Verteidigungslinie zu sein (und endlose Injektionsfehler zu verhindern, die die Pentestberichte verstopfen).
Der Idealzustand ist, dass Lernpfade von zunehmender Komplexität absolviert werden und die daraus resultierenden Fähigkeiten überprüft werden, um sicherzustellen, dass sie für den Entwickler in der realen Welt tatsächlich funktionieren. Dies erfordert jedoch einen kulturellen Standard, bei dem die Entwickler von Anfang an berücksichtigt und korrekt befähigt werden. Wenn wir uns als Branche in die Wildnis begeben, um diese riesige Codelandschaft, die wir selbst geschaffen haben, zu verteidigen, brauchen wir jede Hilfe, die wir bekommen können... und es gibt mehr davon direkt vor unserer Nase, als uns bewusst ist.
Eine Version dieses Artikels erschien in der SD-Zeiten. Er wurde aktualisiert und hier wiedergegeben.
Wenn wir über Fortschritt sprechen, steht in der Regel der digitale Fortschritt im Vordergrund des Gesprächs. Wir wollen alles besser, schneller, bequemer, leistungsfähiger und mit weniger Geld, Zeit und Risiko erreichen. In den meisten Fällen werden diese "unmöglichen" Ziele schließlich erreicht. Es kann zwar mehrere Jahre und mehrere Versionen dauern (und ein Team von Entwicklern, das einen Putsch anzettelt, wenn es noch ein einziges Mal gebeten wird, beim Funktionsdesign einen anderen Gang einzulegen), aber jeden Tag verändert der Code da draußen die Welt.
Mit einer großen Softwareexpansion geht jedoch auch eine große Verantwortung einher, und die Realität ist, dass wir aus der Sicherheitsperspektive einfach noch nicht bereit sind, damit umzugehen. Die Softwareentwicklung ist keine Insel mehr, und wenn wir alle Aspekte des softwarebasierten Risikos berücksichtigen - von der Cloud über eingebettete Systeme in Geräten und Fahrzeugen bis hin zu unserer kritischen Infrastruktur, ganz zu schweigen von den APIs, die alles miteinander verbinden - ist die Angriffsfläche grenzenlos und außer Kontrolle.
Wir können keine magische Zeit erwarten, in der jede Codezeile von erfahrenen Sicherheitsexperten akribisch geprüft wird - diese Qualifikationslücke wird sich in absehbarer Zeit nicht schließen -, aber wir können als Branche einen ganzheitlicheren Ansatz für die Sicherheit auf Codeebene verfolgen.
Lassen Sie uns untersuchen, wie wir diese unendliche Angriffsfläche mit den uns zur Verfügung stehenden Tools eindämmen können:
Seien Sie realistisch, was das Geschäftsrisiko angeht (und was Sie bereit sind zu akzeptieren)
Perfekte Sicherheit ist nicht von Dauer, aber es ist auch nicht möglich, sich die Augen zu verbinden und so zu tun, als sei alles in Butter. Wir wissen bereits, dass Unternehmen wissentlich anfälligen Code ausliefern, und dies ist eindeutig ein kalkuliertes Risiko, das auf der Markteinführungszeit neuer Funktionen und Produkte beruht.
Sicherheit im Eiltempo ist eine Herausforderung, vor allem dort, wo DevSecOps nicht zur Standardentwicklungsmethodik gehört. Wir brauchen uns jedoch nur den jüngsten Log4Shell-Exploit anzusehen, um zu erkennen, wie relativ kleine Sicherheitslücken im Code Möglichkeiten für einen erfolgreichen Angriff eröffnet haben, und um zu sehen, dass die Folgen dieser kalkulierten Risiken für die Auslieferung von minderwertigem Code viel größer sein könnten als angenommen.
Gewöhnen Sie sich daran, ein (Zugangs-)Kontrollfreak zu sein
Eine alarmierende Anzahl von kostspieligen Datenschutzverletzungen wird durch schlecht konfigurierte Cloud-Speicherumgebungen verursacht, und die Gefahr der Offenlegung sensibler Daten aufgrund von Fehlern bei der Zugriffskontrolle beschäftigt die Sicherheitsteams in den meisten Unternehmen weiterhin.
Im Jahr 2019 musste das Fortune-500-Unternehmen First American Financial Corp. diese Erfahrung auf die harte Tour machen. Ein Authentifizierungsfehler - der relativ einfach zu beheben war - führte zur Offenlegung von über 800 Millionen Datensätzen, darunter Kontoauszüge, Hypothekenverträge und Fotoausweise. Die Links zu den Dokumenten erforderten keine Benutzeridentifizierung oder Anmeldung, so dass sie für jeden mit einem Webbrowser zugänglich waren. Schlimmer noch, sie wurden mit fortlaufenden Nummern protokolliert, was bedeutet, dass eine einfache Änderung der Nummer im Link einen neuen Datensatz enthüllte.
Dieses Sicherheitsproblem wurde intern erkannt, bevor es in den Medien aufgedeckt wurde. Allerdings führten Versäumnisse bei der korrekten Einstufung als Hochrisiko-Sicherheitsproblem und das Versäumnis, es der Geschäftsleitung zur dringenden Behebung zu melden, zu Auswirkungen, die bis heute andauern.
Es gibt einen Grund dafür, dass eine unzureichende Zugriffskontrolle jetzt ganz oben auf der OWASP Top 10 steht: Sie ist weit verbreitet und Entwickler benötigen ein verifiziertes Sicherheitsbewusstsein und praktische Fähigkeiten, um Best Practices rund um Authentifizierung und Privilegien in ihren eigenen Builds zu beherrschen und sicherzustellen, dass Prüfungen und Maßnahmen zum Schutz sensibler Daten vorhanden sind.
Die Natur von APIs macht sie besonders relevant und heikel; sie sind von vornherein sehr gesprächig mit anderen Anwendungen, und Entwicklungsteams sollten alle potenziellen Zugangspunkte im Blick haben. Schließlich können sie in ihrem Bestreben, sichere Software bereitzustellen, keine unbekannten Variablen und Anwendungsfälle berücksichtigen.
Analysieren Sie Ihr Sicherheitsprogramm: Wie viel Wert wird auf Prävention gelegt?
Es ist sinnvoll, dass ein großer Teil eines Sicherheitsprogramms der Reaktion auf einen Vorfall gewidmet ist, aber viele Unternehmen verpassen eine wertvolle Risikominimierung, indem sie nicht alle verfügbaren Ressourcen nutzen, um einen Sicherheitsvorfall von vornherein zu verhindern.
Sicher, es gibt umfassende Sicherheitstools, die bei der Aufdeckung problematischer Fehler helfen, aber fast 50 % der Unternehmen gaben zu, dass sie Code ausgeliefert haben, von dem sie wussten, dass er anfällig ist. Zeitmangel, die Komplexität der Toolsets und der Mangel an geschulten Experten, die auf Meldungen reagieren können, tragen dazu bei, dass es sich im Wesentlichen um ein kalkuliertes Risiko handelt. Die Tatsache, dass Code in der Cloud, in Anwendungen, in API-Funktionen, eingebetteten Systemen, Bibliotheken und einer sich ständig erweiternden Technologielandschaft gesichert werden muss, sorgt jedoch dafür, dass wir mit dem derzeitigen Ansatz immer einen Schritt hinterherhinken werden.
Sicherheitsfehler sind ein von Menschen verursachtes Problem, und wir können nicht erwarten, dass Roboter die ganze Arbeit für uns erledigen. Wenn Ihre Entwickler nicht effektiv weitergebildet werden - nicht nur durch ein jährliches Seminar, sondern durch geeignete Ausbildungsbausteine - dann besteht immer die Gefahr, dass Sie minderwertigen Code als Standard akzeptieren und das damit verbundene Sicherheitsrisiko in Kauf nehmen.
Haben Sie die Bereitschaft Ihrer Entwickler überschätzt?
Entwickler werden selten nach ihren Fähigkeiten zur sicheren Programmierung beurteilt, und es ist nicht ihre Priorität (und in vielen Fällen auch kein KPI). Sie können nicht die Sündenböcke für schlechte Sicherheitspraktiken sein, wenn ihnen kein besserer Weg aufgezeigt oder gesagt wird, dass dies ein Maßstab für ihren Erfolg ist.
Allzu oft wird in Unternehmen jedoch davon ausgegangen, dass die bereitgestellten Anleitungen das Entwicklungsteam wirksam auf die Eindämmung gängiger Sicherheitsrisiken vorbereitet haben. Je nach Schulung und Bewusstsein für die Anwendung bewährter Sicherheitspraktiken sind sie möglicherweise nicht darauf vorbereitet, die wünschenswerte erste Verteidigungslinie zu sein (und endlose Injektionsfehler zu verhindern, die die Pentestberichte verstopfen).
Der Idealzustand ist, dass Lernpfade von zunehmender Komplexität absolviert werden und die daraus resultierenden Fähigkeiten überprüft werden, um sicherzustellen, dass sie für den Entwickler in der realen Welt tatsächlich funktionieren. Dies erfordert jedoch einen kulturellen Standard, bei dem die Entwickler von Anfang an berücksichtigt und korrekt befähigt werden. Wenn wir uns als Branche in die Wildnis begeben, um diese riesige Codelandschaft, die wir selbst geschaffen haben, zu verteidigen, brauchen wir jede Hilfe, die wir bekommen können... und es gibt mehr davon direkt vor unserer Nase, als uns bewusst ist.
Klicken Sie auf den unten stehenden Link und laden Sie die PDF-Datei dieser Ressource herunter.
Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Bericht ansehenDemo buchenMatias Madou, Ph.D., ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent im Bereich Anwendungssicherheit und konzentrierte sich dabei auf statische Analyselösungen. Später wechselte er zu Fortify in den USA, wo er erkannte, dass es nicht ausreicht, nur Codeprobleme zu erkennen, ohne den Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, den Aufwand für die Sicherheit verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht an seinem Schreibtisch im Team Awesome sitzt, steht er gerne auf der Bühne und hält Vorträge auf Konferenzen wie der RSA Conference, BlackHat und DefCon.
Matias ist ein Forscher und Entwickler mit mehr als 15 Jahren praktischer Erfahrung im Bereich der Softwaresicherheit. Er hat Lösungen für Unternehmen wie Fortify Software und sein eigenes Unternehmen Sensei Security entwickelt. Im Laufe seiner Karriere hat Matias mehrere Forschungsprojekte zur Anwendungssicherheit geleitet, die zu kommerziellen Produkten geführt haben, und kann auf über 10 Patente verweisen. Wenn er nicht am Schreibtisch sitzt, ist Matias als Ausbilder für fortgeschrittene Anwendungssicherheitstrainings courses tätig und hält regelmäßig Vorträge auf globalen Konferenzen wie RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec und BruCon.
Matias hat einen Doktortitel in Computertechnik von der Universität Gent, wo er die Sicherheit von Anwendungen durch Programmverschleierung untersuchte, um die innere Funktionsweise einer Anwendung zu verbergen.
Eine Version dieses Artikels erschien in der SD-Zeiten. Er wurde aktualisiert und hier wiedergegeben.
Wenn wir über Fortschritt sprechen, steht in der Regel der digitale Fortschritt im Vordergrund des Gesprächs. Wir wollen alles besser, schneller, bequemer, leistungsfähiger und mit weniger Geld, Zeit und Risiko erreichen. In den meisten Fällen werden diese "unmöglichen" Ziele schließlich erreicht. Es kann zwar mehrere Jahre und mehrere Versionen dauern (und ein Team von Entwicklern, das einen Putsch anzettelt, wenn es noch ein einziges Mal gebeten wird, beim Funktionsdesign einen anderen Gang einzulegen), aber jeden Tag verändert der Code da draußen die Welt.
Mit einer großen Softwareexpansion geht jedoch auch eine große Verantwortung einher, und die Realität ist, dass wir aus der Sicherheitsperspektive einfach noch nicht bereit sind, damit umzugehen. Die Softwareentwicklung ist keine Insel mehr, und wenn wir alle Aspekte des softwarebasierten Risikos berücksichtigen - von der Cloud über eingebettete Systeme in Geräten und Fahrzeugen bis hin zu unserer kritischen Infrastruktur, ganz zu schweigen von den APIs, die alles miteinander verbinden - ist die Angriffsfläche grenzenlos und außer Kontrolle.
Wir können keine magische Zeit erwarten, in der jede Codezeile von erfahrenen Sicherheitsexperten akribisch geprüft wird - diese Qualifikationslücke wird sich in absehbarer Zeit nicht schließen -, aber wir können als Branche einen ganzheitlicheren Ansatz für die Sicherheit auf Codeebene verfolgen.
Lassen Sie uns untersuchen, wie wir diese unendliche Angriffsfläche mit den uns zur Verfügung stehenden Tools eindämmen können:
Seien Sie realistisch, was das Geschäftsrisiko angeht (und was Sie bereit sind zu akzeptieren)
Perfekte Sicherheit ist nicht von Dauer, aber es ist auch nicht möglich, sich die Augen zu verbinden und so zu tun, als sei alles in Butter. Wir wissen bereits, dass Unternehmen wissentlich anfälligen Code ausliefern, und dies ist eindeutig ein kalkuliertes Risiko, das auf der Markteinführungszeit neuer Funktionen und Produkte beruht.
Sicherheit im Eiltempo ist eine Herausforderung, vor allem dort, wo DevSecOps nicht zur Standardentwicklungsmethodik gehört. Wir brauchen uns jedoch nur den jüngsten Log4Shell-Exploit anzusehen, um zu erkennen, wie relativ kleine Sicherheitslücken im Code Möglichkeiten für einen erfolgreichen Angriff eröffnet haben, und um zu sehen, dass die Folgen dieser kalkulierten Risiken für die Auslieferung von minderwertigem Code viel größer sein könnten als angenommen.
Gewöhnen Sie sich daran, ein (Zugangs-)Kontrollfreak zu sein
Eine alarmierende Anzahl von kostspieligen Datenschutzverletzungen wird durch schlecht konfigurierte Cloud-Speicherumgebungen verursacht, und die Gefahr der Offenlegung sensibler Daten aufgrund von Fehlern bei der Zugriffskontrolle beschäftigt die Sicherheitsteams in den meisten Unternehmen weiterhin.
Im Jahr 2019 musste das Fortune-500-Unternehmen First American Financial Corp. diese Erfahrung auf die harte Tour machen. Ein Authentifizierungsfehler - der relativ einfach zu beheben war - führte zur Offenlegung von über 800 Millionen Datensätzen, darunter Kontoauszüge, Hypothekenverträge und Fotoausweise. Die Links zu den Dokumenten erforderten keine Benutzeridentifizierung oder Anmeldung, so dass sie für jeden mit einem Webbrowser zugänglich waren. Schlimmer noch, sie wurden mit fortlaufenden Nummern protokolliert, was bedeutet, dass eine einfache Änderung der Nummer im Link einen neuen Datensatz enthüllte.
Dieses Sicherheitsproblem wurde intern erkannt, bevor es in den Medien aufgedeckt wurde. Allerdings führten Versäumnisse bei der korrekten Einstufung als Hochrisiko-Sicherheitsproblem und das Versäumnis, es der Geschäftsleitung zur dringenden Behebung zu melden, zu Auswirkungen, die bis heute andauern.
Es gibt einen Grund dafür, dass eine unzureichende Zugriffskontrolle jetzt ganz oben auf der OWASP Top 10 steht: Sie ist weit verbreitet und Entwickler benötigen ein verifiziertes Sicherheitsbewusstsein und praktische Fähigkeiten, um Best Practices rund um Authentifizierung und Privilegien in ihren eigenen Builds zu beherrschen und sicherzustellen, dass Prüfungen und Maßnahmen zum Schutz sensibler Daten vorhanden sind.
Die Natur von APIs macht sie besonders relevant und heikel; sie sind von vornherein sehr gesprächig mit anderen Anwendungen, und Entwicklungsteams sollten alle potenziellen Zugangspunkte im Blick haben. Schließlich können sie in ihrem Bestreben, sichere Software bereitzustellen, keine unbekannten Variablen und Anwendungsfälle berücksichtigen.
Analysieren Sie Ihr Sicherheitsprogramm: Wie viel Wert wird auf Prävention gelegt?
Es ist sinnvoll, dass ein großer Teil eines Sicherheitsprogramms der Reaktion auf einen Vorfall gewidmet ist, aber viele Unternehmen verpassen eine wertvolle Risikominimierung, indem sie nicht alle verfügbaren Ressourcen nutzen, um einen Sicherheitsvorfall von vornherein zu verhindern.
Sicher, es gibt umfassende Sicherheitstools, die bei der Aufdeckung problematischer Fehler helfen, aber fast 50 % der Unternehmen gaben zu, dass sie Code ausgeliefert haben, von dem sie wussten, dass er anfällig ist. Zeitmangel, die Komplexität der Toolsets und der Mangel an geschulten Experten, die auf Meldungen reagieren können, tragen dazu bei, dass es sich im Wesentlichen um ein kalkuliertes Risiko handelt. Die Tatsache, dass Code in der Cloud, in Anwendungen, in API-Funktionen, eingebetteten Systemen, Bibliotheken und einer sich ständig erweiternden Technologielandschaft gesichert werden muss, sorgt jedoch dafür, dass wir mit dem derzeitigen Ansatz immer einen Schritt hinterherhinken werden.
Sicherheitsfehler sind ein von Menschen verursachtes Problem, und wir können nicht erwarten, dass Roboter die ganze Arbeit für uns erledigen. Wenn Ihre Entwickler nicht effektiv weitergebildet werden - nicht nur durch ein jährliches Seminar, sondern durch geeignete Ausbildungsbausteine - dann besteht immer die Gefahr, dass Sie minderwertigen Code als Standard akzeptieren und das damit verbundene Sicherheitsrisiko in Kauf nehmen.
Haben Sie die Bereitschaft Ihrer Entwickler überschätzt?
Entwickler werden selten nach ihren Fähigkeiten zur sicheren Programmierung beurteilt, und es ist nicht ihre Priorität (und in vielen Fällen auch kein KPI). Sie können nicht die Sündenböcke für schlechte Sicherheitspraktiken sein, wenn ihnen kein besserer Weg aufgezeigt oder gesagt wird, dass dies ein Maßstab für ihren Erfolg ist.
Allzu oft wird in Unternehmen jedoch davon ausgegangen, dass die bereitgestellten Anleitungen das Entwicklungsteam wirksam auf die Eindämmung gängiger Sicherheitsrisiken vorbereitet haben. Je nach Schulung und Bewusstsein für die Anwendung bewährter Sicherheitspraktiken sind sie möglicherweise nicht darauf vorbereitet, die wünschenswerte erste Verteidigungslinie zu sein (und endlose Injektionsfehler zu verhindern, die die Pentestberichte verstopfen).
Der Idealzustand ist, dass Lernpfade von zunehmender Komplexität absolviert werden und die daraus resultierenden Fähigkeiten überprüft werden, um sicherzustellen, dass sie für den Entwickler in der realen Welt tatsächlich funktionieren. Dies erfordert jedoch einen kulturellen Standard, bei dem die Entwickler von Anfang an berücksichtigt und korrekt befähigt werden. Wenn wir uns als Branche in die Wildnis begeben, um diese riesige Codelandschaft, die wir selbst geschaffen haben, zu verteidigen, brauchen wir jede Hilfe, die wir bekommen können... und es gibt mehr davon direkt vor unserer Nase, als uns bewusst ist.
Inhaltsübersicht
Matias Madou, Ph.D., ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent im Bereich Anwendungssicherheit und konzentrierte sich dabei auf statische Analyselösungen. Später wechselte er zu Fortify in den USA, wo er erkannte, dass es nicht ausreicht, nur Codeprobleme zu erkennen, ohne den Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, den Aufwand für die Sicherheit verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht an seinem Schreibtisch im Team Awesome sitzt, steht er gerne auf der Bühne und hält Vorträge auf Konferenzen wie der RSA Conference, BlackHat und DefCon.
Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Demo buchenHerunterladenRessourcen für den Einstieg
Benchmarking von Sicherheitskompetenzen: Optimierung von Secure-by-Design im Unternehmen
Die Secure-by-Design-Bewegung ist die Zukunft der sicheren Softwareentwicklung. Erfahren Sie mehr über die wichtigsten Elemente, die Unternehmen berücksichtigen müssen, wenn sie über eine Secure-by-Design-Initiative nachdenken.
DigitalOcean verringert Sicherheitsverschuldung mit Secure Code Warrior
DigitalOceans Einsatz von Secure Code Warrior hat die Sicherheitsverschuldung deutlich reduziert, so dass sich die Teams stärker auf Innovation und Produktivität konzentrieren können. Die verbesserte Sicherheit hat die Produktqualität und den Wettbewerbsvorteil des Unternehmens gestärkt. Mit Blick auf die Zukunft wird der SCW Trust Score dem Unternehmen helfen, seine Sicherheitspraktiken weiter zu verbessern und Innovationen voranzutreiben.
Ressourcen für den Einstieg
Trust Score zeigt den Wert von Secure-by-Design-Upskilling-Initiativen
Unsere Forschung hat gezeigt, dass Schulungen für sicheren Code funktionieren. Trust Score verwendet einen Algorithmus, der auf mehr als 20 Millionen Lerndaten aus der Arbeit von mehr als 250.000 Lernenden in über 600 Organisationen basiert, und zeigt, wie effektiv die Initiative ist, um Schwachstellen zu beseitigen und wie man sie noch effektiver gestalten kann.
Reaktive versus präventive Sicherheit: Prävention ist das bessere Heilmittel
Der Gedanke, Legacy-Code und -Systeme zur gleichen Zeit wie neuere Anwendungen mit präventiver Sicherheit auszustatten, kann entmutigend erscheinen, aber ein Secure-by-Design-Ansatz, der durch die Weiterbildung von Entwicklern durchgesetzt wird, kann die besten Sicherheitsverfahren auf diese Systeme anwenden. Dies ist für viele Unternehmen die beste Chance, ihre Sicherheitslage zu verbessern.
Die Vorteile eines Benchmarking der Sicherheitskompetenzen von Entwicklern
Der zunehmende Fokus auf sicheren Code und Secure-by-Design-Prinzipien erfordert, dass Entwickler von Beginn des SDLC an in Cybersicherheit geschult werden, wobei Tools wie Secure Code Warrior's Trust Score dabei helfen, ihre Fortschritte zu messen und zu verbessern.
Wesentlicher Erfolg für Enterprise Secure-by-Design-Initiativen
Unser jüngstes Forschungspapier „Benchmarking Security Skills: Streamlining Secure-by-Design in the Enterprise“ ist das Ergebnis einer umfassenden Analyse echter Secure-by-Design-Initiativen auf Unternehmensebene und der Ableitung von Best-Practice-Ansätzen auf Grundlage datengesteuerter Erkenntnisse.