Coders Conquer Security: Share & Learn Series - Verwendung von Komponenten mit bekannten Sicherheitslücken
Was ist die eine Sache, die alle Anwendungen haben? Komponenten, auch bekannt als Abhängigkeiten oder Bibliotheken. Es gibt nur sehr wenig Code auf der Welt, der nicht irgendwann von anderem Code abhängt. Sie beginnen sogar mit einem Berg von Abhängigkeiten ab dem Zeitpunkt, an dem Sie die Anwendung erstellen!
Da alle Anwendungen Komponenten verwenden, von denen Sie die meisten nicht geschrieben haben, können Schwachstellen in den von Ihnen verwendeten Komponenten zu Verbindlichkeiten werden. Lassen Sie uns besprechen, was die Verwendung von Komponenten mit bekannten Schwachstellen bedeutet, wie gefährlich sie ist und wie man sie beheben kann.
Die Verwendung von Komponenten mit bekannten Schwachstellen verstehen
Jede komplexe Software hat Schwachstellen. Das liegt in der Natur der Sache. Ihre Komponenten werden also nie 100 % sicher sein. Wenn jedoch Schwachstellen in Komponenten gefunden werden, wissen Sie dann davon? Sind Sie darauf vorbereitet?
Probleme treten am häufigsten auf, wenn Komponenten über ihre Nutzungsdauer hinaus verwendet werden oder nachdem Sicherheitslücken gefunden wurden. Die meisten Komponenten und Bibliotheken veröffentlichen Patches für Sicherheitslücken zur gleichen Zeit oder früher als die Schwachstelle bekannt gegeben wird. Wenn Sicherheitslücken in Komponenten entdeckt und bekannt gegeben werden, ist es daher von größter Bedeutung, die Komponenten so schnell wie möglich zu aktualisieren. Lassen Sie anfällige Software nicht in der Produktion.
Komponenten können aus verschiedenen Quellen stammen. Manchmal kaufen Sie Produkte von Drittanbietern, die sich direkt in Ihren benutzerdefinierten Code integrieren. Diese Komponenten werden zu einem Teil Ihres Codes und arbeiten auf der gleichen Berechtigungsebene. Eine weitere Quelle sind Open-Source-Projekte, die auf Websites wie GitHub gehostet werden. Offene Quellen können gefährlich sein, da nicht alle Open-Source-Bibliotheken sorgfältig geprüft oder auf Schwachstellen untersucht worden sind.
Angreifer nutzen die Informationen über Sicherheitslücken in Komponenten zu ihrem Vorteil. Da die Schwachstellen öffentlich bekannt gegeben werden, wissen Angreifer zur gleichen Zeit wie Sie von den Schwachstellen. Angreifer verfügen auch über Techniken, mit denen sie herausfinden können, welche Komponenten Sie verwenden. Sobald sie diese Informationen kennen, wissen sie, wie sie Ihre Anwendung angreifen können, wenn sie nicht gepatcht ist.
Wissen, warum anfällige Komponenten gefährlich sind
Wenn Sie nach einem Beweis dafür suchen, wie gefährlich die Verwendung von Komponenten mit bekannten Schwachstellen ist, suchen Sie nicht weiter als die Equifax-Verletzung von 2017.
Im Juli 2017 entdeckte Equifax, eine US-amerikanische Kreditauskunftei, eine massive Datenpanne, durch die die persönlichen Daten von über 147 Millionen Menschen bekannt wurden. Der Umfang und die Auswirkungen dieser Datenpanne sind beispiellos. Kürzlich wurden Nachrichten über die laxen Sicherheitspraktiken von Equifax bekannt.
Eine dieser laxen Praktiken war das Patch-Management. Equifax hatte keine gute Patch-Management-Praxis, was bedeutete, dass ihre Komponenten eine ganze Weile nicht gepatcht wurden. Dies war die direkte Ursache für die Sicherheitsverletzung.
Die Website von Equifax verwendete das Apache Struts-Webframework. Einige Monate bevor sich die Angreifer in das Netzwerk hackten, wurde eine Schwachstelle im Struts-Framework gefunden, Apache Struts CVE-2017-5638. Equifax hat die Sicherheitslücke jedoch nicht gepatcht. Die Angreifer nutzten diese Schwachstelle, um sich Zugang zum Netzwerk von Equifax zu verschaffen. Von dort aus verschafften sie sich Zugang zu einer Fundgrube persönlicher Daten.
Viele Websites basieren auf Web-Frameworks, die nicht vom Unternehmen selbst geschrieben wurden. Dies ist gängige Praxis, da es ein zu großes Unterfangen wäre, alle notwendigen Funktionen von Grund auf neu einzubauen. Die starke Abhängigkeit von einem Framework kann Sie jedoch für Sicherheitslücken öffnen. Werden Sie nicht das nächste Equifax.
So schützen Sie sich vor gefährdeten Komponenten
Es gibt kein Patentrezept zum Schutz vor der Verwendung anfälliger Komponenten. Es gibt jedoch Richtlinien und Kontrollen, mit denen Sie das Risiko verringern können, dass anfällige Komponenten zur Kompromittierung Ihrer Systeme verwendet werden.
Sie müssen wissen, welche Komponenten und welche Version der einzelnen Komponenten Sie zum Erstellen Ihrer Anwendungen verwenden. Tools zur Verwaltung von Abhängigkeiten, wie z. B. Dependency Check von OWASP, helfen Ihnen, die von Ihnen verwendeten Abhängigkeiten in den Griff zu bekommen. Dependency Check sagt Ihnen auch, ob eine dieser Komponenten eine öffentlich bekannte Schwachstelle aufweist.
Eine Patch-Management-Methodik ist ebenfalls unerlässlich. Wenn Schwachstellen entdeckt werden, muss ein System vorhanden sein, mit dem die Patches reibungslos heruntergeladen, getestet und für die Produktion freigegeben werden können. Wenn Sie Ihre Software gepatcht halten, verhindern Sie, dass Monate alte Schwachstellen von Angreifern ausgenutzt werden.
Schließlich sollten Sie über Richtlinien verfügen, die die Verwendung von Open-Source- und Drittanbieter-Komponenten regeln. Entwickler mögen keinen bürokratischen Aufwand, und das ist auch verständlich. Es muss jedoch einen Prüfprozess für Code geben, der nicht von Ihrem Unternehmen geschrieben wurde. Er muss nicht schwergewichtig sein, ist aber ein Muss, um zu verhindern, dass unbekannte Komponenten verwendet werden. Zumindest muss ein Inventar der verwendeten Komponenten aktuell gehalten werden.
Lassen Sie sich nicht von der Drittanbieter-Wanze anstecken
Komponenten werden Schwachstellen haben. Ihre Geschäftsanwendungen werden Komponenten verwenden, ob von einem Anbieter oder aus einer Open-Source-Bibliothek. Das bedeutet nicht, dass Ihr Unternehmen anfällig für Angriffe sein muss.
Auch wenn Angreifer zur gleichen Zeit wie Sie wissen, welche Schwachstellen existieren, werden Patches in der Regel zur gleichen Zeit wie die öffentlichen Ankündigungen zur Verfügung gestellt. Informieren Sie sich also unbedingt darüber, was Ihre Anwendung verwendet. Wissen Sie, was verwundbar ist. Halten Sie Ihre Komponenten gepatcht!
Sind Sie bereit, einige verwundbare Komponenten zu entdecken (und zu besiegen)? Begeben Sie sich in die Arena und nehmen Sie den Kampf auf: [Hier starten]


