NearScrub

2026-09-05

PDF 마스킹과 메타데이터 제거는 서로 다른 일입니다 — NearScrub이 하는 쪽과 하지 않는 쪽

"문서를 보내기 전에 정리한다"는 말은 서로 아주 다른 두 가지 작업을 가리킵니다. 하나는 마스킹(redaction)입니다. 페이지 위에 있는 정보 — 이름, 주소, 공개하면 안 되는 문단 — 를 제거하는 일입니다. 다른 하나는 메타데이터 제거입니다. 페이지 바깥에 있는 필드 — 작성자, 제작 소프트웨어, 생성·수정 시각, XMP 블록 — 를 지우는 일이고, 이 값들은 파일을 읽을 때 어디에도 나타나지 않습니다. 데이터도 다르고, 실패하는 방식도 다르고, 필요한 도구도 다릅니다. NearScrub은 이 중 두 번째만 합니다. 이걸 분명히 말해 둘 필요가 있는 이유는, 둘을 혼동하는 일이 하필 틀렸을 때 대가가 큰 자리에서 가장 자주 일어나기 때문입니다 — 법원 제출 서류, 정보공개청구 회신, 공시, 누군가 뜯어볼 이유가 있는 모든 공개 PDF에서요.

페이지 위에 그린 검은 사각형은 마스킹이 아닙니다

가장 잘 알려진 사례는 여전히 2019년 1월 8일 폴 매너포트 변호인단이 제출한 서면입니다. 컬럼비아 저널리즘 리뷰의 정리에 따르면, 가디언 기자 존 스웨인은 검게 칠해진 부분을 복사해 다른 곳에 붙여넣자 검은 막대가 사라지고 글자가 그대로 남는다는 것을 발견했습니다. 그렇게 해서 봉인하려던 내용 — 킬림닉과의 회동, 그리고 넘겨준 여론조사 데이터 — 이 드러났습니다. 어떤 포렌식 도구도 쓰이지 않았습니다. 검은 사각형은 그저 그려진 개체였고, 그 아래 텍스트는 여전히 파일 안에 있었고, 여전히 선택되고 복사되었습니다.

법원은 이 사실을 오래전부터 문서로 알려 왔습니다. 미국 매사추세츠 연방지방법원은 2010년 1월 11일 PDF 문서의 메타데이터 및 마스킹 정보에 관한 갱신 공지를 냈고, 거기에는 "쓰지 말아야 할 방법"이라는 제목의 목록이 있습니다. 글꼴을 흰색으로 바꾸는 것("단어가 사라진 것처럼 보이게 할 뿐입니다")이 적혀 있고, "텍스트 영역을 검게 칠하거나 덮거나 제거할 수 있는 Adobe Acrobat의 그래픽·주석 도구 사용"이 적혀 있으며, 그 뒤에 "이런 편집은 누구나 되돌려 아래 텍스트를 드러낼 수 있습니다"라는 괄호가 붙어 있습니다. 종이도 다룹니다 — 스캔하기 전에 잉크로 덧칠하거나 반투명 테이프로 가리는 방법은 "가린 데이터가 그대로 비칠 수 있다"고 경고합니다. 이 공지가 권하는 방법은 한 문장입니다. "문서를 마스킹하는 가장 좋은 방법은 애초에 그 텍스트를 넣지 않는 것입니다."

다만 공정하게 덧붙이자면, 이 공지에는 낡은 부분도 있습니다. "Adobe Acrobat은 (어떤 버전이든) 내장 도구만으로는 문서를 마스킹할 수 없다"는 서술은 2010년 당시 법원 직원이 보던 버전에서는 사실이었지만 오늘의 Acrobat에는 해당하지 않습니다. 지금은 실제로 내용을 제거하는 마스킹 도구가 들어 있습니다. 그러나 구조적인 지적 — 그리기 도구와 마스킹 도구는 다른 물건이고, 둘 중 하나만 무언가를 실제로 삭제한다 — 은 조금도 낡지 않았습니다.

