
보안 코딩 기법: Zip 라이브러리의 기본 동작으로 인해 원격 코드 실행이 발생할 수 있습니다.
이번 주에는 Zip 라이브러리의 기본 동작에 대해 이야기하겠습니다.응용 프로그램 개발자라면 이전에 이 기능을 사용해 보셨을 가능성이 큽니다.인터넷을 통해 다운로드되는 대부분의 리소스는 zip 형식이므로 의미가 있습니다. 압축된 데이터는 크기가 작기 때문에 다운로드 속도가 빠르고 대역폭을 적게 소비합니다.
좀 더 구체적인 예를 원한다면 게임용 텍스처, 키보드 자동 완성을 위한 언어 팩,...많은 리소스가 애플리케이션과 함께 자동으로 번들로 제공되지 않고 나중에 다운로드됩니다.
그러나 이 기능을 사용할 때는 주의해야 합니다. zip 아카이브의 파일 이름에 경로 탐색 정보가 포함될 수 있습니다.압축을 풀면 의도한 디렉토리 외부에 파일이 생성될 수 있습니다.이는 주로 기존 파일을 덮어쓰기 위한 목적으로 수행됩니다.

다음 두 파일이 들어 있는 zip 아카이브가 있다고 가정해 보겠습니다.
파일 1
../파일2
이 아카이브를 추출하면 unzip 디렉터리에서 우리가 예상한 위치인 file1이 추출됩니다.하지만 file2는 zip 라이브러리에 아카이브의 압축을 풀도록 요청한 위치보다 한 디렉토리 위에 기록되었습니다.
따라서 zip 라이브러리가 이 문제를 제대로 처리하지 못하면 공격자가 시스템에 임의의 파일을 쓸 수 있으므로 주의하십시오.라이브러리가 안전한지 항상 확인하십시오. 이 규칙은 모든 라이브러리에 적용되지만, 특히 이러한 유형의 파일에 대해서는 zip 라이브러리의 기본 동작을 확인하는 것이 좋습니다.
Android에서 이 케이스가 제대로 처리되지 않을 때 어떤 결과가 발생하는지 설명해 보겠습니다.Android에서는 자바 Zip 라이브러리 (java.util.zip) 가 사용되며, 라이브러리는 기본적으로 위에서 설명한 대로 경로 탐사를 허용합니다.
Android Dalvik 실행 가능 형식 (.dex) 에는 단일 파일에 포함할 수 있는 클래스 수에 제한이 있습니다.클래스가 더 필요한 앱은 API 레벨 21 (Android 5.0 Lollipop) 이후 추가된 MultiDex 지원 라이브러리를 사용할 수 있습니다.이 라이브러리는 애플리케이션의 데이터 디렉터리에 보조.dex 파일을 저장합니다. 이 디렉터리는 앱 사용자가 쓸 수 있으며.dex 파일이 필요할 때 이 코드가 로드되어 실행됩니다.
즉, 공격자는 악의적인 zip 아카이브를 사용하여.dex 파일을 덮어써서 수정할 수 있으며, 심지어 이 파일이 로드되고 실행되어 원격 코드 실행에 취약해질 수 있습니다.이는 단순한 이론적인 예가 아니라 앱 스토어에서 1억 건 이상의 다운로드를 기록한 My Talking Tom 앱에서도 입증되었습니다.다음은 Black Hat에서 선보인 익스플로잇의 동영상입니다.

항상 zip 라이브러리의 동작을 확인하여 안전하지 않은지 확인하십시오.zip 라이브러리에서 경로 탐색을 비활성화할 수 없는 경우 추출하기 전에 각 항목의 이름을 확인해야 합니다.이름은 정규화해야 하며 결과 경로는 아카이브를 추출하려는 디렉터리에 있어야 합니다.이 작업을 진행하는 동안 압축 폭탄이 발생하지 않도록 압축을 푼 아카이브의 전체 크기도 확인해야 합니다. 하지만 이 글은 앞으로 일주일 동안 게시할 예정입니다.
원하신다면 패스 트래버설에서 몇 가지 챌린지를 플레이하세요 또는 보안 코딩 기술을 테스트하고 싶다면 당사 플랫폼을 확인하세요.
다음에 만나요. 보안 코드 또는 노 코드 기억하세요!
- 이름 앞에 임의의 숫자가 "../“인 파일을 삽입할 수 있습니다.
- zip 라이브러리가 이 경우를 제대로 처리하지 않으면 의도한 추출 디렉토리 외부에서 쓸 수 있습니다.
- zip 파일을 신뢰할 수 없는 경우 공격자에게 임의 쓰기 취약점이 생깁니다.
Chercheur en sécurité applicative - Ingénieur R&D - Doctorant

