압축 파일 형식 완전정복

묶기와 줄이기의 차이부터 ZIP·RAR·7Z·TAR.GZ의 내력, 실제 보안 사례까지 따라가 봅니다.

한눈에 보기

압축 파일은 여러 파일을 하나로 묶거나 용량을 줄여 보관하고 주고받기 쉽게 만든 파일입니다. 다만 ‘묶기’와 ‘줄이기’는 다른 일이어서, 형식마다 한 가지만 하거나 둘 다 하는 방식이 다릅니다. 이 글은 ZIP, RAR, 7Z, TAR.GZ가 누구에 의해 언제 만들어졌고 어떤 방식으로 동작하는지, 어떤 상황에 맞는지, 그리고 압축 파일이 실제로 보안 사고와 어떻게 얽혔는지를 공개된 사례로 살펴봅니다.

묶기와 줄이기는 다른 일입니다

TAR는 ‘tape archive’의 약자로 1979년 1월 유닉스에 도입되었고, 여러 파일을 압축 없이 하나로 묶는 도구입니다. 압축은 gzip, bzip2, xz 같은 별도 도구가 묶음 전체에 적용합니다. 그래서 파일명이 .tar.gz(또는 .tgz), .tar.bz2, .tar.xz처럼 두 단계로 붙습니다. gzip은 1992년 장루프 게일리와 마크 애들러가 만든 프로그램으로, 특허 문제가 있던 LZW 기반의 compress를 대체하기 위해 Deflate 알고리즘을 썼고 보통 파일 하나만 압축합니다. 반대로 ZIP과 7Z, RAR은 묶기와 줄이기를 한 형식 안에서 함께 처리합니다. 이 차이가 TAR.GZ를 풀 때 두 단계가 필요한 이유입니다.

🗜️

ZIP

가장 널리 쓰이는 압축 포맷으로, 윈도우와 맥 모두 별도 프로그램 없이 기본적으로 압축을 풀 수 있어 호환성이 뛰어납니다.

🗜️

RAR

분할 압축과 손상 복구 기능이 강점인 포맷으로, ZIP보다 압축률이 높지만 압축을 위해서는 별도 유료 프로그램이 필요합니다.

🗜️

7Z

오픈소스 압축 프로그램인 7-Zip에서 사용하는 포맷으로, 세 포맷 중 가장 높은 압축률을 제공하는 것으로 알려져 있습니다.

🗜️

TAR.GZ

여러 파일을 하나로 묶는 TAR와 압축을 담당하는 GZIP을 결합한 형식으로, 리눅스·유닉스 환경에서 널리 사용됩니다.

네 형식 비교표

아래 표는 위키백과 각 형식 항목에서 확인한 내용입니다. 압축률 수치는 확인한 자료가 없어 싣지 않았습니다.

형식만든 사람·시기압축 방식눈에 띄는 특징
ZIP필 카츠(PKWARE), 1989년 2월 14일 공개Deflate가 가장 흔하며 Deflate64, bzip2, LZMA, Zstandard 등도 규격에 있음파일별 개별 압축, 끝부분 중앙 디렉터리 덕에 목록만 빠르게 읽고 일부만 추출 가능
RAR유진 로샬, 1993년 3월 첫 공개독점 형식(자세한 알고리즘 설명은 이 글에서 다루지 않음)복구 레코드(2.0)와 복구 볼륨(2.9), 분할 보관, RAR5의 AES-256 암호화
7Z이고르 파블로프, 1999년 첫 공개LZMA, LZMA2솔리드 압축, AES-256, LGPL 라이선스, 이론상 크기 한도 약 18엑사바이트
TAR.GZtar 1979년(유닉스), gzip 1992년tar는 묶기만, gzip은 Deflate파일 이름·소유자·시각·권한·디렉터리 구조를 헤더에 보존, 소프트웨어 배포와 백업에 흔함

표가 보여 주는 핵심은 ‘어느 형식이 최고인가’가 아니라 ‘무엇을 우선하는가’입니다. ZIP은 보급과 호환, RAR은 복구와 분할, 7Z는 압축 알고리즘과 공개 라이선스, TAR.GZ는 유닉스 계열의 파일 속성 보존에 무게가 실려 있습니다.

