SCW Icons
hero bg no divider
Blog

Programmierer erobern die Sicherheitsinfrastruktur als Code-Serie — mit Komponenten aus nicht vertrauenswürdigen Quellen

Matias Madou, Ph.D.
Published Jun 15, 2020
Last updated on Mar 09, 2026

Wir nähern uns dem Ende unserer Infrastructure as Code-Serie, aber es war großartig, Entwicklern wie Ihnen auf ihrem Weg zur IaC-Sicherheit zu helfen.

Hast du die Herausforderungen gespielt? Was ist dein bisheriges Ergebnis? Bevor wir beginnen, schauen wir uns an, wie viel Sie bereits über die Fallstricke bei der Verwendung von Komponenten aus nicht vertrauenswürdigen Quellen wissen:

Hast du noch etwas zu tun? Lesen Sie weiter:

Das anfällige Verhalten, auf das wir uns heute konzentrieren werden, ist die Verwendung von Code aus nicht vertrauenswürdigen Quellen, eine scheinbar harmlose Praxis, die große Probleme verursacht. Die Verwendung von Open-Source-Code und Ressourcen bietet viele Vorteile. Im Allgemeinen ermöglicht es Experten, ihre Ideen, ihre Arbeit und sogar ihren fertigen Code in Repositorys wie GitHub einzubringen, um von anderen verwendet zu werden, die Schwierigkeiten haben, ein Programm oder eine App richtig funktionieren zu lassen. Die Verwendung von abgeschlossenem Code zur Steuerung von Programmfunktionen erspart Entwicklern, das Rad jedes Mal neu erfinden zu müssen, wenn sie eine neue Anwendung erstellen müssen.

Die Verwendung von Codefragmenten aus unzuverlässigen, ungeprüften oder sogar potenziell gefährlichen Quellen birgt jedoch ein hohes Risiko. Tatsächlich ist die Verwendung von Code aus nicht vertrauenswürdigen Quellen eine der häufigsten Arten, mit denen sich sowohl größere als auch kleinere Sicherheitslücken in ansonsten sichere Anwendungen einschleichen. Manchmal werden diese Sicherheitslücken versehentlich von ihren Urhebern verursacht. Es gab auch Fälle, in denen bösartiger Code von potenziellen Angreifern geschrieben wurde. Der Code wird dann geteilt, in der Hoffnung, Opfer zu verführen, die ihn dann in ihre Anwendungen einfügen.

Warum ist die Verwendung von Code aus nicht vertrauenswürdigen Quellen gefährlich?

Nehmen wir an, ein Entwickler hat es eilig und muss eine Anwendung konfigurieren, die er gerade entwickelt. Das kann ein kniffliger Prozess sein. Anstatt also viel Zeit damit zu verbringen, jede mögliche Konfiguration auszuarbeiten, führen sie eine Google-Suche durch und finden jemanden, der bereits eine scheinbar perfekte Konfigurationsdatei fertiggestellt hat. Obwohl der Entwickler nichts über die Person weiß, die den Code geschrieben hat, ist es relativ einfach, ihn einer neuen Anwendung hinzuzufügen. Dies kann in der Docker-Umgebung mit zwei Zeilen erfolgen:

FÜHREN SIE cd /etc/apache2/sites-available/ &&\
wget -O default-ssl.conf https://gist.githubusercontent.com/vesche/\
9d372cfa8855a6be74bcca86efadfbbf/raw/\
fbdfbe230fa256a6fb78e5e000aebded60d6a5ef/default-ssl.conf

Jetzt ruft das Docker-Image die Konfigurationsdatei des Drittanbieters dynamisch ab. Und selbst wenn die Datei getestet wurde und zu dem Zeitpunkt für in Ordnung befunden wurde, bedeutet die Tatsache, dass der Zeiger jetzt in den Code der neuen Anwendung eingebettet ist, dass eine permanente Abhängigkeit besteht. Tage, Wochen oder Monate später könnte die Datei vom ursprünglichen Autor oder einem Angreifer, der das Code-Repository kompromittiert hat, geändert werden. Plötzlich kann die gemeinsam genutzte Konfigurationsdatei die Anwendung anweisen, ganz anders als beabsichtigt zu arbeiten, was möglicherweise unbefugten Benutzern Zugriff gewährt oder sogar direkt Daten stiehlt und exfiltriert.