Secure Code Warrior est là pour aider les organisations à protéger leur code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou tout autre professionnel de la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.
Veuillez prendre rendez-vous pour une démonstration.Chercheur en sécurité applicative - Ingénieur R&D - Doctorant


이번 주에는 Zip 라이브러리의 기본 동작에 대해 이야기하겠습니다.응용 프로그램 개발자라면 이전에 이 기능을 사용해 보셨을 가능성이 큽니다.인터넷을 통해 다운로드되는 대부분의 리소스는 zip 형식이므로 의미가 있습니다. 압축된 데이터는 크기가 작기 때문에 다운로드 속도가 빠르고 대역폭을 적게 소비합니다.
좀 더 구체적인 예를 원한다면 게임용 텍스처, 키보드 자동 완성을 위한 언어 팩,...많은 리소스가 애플리케이션과 함께 자동으로 번들로 제공되지 않고 나중에 다운로드됩니다.
그러나 이 기능을 사용할 때는 주의해야 합니다. zip 아카이브의 파일 이름에 경로 탐색 정보가 포함될 수 있습니다.압축을 풀면 의도한 디렉토리 외부에 파일이 생성될 수 있습니다.이는 주로 기존 파일을 덮어쓰기 위한 목적으로 수행됩니다.

다음 두 파일이 들어 있는 zip 아카이브가 있다고 가정해 보겠습니다.
파일 1
../파일2
이 아카이브를 추출하면 unzip 디렉터리에서 우리가 예상한 위치인 file1이 추출됩니다.하지만 file2는 zip 라이브러리에 아카이브의 압축을 풀도록 요청한 위치보다 한 디렉토리 위에 기록되었습니다.
따라서 zip 라이브러리가 이 문제를 제대로 처리하지 못하면 공격자가 시스템에 임의의 파일을 쓸 수 있으므로 주의하십시오.라이브러리가 안전한지 항상 확인하십시오. 이 규칙은 모든 라이브러리에 적용되지만, 특히 이러한 유형의 파일에 대해서는 zip 라이브러리의 기본 동작을 확인하는 것이 좋습니다.
Android에서 이 케이스가 제대로 처리되지 않을 때 어떤 결과가 발생하는지 설명해 보겠습니다.Android에서는 자바 Zip 라이브러리 (java.util.zip) 가 사용되며, 라이브러리는 기본적으로 위에서 설명한 대로 경로 탐사를 허용합니다.
Android Dalvik 실행 가능 형식 (.dex) 에는 단일 파일에 포함할 수 있는 클래스 수에 제한이 있습니다.클래스가 더 필요한 앱은 API 레벨 21 (Android 5.0 Lollipop) 이후 추가된 MultiDex 지원 라이브러리를 사용할 수 있습니다.이 라이브러리는 애플리케이션의 데이터 디렉터리에 보조.dex 파일을 저장합니다. 이 디렉터리는 앱 사용자가 쓸 수 있으며.dex 파일이 필요할 때 이 코드가 로드되어 실행됩니다.
즉, 공격자는 악의적인 zip 아카이브를 사용하여.dex 파일을 덮어써서 수정할 수 있으며, 심지어 이 파일이 로드되고 실행되어 원격 코드 실행에 취약해질 수 있습니다.이는 단순한 이론적인 예가 아니라 앱 스토어에서 1억 건 이상의 다운로드를 기록한 My Talking Tom 앱에서도 입증되었습니다.다음은 Black Hat에서 선보인 익스플로잇의 동영상입니다.