형식별로 짚어 둘 점

ZIP: 널리 열리지만 옛 암호는 약합니다

ZIP은 안드로이드, 크롬OS, iOS, 리눅스, macOS, 윈도우가 기본으로 지원합니다(윈도우는 98용 플러스! 팩부터, macOS는 10.3부터). 원래 규격은 파일과 압축 파일 크기를 4GiB, 항목 수를 65,535개로 제한했는데, ZIP64 확장으로 한도가 크게 늘었고 윈도우 XP의 탐색기는 ZIP64를 지원하지 않지만 비스타 이후는 지원합니다. ZIP의 옛 암호 방식(ZipCrypto)은 알려진 평문 공격에 취약한 ‘심각한 결함’이 있다고 평가되며, 더 강한 AES 암호화는 규격 5.2부터 문서화되었습니다. 중요한 파일의 암호를 걸 때는 어떤 방식을 쓰는지 확인하는 것이 좋습니다.

RAR: 풀기는 쉽고 만들기는 제한적입니다

RAR은 독점 형식으로, 압축 파일을 만들 수 있는 것은 WinRAR 등 저작권자의 허가를 받은 소프트웨어입니다. 반면 공개된 unrar 소스로 ‘풀기만 하는’ 도구는 수수료 없이 만들 수 있고, 7-Zip도 RAR5를 풀 수 있습니다. WinRAR는 40일 체험 후에도 비기업 기능은 계속 쓸 수 있는 ‘체험판(trialware)’ 방식으로 배포됩니다. RAR5는 2013년 4월 WinRAR 5.0과 함께 나왔습니다.

7Z와 TAR.GZ

7Z는 비슷한 파일을 하나의 스트림으로 묶어 압축하는 솔리드 압축을 지원합니다. TAR.GZ는 gzip이 HTTP 압축에도 쓰이는 표준 형식 중 하나일 정도로 인터넷에 깊이 들어와 있고, gzip의 규격은 RFC 1952에 있습니다.

실제 사례 세 가지

사례 1. 42킬로바이트가 4.5페타바이트가 되는 파일: ZIP 폭탄 (공격 사례)

‘ZIP 폭탄’은 읽는 프로그램이나 시스템을 멈추게 하려고 만든 압축 파일로, 흔히 백신 프로그램을 무력화해 다른 악성코드를 들여보내는 데 쓰인다고 설명됩니다(위키백과 기준). 가장 유명한 42.zip은 약 42KB인데 5겹으로 중첩된 ZIP이어서 가장 안쪽 파일을 모두 합치면 약 4.5페타바이트에 이릅니다. 중첩은 Deflate의 압축비 한계(약 1032:1)를 우회하는 방법입니다. 2019년 데이비드 피필드는 중첩 없이도 파일 항목이 겹치게 만들어 42KB를 약 5.4GB로 부풀리는 방식을 공개했습니다(약 129,000:1). 배울 점은 출처를 모르는 압축 파일을 자동으로 풀어 주는 서비스나 프로그램은 중첩 깊이, 겹치는 항목, 메모리·디스크 사용량에 한도를 두어야 한다는 것입니다. 일반 사용자는 출처가 불분명한 압축 파일을 열지 않는 것이 가장 기본입니다.

사례 2. 2024년 XZ 유틸리티 백도어: 소스 압축본에 숨은 코드 (공급망 사례)

2024년 3월 마이크로소프트의 개발자 안드레스 프로인트가 데비안 개발판에서 성능 저하의 원인을 조사하다 xz/liblzma 라이브러리의 백도어(CVE-2024-3094, 심각도 CVSS 10.0)를 발견했고 3월 29일 공개되었습니다. 영향 버전은 xz 5.6.0과 5.6.1이었고, 악성 빌드 스크립트는 git 저장소가 아니라 GitHub에 올라온 릴리스 타르볼(tarball)에 들어 있었습니다. 특정 키를 가진 공격자가 sshd를 통해 원격으로 관리자 권한을 얻을 수 있게 하는 구조였습니다. 주요 배포판에서는 개발 단계 버전에 들어 있었고 널리 배포되기 전에 발견되어 되돌려졌습니다(위키백과 기준). 배울 점은 ‘소스 저장소에서 본 내용’과 ‘배포용 압축 파일의 내용’이 다를 수 있다는 점, 그리고 압축 라이브러리처럼 작고 눈에 안 띄는 부품도 보안 사슬의 일부라는 점입니다.

