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
Bedrohungsmodellierung mit KI: So wird jeder Entwickler zum Bedrohungsmodellierer
Sie werden besser gerüstet sein, um Entwicklern dabei zu helfen, Ideen und Techniken zur Bedrohungsmodellierung mit den KI-Tools zu kombinieren, die sie bereits verwenden, um die Sicherheit zu erhöhen, die Zusammenarbeit zu verbessern und von Anfang an widerstandsfähigere Software zu entwickeln.
Die Macht der Marke in AppSec DevSec DevSecOps (Was steckt in einem Akronym!?)
Für eine dauerhafte Wirkung von AppSec-Programmen braucht es mehr als nur Technik - es braucht eine starke Marke. Eine starke Identität stellt sicher, dass Ihre Initiativen auf Resonanz stoßen und ein nachhaltiges Engagement innerhalb Ihrer Entwicklergemeinschaft fördern.
Ressourcen für den Einstieg
Agenten-KI in der Software-Entwicklung SCHNELL einführen! (Spoiler: Wahrscheinlich sollten Sie es nicht tun.)
Arbeitet die Cybersicherheitswelt zu schnell an agentenbasierter KI? Die Zukunft der KI-Sicherheit ist da, und es ist an der Zeit, dass Experten von ihren Überlegungen zur Realität übergehen.
Lösung der Sichtbarkeitskrise: Wie der Vertrauensagent die Kluft zwischen Lernen und Code überbrückt
Trust Agent von Secure Code Warrior löst die Krise der sicheren Kodierung, indem es die Fähigkeiten der Entwickler bei jeder Übertragung überprüft. Er erkennt alle Mitwirkenden und automatisiert die Governance in Ihrem Entwicklungs-Workflow.
Kritisches Denken in der KI-gestützten sicheren Softwareentwicklung
Bei der KI-Debatte geht es nicht um den Nutzen, sondern um die Anwendung. Entdecken Sie, wie Sie die Notwendigkeit von KI-Produktivitätssteigerungen mit robuster Sicherheit in Einklang bringen können, indem Sie sich auf Entwickler verlassen, die ihren Code genau verstehen.
KI-Codierassistenten: Maximale Produktivität bringt erhöhte Risiken mit sich
In unserem neuesten Whitepaper untersuchen unsere Mitbegründer Pieter Danhieux und Dr. Matias Madou, Ph.D., das zweischneidige Schwert, das KI-Codierassistenten darstellen, und wie sie eine willkommene Ergänzung und gleichzeitig ein erhebliches Sicherheitsrisiko sein können.



.png)

.png)



