
Sichere Codierungstechnik: Das Standardverhalten von Zip-Bibliotheken kann zur Remotecodeausführung führen
Diese Woche werden wir über das Standardverhalten von Zip-Bibliotheken sprechen. Wenn Sie ein Anwendungsentwickler sind, ist es sehr wahrscheinlich, dass Sie dies schon einmal verwendet haben. Die meisten Ressourcen, die über das Internet heruntergeladen werden, sind im ZIP-Format, das ist sinnvoll. Komprimierte Daten sind kleiner, sodass sie schneller heruntergeladen werden und weniger Bandbreite verbrauchen.
Wenn Sie konkretere Beispiele wünschen: Texturen für Spiele, Sprachpakete für die automatische Vervollständigung in Tastaturen,... Viele Ressourcen werden nicht automatisch mit der Anwendung gebündelt, sondern erst später heruntergeladen.
Seien Sie jedoch vorsichtig, wenn Sie diese Funktion verwenden, da Dateinamen in ZIP-Archiven Pfadinformationen enthalten können. Beim Extrahieren führt dies dazu, dass Dateien außerhalb des vorgesehenen Verzeichnisses erstellt werden. Dies geschieht oft mit der Absicht, vorhandene Dateien zu überschreiben.

Angenommen, wir haben ein Zip-Archiv, das die folgenden zwei Dateien enthält:
Datei1
.. /datei2
Wenn dieses Archiv extrahiert wird, wird Datei1 dort extrahiert, wo wir es erwarten, im Unzip-Verzeichnis. Datei2 wurde jedoch ein Verzeichnis höher geschrieben als dort, wo wir die Zip-Bibliothek gebeten haben, das Archiv zu entpacken.
Seien Sie also vorsichtig, wenn Ihre Zip-Bibliothek nicht darauf achtet, diesen Fall richtig zu behandeln, kann ein Angreifer eine beliebige Datei in das System schreiben. Prüfen Sie immer, ob Ihre Bibliothek sicher ist. Diese Faustregel gilt für jede Bibliothek, aber insbesondere wissen Sie, dass Sie das Standardverhalten Ihrer Zip-Bibliothek für diese Dateitypen überprüfen müssen.
Lassen Sie uns die Konsequenzen demonstrieren, wenn dieser Fall in Android nicht richtig behandelt wird. In Android wird die Java-Zip-Bibliothek (java.util.zip) verwendet. Die Bibliothek ermöglicht standardmäßig das Durchlaufen von Pfaden, wie oben erläutert.
Das Dalvik Executable Format (.dex) von Android hat Einschränkungen hinsichtlich der Anzahl der Klassen, die eine einzelne Datei haben kann. Apps, die mehr Klassen benötigen, können die MultiDex Support-Bibliothek nutzen, die seit API-Level 21 (Android 5.0 Lollipop) hinzugefügt wurde. Diese Bibliothek speichert sekundäre .dex-Dateien im Datenverzeichnis der Anwendung. Dieses Verzeichnis ist für den App-Benutzer beschreibbar und dieser Code wird geladen und ausgeführt, wenn die DEX-Datei benötigt wird.
Das bedeutet, dass ein Angreifer die DEX-Datei ändern kann, indem er sie mithilfe eines schädlichen ZIP-Archivs überschreibt. Schlimmer noch, diese Datei wird geladen und ausgeführt, was zu einer Sicherheitsanfälligkeit bei der Remotecodeausführung führt. Dies ist nicht nur ein theoretisches Beispiel, sondern wurde in der App My Talking Tom demonstriert, die im App Store über 100 Millionen Mal heruntergeladen wurde. Hier ist ein Video des Exploits, der auf Black Hat vorgestellt wurde.