사례 3. 워드 파일을 ZIP으로 열어 보면: 컨테이너로 쓰이는 ZIP (표준의 사례)

.docx·.xlsx·.pptx(Office Open XML), OpenDocument, 자바의 JAR, 안드로이드 APK, 애플 IPA는 모두 ZIP을 컨테이너로 삼은 형식입니다. 즉 여러 개의 XML과 이미지를 ZIP 하나로 묶은 것이 문서 파일입니다. ISO/IEC 21320-1:2015는 문서 컨테이너용으로 ZIP을 제한해 정의한 표준이며, 저장 또는 Deflate만 허용하고 암호화·전자서명·분할 보관은 금지합니다. 파일마다 따로 압축하는 ZIP의 구조가 문서 안의 이미지 하나만 꺼내거나 교체하기에 알맞아 선택되었다고 추정할 수 있지만, 각 형식이 ZIP을 고른 이유는 이 글에서 확인하지 못했습니다. 배울 점은 확장자가 압축 파일처럼 보이지 않아도 내용은 ZIP일 수 있다는 것, 그리고 압축 파일을 열었을 때 보이는 내부 파일 목록이 문서 형식의 구조를 알려 준다는 것입니다.

직접 해 보기: 상황별 선택 체크리스트

흔한 오해와 정정

한계와 더 알아볼 점

형식별 실제 압축률과 속도는 확인한 자료가 없어 이 글은 수치를 싣지 않았습니다. RAR의 내부 알고리즘, 각 컨테이너 형식이 ZIP을 고른 이유도 확인하지 못했습니다. 기존 카드의 ‘7Z가 가장 높은 압축률’이라는 서술은 ‘알려져 있다’는 수준의 일반론이므로, 중요한 용도라면 실제 파일로 비교해 보세요. 사례의 연도와 수치는 위키백과 기준이며 이후 갱신되었을 수 있습니다.

관련 가이드

자주 묻는 질문

RAR 파일을 압축 해제하려면 어떻게 해야 하나요?

윈도우 11 23H2 이후에는 기본 기능으로 풀 수 있지만, 이전 버전이나 다른 환경에서는 반디집이나 7-Zip 같은 프로그램을 설치하면 열 수 있습니다. 7-Zip은 RAR5도 풀 수 있습니다.

압축을 하면 파일 화질이나 내용이 손상되나요?

아니요, ZIP·RAR·7Z 같은 일반적인 압축 방식은 무손실 압축이라 원본 데이터가 그대로 보존되며, 압축을 풀면 완전히 동일한 파일로 복원됩니다.

TAR.GZ를 풀면 왜 파일이 두 단계로 나오나요?

tar는 묶기만 하고 gzip이 압축을 맡기 때문입니다. 대부분의 프로그램이 한 번에 처리해 주지만 구조상 gzip을 풀면 .tar가 나오고, 그것을 다시 풀어야 개별 파일이 나옵니다.

RAR 파일은 어떻게 만드나요?

압축 파일을 만들 수 있는 것은 WinRAR 등 저작권자가 허가한 소프트웨어입니다. WinRAR는 40일 체험 후에도 비기업 기능을 계속 쓸 수 있는 방식으로 배포됩니다. RAR을 반드시 쓸 이유가 없다면 ZIP이나 7Z를 쓰는 것도 방법입니다.

압축 파일 안에 바이러스가 있는지 알 수 있나요?

압축 파일은 풀기 전에는 내용을 직접 실행하지 않지만, 풀어서 실행하면 위험할 수 있습니다. 보낸 사람이 믿을 만한지 확인하고, 압축을 푼 뒤에도 실행 파일은 보안 프로그램으로 검사한 다음 여세요.