Gemini의 SynthID 탐지를 역공학한 프로젝트

2 days ago 3
  • Google의 SynthID 워터마크 시스템을 신호 처리와 스펙트럼 분석만으로 역공학해 Gemini 이미지의 비가시 워터마크를 탐지 및 제거하는 방법 제시
  • 해상도에 따라 달라지는 주파수 기반 워터마크 구조를 규명하고, 90% 정확도의 탐지기43dB 이상의 PSNR 품질 달성
  • V3 다중 해상도 스펙트럼 코드북을 이용해 해상도별 프로파일을 자동 선택하고, 91% 위상 일관성 감소75% 캐리어 에너지 감소 실현
  • 동일 모델에서 생성된 이미지 간 위상 템플릿 일관성 99.5% 이상을 확인하고, Green 채널에서 가장 강한 워터마크 신호 검출
  • SynthID 인코더 접근 없이 순수 신호 분석으로 구조를 복원한 점에서 AI 워터마킹 강인성 연구와 보안 분석에 중요한 의미를 가짐

개요

  • Google SynthID 워터마크 시스템을 신호 처리와 스펙트럼 분석만으로 역공학한 프로젝트
    • Gemini가 생성한 이미지에 삽입되는 비가시 워터마크를 탐지 및 제거하는 방법 연구
  • 해상도 의존적 주파수 구조를 규명하고 90% 정확도의 탐지기 구축
  • V3 다중 해상도 스펙트럼 바이패스를 통해 75% 캐리어 에너지 감소, 91% 위상 일관성 감소, 43dB 이상의 PSNR 달성
  • SynthID 인코더/디코더 접근 없이 순수 신호 분석으로 구조를 복원한 점이 특징