Überprüfen Sie immer das Verhalten Ihrer Zip-Bibliothek, damit Sie sich ihrer Unsicherheiten bewusst sind. Wenn Sie die Pfaddurchquerung in Ihrer ZIP-Bibliothek nicht deaktivieren können, stellen Sie sicher, dass Sie den Namen jedes Eintrags überprüfen, bevor Sie ihn extrahieren. Der Name sollte kanonisiert werden und der resultierende Pfad sollte sich in dem Verzeichnis befinden, in dem Sie das Archiv extrahieren möchten. Wenn wir schon dabei sind, solltest du auch die Gesamtgröße des entpackten Archivs überprüfen, um Zip-Bomben zu verhindern, aber das ist ein Beitrag für eine weitere Woche.
Wenn du willst spiele einige Herausforderungen bei der Pfadüberquerung oder wenn Sie Ihre Fähigkeiten zum sicheren Programmieren testen möchten, schauen Sie sich unsere Plattform an.
Bis zum nächsten Mal und denk dran, Sicherheitscode oder kein Code!
- Wir können eine Datei in eine Zip-Datei einfügen, deren Namen eine beliebige Zahl von "../“ vorangestellt ist
- Wenn die Zip-Bibliothek nicht darauf achtet, diesen Fall richtig zu behandeln, können wir außerhalb des vorgesehenen Extraktionsverzeichnisses schreiben
- Wenn die Zip-Datei nicht vertrauenswürdig ist, besteht für den Angreifer eine Schwachstelle beim willkürlichen Schreiben


Wir können eine Datei in eine Zip-Datei einfügen, deren Name mit einem vorangestellt ist
Forscher für Anwendungssicherheit - Forschungs- und Entwicklungsingenieur - Doktorand

Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.
Réserver une démonstrationForscher für Anwendungssicherheit - Forschungs- und Entwicklungsingenieur - Doktorand


Diese Woche werden wir über das Standardverhalten von Zip-Bibliotheken sprechen. Wenn Sie ein Anwendungsentwickler sind, ist es sehr wahrscheinlich, dass Sie dies schon einmal verwendet haben. Die meisten Ressourcen, die über das Internet heruntergeladen werden, sind im ZIP-Format, das ist sinnvoll. Komprimierte Daten sind kleiner, sodass sie schneller heruntergeladen werden und weniger Bandbreite verbrauchen.
Wenn Sie konkretere Beispiele wünschen: Texturen für Spiele, Sprachpakete für die automatische Vervollständigung in Tastaturen,... Viele Ressourcen werden nicht automatisch mit der Anwendung gebündelt, sondern erst später heruntergeladen.
Seien Sie jedoch vorsichtig, wenn Sie diese Funktion verwenden, da Dateinamen in ZIP-Archiven Pfadinformationen enthalten können. Beim Extrahieren führt dies dazu, dass Dateien außerhalb des vorgesehenen Verzeichnisses erstellt werden. Dies geschieht oft mit der Absicht, vorhandene Dateien zu überschreiben.

