
보안 코딩 기술: Zip 라이브러리의 기본 동작으로 원격 코드 실행으로 이어질 수 있습니다.
이번 주에 우리는 Zip 라이브러리의 기본 동작에 대해 이야기 할 것입니다. 응용 프로그램 개발자인 경우 이전에 이 것을 사용한 가능성이 매우 높습니다. 인터넷을 통해 다운로드되는 대부분의 리소스는 zip 형식으로 되어 있습니다. 압축 된 데이터는 작기 때문에 더 빨리 다운로드되고 대역폭을 적게 소비합니다.
좀 더 구체적인 예를 원한다면: 게임 텍스처, 키보드에서 자동 완성을 위한 언어 팩, ... 많은 리소스가 응용 프로그램과 함께 자동으로 번들로 제공되는 것이 아니라 나중에 다운로드됩니다.
그러나 이 기능을 사용할 때는 zip 아카이브의 파일 이름에 경로 통과 정보가 포함될 수 있습니다. 추출하면 의도한 디렉터리 외부에서 파일이 생성됩니다. 이것은 종종 기존 파일을 덮어 쓰려는 의도로 수행됩니다.

다음 두 파일이 포함된 zip 아카이브가 있다고 가정해 보겠습니다.
파일1
.. /file2
이 아카이브를 추출하면 zip 디렉토리에서 file1이 예상되는 곳에서 추출됩니다. 그러나 file2는 지퍼 라이브러리에 아카이브를 추출하도록 요청한 곳보다 높은 하나의 디렉터리로 작성되었습니다.
따라서 zip 라이브러리가 이 경우를 제대로 처리하지 않으면 공격자가 시스템에 임의파일을 작성할 수 있습니다. 라이브러리가 안전한지 항상 확인하면 이 엄지 손가락 규칙은 라이브러리에 유효하지만 특히 이러한 유형의 파일에 대해 zip 라이브러리의 기본 동작을 확인하는 것을 알고 있습니다.
이 사례가 Android에서 제대로 처리되지 않을 때 결과를 입증할 수 있습니다. Android에서는 Java Zip 라이브러리(java.util.zip)가 사용되며, 라이브러리는 기본적으로 위에서 설명한 대로 경로를 통과할 수 있도록 합니다.
Androids Dalvik 실행 형식(.dex)은 단일 파일이 가질 수 있는 클래스의 양에 제한이 있습니다. 더 많은 클래스가 필요한 앱은 API 레벨 21(Android 5.0 롤리팝)부터 추가된 MultiDex 지원 라이브러리를 사용할 수 있습니다. 이 라이브러리는 응용 프로그램의 데이터 디렉터리에서 보조 .dex 파일을 저장하고, 이 디렉토리는 앱 사용자가 writable이며.dex 파일이 필요할 때이 코드를 로드하고 실행합니다.
즉, 공격자가 악의적인 zip 아카이브를 사용하여 오버라이팅하여 .dex 파일을 수정할 수 있으며, 더 나쁜 경우 이 파일이 로드되고 실행되어 원격 코드 실행 취약점이 발생합니다. 이것은 단지 이론적 예가 아니라 앱 스토어에서 1억 다운로드를 기록한 앱 마이 토킹 톰(My Talking Tom)에서 입증되었습니다. 다음은 블랙 햇에서 선보인 악용 동영상입니다.