텍스트를 진짜로 지운 마스킹도 새어 나갈 수 있습니다

복사-붙여넣기 문제를 이미 아는 사람도 놀라는 부분이 여기입니다. Story Beyond the Eye: Glyph Positions Break PDF Text Redaction(PoPETs 2023)에서 맥스웰 블랜드, 아누시야 아이어, 키릴 레브첸코는 텍스트를 실제로 들어낸 마스킹조차 그 내용을 흘릴 수 있음을 보였습니다. 주변 글자들이 원래 거기 있던 단어에 맞춰 배치되었기 때문입니다. 남아 있는 글리프 위치의 서브픽셀 단위 가로 이동만으로도 지워진 내용을 복원할 만한 정보가 남습니다. 연구진은 널리 쓰이는 마스킹 도구 11종(Adobe Acrobat 포함)을 평가해 모두가 정보를 흘린다는 것을 확인했고, 감찰관실(OIG) 조사 보고서와 정보공개청구 회신을 포함한 실제 문서 수백 건의 마스킹을 해제해 보였습니다. 그리고 OIG, Free Law Project, PACER, Adobe, 마이크로소프트, 미 법무부에 이를 통보하고 수정 알고리즘을 오픈소스로 공개했습니다.

이 결과의 정직한 범위는 이렇습니다. 시연된 공격은 짧고 추측 가능한 문자열 — 후보 사전을 놓고 어느 것이 같은 배치를 만들어내는지 맞춰 보는 방식의 이름과 성 — 을 복원하는 것이지, 임의의 문단 전체를 되살리는 것이 아닙니다. 마스킹된 이름이 보이는 것만큼 튼튼한 보호가 아니라는 근거이자, 애초에 텍스트를 공개 파일에 넣지 말라는 법원의 권고를 따라야 할 근거이지, 모든 PDF의 모든 마스킹이 읽힌다는 주장은 아닙니다.

나머지 절반: 아무도 열어 보지 않는 필드

앞의 매사추세츠 공지가 마스킹과 메타데이터를 한 문서에서 다루는 데에는 이유가 있습니다. 제목 자체가 "메타데이터 및 마스킹 정보"이고, 참고 자료 목록은 독자를 NSA의 PDF 마스킹 지침으로 안내합니다. 어떤 파일은 마스킹이 완벽하게 되어 있으면서도, 아무 독자도 열어 보지 않는 필드에서 누가 어떤 소프트웨어로 언제 만들었는지를 그대로 알려 줍니다.

그런 일이 얼마나 흔한지는 실제로 측정된 적이 있습니다. Exploitation and Sanitization of Hidden Data in PDF Files(ACM IH&MMSec 2021)에서 수프리야 아다타라오와 세드리크 로라두는 47개국 75개 보안 기관의 웹사이트에 공개된 PDF 파일 39,664개를 모아 그중 76%에서 민감한 데이터 — 작성자 이름, 제작 도구, 운영체제 정보 — 를 복원했습니다. 75개 기관 중 PDF를 정리(sanitize)하고 있던 곳은 일곱 곳뿐이었고, 저자들의 집계로는 그중에서도 모든 민감 정보를 제거한 곳은 세 곳이었습니다. 정보를 흘리지 않는 것이 업무 설명서에 적혀 있는 조직들의 이야기입니다.

하나의 PDF, 세 개의 층 눈에 보이는 페이지 내용 읽을 수 있는 텍스트와 이미지 — 마스킹 도구의 몫 ✕ NearScrub 아님 표시 아래에 숨은 것 그린 사각형 아래 남은 텍스트, 주석, OCR 레이어 ✕ NearScrub 아님 문서 속성 Author · Producer · CreationDate · ModDate · XMP stream ✓ NearScrub이 지움
메타데이터 제거 도구가 닿는 한 층위와, 닿지 않는 두 층위. 속성 창이 깨끗하다는 사실은 검은 사각형 아래에 무엇이 아직 선택되는지에 대해 아무것도 말해 주지 않습니다.