Angenommen, wir haben ein Zip-Archiv, das die folgenden zwei Dateien enthält:
Datei1
.. /datei2
Wenn dieses Archiv extrahiert wird, wird Datei1 dort extrahiert, wo wir es erwarten, im Unzip-Verzeichnis. Datei2 wurde jedoch ein Verzeichnis höher geschrieben als dort, wo wir die Zip-Bibliothek gebeten haben, das Archiv zu entpacken.
Seien Sie also vorsichtig, wenn Ihre Zip-Bibliothek nicht darauf achtet, diesen Fall richtig zu behandeln, kann ein Angreifer eine beliebige Datei in das System schreiben. Prüfen Sie immer, ob Ihre Bibliothek sicher ist. Diese Faustregel gilt für jede Bibliothek, aber insbesondere wissen Sie, dass Sie das Standardverhalten Ihrer Zip-Bibliothek für diese Dateitypen überprüfen müssen.
Lassen Sie uns die Konsequenzen demonstrieren, wenn dieser Fall in Android nicht richtig behandelt wird. In Android wird die Java-Zip-Bibliothek (java.util.zip) verwendet. Die Bibliothek ermöglicht standardmäßig das Durchlaufen von Pfaden, wie oben erläutert.
Das Dalvik Executable Format (.dex) von Android hat Einschränkungen hinsichtlich der Anzahl der Klassen, die eine einzelne Datei haben kann. Apps, die mehr Klassen benötigen, können die MultiDex Support-Bibliothek nutzen, die seit API-Level 21 (Android 5.0 Lollipop) hinzugefügt wurde. Diese Bibliothek speichert sekundäre .dex-Dateien im Datenverzeichnis der Anwendung. Dieses Verzeichnis ist für den App-Benutzer beschreibbar und dieser Code wird geladen und ausgeführt, wenn die DEX-Datei benötigt wird.
Das bedeutet, dass ein Angreifer die DEX-Datei ändern kann, indem er sie mithilfe eines schädlichen ZIP-Archivs überschreibt. Schlimmer noch, diese Datei wird geladen und ausgeführt, was zu einer Sicherheitsanfälligkeit bei der Remotecodeausführung führt. Dies ist nicht nur ein theoretisches Beispiel, sondern wurde in der App My Talking Tom demonstriert, die im App Store über 100 Millionen Mal heruntergeladen wurde. Hier ist ein Video des Exploits, der auf Black Hat vorgestellt wurde.

Überprüfen Sie immer das Verhalten Ihrer Zip-Bibliothek, damit Sie sich ihrer Unsicherheiten bewusst sind. Wenn Sie die Pfaddurchquerung in Ihrer ZIP-Bibliothek nicht deaktivieren können, stellen Sie sicher, dass Sie den Namen jedes Eintrags überprüfen, bevor Sie ihn extrahieren. Der Name sollte kanonisiert werden und der resultierende Pfad sollte sich in dem Verzeichnis befinden, in dem Sie das Archiv extrahieren möchten. Wenn wir schon dabei sind, solltest du auch die Gesamtgröße des entpackten Archivs überprüfen, um Zip-Bomben zu verhindern, aber das ist ein Beitrag für eine weitere Woche.
Wenn du willst spiele einige Herausforderungen bei der Pfadüberquerung oder wenn Sie Ihre Fähigkeiten zum sicheren Programmieren testen möchten, schauen Sie sich unsere Plattform an.
Bis zum nächsten Mal und denk dran, Sicherheitscode oder kein Code!
- Wir können eine Datei in eine Zip-Datei einfügen, deren Namen eine beliebige Zahl von "../“ vorangestellt ist
- Wenn die Zip-Bibliothek nicht darauf achtet, diesen Fall richtig zu behandeln, können wir außerhalb des vorgesehenen Extraktionsverzeichnisses schreiben
- Wenn die Zip-Datei nicht vertrauenswürdig ist, besteht für den Angreifer eine Schwachstelle beim willkürlichen Schreiben

Diese Woche werden wir über das Standardverhalten von Zip-Bibliotheken sprechen. Wenn Sie ein Anwendungsentwickler sind, ist es sehr wahrscheinlich, dass Sie dies schon einmal verwendet haben. Die meisten Ressourcen, die über das Internet heruntergeladen werden, sind im ZIP-Format, das ist sinnvoll. Komprimierte Daten sind kleiner, sodass sie schneller heruntergeladen werden und weniger Bandbreite verbrauchen.
Wenn Sie konkretere Beispiele wünschen: Texturen für Spiele, Sprachpakete für die automatische Vervollständigung in Tastaturen,... Viele Ressourcen werden nicht automatisch mit der Anwendung gebündelt, sondern erst später heruntergeladen.
Seien Sie jedoch vorsichtig, wenn Sie diese Funktion verwenden, da Dateinamen in ZIP-Archiven Pfadinformationen enthalten können. Beim Extrahieren führt dies dazu, dass Dateien außerhalb des vorgesehenen Verzeichnisses erstellt werden. Dies geschieht oft mit der Absicht, vorhandene Dateien zu überschreiben.

