
Programmierer erobern die Sicherheitsinfrastruktur als Code-Serie — mit Komponenten aus nicht vertrauenswürdigen Quellen
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.


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.
마티아스 마두는 보안 전문가, 연구원, CTO이자 Secure Code Warrior 의 공동 설립자입니다. 마티아스는 겐트 대학교에서 정적 분석 솔루션에 중점을 둔 애플리케이션 보안 박사 학위를 취득했습니다. 이후 미국의 Fortify에 입사하여 개발자의 보안 코드 작성을 지원하지 않고 코드 문제만 탐지하는 것만으로는 충분하지 않다는 것을 깨달았습니다. 이를 계기로 개발자를 지원하고 보안에 대한 부담을 덜어주며 고객의 기대를 뛰어넘는 제품을 개발하게 되었습니다. 팀 어썸의 일원으로 책상에 앉아 있지 않을 때는 RSA 컨퍼런스, 블랙햇, 데프콘 등의 컨퍼런스에서 무대에 올라 발표하는 것을 즐깁니다.

Secure Code Warrior 소프트웨어 개발 주기 전반에 걸쳐 코드를 보호하고 사이버 보안을 최우선으로 하는 문화를 조성하도록 귀사를 Secure Code Warrior . 앱 보안 관리자, 개발자, 최고정보보안책임자(CISO) 또는 보안 관련 업무를 담당하는 분이라면 누구든, 저희는 귀사가 안전하지 않은 코드로 인한 위험을 줄일 수 있도록 돕습니다.
데모 예약하기마티아스 마두는 보안 전문가, 연구원, CTO이자 Secure Code Warrior 의 공동 설립자입니다. 마티아스는 겐트 대학교에서 정적 분석 솔루션에 중점을 둔 애플리케이션 보안 박사 학위를 취득했습니다. 이후 미국의 Fortify에 입사하여 개발자의 보안 코드 작성을 지원하지 않고 코드 문제만 탐지하는 것만으로는 충분하지 않다는 것을 깨달았습니다. 이를 계기로 개발자를 지원하고 보안에 대한 부담을 덜어주며 고객의 기대를 뛰어넘는 제품을 개발하게 되었습니다. 팀 어썸의 일원으로 책상에 앉아 있지 않을 때는 RSA 컨퍼런스, 블랙햇, 데프콘 등의 컨퍼런스에서 무대에 올라 발표하는 것을 즐깁니다.
Matias는 15년 이상의 소프트웨어 보안 경험을 가진 연구원이자 개발자입니다. 그는 Fortify 소프트웨어와 같은 회사와 자신의 회사를 위한 솔루션을 개발했습니다. Sensei 안전. 그의 경력을 통해, Matias는 상용 제품으로 주도하고 자신의 벨트 아래 10 개 이상의 특허를 자랑하는 여러 응용 프로그램 보안 연구 프로젝트를 주도하고있다. 마티아스는 책상에서 떨어져 있을 때 고급 응용 프로그램 보안 교육을 위한 강사로 일했습니다. courses RSA 컨퍼런스, 블랙 햇, 데프콘, BSIMM, OWASP AppSec 및 브루콘을 포함한 글로벌 컨퍼런스에서 정기적으로 강연합니다.
마티아스는 겐트 대학교에서 컴퓨터 공학 박사 학위를 취득했으며, 프로그램 난독화를 통해 응용 프로그램 보안을 연구하여 응용 프로그램의 내부 작동을 숨깁니다.


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.

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.

아래 링크를 클릭하여 이 자료의 PDF를 다운로드하십시오.
Secure Code Warrior 소프트웨어 개발 주기 전반에 걸쳐 코드를 보호하고 사이버 보안을 최우선으로 하는 문화를 조성하도록 귀사를 Secure Code Warrior . 앱 보안 관리자, 개발자, 최고정보보안책임자(CISO) 또는 보안 관련 업무를 담당하는 분이라면 누구든, 저희는 귀사가 안전하지 않은 코드로 인한 위험을 줄일 수 있도록 돕습니다.
보고서 보기데모 예약하기마티아스 마두는 보안 전문가, 연구원, CTO이자 Secure Code Warrior 의 공동 설립자입니다. 마티아스는 겐트 대학교에서 정적 분석 솔루션에 중점을 둔 애플리케이션 보안 박사 학위를 취득했습니다. 이후 미국의 Fortify에 입사하여 개발자의 보안 코드 작성을 지원하지 않고 코드 문제만 탐지하는 것만으로는 충분하지 않다는 것을 깨달았습니다. 이를 계기로 개발자를 지원하고 보안에 대한 부담을 덜어주며 고객의 기대를 뛰어넘는 제품을 개발하게 되었습니다. 팀 어썸의 일원으로 책상에 앉아 있지 않을 때는 RSA 컨퍼런스, 블랙햇, 데프콘 등의 컨퍼런스에서 무대에 올라 발표하는 것을 즐깁니다.
Matias는 15년 이상의 소프트웨어 보안 경험을 가진 연구원이자 개발자입니다. 그는 Fortify 소프트웨어와 같은 회사와 자신의 회사를 위한 솔루션을 개발했습니다. Sensei 안전. 그의 경력을 통해, Matias는 상용 제품으로 주도하고 자신의 벨트 아래 10 개 이상의 특허를 자랑하는 여러 응용 프로그램 보안 연구 프로젝트를 주도하고있다. 마티아스는 책상에서 떨어져 있을 때 고급 응용 프로그램 보안 교육을 위한 강사로 일했습니다. courses RSA 컨퍼런스, 블랙 햇, 데프콘, BSIMM, OWASP AppSec 및 브루콘을 포함한 글로벌 컨퍼런스에서 정기적으로 강연합니다.
마티아스는 겐트 대학교에서 컴퓨터 공학 박사 학위를 취득했으며, 프로그램 난독화를 통해 응용 프로그램 보안을 연구하여 응용 프로그램의 내부 작동을 숨깁니다.
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.
목차
마티아스 마두는 보안 전문가, 연구원, CTO이자 Secure Code Warrior 의 공동 설립자입니다. 마티아스는 겐트 대학교에서 정적 분석 솔루션에 중점을 둔 애플리케이션 보안 박사 학위를 취득했습니다. 이후 미국의 Fortify에 입사하여 개발자의 보안 코드 작성을 지원하지 않고 코드 문제만 탐지하는 것만으로는 충분하지 않다는 것을 깨달았습니다. 이를 계기로 개발자를 지원하고 보안에 대한 부담을 덜어주며 고객의 기대를 뛰어넘는 제품을 개발하게 되었습니다. 팀 어썸의 일원으로 책상에 앉아 있지 않을 때는 RSA 컨퍼런스, 블랙햇, 데프콘 등의 컨퍼런스에서 무대에 올라 발표하는 것을 즐깁니다.

Secure Code Warrior 소프트웨어 개발 주기 전반에 걸쳐 코드를 보호하고 사이버 보안을 최우선으로 하는 문화를 조성하도록 귀사를 Secure Code Warrior . 앱 보안 관리자, 개발자, 최고정보보안책임자(CISO) 또는 보안 관련 업무를 담당하는 분이라면 누구든, 저희는 귀사가 안전하지 않은 코드로 인한 위험을 줄일 수 있도록 돕습니다.
데모 예약하기다운로드



%20(1).avif)
.avif)