항상 zip 라이브러리의 동작을 확인하여 안전하지 않은지 확인하십시오.zip 라이브러리에서 경로 탐색을 비활성화할 수 없는 경우 추출하기 전에 각 항목의 이름을 확인해야 합니다.이름은 정규화해야 하며 결과 경로는 아카이브를 추출하려는 디렉터리에 있어야 합니다.이 작업을 진행하는 동안 압축 폭탄이 발생하지 않도록 압축을 푼 아카이브의 전체 크기도 확인해야 합니다. 하지만 이 글은 앞으로 일주일 동안 게시할 예정입니다.
원하신다면 패스 트래버설에서 몇 가지 챌린지를 플레이하세요 또는 보안 코딩 기술을 테스트하고 싶다면 당사 플랫폼을 확인하세요.
다음에 만나요. 보안 코드 또는 노 코드 기억하세요!
- 이름 앞에 임의의 숫자가 "../“인 파일을 삽입할 수 있습니다.
- zip 라이브러리가 이 경우를 제대로 처리하지 않으면 의도한 추출 디렉토리 외부에서 쓸 수 있습니다.
- zip 파일을 신뢰할 수 없는 경우 공격자에게 임의 쓰기 취약점이 생깁니다.

이번 주에는 Zip 라이브러리의 기본 동작에 대해 이야기하겠습니다.응용 프로그램 개발자라면 이전에 이 기능을 사용해 보셨을 가능성이 큽니다.인터넷을 통해 다운로드되는 대부분의 리소스는 zip 형식이므로 의미가 있습니다. 압축된 데이터는 크기가 작기 때문에 다운로드 속도가 빠르고 대역폭을 적게 소비합니다.
좀 더 구체적인 예를 원한다면 게임용 텍스처, 키보드 자동 완성을 위한 언어 팩,...많은 리소스가 애플리케이션과 함께 자동으로 번들로 제공되지 않고 나중에 다운로드됩니다.
그러나 이 기능을 사용할 때는 주의해야 합니다. zip 아카이브의 파일 이름에 경로 탐색 정보가 포함될 수 있습니다.압축을 풀면 의도한 디렉토리 외부에 파일이 생성될 수 있습니다.이는 주로 기존 파일을 덮어쓰기 위한 목적으로 수행됩니다.

다음 두 파일이 들어 있는 zip 아카이브가 있다고 가정해 보겠습니다.
파일 1
../파일2
이 아카이브를 추출하면 unzip 디렉터리에서 우리가 예상한 위치인 file1이 추출됩니다.하지만 file2는 zip 라이브러리에 아카이브의 압축을 풀도록 요청한 위치보다 한 디렉토리 위에 기록되었습니다.
따라서 zip 라이브러리가 이 문제를 제대로 처리하지 못하면 공격자가 시스템에 임의의 파일을 쓸 수 있으므로 주의하십시오.라이브러리가 안전한지 항상 확인하십시오. 이 규칙은 모든 라이브러리에 적용되지만, 특히 이러한 유형의 파일에 대해서는 zip 라이브러리의 기본 동작을 확인하는 것이 좋습니다.
Android에서 이 케이스가 제대로 처리되지 않을 때 어떤 결과가 발생하는지 설명해 보겠습니다.Android에서는 자바 Zip 라이브러리 (java.util.zip) 가 사용되며, 라이브러리는 기본적으로 위에서 설명한 대로 경로 탐사를 허용합니다.
Android Dalvik 실행 가능 형식 (.dex) 에는 단일 파일에 포함할 수 있는 클래스 수에 제한이 있습니다.클래스가 더 필요한 앱은 API 레벨 21 (Android 5.0 Lollipop) 이후 추가된 MultiDex 지원 라이브러리를 사용할 수 있습니다.이 라이브러리는 애플리케이션의 데이터 디렉터리에 보조.dex 파일을 저장합니다. 이 디렉터리는 앱 사용자가 쓸 수 있으며.dex 파일이 필요할 때 이 코드가 로드되어 실행됩니다.
즉, 공격자는 악의적인 zip 아카이브를 사용하여.dex 파일을 덮어써서 수정할 수 있으며, 심지어 이 파일이 로드되고 실행되어 원격 코드 실행에 취약해질 수 있습니다.이는 단순한 이론적인 예가 아니라 앱 스토어에서 1억 건 이상의 다운로드를 기록한 My Talking Tom 앱에서도 입증되었습니다.다음은 Black Hat에서 선보인 익스플로잇의 동영상입니다.