Eine bessere Möglichkeit, gemeinsam genutzte Ressourcen zu nutzen

Wenn Ihre Organisation die Verwendung von Code aus externen Quellen zulässt, müssen Prozesse eingerichtet werden, um sicherzustellen, dass dies sicher ausgeführt wird. Achten Sie bei der Bewertung von externem Code auf eine mögliche Verwendung darauf, Komponenten nur über sichere Links aus offiziellen Quellen zu beziehen. Und selbst dann sollten Sie niemals auf eine externe Quelle verlinken, um diesen Code abzurufen, da dies den Prozess Ihrer Kontrolle entzieht. Stattdessen sollte der genehmigte Code in eine sichere Bibliothek gebracht und nur von diesem geschützten Ort aus verwendet werden. In einer Docker-Umgebung würde der Code also so aussehen:

KOPIERE src/config/default-ssl.conf /etc/apache2/sites-available/

Anstatt sich auf entfernte Konfigurationsdateien von Drittanbietern zu verlassen, würde dies stattdessen auf einer lokalen Kopie dieser Dateien beruhen. Dadurch wird verhindert, dass unerwartete oder böswillige Änderungen vorgenommen werden.

Zusätzlich zur Verwendung einer sicheren Codebibliothek sollte ein Patch-Management-Prozess eingerichtet werden, um die Komponenten während des gesamten Softwarelebenszyklus kontinuierlich zu überwachen. Alle client- und serverseitigen Komponenten sollten außerdem mithilfe von Tools wie NVD oder CVE auf Sicherheitswarnungen überprüft werden. Entfernen Sie abschließend alle ungenutzten oder unnötigen Abhängigkeiten und Funktionen, die mit dem externen Code mitspielen könnten.

Wenn Entwickler diese Schritte befolgen, können sie externe Ressourcen sicherer nutzen, ohne versehentlich Sicherheitslücken in ihren Anwendungen und ihrem Code zu verursachen.

Schauen Sie sich das an Sicherer Codekrieger Blogseiten mit weiteren Informationen zu dieser Sicherheitslücke und dazu, wie Sie Ihr Unternehmen und Ihre Kunden vor den Folgen anderer Sicherheitslücken schützen können. Sie können auch probiere eine Demo der IaC-Herausforderungen auf der Secure Code Warrior-Schulungsplattform, um all Ihre Cybersicherheitsfähigkeiten zu verbessern und auf dem neuesten Stand zu halten.



Ressource ansehen
Ressource ansehen

Das anfällige Verhalten, auf das wir uns hier konzentrieren werden, ist die Verwendung von Code aus nicht vertrauenswürdigen Quellen, eine scheinbar harmlose Praxis, die große Probleme verursacht.

Interessiert an mehr?

Matias Madou, Ph.D. is a security expert, researcher, and CTO and co-founder of Secure Code Warrior. Matias obtained his Ph.D. in Application Security from Ghent University, focusing on static analysis solutions. He later joined Fortify in the US, where he realized that it was insufficient to solely detect code problems without aiding developers in writing secure code. This inspired him to develop products that assist developers, alleviate the burden of security, and exceed customers' expectations. When he is not at his desk as part of Team Awesome, he enjoys being on stage presenting at conferences including RSA Conference, BlackHat and DefCon.

learn more

Secure Code Warrior ist für Ihr Unternehmen da, um Ihnen zu helfen, Code während des gesamten Softwareentwicklungszyklus zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder jemand anderes sind, der sich mit Sicherheit befasst, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Eine Demo buchen
Teilen auf:
linkedin brandsSocialx logo
Autor
Matias Madou, Ph.D.
Published Jun 15, 2020