Da alle Anwendungen Komponenten verwenden, von denen Sie die meisten nicht geschrieben haben, können Schwachstellen in den von Ihnen verwendeten Komponenten zu Verbindlichkeiten werden. Lassen Sie uns besprechen, was die Verwendung von Komponenten mit bekannten Schwachstellen bedeutet, wie gefährlich sie ist und wie man sie beheben kann.
Jaap Karan Singh ist ein Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

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 buchenJaap Karan Singh ist ein Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.


Was ist die eine Sache, die alle Anwendungen haben? Komponenten, auch bekannt als Abhängigkeiten oder Bibliotheken. Es gibt nur sehr wenig Code auf der Welt, der nicht irgendwann von anderem Code abhängt. Sie beginnen sogar mit einem Berg von Abhängigkeiten ab dem Zeitpunkt, an dem Sie die Anwendung erstellen!
Da alle Anwendungen Komponenten verwenden, von denen Sie die meisten nicht geschrieben haben, können Schwachstellen in den von Ihnen verwendeten Komponenten zu Verbindlichkeiten werden. Lassen Sie uns besprechen, was die Verwendung von Komponenten mit bekannten Schwachstellen bedeutet, wie gefährlich sie ist und wie man sie beheben kann.
Die Verwendung von Komponenten mit bekannten Schwachstellen verstehen
Jede komplexe Software hat Schwachstellen. Das liegt in der Natur der Sache. Ihre Komponenten werden also nie 100 % sicher sein. Wenn jedoch Schwachstellen in Komponenten gefunden werden, wissen Sie dann davon? Sind Sie darauf vorbereitet?
Probleme treten am häufigsten auf, wenn Komponenten über ihre Nutzungsdauer hinaus verwendet werden oder nachdem Sicherheitslücken gefunden wurden. Die meisten Komponenten und Bibliotheken veröffentlichen Patches für Sicherheitslücken zur gleichen Zeit oder früher als die Schwachstelle bekannt gegeben wird. Wenn Sicherheitslücken in Komponenten entdeckt und bekannt gegeben werden, ist es daher von größter Bedeutung, die Komponenten so schnell wie möglich zu aktualisieren. Lassen Sie anfällige Software nicht in der Produktion.
Komponenten können aus verschiedenen Quellen stammen. Manchmal kaufen Sie Produkte von Drittanbietern, die sich direkt in Ihren benutzerdefinierten Code integrieren. Diese Komponenten werden zu einem Teil Ihres Codes und arbeiten auf der gleichen Berechtigungsebene. Eine weitere Quelle sind Open-Source-Projekte, die auf Websites wie GitHub gehostet werden. Offene Quellen können gefährlich sein, da nicht alle Open-Source-Bibliotheken sorgfältig geprüft oder auf Schwachstellen untersucht worden sind.
Angreifer nutzen die Informationen über Sicherheitslücken in Komponenten zu ihrem Vorteil. Da die Schwachstellen öffentlich bekannt gegeben werden, wissen Angreifer zur gleichen Zeit wie Sie von den Schwachstellen. Angreifer verfügen auch über Techniken, mit denen sie herausfinden können, welche Komponenten Sie verwenden. Sobald sie diese Informationen kennen, wissen sie, wie sie Ihre Anwendung angreifen können, wenn sie nicht gepatcht ist.
Wissen, warum anfällige Komponenten gefährlich sind
Wenn Sie nach einem Beweis dafür suchen, wie gefährlich die Verwendung von Komponenten mit bekannten Schwachstellen ist, suchen Sie nicht weiter als die Equifax-Verletzung von 2017.
Im Juli 2017 entdeckte Equifax, eine US-amerikanische Kreditauskunftei, eine massive Datenpanne, durch die die persönlichen Daten von über 147 Millionen Menschen bekannt wurden. Der Umfang und die Auswirkungen dieser Datenpanne sind beispiellos. Kürzlich wurden Nachrichten über die laxen Sicherheitspraktiken von Equifax bekannt.
Eine dieser laxen Praktiken war das Patch-Management. Equifax hatte keine gute Patch-Management-Praxis, was bedeutete, dass ihre Komponenten eine ganze Weile nicht gepatcht wurden. Dies war die direkte Ursache für die Sicherheitsverletzung.
Die Website von Equifax verwendete das Apache Struts-Webframework. Einige Monate bevor sich die Angreifer in das Netzwerk hackten, wurde eine Schwachstelle im Struts-Framework gefunden, Apache Struts CVE-2017-5638. Equifax hat die Sicherheitslücke jedoch nicht gepatcht. Die Angreifer nutzten diese Schwachstelle, um sich Zugang zum Netzwerk von Equifax zu verschaffen. Von dort aus verschafften sie sich Zugang zu einer Fundgrube persönlicher Daten.
Viele Websites basieren auf Web-Frameworks, die nicht vom Unternehmen selbst geschrieben wurden. Dies ist gängige Praxis, da es ein zu großes Unterfangen wäre, alle notwendigen Funktionen von Grund auf neu einzubauen. Die starke Abhängigkeit von einem Framework kann Sie jedoch für Sicherheitslücken öffnen. Werden Sie nicht das nächste Equifax.
So schützen Sie sich vor gefährdeten Komponenten
Es gibt kein Patentrezept zum Schutz vor der Verwendung anfälliger Komponenten. Es gibt jedoch Richtlinien und Kontrollen, mit denen Sie das Risiko verringern können, dass anfällige Komponenten zur Kompromittierung Ihrer Systeme verwendet werden.
Sie müssen wissen, welche Komponenten und welche Version der einzelnen Komponenten Sie zum Erstellen Ihrer Anwendungen verwenden. Tools zur Verwaltung von Abhängigkeiten, wie z. B. Dependency Check von OWASP, helfen Ihnen, die von Ihnen verwendeten Abhängigkeiten in den Griff zu bekommen. Dependency Check sagt Ihnen auch, ob eine dieser Komponenten eine öffentlich bekannte Schwachstelle aufweist.
Eine Patch-Management-Methodik ist ebenfalls unerlässlich. Wenn Schwachstellen entdeckt werden, muss ein System vorhanden sein, mit dem die Patches reibungslos heruntergeladen, getestet und für die Produktion freigegeben werden können. Wenn Sie Ihre Software gepatcht halten, verhindern Sie, dass Monate alte Schwachstellen von Angreifern ausgenutzt werden.
Schließlich sollten Sie über Richtlinien verfügen, die die Verwendung von Open-Source- und Drittanbieter-Komponenten regeln. Entwickler mögen keinen bürokratischen Aufwand, und das ist auch verständlich. Es muss jedoch einen Prüfprozess für Code geben, der nicht von Ihrem Unternehmen geschrieben wurde. Er muss nicht schwergewichtig sein, ist aber ein Muss, um zu verhindern, dass unbekannte Komponenten verwendet werden. Zumindest muss ein Inventar der verwendeten Komponenten aktuell gehalten werden.
Lassen Sie sich nicht von der Drittanbieter-Wanze anstecken
Komponenten werden Schwachstellen haben. Ihre Geschäftsanwendungen werden Komponenten verwenden, ob von einem Anbieter oder aus einer Open-Source-Bibliothek. Das bedeutet nicht, dass Ihr Unternehmen anfällig für Angriffe sein muss.
Auch wenn Angreifer zur gleichen Zeit wie Sie wissen, welche Schwachstellen existieren, werden Patches in der Regel zur gleichen Zeit wie die öffentlichen Ankündigungen zur Verfügung gestellt. Informieren Sie sich also unbedingt darüber, was Ihre Anwendung verwendet. Wissen Sie, was verwundbar ist. Halten Sie Ihre Komponenten gepatcht!
Sind Sie bereit, einige verwundbare Komponenten zu entdecken (und zu besiegen)? Begeben Sie sich in die Arena und nehmen Sie den Kampf auf: [Hier starten]

