fixmint
KO

이 ZIP 파일 열어도 안전할까? 풀기 전에 확인하세요

지은이: · · 4분 읽기

ZIP 파일은 풀기 전에 확인하세요. 목차에는 모든 파일의 이름, 크기, 압축으로 줄어든 정도가 나와 있어요. ZIP이 문제를 일으키려고 할 때 목차에서 다섯 가지를 확인할 수 있어요. 압축을 풀면 크기가 크게 부풀어 오르는 경우, 폴더 밖으로 빠져나가려는 이름, 실제 형식을 가리는 두 번째 확장자, 암호화된 항목, 이름과 실제 형식이 맞지 않는 파일이에요. 먼저 ZIP 안 살펴보기에서 내용을 보고, 예상한 파일만 풀어 주세요.

ZIP 뷰어이 ZIP 안에는 뭐가 있을까?무료로 사용하기

ZIP 목차에서 볼 수 있는 것

ZIP은 파일마다 항목을 하나씩 저장해요. 압축 파일 끝에는 중앙 디렉터리라고 부르는 목록이 있고, 항목마다 기록이 하나씩 들어 있어요. 각 기록에는 항목의 이름과 경로, 압축 전후의 크기, 압축 방식, 내용으로 계산한 짧은 숫자인 CRC-32(손상 여부를 확인하는 데 쓰는 검사값), 그리고 암호화 여부가 담겨 있어요.

압축 풀기 도구는 이 목록부터 읽어요. ZIP 뷰어도 목록만 읽기 때문에 아무것도 풀지 않고 내용을 볼 수 있어요. 압축 파일 안의 어떤 것도 실행되지 않아요.

Zip 폭탄: 작은 파일이 엄청나게 커지는 경우

압축은 반복되는 데이터를 짧은 코드로 바꿔서 작동해요. 그래서 반복이 많을수록 결과물이 작아져요. 압축률은 원래 크기를 압축된 크기로 나눈 값이에요. 같은 데이터가 길게 반복되면 아주 잘 압축돼요. 흔히 쓰는 ZIP 방식은 같은 바이트가 길게 이어지는 데이터를 약 1,000배까지 줄일 수 있어요.

Zip 폭탄은 이 점을 이용해요. 작은 압축 파일이 풀리면 수 기가바이트가 되도록 만든 것이에요. 크기를 더 키우려고 압축 파일 안에 압축 파일을 여러 겹 넣기도 해요. 이런 파일을 풀면 디스크가 가득 차고 컴퓨터가 멈출 수 있어요.

일반 파일의 압축률이 어느 정도인지는 알고 있으면 도움이 돼요. 텍스트와 코드는 많이 줄어들어요. 사진, 동영상, 그리고 .docx, .xlsx, .jpg처럼 이미 압축된 파일은 거의 줄지 않아요. 평범한 문서인데 압축률이 수백 배로 나온다면 경고 신호예요.

폴더 밖으로 빠져나가는 이름

항목 이름에는 폴더가 포함될 수 있어요. 예를 들어 ../../Startup/update.bat라는 이름은 압축 풀기 도구에게 위로 두 단계 올라가서 시작 프로그램 폴더에 파일을 쓰라고 지시해요. 그 폴더에 있는 프로그램은 로그인할 때마다 실행돼요. 이것을 경로 탐색, 또는 "zip slip"이라고 불러요. 신뢰할 만한 압축 풀기 도구는 ../ 부분을 제거하지만, 오래된 도구나 직접 만든 스크립트는 그렇지 않을 수 있어요.

/etc/...나 C:\...처럼 슬래시로 시작하는 이름도 같은 문제예요. 디스크의 정해진 위치에 파일을 쓰려고 하는 거예요. 뷰어는 이름을 저장된 그대로 보여 주기 때문에, 아무것도 쓰이기 전에 미리 확인할 수 있어요.

이중 확장자와 숨겨진 형식

파일 이름의 맨 마지막 확장자는 시스템에 이 파일이 어떤 종류인지 알려 줘요. invoice.pdf.exe는 PDF처럼 보이는 이름으로 시작하더라도 .exe로 끝나기 때문에 프로그램이에요. Windows는 기본적으로 잘 알려진 파일 형식의 확장자를 숨겨서, 이름이 "invoice.pdf"로만 보일 수 있어요.

첫 바이트로 실제 형식 확인하기