Matias Madou, Ph.D. is a security expert, researcher, and CTO and co-founder of Secure Code Warrior. Matias obtained his Ph.D. in Application Security from Ghent University, focusing on static analysis solutions. He later joined Fortify in the US, where he realized that it was insufficient to solely detect code problems without aiding developers in writing secure code. This inspired him to develop products that assist developers, alleviate the burden of security, and exceed customers' expectations. When he is not at his desk as part of Team Awesome, he enjoys being on stage presenting at conferences including RSA Conference, BlackHat and DefCon.

Matias is a researcher and developer with more than 15 years of hands-on software security experience. He has developed solutions for companies such as Fortify Software and his own company Sensei Security. Over his career, Matias has led multiple application security research projects which have led to commercial products and boasts over 10 patents under his belt. When he is away from his desk, Matias has served as an instructor for advanced application security training courses and regularly speaks at global conferences including RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec and BruCon.

Matias holds a Ph.D. in Computer Engineering from Ghent University, where he studied application security through program obfuscation to hide the inner workings of an application.

Teilen auf:
linkedin brandsSocialx logo

Wir nähern uns dem Ende unserer Infrastructure as Code-Serie, aber es war großartig, Entwicklern wie Ihnen auf ihrem Weg zur IaC-Sicherheit zu helfen.

Hast du die Herausforderungen gespielt? Was ist dein bisheriges Ergebnis? Bevor wir beginnen, schauen wir uns an, wie viel Sie bereits über die Fallstricke bei der Verwendung von Komponenten aus nicht vertrauenswürdigen Quellen wissen:

Hast du noch etwas zu tun? Lesen Sie weiter:

Das anfällige Verhalten, auf das wir uns heute konzentrieren werden, ist die Verwendung von Code aus nicht vertrauenswürdigen Quellen, eine scheinbar harmlose Praxis, die große Probleme verursacht. Die Verwendung von Open-Source-Code und Ressourcen bietet viele Vorteile. Im Allgemeinen ermöglicht es Experten, ihre Ideen, ihre Arbeit und sogar ihren fertigen Code in Repositorys wie GitHub einzubringen, um von anderen verwendet zu werden, die Schwierigkeiten haben, ein Programm oder eine App richtig funktionieren zu lassen. Die Verwendung von abgeschlossenem Code zur Steuerung von Programmfunktionen erspart Entwicklern, das Rad jedes Mal neu erfinden zu müssen, wenn sie eine neue Anwendung erstellen müssen.

Die Verwendung von Codefragmenten aus unzuverlässigen, ungeprüften oder sogar potenziell gefährlichen Quellen birgt jedoch ein hohes Risiko. Tatsächlich ist die Verwendung von Code aus nicht vertrauenswürdigen Quellen eine der häufigsten Arten, mit denen sich sowohl größere als auch kleinere Sicherheitslücken in ansonsten sichere Anwendungen einschleichen. Manchmal werden diese Sicherheitslücken versehentlich von ihren Urhebern verursacht. Es gab auch Fälle, in denen bösartiger Code von potenziellen Angreifern geschrieben wurde. Der Code wird dann geteilt, in der Hoffnung, Opfer zu verführen, die ihn dann in ihre Anwendungen einfügen.

Warum ist die Verwendung von Code aus nicht vertrauenswürdigen Quellen gefährlich?

Nehmen wir an, ein Entwickler hat es eilig und muss eine Anwendung konfigurieren, die er gerade entwickelt. Das kann ein kniffliger Prozess sein. Anstatt also viel Zeit damit zu verbringen, jede mögliche Konfiguration auszuarbeiten, führen sie eine Google-Suche durch und finden jemanden, der bereits eine scheinbar perfekte Konfigurationsdatei fertiggestellt hat. Obwohl der Entwickler nichts über die Person weiß, die den Code geschrieben hat, ist es relativ einfach, ihn einer neuen Anwendung hinzuzufügen. Dies kann in der Docker-Umgebung mit zwei Zeilen erfolgen:

FÜHREN SIE cd /etc/apache2/sites-available/ &&\
wget -O default-ssl.conf https://gist.githubusercontent.com/vesche/\
9d372cfa8855a6be74bcca86efadfbbf/raw/\
fbdfbe230fa256a6fb78e5e000aebded60d6a5ef/default-ssl.conf

Jetzt ruft das Docker-Image die Konfigurationsdatei des Drittanbieters dynamisch ab. Und selbst wenn die Datei getestet wurde und zu dem Zeitpunkt für in Ordnung befunden wurde, bedeutet die Tatsache, dass der Zeiger jetzt in den Code der neuen Anwendung eingebettet ist, dass eine permanente Abhängigkeit besteht. Tage, Wochen oder Monate später könnte die Datei vom ursprünglichen Autor oder einem Angreifer, der das Code-Repository kompromittiert hat, geändert werden. Plötzlich kann die gemeinsam genutzte Konfigurationsdatei die Anwendung anweisen, ganz anders als beabsichtigt zu arbeiten, was möglicherweise unbefugten Benutzern Zugriff gewährt oder sogar direkt Daten stiehlt und exfiltriert.

Eine bessere Möglichkeit, gemeinsam genutzte Ressourcen zu nutzen

Wenn Ihre Organisation die Verwendung von Code aus externen Quellen zulässt, müssen Prozesse eingerichtet werden, um sicherzustellen, dass dies sicher ausgeführt wird. Achten Sie bei der Bewertung von externem Code auf eine mögliche Verwendung darauf, Komponenten nur über sichere Links aus offiziellen Quellen zu beziehen. Und selbst dann sollten Sie niemals auf eine externe Quelle verlinken, um diesen Code abzurufen, da dies den Prozess Ihrer Kontrolle entzieht. Stattdessen sollte der genehmigte Code in eine sichere Bibliothek gebracht und nur von diesem geschützten Ort aus verwendet werden. In einer Docker-Umgebung würde der Code also so aussehen:

KOPIERE src/config/default-ssl.conf /etc/apache2/sites-available/

Anstatt sich auf entfernte Konfigurationsdateien von Drittanbietern zu verlassen, würde dies stattdessen auf einer lokalen Kopie dieser Dateien beruhen. Dadurch wird verhindert, dass unerwartete oder böswillige Änderungen vorgenommen werden.

Zusätzlich zur Verwendung einer sicheren Codebibliothek sollte ein Patch-Management-Prozess eingerichtet werden, um die Komponenten während des gesamten Softwarelebenszyklus kontinuierlich zu überwachen. Alle client- und serverseitigen Komponenten sollten außerdem mithilfe von Tools wie NVD oder CVE auf Sicherheitswarnungen überprüft werden. Entfernen Sie abschließend alle ungenutzten oder unnötigen Abhängigkeiten und Funktionen, die mit dem externen Code mitspielen könnten.

Wenn Entwickler diese Schritte befolgen, können sie externe Ressourcen sicherer nutzen, ohne versehentlich Sicherheitslücken in ihren Anwendungen und ihrem Code zu verursachen.

Schauen Sie sich das an Sicherer Codekrieger Blogseiten mit weiteren Informationen zu dieser Sicherheitslücke und dazu, wie Sie Ihr Unternehmen und Ihre Kunden vor den Folgen anderer Sicherheitslücken schützen können. Sie können auch probiere eine Demo der IaC-Herausforderungen auf der Secure Code Warrior-Schulungsplattform, um all Ihre Cybersicherheitsfähigkeiten zu verbessern und auf dem neuesten Stand zu halten.



Ressource ansehen
Ressource ansehen

Füllen Sie das unten stehende Formular aus, um den Bericht herunterzuladen

Wir bitten um Ihre Erlaubnis, Ihnen Informationen zu unseren Produkten und/oder verwandten Themen rund um sichere Codierung zuzusenden. Wir behandeln Ihre persönlichen Daten stets mit größter Sorgfalt und verkaufen sie niemals zu Marketingzwecken an andere Unternehmen.

