목록 보기
엑셀 업로드 중 발생한 Zip Bomb 에러 파헤치기!
백엔드

엑셀 업로드 중 발생한 Zip Bomb 에러 파헤치기!

마켓컬리
마켓컬리
2024년 10월 23일

두줄요약

엑셀 업로드 중 Apache POI가 Zip Bomb으로 파일을 차단한 원인과 로그 분석 과정을 정리했습니다. 최소 압축 비율 조정과 파일 크기·중첩 레벨 점검으로 대응했습니다.

문제 상황

  • 엑셀 업로드 과정에서 Apache POI가 Zip Bomb으로 파일을 차단하며 XSSFWorkbook 생성 시 오류 발생
  • 로그에 압축 해제 후 크기, 압축 크기, 최소 압축 비율, 문제 엔트리 정보가 함께 노출

원인 분석

  • .xlsx 내부의 XML 압축 구조 특성상 압축률이 매우 높아 Zip Bomb으로 오인 가능
  • 문제 파일은 styles.xml에 반복적인 스타일 정의가 많아 압축률이 임계값을 약간 초과

해결 방법

  • ZipSecureFile.setMinInflateRatio()로 최소 압축 해제 비율 조정
  • 압축 파일 총 해제 크기와 중첩 레벨을 사전 점검해 차단

주의할 점

  • 비율 완화는 보안 검사를 느슨하게 만드는 만큼 악성 파일 대응 필요
  • 서비스 특성에 따라 허용 기준과 보안 강도를 함께 검토 필요

적용해볼 점

  • 업로드 파일 처리 전에 로그와 압축 메타데이터를 먼저 확인
  • 엑셀 내부 XML 구조와 반복 데이터가 압축률에 미치는 영향 점검

다음 읽기

비슷한 주제의 아키텍처 글

권한마다 보안 솔루션이 다르다면? 하이브리드 환경에서 우아하게 파일 보호하기

권한에 따라 다른 파일 보안 솔루션을 적용하기 위해 전략 패턴과 AOP를 조합한 설계를 소개했습니다. 로컬 개발 제약은 Mock 전략과 프로파일 분리로 해결했습니다.

올리브영
올리브영
아키텍처

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...