항상 zip 라이브러리의 동작을 확인하여 불안감을 인식하십시오. zip 라이브러리에서 경로 통과를 비활성화할 수 없는 경우 각 항목을 추출하기 전에 각 항목의 이름을 유효성검사해야 합니다. 이름은 정식화되어야 하며 결과 경로는 아카이브를 추출하려는 디렉터리에 있어야 합니다. 우리는 그것에 있는 동안, 당신은 또한 zip 폭탄을 방지 하기 위해 추출 된 아카이브의 총 크기를 확인 해야, 하지만이 또 다른 주에 대 한 게시물 될 것입니다.
경로 통과에 대한 몇 가지 문제를 해결하거나 보안 코딩 기술을 테스트하려면 플랫폼을 확인하십시오.
다음에 당신을 보고, 기억, 보안 코드 또는 아니 코드!
- 임의의 수의 "로 이름이 미리 고정된 지퍼에 파일을 삽입할 수 있습니다. / "
- 지퍼 라이브러리가이 경우를 제대로 처리하지 않으면 의도 된 추출 디렉토리 외부에서 작성 할 수 있습니다.
- zip 파일이 신뢰할 수 없는 경우 공격자에게 임의쓰기 취약점이 제공됩니다.
응용 프로그램 보안 연구원 - R&D 엔지니어 - 박사 후보

Secure Code Warrior 는 전체 소프트웨어 개발 수명 주기에서 코드를 보호하고 사이버 보안을 최우선으로 생각하는 문화를 조성할 수 있도록 도와드립니다. 앱 보안 관리자, 개발자, CISO 등 보안과 관련된 모든 사람이 안전하지 않은 코드와 관련된 위험을 줄일 수 있도록 도와드릴 수 있습니다.
데모 예약응용 프로그램 보안 연구원 - R&D 엔지니어 - 박사 후보


이번 주에 우리는 Zip 라이브러리의 기본 동작에 대해 이야기 할 것입니다. 응용 프로그램 개발자인 경우 이전에 이 것을 사용한 가능성이 매우 높습니다. 인터넷을 통해 다운로드되는 대부분의 리소스는 zip 형식으로 되어 있습니다. 압축 된 데이터는 작기 때문에 더 빨리 다운로드되고 대역폭을 적게 소비합니다.
좀 더 구체적인 예를 원한다면: 게임 텍스처, 키보드에서 자동 완성을 위한 언어 팩, ... 많은 리소스가 응용 프로그램과 함께 자동으로 번들로 제공되는 것이 아니라 나중에 다운로드됩니다.
그러나 이 기능을 사용할 때는 zip 아카이브의 파일 이름에 경로 통과 정보가 포함될 수 있습니다. 추출하면 의도한 디렉터리 외부에서 파일이 생성됩니다. 이것은 종종 기존 파일을 덮어 쓰려는 의도로 수행됩니다.

다음 두 파일이 포함된 zip 아카이브가 있다고 가정해 보겠습니다.
파일1
.. /file2
이 아카이브를 추출하면 zip 디렉토리에서 file1이 예상되는 곳에서 추출됩니다. 그러나 file2는 지퍼 라이브러리에 아카이브를 추출하도록 요청한 곳보다 높은 하나의 디렉터리로 작성되었습니다.
따라서 zip 라이브러리가 이 경우를 제대로 처리하지 않으면 공격자가 시스템에 임의파일을 작성할 수 있습니다. 라이브러리가 안전한지 항상 확인하면 이 엄지 손가락 규칙은 라이브러리에 유효하지만 특히 이러한 유형의 파일에 대해 zip 라이브러리의 기본 동작을 확인하는 것을 알고 있습니다.
이 사례가 Android에서 제대로 처리되지 않을 때 결과를 입증할 수 있습니다. Android에서는 Java Zip 라이브러리(java.util.zip)가 사용되며, 라이브러리는 기본적으로 위에서 설명한 대로 경로를 통과할 수 있도록 합니다.
Androids Dalvik 실행 형식(.dex)은 단일 파일이 가질 수 있는 클래스의 양에 제한이 있습니다. 더 많은 클래스가 필요한 앱은 API 레벨 21(Android 5.0 롤리팝)부터 추가된 MultiDex 지원 라이브러리를 사용할 수 있습니다. 이 라이브러리는 응용 프로그램의 데이터 디렉터리에서 보조 .dex 파일을 저장하고, 이 디렉토리는 앱 사용자가 writable이며.dex 파일이 필요할 때이 코드를 로드하고 실행합니다.
즉, 공격자가 악의적인 zip 아카이브를 사용하여 오버라이팅하여 .dex 파일을 수정할 수 있으며, 더 나쁜 경우 이 파일이 로드되고 실행되어 원격 코드 실행 취약점이 발생합니다. 이것은 단지 이론적 예가 아니라 앱 스토어에서 1억 다운로드를 기록한 앱 마이 토킹 톰(My Talking Tom)에서 입증되었습니다. 다음은 블랙 햇에서 선보인 악용 동영상입니다.