Einreichen
scw success icon
scw error icon
Um das Formular abzusenden, aktivieren Sie bitte „Analytics“ -Cookies. Wenn Sie fertig sind, können Sie sie jederzeit wieder deaktivieren.

Wir nähern uns dem Ende unserer Infrastructure as Code-Serie, aber es war großartig, Entwicklern wie Ihnen auf ihrem Weg zur IaC-Sicherheit zu helfen.

Hast du die Herausforderungen gespielt? Was ist dein bisheriges Ergebnis? Bevor wir beginnen, schauen wir uns an, wie viel Sie bereits über die Fallstricke bei der Verwendung von Komponenten aus nicht vertrauenswürdigen Quellen wissen:

Hast du noch etwas zu tun? Lesen Sie weiter:

Das anfällige Verhalten, auf das wir uns heute konzentrieren werden, ist die Verwendung von Code aus nicht vertrauenswürdigen Quellen, eine scheinbar harmlose Praxis, die große Probleme verursacht. Die Verwendung von Open-Source-Code und Ressourcen bietet viele Vorteile. Im Allgemeinen ermöglicht es Experten, ihre Ideen, ihre Arbeit und sogar ihren fertigen Code in Repositorys wie GitHub einzubringen, um von anderen verwendet zu werden, die Schwierigkeiten haben, ein Programm oder eine App richtig funktionieren zu lassen. Die Verwendung von abgeschlossenem Code zur Steuerung von Programmfunktionen erspart Entwicklern, das Rad jedes Mal neu erfinden zu müssen, wenn sie eine neue Anwendung erstellen müssen.

Die Verwendung von Codefragmenten aus unzuverlässigen, ungeprüften oder sogar potenziell gefährlichen Quellen birgt jedoch ein hohes Risiko. Tatsächlich ist die Verwendung von Code aus nicht vertrauenswürdigen Quellen eine der häufigsten Arten, mit denen sich sowohl größere als auch kleinere Sicherheitslücken in ansonsten sichere Anwendungen einschleichen. Manchmal werden diese Sicherheitslücken versehentlich von ihren Urhebern verursacht. Es gab auch Fälle, in denen bösartiger Code von potenziellen Angreifern geschrieben wurde. Der Code wird dann geteilt, in der Hoffnung, Opfer zu verführen, die ihn dann in ihre Anwendungen einfügen.

Warum ist die Verwendung von Code aus nicht vertrauenswürdigen Quellen gefährlich?

Nehmen wir an, ein Entwickler hat es eilig und muss eine Anwendung konfigurieren, die er gerade entwickelt. Das kann ein kniffliger Prozess sein. Anstatt also viel Zeit damit zu verbringen, jede mögliche Konfiguration auszuarbeiten, führen sie eine Google-Suche durch und finden jemanden, der bereits eine scheinbar perfekte Konfigurationsdatei fertiggestellt hat. Obwohl der Entwickler nichts über die Person weiß, die den Code geschrieben hat, ist es relativ einfach, ihn einer neuen Anwendung hinzuzufügen. Dies kann in der Docker-Umgebung mit zwei Zeilen erfolgen:

FÜHREN SIE cd /etc/apache2/sites-available/ &&\
wget -O default-ssl.conf https://gist.githubusercontent.com/vesche/\
9d372cfa8855a6be74bcca86efadfbbf/raw/\
fbdfbe230fa256a6fb78e5e000aebded60d6a5ef/default-ssl.conf

Jetzt ruft das Docker-Image die Konfigurationsdatei des Drittanbieters dynamisch ab. Und selbst wenn die Datei getestet wurde und zu dem Zeitpunkt für in Ordnung befunden wurde, bedeutet die Tatsache, dass der Zeiger jetzt in den Code der neuen Anwendung eingebettet ist, dass eine permanente Abhängigkeit besteht. Tage, Wochen oder Monate später könnte die Datei vom ursprünglichen Autor oder einem Angreifer, der das Code-Repository kompromittiert hat, geändert werden. Plötzlich kann die gemeinsam genutzte Konfigurationsdatei die Anwendung anweisen, ganz anders als beabsichtigt zu arbeiten, was möglicherweise unbefugten Benutzern Zugriff gewährt oder sogar direkt Daten stiehlt und exfiltriert.