Angenommen, wir haben ein Zip-Archiv, das die folgenden zwei Dateien enthält:
Datei1
.. /datei2
Wenn dieses Archiv extrahiert wird, wird Datei1 dort extrahiert, wo wir es erwarten, im Unzip-Verzeichnis. Datei2 wurde jedoch ein Verzeichnis höher geschrieben als dort, wo wir die Zip-Bibliothek gebeten haben, das Archiv zu entpacken.
Seien Sie also vorsichtig, wenn Ihre Zip-Bibliothek nicht darauf achtet, diesen Fall richtig zu behandeln, kann ein Angreifer eine beliebige Datei in das System schreiben. Prüfen Sie immer, ob Ihre Bibliothek sicher ist. Diese Faustregel gilt für jede Bibliothek, aber insbesondere wissen Sie, dass Sie das Standardverhalten Ihrer Zip-Bibliothek für diese Dateitypen überprüfen müssen.
Lassen Sie uns die Konsequenzen demonstrieren, wenn dieser Fall in Android nicht richtig behandelt wird. In Android wird die Java-Zip-Bibliothek (java.util.zip) verwendet. Die Bibliothek ermöglicht standardmäßig das Durchlaufen von Pfaden, wie oben erläutert.
Das Dalvik Executable Format (.dex) von Android hat Einschränkungen hinsichtlich der Anzahl der Klassen, die eine einzelne Datei haben kann. Apps, die mehr Klassen benötigen, können die MultiDex Support-Bibliothek nutzen, die seit API-Level 21 (Android 5.0 Lollipop) hinzugefügt wurde. Diese Bibliothek speichert sekundäre .dex-Dateien im Datenverzeichnis der Anwendung. Dieses Verzeichnis ist für den App-Benutzer beschreibbar und dieser Code wird geladen und ausgeführt, wenn die DEX-Datei benötigt wird.
Das bedeutet, dass ein Angreifer die DEX-Datei ändern kann, indem er sie mithilfe eines schädlichen ZIP-Archivs überschreibt. Schlimmer noch, diese Datei wird geladen und ausgeführt, was zu einer Sicherheitsanfälligkeit bei der Remotecodeausführung führt. Dies ist nicht nur ein theoretisches Beispiel, sondern wurde in der App My Talking Tom demonstriert, die im App Store über 100 Millionen Mal heruntergeladen wurde. Hier ist ein Video des Exploits, der auf Black Hat vorgestellt wurde.

Überprüfen Sie immer das Verhalten Ihrer Zip-Bibliothek, damit Sie sich ihrer Unsicherheiten bewusst sind. Wenn Sie die Pfaddurchquerung in Ihrer ZIP-Bibliothek nicht deaktivieren können, stellen Sie sicher, dass Sie den Namen jedes Eintrags überprüfen, bevor Sie ihn extrahieren. Der Name sollte kanonisiert werden und der resultierende Pfad sollte sich in dem Verzeichnis befinden, in dem Sie das Archiv extrahieren möchten. Wenn wir schon dabei sind, solltest du auch die Gesamtgröße des entpackten Archivs überprüfen, um Zip-Bomben zu verhindern, aber das ist ein Beitrag für eine weitere Woche.
Wenn du willst spiele einige Herausforderungen bei der Pfadüberquerung oder wenn Sie Ihre Fähigkeiten zum sicheren Programmieren testen möchten, schauen Sie sich unsere Plattform an.
Bis zum nächsten Mal und denk dran, Sicherheitscode oder kein Code!
- Wir können eine Datei in eine Zip-Datei einfügen, deren Namen eine beliebige Zahl von "../“ vorangestellt ist
- Wenn die Zip-Bibliothek nicht darauf achtet, diesen Fall richtig zu behandeln, können wir außerhalb des vorgesehenen Extraktionsverzeichnisses schreiben
- Wenn die Zip-Datei nicht vertrauenswürdig ist, besteht für den Angreifer eine Schwachstelle beim willkürlichen Schreiben