항상 zip 라이브러리의 동작을 확인하여 불안감을 인식하십시오. zip 라이브러리에서 경로 통과를 비활성화할 수 없는 경우 각 항목을 추출하기 전에 각 항목의 이름을 유효성검사해야 합니다. 이름은 정식화되어야 하며 결과 경로는 아카이브를 추출하려는 디렉터리에 있어야 합니다. 우리는 그것에 있는 동안, 당신은 또한 zip 폭탄을 방지 하기 위해 추출 된 아카이브의 총 크기를 확인 해야, 하지만이 또 다른 주에 대 한 게시물 될 것입니다.
경로 통과에 대한 몇 가지 문제를 해결하거나 보안 코딩 기술을 테스트하려면 플랫폼을 확인하십시오.
다음에 당신을 보고, 기억, 보안 코드 또는 아니 코드!
- 임의의 수의 "로 이름이 미리 고정된 지퍼에 파일을 삽입할 수 있습니다. / "
- 지퍼 라이브러리가이 경우를 제대로 처리하지 않으면 의도 된 추출 디렉토리 외부에서 작성 할 수 있습니다.
- zip 파일이 신뢰할 수 없는 경우 공격자에게 임의쓰기 취약점이 제공됩니다.

이번 주에 우리는 Zip 라이브러리의 기본 동작에 대해 이야기 할 것입니다. 응용 프로그램 개발자인 경우 이전에 이 것을 사용한 가능성이 매우 높습니다. 인터넷을 통해 다운로드되는 대부분의 리소스는 zip 형식으로 되어 있습니다. 압축 된 데이터는 작기 때문에 더 빨리 다운로드되고 대역폭을 적게 소비합니다.
좀 더 구체적인 예를 원한다면: 게임 텍스처, 키보드에서 자동 완성을 위한 언어 팩, ... 많은 리소스가 응용 프로그램과 함께 자동으로 번들로 제공되는 것이 아니라 나중에 다운로드됩니다.
그러나 이 기능을 사용할 때는 zip 아카이브의 파일 이름에 경로 통과 정보가 포함될 수 있습니다. 추출하면 의도한 디렉터리 외부에서 파일이 생성됩니다. 이것은 종종 기존 파일을 덮어 쓰려는 의도로 수행됩니다.

다음 두 파일이 포함된 zip 아카이브가 있다고 가정해 보겠습니다.
파일1
.. /file2
이 아카이브를 추출하면 zip 디렉토리에서 file1이 예상되는 곳에서 추출됩니다. 그러나 file2는 지퍼 라이브러리에 아카이브를 추출하도록 요청한 곳보다 높은 하나의 디렉터리로 작성되었습니다.
따라서 zip 라이브러리가 이 경우를 제대로 처리하지 않으면 공격자가 시스템에 임의파일을 작성할 수 있습니다. 라이브러리가 안전한지 항상 확인하면 이 엄지 손가락 규칙은 라이브러리에 유효하지만 특히 이러한 유형의 파일에 대해 zip 라이브러리의 기본 동작을 확인하는 것을 알고 있습니다.
이 사례가 Android에서 제대로 처리되지 않을 때 결과를 입증할 수 있습니다. Android에서는 Java Zip 라이브러리(java.util.zip)가 사용되며, 라이브러리는 기본적으로 위에서 설명한 대로 경로를 통과할 수 있도록 합니다.
Androids Dalvik 실행 형식(.dex)은 단일 파일이 가질 수 있는 클래스의 양에 제한이 있습니다. 더 많은 클래스가 필요한 앱은 API 레벨 21(Android 5.0 롤리팝)부터 추가된 MultiDex 지원 라이브러리를 사용할 수 있습니다. 이 라이브러리는 응용 프로그램의 데이터 디렉터리에서 보조 .dex 파일을 저장하고, 이 디렉토리는 앱 사용자가 writable이며.dex 파일이 필요할 때이 코드를 로드하고 실행합니다.
즉, 공격자가 악의적인 zip 아카이브를 사용하여 오버라이팅하여 .dex 파일을 수정할 수 있으며, 더 나쁜 경우 이 파일이 로드되고 실행되어 원격 코드 실행 취약점이 발생합니다. 이것은 단지 이론적 예가 아니라 앱 스토어에서 1억 다운로드를 기록한 앱 마이 토킹 톰(My Talking Tom)에서 입증되었습니다. 다음은 블랙 햇에서 선보인 악용 동영상입니다.

