엑셀 업로드, Zip Bomb 에러를 막아 시스템을 보호하세요!

by DD
1년 전
조회수 0

엑셀 파일 업로드 기능에서 Zip Bomb 에러 발생, 시스템 불안정 초래

Apache POI 라이브러리 사용 중, 압축 해제 비율 문제로 에러 감지

압축 해제 비율 조정, 파일 크기 제한 등을 통해 문제 해결 시도

Zip Bomb의 기술적 배경

Zip Bomb은 압축 파일 내에 과도한 양의 데이터를 숨겨 시스템 자원을 고갈시킨다. 구체적으로 압축 해제 과정에서 메모리 사용량 급증을 유발한다. 따라서 엑셀 파일과 같이 압축된 파일 처리 시 압축 해제 비율을 주의해야 한다.

Apache POI와 Zip Bomb의 관계

Apache POI는 엑셀 파일(.xlsx)을 처리하기 위해 ZIP 압축을 해제한다. XSSFWorkbook 객체 생성 시 압축 해제 과정에서 Zip Bomb 감지가 이루어진다. 반면, 압축 해제 비율이 높으면 Zip bomb detected 오류가 발생하므로, 최소 압축 해제 비율 설정을 통해 문제를 완화할 수 있다.

Zip Bomb 방어 전략

Zip Bomb을 방어하기 위해 압축 해제 비율 제한, 파일 크기 제한압축 레벨 제한을 적용한다. 구체적으로 ZipSecureFile.setMinInflateRatio()를 사용하여 최소 압축 해제 비율을 설정한다. 따라서, 시스템의 안정성 확보보안 강화를 위해 지속적인 관리가 필요하다.

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