GitHub - aloshdenny/reverse-SynthID: reverse engineering Gemini's SynthID detection
Service

GitHub - aloshdenny/reverse-SynthID: reverse engineering Gemini's SynthID detection

aloshdenny
2026.04.15
·GitHub·by 권준호
#Gemini#Reverse Engineering#Signal Processing#SynthID#Watermark

핵심 포인트

  • 1이 프로젝트는 Google Gemini 이미지에 내장된 SynthID 워터마크를 역공학적으로 분석하여, 워터마크의 캐리어 주파수가 이미지 해상도에 따라 달라진다는 핵심 특성을 발견했습니다.
  • 2본 연구는 이 해상도 종속성을 활용하여, 각 해상도별 워터마크 특징을 담은 `SpectralCodebook`을 기반으로 한 다중 해상도 스펙트럼 바이패스(V3) 시스템을 개발했습니다.
  • 3V3 바이패스는 43+ dB의 높은 PSNR을 유지하며 워터마크의 캐리어 에너지 75% 및 위상 일관성 91%를 효과적으로 감소시켜, 거의 모든 해상도의 이미지에서 SynthID 워터마크를 성공적으로 제거합니다.

이 논문은 Google의 AI 워터마킹 시스템인 SynthID를 역공학하여, 독점적인 인코더나 디코더에 접근하지 않고도 이를 탐지하고 제거하는 방법을 제시합니다. 프로젝트는 주로 signal processing 및 spectral analysis 기법을 활용합니다.

핵심 발견 (Key Findings)

  • Resolution-Dependent Watermark: SynthID 워터마크는 이미지 해상도에 따라 캐리어 주파수(carrier frequencies)의 절대 위치가 달라집니다. 예를 들어, 1024x1024 해상도에서 발견된 캐리어 주파수는 1536x2816 해상도의 이미지에서는 워터마크를 제거하는 데 직접 사용할 수 없습니다.
  • Phase Consistency: 동일한 Gemini 모델에서 생성된 모든 이미지에서 워터마크의 phase template은 동일하게 유지됩니다. Green 채널이 가장 강한 워터마크 신호를 담고 있으며, 캐리어 주파수에서의 cross-image phase coherence는 99.5%를 초과합니다. 순수 검정/흰색 레퍼런스 이미지(pure black/white reference images)를 사용하여 cos(phasediff)>0.90|cos(phase_diff)| > 0.90 조건을 통해 실제 캐리어(true carriers)를 교차 검증합니다.
  • Carrier Frequency Structure: 1024x1024 해상도에서는 캐리어가 저주파 그리드(low-frequency grid)에 위치하는 반면, 1536x2816 해상도에서는 훨씬 더 높은 주파수 대역에 위치합니다.

우회(Bypass) 아키텍처 (Bypass Architecture)
프로젝트는 세 가지 워터마크 우회 버전을 개발했으며, V3가 가장 효과적입니다.

  • V1: 단순 JPEG compression (Q50)으로, 약 37 dB의 PSNR과 11%의 phase drop을 보입니다.
  • V2: multi-stage transforms(noise, color, frequency)를 사용했으나, 품질 저하가 컸습니다.
  • V3 (Multi-resolution Spectral Bypass): 43+ dB의 PSNR과 91%의 phase coherence drop을 달성하여 가장 우수한 성능을 보입니다.