항상 zip 라이브러리의 동작을 확인하여 불안감을 인식하십시오. zip 라이브러리에서 경로 통과를 비활성화할 수 없는 경우 각 항목을 추출하기 전에 각 항목의 이름을 유효성검사해야 합니다. 이름은 정식화되어야 하며 결과 경로는 아카이브를 추출하려는 디렉터리에 있어야 합니다. 우리는 그것에 있는 동안, 당신은 또한 zip 폭탄을 방지 하기 위해 추출 된 아카이브의 총 크기를 확인 해야, 하지만이 또 다른 주에 대 한 게시물 될 것입니다.
경로 통과에 대한 몇 가지 문제를 해결하거나 보안 코딩 기술을 테스트하려면 플랫폼을 확인하십시오.
다음에 당신을 보고, 기억, 보안 코드 또는 아니 코드!
- 임의의 수의 "로 이름이 미리 고정된 지퍼에 파일을 삽입할 수 있습니다. / "
- 지퍼 라이브러리가이 경우를 제대로 처리하지 않으면 의도 된 추출 디렉토리 외부에서 작성 할 수 있습니다.
- zip 파일이 신뢰할 수 없는 경우 공격자에게 임의쓰기 취약점이 제공됩니다.
이번 주에 우리는 Zip 라이브러리의 기본 동작에 대해 이야기 할 것입니다. 응용 프로그램 개발자인 경우 이전에 이 것을 사용한 가능성이 매우 높습니다. 인터넷을 통해 다운로드되는 대부분의 리소스는 zip 형식으로 되어 있습니다. 압축 된 데이터는 작기 때문에 더 빨리 다운로드되고 대역폭을 적게 소비합니다.
좀 더 구체적인 예를 원한다면: 게임 텍스처, 키보드에서 자동 완성을 위한 언어 팩, ... 많은 리소스가 응용 프로그램과 함께 자동으로 번들로 제공되는 것이 아니라 나중에 다운로드됩니다.
그러나 이 기능을 사용할 때는 zip 아카이브의 파일 이름에 경로 통과 정보가 포함될 수 있습니다. 추출하면 의도한 디렉터리 외부에서 파일이 생성됩니다. 이것은 종종 기존 파일을 덮어 쓰려는 의도로 수행됩니다.