항상 zip 라이브러리의 동작을 확인하여 안전하지 않은지 확인하십시오.zip 라이브러리에서 경로 탐색을 비활성화할 수 없는 경우 추출하기 전에 각 항목의 이름을 확인해야 합니다.이름은 정규화해야 하며 결과 경로는 아카이브를 추출하려는 디렉터리에 있어야 합니다.이 작업을 진행하는 동안 압축 폭탄이 발생하지 않도록 압축을 푼 아카이브의 전체 크기도 확인해야 합니다. 하지만 이 글은 앞으로 일주일 동안 게시할 예정입니다.
원하신다면 패스 트래버설에서 몇 가지 챌린지를 플레이하세요 또는 보안 코딩 기술을 테스트하고 싶다면 당사 플랫폼을 확인하세요.
다음에 만나요. 보안 코드 또는 노 코드 기억하세요!
- 이름 앞에 임의의 숫자가 "../“인 파일을 삽입할 수 있습니다.
- zip 라이브러리가 이 경우를 제대로 처리하지 않으면 의도한 추출 디렉토리 외부에서 쓸 수 있습니다.
- zip 파일을 신뢰할 수 없는 경우 공격자에게 임의 쓰기 취약점이 생깁니다.

Veuillez cliquer sur le lien ci-dessous pour télécharger le PDF de cette ressource.
Secure Code Warrior est là pour aider les organisations à protéger leur code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou tout autre professionnel de la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.
Consulter le rapportVeuillez prendre rendez-vous pour une démonstration.Chercheur en sécurité applicative - Ingénieur R&D - Doctorant
이번 주에는 Zip 라이브러리의 기본 동작에 대해 이야기하겠습니다.응용 프로그램 개발자라면 이전에 이 기능을 사용해 보셨을 가능성이 큽니다.인터넷을 통해 다운로드되는 대부분의 리소스는 zip 형식이므로 의미가 있습니다. 압축된 데이터는 크기가 작기 때문에 다운로드 속도가 빠르고 대역폭을 적게 소비합니다.
좀 더 구체적인 예를 원한다면 게임용 텍스처, 키보드 자동 완성을 위한 언어 팩,...많은 리소스가 애플리케이션과 함께 자동으로 번들로 제공되지 않고 나중에 다운로드됩니다.
그러나 이 기능을 사용할 때는 주의해야 합니다. zip 아카이브의 파일 이름에 경로 탐색 정보가 포함될 수 있습니다.압축을 풀면 의도한 디렉토리 외부에 파일이 생성될 수 있습니다.이는 주로 기존 파일을 덮어쓰기 위한 목적으로 수행됩니다.

다음 두 파일이 들어 있는 zip 아카이브가 있다고 가정해 보겠습니다.
파일 1
../파일2
이 아카이브를 추출하면 unzip 디렉터리에서 우리가 예상한 위치인 file1이 추출됩니다.하지만 file2는 zip 라이브러리에 아카이브의 압축을 풀도록 요청한 위치보다 한 디렉토리 위에 기록되었습니다.
따라서 zip 라이브러리가 이 문제를 제대로 처리하지 못하면 공격자가 시스템에 임의의 파일을 쓸 수 있으므로 주의하십시오.라이브러리가 안전한지 항상 확인하십시오. 이 규칙은 모든 라이브러리에 적용되지만, 특히 이러한 유형의 파일에 대해서는 zip 라이브러리의 기본 동작을 확인하는 것이 좋습니다.
Android에서 이 케이스가 제대로 처리되지 않을 때 어떤 결과가 발생하는지 설명해 보겠습니다.Android에서는 자바 Zip 라이브러리 (java.util.zip) 가 사용되며, 라이브러리는 기본적으로 위에서 설명한 대로 경로 탐사를 허용합니다.
Android Dalvik 실행 가능 형식 (.dex) 에는 단일 파일에 포함할 수 있는 클래스 수에 제한이 있습니다.클래스가 더 필요한 앱은 API 레벨 21 (Android 5.0 Lollipop) 이후 추가된 MultiDex 지원 라이브러리를 사용할 수 있습니다.이 라이브러리는 애플리케이션의 데이터 디렉터리에 보조.dex 파일을 저장합니다. 이 디렉터리는 앱 사용자가 쓸 수 있으며.dex 파일이 필요할 때 이 코드가 로드되어 실행됩니다.
즉, 공격자는 악의적인 zip 아카이브를 사용하여.dex 파일을 덮어써서 수정할 수 있으며, 심지어 이 파일이 로드되고 실행되어 원격 코드 실행에 취약해질 수 있습니다.이는 단순한 이론적인 예가 아니라 앱 스토어에서 1억 건 이상의 다운로드를 기록한 My Talking Tom 앱에서도 입증되었습니다.다음은 Black Hat에서 선보인 익스플로잇의 동영상입니다.

