TECH 으로 돌아가기
TECH HACKER NEWS 오늘 7분 읽기 24 READS

컬러 프린터가 몰래 찍는 노란 점, 오픈소스 도구 DEDA로 읽고 지우기

컬러 프린터가 몰래 찍는 노란 점, 오픈소스 도구 DEDA로 읽고 지우기
SOURCE IMAGE · HACKER NEWS
컬러 프린터가 몰래 찍는 노란 점, 오픈소스 도구 DEDA로 읽고 지우기

프린터가 종이에 몰래 남기는 서명

컬러 레이저 프린터로 뽑은 종이를 파란 LED 불빛 아래에서 돋보기로 들여다보면, 작은 노란 점들이 규칙적으로 찍혀 있는 게 보여요. 지름이 0.1mm 정도라 맨눈으로는 거의 안 보이는데요, 이 점들이 단순한 얼룩이 아니라 프린터 일련번호와 출력 날짜·시각을 담은 암호예요.

이걸 트래킹 도트(Tracking Dots), 또는 머신 식별 코드(MIC)라고 불러요. 지폐 위조범을 추적하려고 여러 정부와 프린터 제조사가 손잡고 도입했다고 알려져 있어요. 2005년에 디지털 권리 단체 EFF가 한 제조사 프린터의 패턴을 해독해 공개하면서 널리 알려졌고요. 2017년에는 미국 NSA 내부 문서를 언론에 제보한 사람의 신원이 드러난 일이 있었는데, 언론사가 공개한 스캔본에서 이 점들로 출력 시각과 프린터 정보를 읽을 수 있었다는 분석이 나오면서 다시 큰 이슈가 됐어요.

DEDA는 독일 드레스덴 공대 연구진이 만든 오픈소스 도구예요. 이 노란 점을 찾아서 해독할 수 있고, 반대로 추적이 안 되게 만드는 기능도 있어요.

노란 점은 정보를 어떻게 담을까

원리는 생각보다 단순해요. 종이 위에 눈에 안 보이는 격자(grid)가 있다고 상상해보세요. 격자의 칸마다 점이 있으면 1, 없으면 0이에요. 이렇게 만든 비트 패턴을 페이지 전체에 몇 센티미터 간격으로 반복해서 찍어요. 일부가 가려지거나 잘려도 다른 곳에서 읽을 수 있게 하려는 거예요. 패턴에는 일련번호, 날짜, 시각, 그리고 오류를 확인하는 패리티 비트가 들어 있어요. 격자 크기나 배치는 제조사마다 다른데, DEDA 연구진은 여러 제조사의 출력물을 분석해서 패턴 유형을 분류해냈어요.

그럼 이미지에서 노란 점은 어떻게 찾을까요? 여기서 색상 이론이 등장해요. 노란색을 RGB로 보면 빨강(R)과 초록(G)은 높고 파랑(B)이 낮은 색이에요. 노란 잉크가 파란빛을 흡수하기 때문이에요. 그래서 스캔 이미지에서 파랑 채널만 떼어서 보면 흰 종이 위의 노란 점이 어두운 점으로 또렷하게 드러나요. 파란 조명 아래에서 점이 잘 보이는 것도 같은 원리예요.

DEDA로 할 수 있는 것들

DEDA는 Python으로 작성됐고 pip install deda로 설치할 수 있어요. 주요 기능은 이래요.

1. 해독: 300dpi 이상으로 스캔한 출력물을 넣으면 트래킹 도트를 찾아 패턴 유형을 판별해요. 해독할 수 있는 패턴이면 일련번호와 출력 시각 같은 정보도 보여줘요. (deda_parse_print)

2. 비교: 출력물 여러 장이 같은 프린터에서 나왔는지 비교할 수 있어요. 포렌식에서 쓸모가 많은 기능이에요.

3. 스캔본 정리: 이미 스캔한 문서를 공개해야 할 때, 이미지에서 노란 점을 지워서 출처를 추적하기 어렵게 만들어줘요.

4. 출력물 익명화: 가장 흥미로운 기능이에요. 프린터가 점을 찍는 건 펌웨어에서 처리하는 일이라 사용자가 막을 수 없어요. 그래서 DEDA는 거꾸로 접근해요. 내 프린터의 격자에 딱 맞춘 추가 노란 점 마스크를 문서에 덧입혀서 모든 칸에 점이 찍히게 만드는 거예요. 모든 칸이 1이 되면 아무 정보도 읽어낼 수 없겠죠. 마스크를 내 프린터에 맞추려면 먼저 보정용 페이지를 출력하고 스캔하는 단계를 거쳐야 해요.

명령어 이름이나 세부 옵션은 버전마다 다를 수 있으니, 실제로 쓰기 전에 저장소 README를 꼭 확인하세요.

업계 맥락: 보이지 않는 워터마크의 시대

트래킹 도트는 '눈에 안 보이는 워터마크'의 원조 격이에요. 지금은 같은 아이디어가 디지털 세계 곳곳에 퍼져 있어요. AI가 만든 이미지에 보이지 않는 워터마크를 심는 구글의 SynthID, 콘텐츠의 출처를 메타데이터로 증명하는 C2PA 표준이 대표적이에요. 사진 EXIF에 카메라 일련번호나 GPS 좌표가 남는 것도, 이미지 센서마다 다른 고유 노이즈로 어느 카메라가 찍었는지 추정하는 포렌식 기법도 같은 계열이에요.

이런 기술은 위조를 막고 출처를 증명하는 데 쓰여요. 하지만 사용자가 모르는 사이에 신원을 드러내는 수단이 될 수도 있어요. DEDA는 이 양면성을 정면으로 보여주는 프로젝트예요.

한국 개발자에게 주는 시사점

먼저 이미지 처리 공부 재료로 훌륭해요. 색 채널 분리, 노이즈 속 점 검출, 격자 정렬 추정까지 OpenCV와 NumPy로 직접 구현해보기 딱 좋은 주제거든요. 스캔 문서 OCR 파이프라인을 다룬다면, 이런 미세한 점이 전처리에 어떤 영향을 주는지 생각해볼 계기도 되고요.

보안·포렌식에 관심이 있다면 실제 수사에서 쓰는 문서 감식 기법을 코드로 이해해볼 수 있는 드문 사례예요. 기자 업무나 공익신고를 돕는 서비스를 만드는 개발자라면, 문서를 공개할 때 메타데이터와 트래킹 도트를 함께 지우는 절차가 필요하다는 점도 기억해두세요. 물론 이 기술은 프라이버시를 지키기 위한 것이지 문서를 위조하라고 있는 게 아니에요.

마무리

핵심 한 줄: 컬러 프린터는 출력물마다 보이지 않는 신분증을 찍고 있고, DEDA를 쓰면 그걸 읽거나 지울 수 있어요.

여러분은 출력물이나 사진에 이런 '숨은 정보'가 남는다는 걸 알고 계셨나요? 추적 기술이 주는 공익적 가치와 프라이버시 사이에서 어디에 선을 그어야 한다고 생각하세요?


🔗 출처: Hacker News

SOURCE · HACKER NEWS
원문 전체 보기 → https://github.com/dfd-tud/deda
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기 →
처리 중...