Veuillez cliquer sur le lien ci-dessous et télécharger le PDF de cette ressource.
Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.
Consulter le rapportRéserver une démonstrationForscher für Anwendungssicherheit - Forschungs- und Entwicklungsingenieur - Doktorand
Diese Woche werden wir über das Standardverhalten von Zip-Bibliotheken sprechen. Wenn Sie ein Anwendungsentwickler sind, ist es sehr wahrscheinlich, dass Sie dies schon einmal verwendet haben. Die meisten Ressourcen, die über das Internet heruntergeladen werden, sind im ZIP-Format, das ist sinnvoll. Komprimierte Daten sind kleiner, sodass sie schneller heruntergeladen werden und weniger Bandbreite verbrauchen.
Wenn Sie konkretere Beispiele wünschen: Texturen für Spiele, Sprachpakete für die automatische Vervollständigung in Tastaturen,... Viele Ressourcen werden nicht automatisch mit der Anwendung gebündelt, sondern erst später heruntergeladen.
Seien Sie jedoch vorsichtig, wenn Sie diese Funktion verwenden, da Dateinamen in ZIP-Archiven Pfadinformationen enthalten können. Beim Extrahieren führt dies dazu, dass Dateien außerhalb des vorgesehenen Verzeichnisses erstellt werden. Dies geschieht oft mit der Absicht, vorhandene Dateien zu überschreiben.

Angenommen, wir haben ein Zip-Archiv, das die folgenden zwei Dateien enthält:
Datei1
.. /datei2
Wenn dieses Archiv extrahiert wird, wird Datei1 dort extrahiert, wo wir es erwarten, im Unzip-Verzeichnis. Datei2 wurde jedoch ein Verzeichnis höher geschrieben als dort, wo wir die Zip-Bibliothek gebeten haben, das Archiv zu entpacken.
Seien Sie also vorsichtig, wenn Ihre Zip-Bibliothek nicht darauf achtet, diesen Fall richtig zu behandeln, kann ein Angreifer eine beliebige Datei in das System schreiben. Prüfen Sie immer, ob Ihre Bibliothek sicher ist. Diese Faustregel gilt für jede Bibliothek, aber insbesondere wissen Sie, dass Sie das Standardverhalten Ihrer Zip-Bibliothek für diese Dateitypen überprüfen müssen.
Lassen Sie uns die Konsequenzen demonstrieren, wenn dieser Fall in Android nicht richtig behandelt wird. In Android wird die Java-Zip-Bibliothek (java.util.zip) verwendet. Die Bibliothek ermöglicht standardmäßig das Durchlaufen von Pfaden, wie oben erläutert.
Das Dalvik Executable Format (.dex) von Android hat Einschränkungen hinsichtlich der Anzahl der Klassen, die eine einzelne Datei haben kann. Apps, die mehr Klassen benötigen, können die MultiDex Support-Bibliothek nutzen, die seit API-Level 21 (Android 5.0 Lollipop) hinzugefügt wurde. Diese Bibliothek speichert sekundäre .dex-Dateien im Datenverzeichnis der Anwendung. Dieses Verzeichnis ist für den App-Benutzer beschreibbar und dieser Code wird geladen und ausgeführt, wenn die DEX-Datei benötigt wird.
Das bedeutet, dass ein Angreifer die DEX-Datei ändern kann, indem er sie mithilfe eines schädlichen ZIP-Archivs überschreibt. Schlimmer noch, diese Datei wird geladen und ausgeführt, was zu einer Sicherheitsanfälligkeit bei der Remotecodeausführung führt. Dies ist nicht nur ein theoretisches Beispiel, sondern wurde in der App My Talking Tom demonstriert, die im App Store über 100 Millionen Mal heruntergeladen wurde. Hier ist ein Video des Exploits, der auf Black Hat vorgestellt wurde.