Eine bessere Möglichkeit, gemeinsam genutzte Ressourcen zu nutzen

Wenn Ihre Organisation die Verwendung von Code aus externen Quellen zulässt, müssen Prozesse eingerichtet werden, um sicherzustellen, dass dies sicher ausgeführt wird. Achten Sie bei der Bewertung von externem Code auf eine mögliche Verwendung darauf, Komponenten nur über sichere Links aus offiziellen Quellen zu beziehen. Und selbst dann sollten Sie niemals auf eine externe Quelle verlinken, um diesen Code abzurufen, da dies den Prozess Ihrer Kontrolle entzieht. Stattdessen sollte der genehmigte Code in eine sichere Bibliothek gebracht und nur von diesem geschützten Ort aus verwendet werden. In einer Docker-Umgebung würde der Code also so aussehen:

KOPIERE src/config/default-ssl.conf /etc/apache2/sites-available/

Anstatt sich auf entfernte Konfigurationsdateien von Drittanbietern zu verlassen, würde dies stattdessen auf einer lokalen Kopie dieser Dateien beruhen. Dadurch wird verhindert, dass unerwartete oder böswillige Änderungen vorgenommen werden.

Zusätzlich zur Verwendung einer sicheren Codebibliothek sollte ein Patch-Management-Prozess eingerichtet werden, um die Komponenten während des gesamten Softwarelebenszyklus kontinuierlich zu überwachen. Alle client- und serverseitigen Komponenten sollten außerdem mithilfe von Tools wie NVD oder CVE auf Sicherheitswarnungen überprüft werden. Entfernen Sie abschließend alle ungenutzten oder unnötigen Abhängigkeiten und Funktionen, die mit dem externen Code mitspielen könnten.

Wenn Entwickler diese Schritte befolgen, können sie externe Ressourcen sicherer nutzen, ohne versehentlich Sicherheitslücken in ihren Anwendungen und ihrem Code zu verursachen.

Schauen Sie sich das an Sicherer Codekrieger Blogseiten mit weiteren Informationen zu dieser Sicherheitslücke und dazu, wie Sie Ihr Unternehmen und Ihre Kunden vor den Folgen anderer Sicherheitslücken schützen können. Sie können auch probiere eine Demo der IaC-Herausforderungen auf der Secure Code Warrior-Schulungsplattform, um all Ihre Cybersicherheitsfähigkeiten zu verbessern und auf dem neuesten Stand zu halten.



Webinar ansehen
Fangen Sie an
learn more

Klicken Sie auf den Link unten und laden Sie das PDF dieser Ressource herunter.

Secure Code Warrior ist für Ihr Unternehmen da, um Ihnen zu helfen, Code während des gesamten Softwareentwicklungszyklus zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder jemand anderes sind, der sich mit Sicherheit befasst, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Bericht ansehenEine Demo buchen
Ressource ansehen
Teilen auf:
linkedin brandsSocialx logo
Interessiert an mehr?

Teilen auf:
linkedin brandsSocialx logo
Autor
Matias Madou, Ph.D.
Published Jun 15, 2020

Matias Madou, Ph.D. is a security expert, researcher, and CTO and co-founder of Secure Code Warrior. Matias obtained his Ph.D. in Application Security from Ghent University, focusing on static analysis solutions. He later joined Fortify in the US, where he realized that it was insufficient to solely detect code problems without aiding developers in writing secure code. This inspired him to develop products that assist developers, alleviate the burden of security, and exceed customers' expectations. When he is not at his desk as part of Team Awesome, he enjoys being on stage presenting at conferences including RSA Conference, BlackHat and DefCon.