다음 두 파일이 포함된 zip 아카이브가 있다고 가정해 보겠습니다.
파일1
.. /file2
이 아카이브를 추출하면 zip 디렉토리에서 file1이 예상되는 곳에서 추출됩니다. 그러나 file2는 지퍼 라이브러리에 아카이브를 추출하도록 요청한 곳보다 높은 하나의 디렉터리로 작성되었습니다.
따라서 zip 라이브러리가 이 경우를 제대로 처리하지 않으면 공격자가 시스템에 임의파일을 작성할 수 있습니다. 라이브러리가 안전한지 항상 확인하면 이 엄지 손가락 규칙은 라이브러리에 유효하지만 특히 이러한 유형의 파일에 대해 zip 라이브러리의 기본 동작을 확인하는 것을 알고 있습니다.
이 사례가 Android에서 제대로 처리되지 않을 때 결과를 입증할 수 있습니다. Android에서는 Java Zip 라이브러리(java.util.zip)가 사용되며, 라이브러리는 기본적으로 위에서 설명한 대로 경로를 통과할 수 있도록 합니다.
Androids Dalvik 실행 형식(.dex)은 단일 파일이 가질 수 있는 클래스의 양에 제한이 있습니다. 더 많은 클래스가 필요한 앱은 API 레벨 21(Android 5.0 롤리팝)부터 추가된 MultiDex 지원 라이브러리를 사용할 수 있습니다. 이 라이브러리는 응용 프로그램의 데이터 디렉터리에서 보조 .dex 파일을 저장하고, 이 디렉토리는 앱 사용자가 writable이며.dex 파일이 필요할 때이 코드를 로드하고 실행합니다.
즉, 공격자가 악의적인 zip 아카이브를 사용하여 오버라이팅하여 .dex 파일을 수정할 수 있으며, 더 나쁜 경우 이 파일이 로드되고 실행되어 원격 코드 실행 취약점이 발생합니다. 이것은 단지 이론적 예가 아니라 앱 스토어에서 1억 다운로드를 기록한 앱 마이 토킹 톰(My Talking Tom)에서 입증되었습니다. 다음은 블랙 햇에서 선보인 악용 동영상입니다.

항상 zip 라이브러리의 동작을 확인하여 불안감을 인식하십시오. zip 라이브러리에서 경로 통과를 비활성화할 수 없는 경우 각 항목을 추출하기 전에 각 항목의 이름을 유효성검사해야 합니다. 이름은 정식화되어야 하며 결과 경로는 아카이브를 추출하려는 디렉터리에 있어야 합니다. 우리는 그것에 있는 동안, 당신은 또한 zip 폭탄을 방지 하기 위해 추출 된 아카이브의 총 크기를 확인 해야, 하지만이 또 다른 주에 대 한 게시물 될 것입니다.
경로 통과에 대한 몇 가지 문제를 해결하거나 보안 코딩 기술을 테스트하려면 플랫폼을 확인하십시오.
다음에 당신을 보고, 기억, 보안 코드 또는 아니 코드!
- 임의의 수의 "로 이름이 미리 고정된 지퍼에 파일을 삽입할 수 있습니다. / "
- 지퍼 라이브러리가이 경우를 제대로 처리하지 않으면 의도 된 추출 디렉토리 외부에서 작성 할 수 있습니다.
- zip 파일이 신뢰할 수 없는 경우 공격자에게 임의쓰기 취약점이 제공됩니다.
시작할 수 있는 리소스
Secure Code Warrior corporate overview
Secure Code Warrior is an AI Software Governance platform designed to enable organizations to safely adopt AI-driven development by bridging the gap between development velocity and enterprise security. The platform addresses the "Visibility Gap," where security teams often lack insights into shadow AI coding tools and the origins of production code.
보안 코드 교육 주제 및 콘텐츠
Our industry-leading content is always evolving to fit the ever changing software development landscape with your role in mind. Topics covering everything from AI to XQuery Injection, offered for a variety of roles from Architects and Engineers to Product Managers and QA. Get a sneak peek of what our content catalog has to offer by topic and role.
시작할 수 있는 리소스
Observe and Secure the ADLC: A Four-Point Framework for CISOs and Development Teams Using AI
While development teams look to make the most of GenAI’s undeniable benefits, we’d like to propose a four-point foundational framework that will allow security leaders to deploy AI coding tools and agents with a higher, more relevant standard of security best practices. It details exactly what enterprises can do to ensure safe, secure code development right now, and as agentic AI becomes an even bigger factor in the future.