V3 파이프라인 (V3 Pipeline)
V3 bypass는 SpectralCodebook과 FFT-domain subtraction을 핵심으로 합니다.

  1. SpectralCodebook 구축:
    • 순수 색상 레퍼런스 이미지: 100장의 검정색과 100장의 흰색 Gemini 출력 이미지(예: 1024x1024 해상도)를 사용하여 1024x1024 프로파일을 추출합니다. 검정색 이미지에서는 워터마크가 거의 전체 픽셀 콘텐츠를 차지하며, 흰색 이미지(반전됨)를 통해 캐리어 주파수를 교차 검증하고 |cos(phase_diff)|를 기반으로 generation bias를 필터링합니다.
    • 워터마크된 콘텐츠 이미지: 88장의 다양한 워터마크된 이미지(예: 1536x2816 해상도)를 사용하여 1536x2816 프로파일을 구축합니다. 콘텐츠는 이미지 전체에 걸쳐 평균화되고, 고정된 워터마크는 phase coherence로 살아남습니다. 워터마크의 magnitude는 avg_mag×coherence2avg\_mag \times coherence^2로 추정됩니다.
    • Codebook은 각 해상도별로 캐리어 위치, magnitude, phase 정보를 저장합니다.
  1. 워터마크 제거(Subtraction) 전략:
    • auto resolution selection: 입력 이미지의 해상도에 맞춰 SpectralCodebook에서 exact match 프로파일을 찾거나 가장 근접한 프로파일을 선택합니다.
    • FFT-domain subtraction: 워터마크는 주파수 도메인에서 직접 알려진 신호(known-signal)를 빼는 방식으로 제거됩니다. Wiener filter와 달리, 워터마크의 confidence(phase_consistency×cross_validation_agreementphase\_consistency \times cross\_validation\_agreement)를 가중치로 사용합니다.
    • DC exclusion: 저주파 generation bias를 억제하기 위해 soft ramp를 적용하여 DC component를 제외합니다.
    • Per-bin subtraction: 각 주파수 bin에 대해 wm_magnitude×confidence×removal_fraction×channel_weightwm\_magnitude \times confidence \times removal\_fraction \times channel\_weight를 계산하여 차감합니다. removal_fraction은 제거 강도(aggressive, moderate, gentle)를 조절하는 파라미터입니다.
    • Per-channel weighting: SynthID의 임베딩 강도(embedding strength)에 맞춰 채널별 가중치(G=1.0, R=0.85, B=0.70)를 적용합니다.
    • Safety cap: 이미지의 어떤 bin에서도 에너지의 90-95% 이상을 초과하여 제거하지 않도록 안전 장치가 있습니다.
    • Multi-pass iterative subtraction: aggressive → moderate → gentle 순으로 강도를 낮춰가며 여러 번 반복하여 잔류 워터마크 에너지를 제거합니다.
    • Anti-alias: 최종 출력 전에 Anti-aliasing 처리를 수행합니다.

결과 (Results)
V3 bypass는 1536x2816 해상도 이미지에 대해 평균 PSNR 43.5 dB, SSIM 0.997, 캐리어 에너지(carrier energy) 75.8% 감소, top-5 캐리어의 phase coherence 91.4% 감소를 달성했습니다. 다양한 해상도에서 우수한 품질을 유지하며 워터마크를 효과적으로 제거합니다.

워터마크 탐지 (Watermark Detection)
RobustSynthIDExtractor는 multi-scale 워터마크 탐지 기능을 제공하며, 90%의 정확도로 워터마크 유무를 식별할 수 있습니다.

기술적 심층 분석 (Technical Deep Dive)
역공학된 SynthID 동작 방식은 다음과 같이 추정됩니다:

  1. Encoder (Gemini 내): 해상도 종속적인 캐리어 주파수를 선택하고, 각 캐리어에 고정된 phase 값을 할당합니다. 신경망 인코더(neural encoder)가 학습된 노이즈 패턴을 이미지에 추가하며, 워터마크는 스펙트럼 전반에 걸쳐 퍼져 있어 육안으로는 식별하기 어렵습니다.
  2. Decoder (Google 내): 노이즈 잔여물(noise residual)을 추출하고(예: wavelet denoising), FFT를 통해 알려진 캐리어 주파수에서의 phase를 확인합니다. phase가 예상 값과 일치하면 워터마크된 것으로 판정합니다.

이 프로젝트는 워터마킹 견고성에 대한 학술 연구, AI 생성 콘텐츠 식별의 보안 분석, 그리고 spread-spectrum encoding 방법을 이해하는 데 목적이 있습니다.