Matias is a researcher and developer with more than 15 years of hands-on software security experience. He has developed solutions for companies such as Fortify Software and his own company Sensei Security. Over his career, Matias has led multiple application security research projects which have led to commercial products and boasts over 10 patents under his belt. When he is away from his desk, Matias has served as an instructor for advanced application security training courses and regularly speaks at global conferences including RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec and BruCon.

Matias holds a Ph.D. in Computer Engineering from Ghent University, where he studied application security through program obfuscation to hide the inner workings of an application.

Teilen auf:
linkedin brandsSocialx logo

Wir nähern uns dem Ende unserer Infrastructure as Code-Serie, aber es war großartig, Entwicklern wie Ihnen auf ihrem Weg zur IaC-Sicherheit zu helfen.

Hast du die Herausforderungen gespielt? Was ist dein bisheriges Ergebnis? Bevor wir beginnen, schauen wir uns an, wie viel Sie bereits über die Fallstricke bei der Verwendung von Komponenten aus nicht vertrauenswürdigen Quellen wissen:

Hast du noch etwas zu tun? Lesen Sie weiter:

Das anfällige Verhalten, auf das wir uns heute konzentrieren werden, ist die Verwendung von Code aus nicht vertrauenswürdigen Quellen, eine scheinbar harmlose Praxis, die große Probleme verursacht. Die Verwendung von Open-Source-Code und Ressourcen bietet viele Vorteile. Im Allgemeinen ermöglicht es Experten, ihre Ideen, ihre Arbeit und sogar ihren fertigen Code in Repositorys wie GitHub einzubringen, um von anderen verwendet zu werden, die Schwierigkeiten haben, ein Programm oder eine App richtig funktionieren zu lassen. Die Verwendung von abgeschlossenem Code zur Steuerung von Programmfunktionen erspart Entwicklern, das Rad jedes Mal neu erfinden zu müssen, wenn sie eine neue Anwendung erstellen müssen.

Die Verwendung von Codefragmenten aus unzuverlässigen, ungeprüften oder sogar potenziell gefährlichen Quellen birgt jedoch ein hohes Risiko. Tatsächlich ist die Verwendung von Code aus nicht vertrauenswürdigen Quellen eine der häufigsten Arten, mit denen sich sowohl größere als auch kleinere Sicherheitslücken in ansonsten sichere Anwendungen einschleichen. Manchmal werden diese Sicherheitslücken versehentlich von ihren Urhebern verursacht. Es gab auch Fälle, in denen bösartiger Code von potenziellen Angreifern geschrieben wurde. Der Code wird dann geteilt, in der Hoffnung, Opfer zu verführen, die ihn dann in ihre Anwendungen einfügen.

Warum ist die Verwendung von Code aus nicht vertrauenswürdigen Quellen gefährlich?

Nehmen wir an, ein Entwickler hat es eilig und muss eine Anwendung konfigurieren, die er gerade entwickelt. Das kann ein kniffliger Prozess sein. Anstatt also viel Zeit damit zu verbringen, jede mögliche Konfiguration auszuarbeiten, führen sie eine Google-Suche durch und finden jemanden, der bereits eine scheinbar perfekte Konfigurationsdatei fertiggestellt hat. Obwohl der Entwickler nichts über die Person weiß, die den Code geschrieben hat, ist es relativ einfach, ihn einer neuen Anwendung hinzuzufügen. Dies kann in der Docker-Umgebung mit zwei Zeilen erfolgen:

FÜHREN SIE cd /etc/apache2/sites-available/ &&\
wget -O default-ssl.conf https://gist.githubusercontent.com/vesche/\
9d372cfa8855a6be74bcca86efadfbbf/raw/\
fbdfbe230fa256a6fb78e5e000aebded60d6a5ef/default-ssl.conf