NearScrub이 PDF에서 실제로 바꾸는 것

정확히 맨 아래 줄입니다. Info 딕셔너리 항목 — Title, Author, Subject, Keywords, Creator, Producer, CreationDate, ModDate — 을 삭제하고, 문서 카탈로그에 XMP 메타데이터 스트림이 있으면 그것도 삭제합니다. 이 둘을 함께 처리하는 것이 중요한데, 서로 다른 저장소이고 같은 작성자 이름이 양쪽에 따로 들어 있을 수 있기 때문입니다. 모든 처리는 브라우저 탭 안에서 일어나며, 파일은 어디로도 업로드되지 않습니다.

하지 않는 일, 그대로 적습니다

NearScrub은 마스킹 도구가 아니고, 그런 척하지도 않습니다. 페이지 내용을 읽지도, 바꾸지도, 제거하지도 않으므로, 그려 놓은 검은 사각형 아래의 텍스트는 처리 후에도 그대로 남아 여전히 복사해 낼 수 있습니다. 주석과 표시를 평탄화하거나 삭제하지 않습니다. 양식 필드, 첨부된 내장 파일, 선택적 콘텐츠 레이어, 스캔한 페이지 뒤에 깔린 보이지 않는 OCR 텍스트 레이어도 건드리지 않습니다. 위에서 말한 글리프 위치 유출은 페이지 자체의 배치에 있는 문제라 손쓸 수 있는 것이 없습니다. 그리고 PDF는 저장 과정에서 다시 직렬화되므로 결과물은 재작성된 파일입니다 — 바이트 배치가 달라지고 체크섬이 원본과 일치하지 않으므로, 해시를 비교하는 작업 흐름이라면 이 점을 감안해야 합니다. 지원 형식은 JPEG, PNG, PDF, Office 문서이며 HEIC와 동영상 파일은 아예 지원하지 않습니다.

실제로 통하는 작업 순서

첫째, 가능하면 법원의 권고를 따르십시오. 원본 문서에서 텍스트를 아예 들어낸 뒤 PDF를 새로 만들어, 민감한 문자열이 공개 파일 안에 존재한 적이 없게 하는 것입니다. 둘째, 이미 만들어진 PDF를 마스킹해야 한다면 내용을 실제로 들어내는 도구를 쓰고, 직접 검증하십시오 — 문서 전체를 선택해 일반 텍스트 편집기에 붙여넣고, 지운 문자열을 전체 검색해 보는 것입니다. 30초짜리 이 확인이 바로 2019년 그 서면을 걸러냈을 절차입니다. 셋째, 스캔한 페이지라면 매사추세츠 공지의 경고를 진지하게 받아들이십시오. 종이 위를 가리고 스캔하면 비쳐 보일 수 있으니, 결과 PDF를 눈으로 확인한 뒤에 내보내야 합니다.

속성 정리는 그다음이고, 반드시 마지막이어야 합니다. 이 순서는 임의가 아닙니다. 정리한 뒤에 다시 내보내거나, 다시 저장하거나, 다시 인쇄하면 Producer·Creator·CreationDate가 새 값으로 다시 찍힙니다. 메타데이터 제거는 파일이 내 컴퓨터를 떠나기 직전의 마지막 단계여야 하며, 그렇지 않으면 다음 도구가 조용히 되돌려 놓습니다. 그리고 같은 공지의 마지막 면책 문구도 빌려 올 만합니다 — 법원 사무국은 자기 직원들이 문서를 "정리하는 어떤 특정 방법도 보증하거나 추천하지 않는다"고 적어 두었습니다. 이 글도 마찬가지입니다. 보내려는 그 파일을, 보내려는 그 상태 그대로, 직접 열어 확인하십시오.

광고
← NearScrub

이 페이지는 동의하신 경우에만 광고를 표시합니다.