Überprüfen Sie immer das Verhalten Ihrer Zip-Bibliothek, damit Sie sich ihrer Unsicherheiten bewusst sind. Wenn Sie die Pfaddurchquerung in Ihrer ZIP-Bibliothek nicht deaktivieren können, stellen Sie sicher, dass Sie den Namen jedes Eintrags überprüfen, bevor Sie ihn extrahieren. Der Name sollte kanonisiert werden und der resultierende Pfad sollte sich in dem Verzeichnis befinden, in dem Sie das Archiv extrahieren möchten. Wenn wir schon dabei sind, solltest du auch die Gesamtgröße des entpackten Archivs überprüfen, um Zip-Bomben zu verhindern, aber das ist ein Beitrag für eine weitere Woche.
Wenn du willst spiele einige Herausforderungen bei der Pfadüberquerung oder wenn Sie Ihre Fähigkeiten zum sicheren Programmieren testen möchten, schauen Sie sich unsere Plattform an.
Bis zum nächsten Mal und denk dran, Sicherheitscode oder kein Code!
- Wir können eine Datei in eine Zip-Datei einfügen, deren Namen eine beliebige Zahl von "../“ vorangestellt ist
- Wenn die Zip-Bibliothek nicht darauf achtet, diesen Fall richtig zu behandeln, können wir außerhalb des vorgesehenen Extraktionsverzeichnisses schreiben
- Wenn die Zip-Datei nicht vertrauenswürdig ist, besteht für den Angreifer eine Schwachstelle beim willkürlichen Schreiben
Table des matières
Forscher für Anwendungssicherheit - Forschungs- und Entwicklungsingenieur - Doktorand

Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.
Réserver une démonstrationTéléchargerRessources pour débuter
Thèmes et contenus de la formation Securecode
Nos contenus de pointe sont constamment développés afin de s'adapter à l'évolution constante du paysage du développement logiciel, en tenant compte de votre rôle. Les thèmes abordés couvrent tous les domaines, de l'IA à l'injection XQuery, et sont proposés pour une multitude de rôles, des architectes et ingénieurs aux chefs de produit et responsables assurance qualité. Nous vous invitons à découvrir un aperçu de notre catalogue de contenus classés par thème et par rôle.
La Chambre de commerce établit la norme en matière de sécurité à grande échelle axée sur les développeurs
La Chambre de commerce néerlandaise explique comment elle a intégré le codage sécurisé dans le développement quotidien grâce à des certifications basées sur les rôles, à l'évaluation comparative du Trust Score et à une culture de responsabilité partagée en matière de sécurité.
Modélisation des menaces avec l'IA : transformer chaque développeur en modélisateur de menaces
Vous repartirez mieux équipé pour aider les développeurs à combiner les idées et les techniques de modélisation des menaces avec les outils d'IA qu'ils utilisent déjà pour renforcer la sécurité, améliorer la collaboration et créer des logiciels plus résilients dès le départ.
Ressources pour débuter
Cybermon est de retour : les missions KI « Beat the Boss » sont désormais disponibles sur demande.
Cybermon 2025 Beat the Boss est désormais disponible toute l'année dans SCW. Il utilise des exigences de sécurité IA/LLM avancées pour renforcer le développement sécurisé de l'IA à grande échelle.
Explication de la loi sur la cyber-résilience : implications pour le développement de logiciels sécurisés dès la conception
Découvrez les exigences de la loi européenne sur la cyber-résilience (CRA), à qui elle s'applique et comment les équipes de développement peuvent s'y préparer en adoptant des méthodes sécurisées, en prévenant les failles de sécurité et en renforçant les compétences des développeurs.
Facteur 1 : Critères de réussite définis et mesurables
Le catalyseur n° 1 inaugure notre série en dix parties intitulée « Les catalyseurs de la réussite » et démontre comment un codage sécurisé peut être associé à des résultats commerciaux tels que la réduction des risques et la rapidité afin d'atteindre une maturité programmatique à long terme.




%20(1).avif)
.avif)