모든 파일 형식은 몇 바이트의 시그니처로 시작해요. 확장자는 이름표일 뿐이고 누구나 바꿀 수 있어요. 파일 형식 확인은 이 첫 바이트를 읽어서 파일 이름과 비교해 줘요.

형식첫 바이트(16진수)
PDF 문서25 50 44 46 (텍스트 %PDF)
PNG 이미지89 50 4E 47
JPEG 이미지FF D8 FF
ZIP, 그리고 Word나 Excel 파일(내부가 ZIP임)50 4B 03 04 (텍스트 PK)
Windows 프로그램4D 5A (텍스트 MZ)

형식이 맞지 않는다고 해서 파일이 해롭다는 뜻은 아니에요. 다만 파일이 이름과 다른 것이라는 뜻이고, 어디서 왔는지 멈춰서 확인할 충분한 이유가 돼요.

암호화된 항목

비밀번호가 걸린 항목은 내용이 감춰져 있어요. 뷰어에서는 이름과 크기는 볼 수 있지만, 안의 내용은 여기서 검사할 수 없어요. 검사 도구도 안을 읽지 못해요. 공격자가 필터를 피해 파일을 전달하려고 암호화된 압축 파일을 쓰는 이유가 바로 이것이에요. 은행 명세서나 세금 서류도 일부러 암호를 걸어 보내는 경우가 많아요. 아는 사람이 보낸 것이라면 다른 경로로 비밀번호를 물어보고, 누가 보낸 것인지 확실할 때만 압축 파일을 여세요.

Mac과 Windows의 불필요한 파일

두 운영체제는 사용자가 만들지 않은 파일을 추가해요.

  • macOS는 각 파일의 추가 데이터를 숨김 폴더 __MACOSX에 저장하고, 파일 옆에 ._ 이름의 파일을 만들어요. 또 Finder의 보기 설정을 기록하는 .DS_Store 파일도 남겨요.
  • Windows는 미리 보기 이미지를 저장하는 캐시인 Thumbs.db와 폴더 표시 설정이 담긴 desktop.ini를 추가해요.

이 파일들은 해롭지 않지만, 압축 파일을 어지럽히고 받는 사람을 헷갈리게 해요.

보내기 전에 압축 파일 정리하기

ZIP 파일 정리는 Mac과 Windows의 불필요한 파일을 뺀 새 압축 파일을 만들어 줘요. 원본은 그대로 남아 있어요. 안전한 순서는 다음과 같아요.

  1. ZIP 뷰어에서 압축 파일을 열고 모든 이름을 읽어요.
  2. 이름이나 형식이 이상해 보이는 파일은 파일 형식 확인으로 점검해요.
  3. 압축 파일을 정리한 다음, 정리된 사본을 열어서 보내려던 내용이 그대로 들어 있는지 확인해요.
  4. 정리된 사본을 보내요.

예외 상황

  • 압축 파일 안의 압축 파일. 뷰어는 바깥 목록만 보여 줘요. 안쪽 압축 파일은 따로 열어서 같은 방식으로 확인하세요.
  • 손상된 압축 파일. 중앙 디렉터리는 파일 끝에 있어서, 끝부분이 깨지면 ZIP이 아예 열리지 않을 수 있어요. 이것은 손상 문제이지, 압축 파일이 안전하다는 증거가 아니에요. 손상 여부 검사로 확인해 보세요.
  • 자체 압축 해제 파일. 프로그램이 함께 들어 있는 압축 파일이에요. 보통 .exe라는 이름이 붙어 있으며, 이것은 프로그램이에요. 출처를 믿을 수 없다면 실행하지 마세요.
  • 목록이 깔끔하다고 안전이 보장되지는 않아요. 정돈된 목록은 이름과 크기가 정상처럼 보인다는 뜻일 뿐이에요. 각 파일이 해롭지 않다는 증명은 아니에요. 믿을 수 없는 압축 파일에서는 확인을 마쳤더라도 프로그램을 실행하지 마세요.

AI 도움을 받아 영어 원문에서 번역했어요.

댓글

    아직 댓글이 없어요. 첫 댓글을 남겨 보세요.

    별점 (선택)

    이메일은 공개되거나 보관되지 않아요.

    Digital Workflow Toolkit 표지Digital Workflow Toolkit

    변환, 이름 바꾸기, 압축, 병합 같은 작은 파일 작업을 연결해 매번 똑같이 돌아가는 워크플로를 만드는 레시피, 템플릿, 패턴 모음이에요.

    $19.00Gumroad에서 받기영어로 보기