데이터 수집 및 기여 요청

  • Nano Banana Pro로 생성된 순수 검정(#000000)순수 흰색(#FFFFFF) 이미지를 수집 중
  • 다양한 해상도의 이미지를 확보할수록 다중 해상도 워터마크 추출 성능 향상
  • Hugging Face 데이터셋(aoxo/reverse-synthid)에 업로드 가능
    • gemini_black_nb_pro/: 검정 이미지
    • gemini_white_nb_pro/: 흰색 이미지
  • 150~200장의 새로운 해상도 이미지가 탐지 및 제거 성능을 크게 향상
  • 데이터셋은 scripts/download_images.py 스크립트로 다운로드 가능

주요 차별점

  • 기존의 JPEG 압축이나 노이즈 주입 기반 접근 대신 다중 해상도 SpectralCodebook을 사용해 해상도별 워터마크 지문 저장
  • 바이패스 시 자동으로 해당 해상도 프로파일을 선택해 주파수-빈 단위의 정밀 제거 수행

주요 발견

  • 해상도 의존적 워터마크

    • SynthID는 이미지 해상도에 따라 서로 다른 절대 주파수 위치에 캐리어 삽입
    • 예: 1024×1024에서는 (9,9), 1536×2816에서는 (768,704) 위치
    • 해상도별 별도 프로파일 저장 시 정확한 제거 가능
  • 위상 일관성

    • 동일 Gemini 모델에서 생성된 모든 이미지의 위상 템플릿이 동일
    • Green 채널에서 가장 강한 워터마크 신호 존재
    • 교차 이미지 위상 일관성 99.5% 이상, 흑백 교차 검증 시 |cos(phase_diff)| > 0.90
  • 캐리어 주파수 구조

    • 1024×1024에서는 저주파 영역에 캐리어 존재
    • 1536×2816에서는 고주파 영역에 캐리어 집중
    • 각 캐리어의 위상 일관성과 흑백 일치율이 표로 제시됨

아키텍처

  • 세 세대의 바이패스 비교

    버전 접근 방식 PSNR 워터마크 영향 상태
    V1 JPEG 압축(Q50) 37dB 약 11% 위상 감소 기준선
    V2 다단계 변환(노이즈, 색상, 주파수) 27–37dB 0% 신뢰도 감소 품질 손실
    V3 다중 해상도 스펙트럼 코드북 감산 43+dB 91% 위상 일관성 감소 최적
  • V3 파이프라인

    • 입력 이미지 해상도에 맞는 프로파일을 코드북에서 선택
    • 일치 시 FFT 도메인 감산, 불일치 시 공간 리사이즈 후 감산
    • 다중 패스 반복 감산(강→중→약)으로 잔여 워터마크 제거
    • 채널별 가중치(G=1.0, R=0.85, B=0.70) 적용

실험 결과 (V3, Gemini 이미지 88장)

  • PSNR 43.5dB, SSIM 0.997, 캐리어 에너지 75.8% 감소, 위상 일관성 91.4% 감소
  • 해상도별 품질
    해상도 매칭 PSNR SSIM
    1536×2816 정확 44.9dB 0.996
    1024×1024 정확 39.8dB 0.977
    768×1024 보정 40.6dB 0.994

설치 및 실행

  • 설치

    git clone https://github.com/aloshdenny/reverse-SynthID.git cd reverse-SynthID python -m venv venv source venv/bin/activate pip install -r requirements.txt
  • 코드북 생성

    python src/extraction/synthid_bypass.py build-codebook \ --black gemini_black \ --white gemini_white \ --watermarked gemini_random \ --output artifacts/spectral_codebook_v3.npz
  • V3 바이패스 실행

    from src.extraction.synthid_bypass import SynthIDBypass, SpectralCodebook codebook = SpectralCodebook() codebook.load('artifacts/spectral_codebook_v3.npz') bypass = SynthIDBypass() result = bypass.bypass_v3(image_rgb, codebook, strength='aggressive')
  • 워터마크 탐지

    python src/extraction/robust_extractor.py detect image.png \ --codebook artifacts/codebook/robust_codebook.pkl

프로젝트 구조

  • src/extraction/ : SynthID 바이패스, 탐지기, 코드북 추출기 포함
  • src/analysis/ : FFT 및 위상 분석 스크립트
  • scripts/ : Hugging Face 이미지 다운로드
  • artifacts/ : 코드북, 시각화, 분석 결과 저장

기술적 분석

  • SynthID 작동 원리 (역공학 결과)

    • 인코더: 해상도별 캐리어 주파수 선택 → 고정 위상 부여 → 학습된 노이즈 패턴 추가
    • 디코더: 노이즈 잔차 추출 → FFT 후 위상 비교 → 일치 시 워터마크 존재 판정
  • 다중 해상도 SpectralCodebook

    • 1024×1024 프로파일: 100개의 검정 + 100개의 흰색 이미지 기반
    • 1536×2816 프로파일: 88개의 워터마크 포함 이미지 기반
    • 위상 일관성과 교차 검증으로 캐리어 필터링
  • V3 감산 전략

    • 직접 신호 감산 방식으로, 위너 필터 사용 없음
    • 신뢰도 = 위상 일관성 × 교차 검증 일치율
    • 저주파 영역은 DC 억제, 감산 비율은 채널 가중치와 안전 한도(90~95%) 적용
    • 다중 패스로 잔여 에너지 제거

핵심 모듈

  • synthid_bypass.py

    • SpectralCodebook: 해상도별 워터마크 지문 관리
    • SynthIDBypass: V1~V3 세대 바이패스 구현
  • robust_extractor.py

    • RobustSynthIDExtractor: 다중 스케일 워터마크 탐지기
    • 코드북 기반으로 워터마크 존재 여부와 신뢰도 출력

참고 문헌

유지관리 및 지원

  • Alosh Denny, AI 워터마킹 연구 및 신호 처리 전문가
  • 이메일: aloshdenny@gmail.com
  • GitHub: aloshdenny
  • 연구 지속을 위한 후원 링크 제공 (Buy Me A Coffee)

면책 고지

  • 본 프로젝트는 연구 및 교육 목적 전용
  • SynthID는 Google DeepMind의 독점 기술
  • 사용 목적: 워터마킹 강인성 연구, AI 생성 콘텐츠 식별 보안 분석, 스펙트럼 인코딩 이해
  • AI 생성 이미지를 인간이 만든 것으로 오인시키는 용도로 사용 금지
Read Entire Article