항상 zip 라이브러리의 동작을 확인하여 안전하지 않은지 확인하십시오.zip 라이브러리에서 경로 탐색을 비활성화할 수 없는 경우 추출하기 전에 각 항목의 이름을 확인해야 합니다.이름은 정규화해야 하며 결과 경로는 아카이브를 추출하려는 디렉터리에 있어야 합니다.이 작업을 진행하는 동안 압축 폭탄이 발생하지 않도록 압축을 푼 아카이브의 전체 크기도 확인해야 합니다. 하지만 이 글은 앞으로 일주일 동안 게시할 예정입니다.
원하신다면 패스 트래버설에서 몇 가지 챌린지를 플레이하세요 또는 보안 코딩 기술을 테스트하고 싶다면 당사 플랫폼을 확인하세요.
다음에 만나요. 보안 코드 또는 노 코드 기억하세요!
- 이름 앞에 임의의 숫자가 "../“인 파일을 삽입할 수 있습니다.
- zip 라이브러리가 이 경우를 제대로 처리하지 않으면 의도한 추출 디렉토리 외부에서 쓸 수 있습니다.
- zip 파일을 신뢰할 수 없는 경우 공격자에게 임의 쓰기 취약점이 생깁니다.
Table des matières
Chercheur en sécurité applicative - Ingénieur R&D - Doctorant

Secure Code Warrior est là pour aider les organisations à protéger leur code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou tout autre professionnel de la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.
Veuillez prendre rendez-vous pour une démonstration.TéléchargerRessources utiles pour débuter
Thèmes et contenus de la formation sur les codes de sécurité
Le contenu le plus pertinent du secteur évolue constamment pour s'adapter à l'environnement de développement logiciel en constante évolution, en tenant compte du rôle des clients. Des architectes et ingénieurs aux chefs de produit et responsables de l'assurance qualité, tous les rôles sont couverts, de l'IA à l'injection XQuery. Veuillez consulter le catalogue de contenu pour découvrir ce qui est proposé 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 utiles pour débuter
Cybermon est de retour : la mission IA de défaite du boss est désormais disponible à la demande.
Cybermon 2025 Bit The Boss est désormais disponible toute l'année sur SCW. Renforcez le développement de l'IA de sécurité à grande échelle en déployant des défis de sécurité IA/LLM avancés.
Explication de la loi sur la cyber-résilience : l'importance de la conception sécurisée dans le développement de logiciels
Découvrez les exigences de la loi européenne sur la résilience des réseaux et des services (CRA), son champ d'application et comment votre équipe d'ingénieurs peut se préparer en toute sécurité grâce à la conception, aux pratiques, à la prévention des vulnérabilités et à la mise en place d'un environnement de développement.
Facteur de réussite n° 1 : des critères de réussite clairement définis et mesurables
Enabler 1 présente une série de dix articles consacrés aux facteurs de réussite, en démontrant comment le codage sécurisé peut améliorer les performances commerciales, notamment en accélérant la réduction des risques et des coûts pour la maturité des programmes à long terme.




%20(1).avif)
.avif)