Was ist die eine Sache, die alle Anwendungen haben? Komponenten, auch bekannt als Abhängigkeiten oder Bibliotheken. Es gibt nur sehr wenig Code auf der Welt, der nicht irgendwann von anderem Code abhängt. Sie beginnen sogar mit einem Berg von Abhängigkeiten ab dem Zeitpunkt, an dem Sie die Anwendung erstellen!
Da alle Anwendungen Komponenten verwenden, von denen Sie die meisten nicht geschrieben haben, können Schwachstellen in den von Ihnen verwendeten Komponenten zu Verbindlichkeiten werden. Lassen Sie uns besprechen, was die Verwendung von Komponenten mit bekannten Schwachstellen bedeutet, wie gefährlich sie ist und wie man sie beheben kann.
Die Verwendung von Komponenten mit bekannten Schwachstellen verstehen
Jede komplexe Software hat Schwachstellen. Das liegt in der Natur der Sache. Ihre Komponenten werden also nie 100 % sicher sein. Wenn jedoch Schwachstellen in Komponenten gefunden werden, wissen Sie dann davon? Sind Sie darauf vorbereitet?
Probleme treten am häufigsten auf, wenn Komponenten über ihre Nutzungsdauer hinaus verwendet werden oder nachdem Sicherheitslücken gefunden wurden. Die meisten Komponenten und Bibliotheken veröffentlichen Patches für Sicherheitslücken zur gleichen Zeit oder früher als die Schwachstelle bekannt gegeben wird. Wenn Sicherheitslücken in Komponenten entdeckt und bekannt gegeben werden, ist es daher von größter Bedeutung, die Komponenten so schnell wie möglich zu aktualisieren. Lassen Sie anfällige Software nicht in der Produktion.
Komponenten können aus verschiedenen Quellen stammen. Manchmal kaufen Sie Produkte von Drittanbietern, die sich direkt in Ihren benutzerdefinierten Code integrieren. Diese Komponenten werden zu einem Teil Ihres Codes und arbeiten auf der gleichen Berechtigungsebene. Eine weitere Quelle sind Open-Source-Projekte, die auf Websites wie GitHub gehostet werden. Offene Quellen können gefährlich sein, da nicht alle Open-Source-Bibliotheken sorgfältig geprüft oder auf Schwachstellen untersucht worden sind.
Angreifer nutzen die Informationen über Sicherheitslücken in Komponenten zu ihrem Vorteil. Da die Schwachstellen öffentlich bekannt gegeben werden, wissen Angreifer zur gleichen Zeit wie Sie von den Schwachstellen. Angreifer verfügen auch über Techniken, mit denen sie herausfinden können, welche Komponenten Sie verwenden. Sobald sie diese Informationen kennen, wissen sie, wie sie Ihre Anwendung angreifen können, wenn sie nicht gepatcht ist.
Wissen, warum anfällige Komponenten gefährlich sind
Wenn Sie nach einem Beweis dafür suchen, wie gefährlich die Verwendung von Komponenten mit bekannten Schwachstellen ist, suchen Sie nicht weiter als die Equifax-Verletzung von 2017.
Im Juli 2017 entdeckte Equifax, eine US-amerikanische Kreditauskunftei, eine massive Datenpanne, durch die die persönlichen Daten von über 147 Millionen Menschen bekannt wurden. Der Umfang und die Auswirkungen dieser Datenpanne sind beispiellos. Kürzlich wurden Nachrichten über die laxen Sicherheitspraktiken von Equifax bekannt.
Eine dieser laxen Praktiken war das Patch-Management. Equifax hatte keine gute Patch-Management-Praxis, was bedeutete, dass ihre Komponenten eine ganze Weile nicht gepatcht wurden. Dies war die direkte Ursache für die Sicherheitsverletzung.
Die Website von Equifax verwendete das Apache Struts-Webframework. Einige Monate bevor sich die Angreifer in das Netzwerk hackten, wurde eine Schwachstelle im Struts-Framework gefunden, Apache Struts CVE-2017-5638. Equifax hat die Sicherheitslücke jedoch nicht gepatcht. Die Angreifer nutzten diese Schwachstelle, um sich Zugang zum Netzwerk von Equifax zu verschaffen. Von dort aus verschafften sie sich Zugang zu einer Fundgrube persönlicher Daten.
Viele Websites basieren auf Web-Frameworks, die nicht vom Unternehmen selbst geschrieben wurden. Dies ist gängige Praxis, da es ein zu großes Unterfangen wäre, alle notwendigen Funktionen von Grund auf neu einzubauen. Die starke Abhängigkeit von einem Framework kann Sie jedoch für Sicherheitslücken öffnen. Werden Sie nicht das nächste Equifax.
So schützen Sie sich vor gefährdeten Komponenten
Es gibt kein Patentrezept zum Schutz vor der Verwendung anfälliger Komponenten. Es gibt jedoch Richtlinien und Kontrollen, mit denen Sie das Risiko verringern können, dass anfällige Komponenten zur Kompromittierung Ihrer Systeme verwendet werden.
Sie müssen wissen, welche Komponenten und welche Version der einzelnen Komponenten Sie zum Erstellen Ihrer Anwendungen verwenden. Tools zur Verwaltung von Abhängigkeiten, wie z. B. Dependency Check von OWASP, helfen Ihnen, die von Ihnen verwendeten Abhängigkeiten in den Griff zu bekommen. Dependency Check sagt Ihnen auch, ob eine dieser Komponenten eine öffentlich bekannte Schwachstelle aufweist.
Eine Patch-Management-Methodik ist ebenfalls unerlässlich. Wenn Schwachstellen entdeckt werden, muss ein System vorhanden sein, mit dem die Patches reibungslos heruntergeladen, getestet und für die Produktion freigegeben werden können. Wenn Sie Ihre Software gepatcht halten, verhindern Sie, dass Monate alte Schwachstellen von Angreifern ausgenutzt werden.
Schließlich sollten Sie über Richtlinien verfügen, die die Verwendung von Open-Source- und Drittanbieter-Komponenten regeln. Entwickler mögen keinen bürokratischen Aufwand, und das ist auch verständlich. Es muss jedoch einen Prüfprozess für Code geben, der nicht von Ihrem Unternehmen geschrieben wurde. Er muss nicht schwergewichtig sein, ist aber ein Muss, um zu verhindern, dass unbekannte Komponenten verwendet werden. Zumindest muss ein Inventar der verwendeten Komponenten aktuell gehalten werden.
Lassen Sie sich nicht von der Drittanbieter-Wanze anstecken
Komponenten werden Schwachstellen haben. Ihre Geschäftsanwendungen werden Komponenten verwenden, ob von einem Anbieter oder aus einer Open-Source-Bibliothek. Das bedeutet nicht, dass Ihr Unternehmen anfällig für Angriffe sein muss.
Auch wenn Angreifer zur gleichen Zeit wie Sie wissen, welche Schwachstellen existieren, werden Patches in der Regel zur gleichen Zeit wie die öffentlichen Ankündigungen zur Verfügung gestellt. Informieren Sie sich also unbedingt darüber, was Ihre Anwendung verwendet. Wissen Sie, was verwundbar ist. Halten Sie Ihre Komponenten gepatcht!
Sind Sie bereit, einige verwundbare Komponenten zu entdecken (und zu besiegen)? Begeben Sie sich in die Arena und nehmen Sie den Kampf auf: [Hier starten]

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 buchenJaap Karan Singh ist ein Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.
Was ist die eine Sache, die alle Anwendungen haben? Komponenten, auch bekannt als Abhängigkeiten oder Bibliotheken. Es gibt nur sehr wenig Code auf der Welt, der nicht irgendwann von anderem Code abhängt. Sie beginnen sogar mit einem Berg von Abhängigkeiten ab dem Zeitpunkt, an dem Sie die Anwendung erstellen!
Da alle Anwendungen Komponenten verwenden, von denen Sie die meisten nicht geschrieben haben, können Schwachstellen in den von Ihnen verwendeten Komponenten zu Verbindlichkeiten werden. Lassen Sie uns besprechen, was die Verwendung von Komponenten mit bekannten Schwachstellen bedeutet, wie gefährlich sie ist und wie man sie beheben kann.
Die Verwendung von Komponenten mit bekannten Schwachstellen verstehen
Jede komplexe Software hat Schwachstellen. Das liegt in der Natur der Sache. Ihre Komponenten werden also nie 100 % sicher sein. Wenn jedoch Schwachstellen in Komponenten gefunden werden, wissen Sie dann davon? Sind Sie darauf vorbereitet?
Probleme treten am häufigsten auf, wenn Komponenten über ihre Nutzungsdauer hinaus verwendet werden oder nachdem Sicherheitslücken gefunden wurden. Die meisten Komponenten und Bibliotheken veröffentlichen Patches für Sicherheitslücken zur gleichen Zeit oder früher als die Schwachstelle bekannt gegeben wird. Wenn Sicherheitslücken in Komponenten entdeckt und bekannt gegeben werden, ist es daher von größter Bedeutung, die Komponenten so schnell wie möglich zu aktualisieren. Lassen Sie anfällige Software nicht in der Produktion.
Komponenten können aus verschiedenen Quellen stammen. Manchmal kaufen Sie Produkte von Drittanbietern, die sich direkt in Ihren benutzerdefinierten Code integrieren. Diese Komponenten werden zu einem Teil Ihres Codes und arbeiten auf der gleichen Berechtigungsebene. Eine weitere Quelle sind Open-Source-Projekte, die auf Websites wie GitHub gehostet werden. Offene Quellen können gefährlich sein, da nicht alle Open-Source-Bibliotheken sorgfältig geprüft oder auf Schwachstellen untersucht worden sind.
Angreifer nutzen die Informationen über Sicherheitslücken in Komponenten zu ihrem Vorteil. Da die Schwachstellen öffentlich bekannt gegeben werden, wissen Angreifer zur gleichen Zeit wie Sie von den Schwachstellen. Angreifer verfügen auch über Techniken, mit denen sie herausfinden können, welche Komponenten Sie verwenden. Sobald sie diese Informationen kennen, wissen sie, wie sie Ihre Anwendung angreifen können, wenn sie nicht gepatcht ist.
Wissen, warum anfällige Komponenten gefährlich sind
Wenn Sie nach einem Beweis dafür suchen, wie gefährlich die Verwendung von Komponenten mit bekannten Schwachstellen ist, suchen Sie nicht weiter als die Equifax-Verletzung von 2017.
Im Juli 2017 entdeckte Equifax, eine US-amerikanische Kreditauskunftei, eine massive Datenpanne, durch die die persönlichen Daten von über 147 Millionen Menschen bekannt wurden. Der Umfang und die Auswirkungen dieser Datenpanne sind beispiellos. Kürzlich wurden Nachrichten über die laxen Sicherheitspraktiken von Equifax bekannt.
Eine dieser laxen Praktiken war das Patch-Management. Equifax hatte keine gute Patch-Management-Praxis, was bedeutete, dass ihre Komponenten eine ganze Weile nicht gepatcht wurden. Dies war die direkte Ursache für die Sicherheitsverletzung.
Die Website von Equifax verwendete das Apache Struts-Webframework. Einige Monate bevor sich die Angreifer in das Netzwerk hackten, wurde eine Schwachstelle im Struts-Framework gefunden, Apache Struts CVE-2017-5638. Equifax hat die Sicherheitslücke jedoch nicht gepatcht. Die Angreifer nutzten diese Schwachstelle, um sich Zugang zum Netzwerk von Equifax zu verschaffen. Von dort aus verschafften sie sich Zugang zu einer Fundgrube persönlicher Daten.
Viele Websites basieren auf Web-Frameworks, die nicht vom Unternehmen selbst geschrieben wurden. Dies ist gängige Praxis, da es ein zu großes Unterfangen wäre, alle notwendigen Funktionen von Grund auf neu einzubauen. Die starke Abhängigkeit von einem Framework kann Sie jedoch für Sicherheitslücken öffnen. Werden Sie nicht das nächste Equifax.
So schützen Sie sich vor gefährdeten Komponenten
Es gibt kein Patentrezept zum Schutz vor der Verwendung anfälliger Komponenten. Es gibt jedoch Richtlinien und Kontrollen, mit denen Sie das Risiko verringern können, dass anfällige Komponenten zur Kompromittierung Ihrer Systeme verwendet werden.
Sie müssen wissen, welche Komponenten und welche Version der einzelnen Komponenten Sie zum Erstellen Ihrer Anwendungen verwenden. Tools zur Verwaltung von Abhängigkeiten, wie z. B. Dependency Check von OWASP, helfen Ihnen, die von Ihnen verwendeten Abhängigkeiten in den Griff zu bekommen. Dependency Check sagt Ihnen auch, ob eine dieser Komponenten eine öffentlich bekannte Schwachstelle aufweist.
Eine Patch-Management-Methodik ist ebenfalls unerlässlich. Wenn Schwachstellen entdeckt werden, muss ein System vorhanden sein, mit dem die Patches reibungslos heruntergeladen, getestet und für die Produktion freigegeben werden können. Wenn Sie Ihre Software gepatcht halten, verhindern Sie, dass Monate alte Schwachstellen von Angreifern ausgenutzt werden.
Schließlich sollten Sie über Richtlinien verfügen, die die Verwendung von Open-Source- und Drittanbieter-Komponenten regeln. Entwickler mögen keinen bürokratischen Aufwand, und das ist auch verständlich. Es muss jedoch einen Prüfprozess für Code geben, der nicht von Ihrem Unternehmen geschrieben wurde. Er muss nicht schwergewichtig sein, ist aber ein Muss, um zu verhindern, dass unbekannte Komponenten verwendet werden. Zumindest muss ein Inventar der verwendeten Komponenten aktuell gehalten werden.
Lassen Sie sich nicht von der Drittanbieter-Wanze anstecken
Komponenten werden Schwachstellen haben. Ihre Geschäftsanwendungen werden Komponenten verwenden, ob von einem Anbieter oder aus einer Open-Source-Bibliothek. Das bedeutet nicht, dass Ihr Unternehmen anfällig für Angriffe sein muss.
Auch wenn Angreifer zur gleichen Zeit wie Sie wissen, welche Schwachstellen existieren, werden Patches in der Regel zur gleichen Zeit wie die öffentlichen Ankündigungen zur Verfügung gestellt. Informieren Sie sich also unbedingt darüber, was Ihre Anwendung verwendet. Wissen Sie, was verwundbar ist. Halten Sie Ihre Komponenten gepatcht!
Sind Sie bereit, einige verwundbare Komponenten zu entdecken (und zu besiegen)? Begeben Sie sich in die Arena und nehmen Sie den Kampf auf: [Hier starten]
Inhaltsübersicht
Jaap Karan Singh ist ein Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

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
Sicher durch Design: Definition von Best Practices, Befähigung von Entwicklern und Benchmarking von präventiven Sicherheitsergebnissen
In diesem Forschungspapier werden die Mitbegründer von Secure Code Warrior , Pieter Danhieux und Dr. Matias Madou, Ph.D., zusammen mit den Experten Chris Inglis, ehemaliger US National Cyber Director (jetzt strategischer Berater der Paladin Capital Group), und Devin Lynch, Senior Director, Paladin Global Institute, die wichtigsten Erkenntnisse aus mehr als zwanzig ausführlichen Interviews mit Sicherheitsverantwortlichen in Unternehmen, darunter CISOs, ein VP of Application Security und Software-Sicherheitsexperten, offenlegen.
Benchmarking von Sicherheitskompetenzen: Optimierung von Secure-by-Design im Unternehmen
Aussagekräftige Daten über den Erfolg von Secure-by-Design-Initiativen zu finden, ist bekanntermaßen schwierig. CISOs stehen oft vor der Herausforderung, den Return on Investment (ROI) und den Geschäftswert von Sicherheitsprogrammen sowohl auf Mitarbeiter- als auch auf Unternehmensebene nachzuweisen. Ganz zu schweigen davon, dass es für Unternehmen besonders schwierig ist, Erkenntnisse darüber zu gewinnen, wie ihre Organisation im Vergleich zu aktuellen Branchenstandards abschneidet. Die Nationale Cybersicherheitsstrategie des Präsidenten forderte die Beteiligten auf, "Sicherheit und Widerstandsfähigkeit durch Design" zu erreichen. Der Schlüssel zum Erfolg von Secure-by-Design-Initiativen liegt nicht nur darin, Entwicklern die nötigen Fähigkeiten zu vermitteln, um sicheren Code zu gewährleisten, sondern auch darin, den Aufsichtsbehörden zu versichern, dass diese Fähigkeiten vorhanden sind. In dieser Präsentation stellen wir eine Vielzahl von qualitativen und quantitativen Daten vor, die aus verschiedenen Primärquellen stammen, darunter interne Daten von über 250.000 Entwicklern, datengestützte Kundeneinblicke und öffentliche Studien. Auf der Grundlage dieser gesammelten Daten wollen wir eine Vision des aktuellen Stands von Secure-by-Design-Initiativen in verschiedenen Branchen vermitteln. Der Bericht zeigt auf, warum dieser Bereich derzeit nicht ausreichend genutzt wird, welche erheblichen Auswirkungen ein erfolgreiches Schulungsprogramm auf die Minderung von Cybersecurity-Risiken haben kann und welches Potenzial zur Beseitigung von Schwachstellen in einer Codebasis besteht.
Ressourcen für den Einstieg
Schließen Sie den Kreis zu Schwachstellen mit Secure Code Warrior + HackerOne
Secure Code Warrior freut sich, unsere neue Integration mit HackerOne, einem führenden Anbieter von offensiven Sicherheitslösungen, bekannt zu geben. Gemeinsam bauen wir ein leistungsstarkes, integriertes Ökosystem auf. HackerOne zeigt auf, wo Schwachstellen in realen Umgebungen tatsächlich auftreten, und deckt das "Was" und "Wo" von Sicherheitsproblemen auf.
Aufgedeckt: Wie die Cyber-Industrie "Secure by Design" definiert
In unserem neuesten Whitepaper haben sich unsere Mitbegründer Pieter Danhieux und Dr. Matias Madou, Ph.D., mit über zwanzig Sicherheitsverantwortlichen in Unternehmen, darunter CISOs, AppSec-Leiter und Sicherheitsexperten, zusammengesetzt, um die wichtigsten Teile dieses Puzzles herauszufinden und die Realität hinter der Secure by Design-Bewegung aufzudecken. Die Sicherheitsteams haben ein gemeinsames Ziel, aber kein gemeinsames Regelwerk.
Wird Vibe Coding Ihre Codebasis in eine Verbindungsparty verwandeln?
Vibe Coding ist wie eine College-Verbindungsparty, und AI ist das Herzstück aller Festivitäten, das Fass. Es macht eine Menge Spaß, sich auszutoben, kreativ zu werden und zu sehen, wohin die eigene Fantasie einen führen kann, aber nach ein paar Bierfässern ist das Trinken (oder die Verwendung von KI) in Maßen zweifellos die sicherere langfristige Lösung.