Jetzt ruft das Docker-Image die Konfigurationsdatei des Drittanbieters dynamisch ab. Und selbst wenn die Datei getestet wurde und zu dem Zeitpunkt für in Ordnung befunden wurde, bedeutet die Tatsache, dass der Zeiger jetzt in den Code der neuen Anwendung eingebettet ist, dass eine permanente Abhängigkeit besteht. Tage, Wochen oder Monate später könnte die Datei vom ursprünglichen Autor oder einem Angreifer, der das Code-Repository kompromittiert hat, geändert werden. Plötzlich kann die gemeinsam genutzte Konfigurationsdatei die Anwendung anweisen, ganz anders als beabsichtigt zu arbeiten, was möglicherweise unbefugten Benutzern Zugriff gewährt oder sogar direkt Daten stiehlt und exfiltriert.

Eine bessere Möglichkeit, gemeinsam genutzte Ressourcen zu nutzen

Wenn Ihre Organisation die Verwendung von Code aus externen Quellen zulässt, müssen Prozesse eingerichtet werden, um sicherzustellen, dass dies sicher ausgeführt wird. Achten Sie bei der Bewertung von externem Code auf eine mögliche Verwendung darauf, Komponenten nur über sichere Links aus offiziellen Quellen zu beziehen. Und selbst dann sollten Sie niemals auf eine externe Quelle verlinken, um diesen Code abzurufen, da dies den Prozess Ihrer Kontrolle entzieht. Stattdessen sollte der genehmigte Code in eine sichere Bibliothek gebracht und nur von diesem geschützten Ort aus verwendet werden. In einer Docker-Umgebung würde der Code also so aussehen:

KOPIERE src/config/default-ssl.conf /etc/apache2/sites-available/

Anstatt sich auf entfernte Konfigurationsdateien von Drittanbietern zu verlassen, würde dies stattdessen auf einer lokalen Kopie dieser Dateien beruhen. Dadurch wird verhindert, dass unerwartete oder böswillige Änderungen vorgenommen werden.

Zusätzlich zur Verwendung einer sicheren Codebibliothek sollte ein Patch-Management-Prozess eingerichtet werden, um die Komponenten während des gesamten Softwarelebenszyklus kontinuierlich zu überwachen. Alle client- und serverseitigen Komponenten sollten außerdem mithilfe von Tools wie NVD oder CVE auf Sicherheitswarnungen überprüft werden. Entfernen Sie abschließend alle ungenutzten oder unnötigen Abhängigkeiten und Funktionen, die mit dem externen Code mitspielen könnten.

Wenn Entwickler diese Schritte befolgen, können sie externe Ressourcen sicherer nutzen, ohne versehentlich Sicherheitslücken in ihren Anwendungen und ihrem Code zu verursachen.

Schauen Sie sich das an Sicherer Codekrieger Blogseiten mit weiteren Informationen zu dieser Sicherheitslücke und dazu, wie Sie Ihr Unternehmen und Ihre Kunden vor den Folgen anderer Sicherheitslücken schützen können. Sie können auch probiere eine Demo der IaC-Herausforderungen auf der Secure Code Warrior-Schulungsplattform, um all Ihre Cybersicherheitsfähigkeiten zu verbessern und auf dem neuesten Stand zu halten.



Inhaltsverzeichniss

PDF herunterladen
Ressource ansehen
Interessiert an mehr?

Matias Madou, Ph.D. is a security expert, researcher, and CTO and co-founder of Secure Code Warrior. Matias obtained his Ph.D. in Application Security from Ghent University, focusing on static analysis solutions. He later joined Fortify in the US, where he realized that it was insufficient to solely detect code problems without aiding developers in writing secure code. This inspired him to develop products that assist developers, alleviate the burden of security, and exceed customers' expectations. When he is not at his desk as part of Team Awesome, he enjoys being on stage presenting at conferences including RSA Conference, BlackHat and DefCon.

learn more

Secure Code Warrior ist für Ihr Unternehmen da, um Ihnen zu helfen, Code während des gesamten Softwareentwicklungszyklus zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder jemand anderes sind, der sich mit Sicherheit befasst, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Eine Demo buchenHerunterladen
Teilen auf:
linkedin brandsSocialx logo
Ressourcen-Hub

Ressourcen für den Einstieg

Mehr Beiträge
Ressourcen-Hub

Ressourcen für den Einstieg

Mehr Beiträge