Forgery of C2PA on a Pixel 10
Pixel 10의 C2PA 서명 위조 — AI 이미지에 '진짜 카메라 서명'을 붙이는 방법
Hacker Factor의 Neal Krawetz가 연구자 retr0id와 함께 Pixel 10의 C2PA 콘텐츠 자격증명 서명을 위조하는 방법을 공개했습니다. 루트 권한을 얻은 뒤 StrongBox/TEE의 서명 프로그램에 임의 데이터를 넘기는 Confused Deputy 공격으로, AI 생성 이미지도 'Pixel 카메라 촬영본'이라는 Google의 유효한 서명을 받을 수 있습니다. Google은 이를 'Won't Fix (Infeasible)'로 종결했습니다.
- 주제
본문
Hacker Factor의 Neal Krawetz가 공개한 이 글은 '유니콘 소에서 반짝이 우유를 짠다'는 가짜 뉴스로 시작합니다. AI로 생성한 사진이 첨부된 이 기사의 이미지에는 Google Pixel 10 Pro의 유효한 C2PA(Content Credentials) 서명이 붙어 있고, Adobe Inspect와 CAI Verify 같은 공인 검증기도 'Pixel 카메라로 촬영된 정상 미디어'로 판정합니다. 사진은 가짜이지만 서명은 진짜라는 것이 이 글의 핵심입니다.
취약점의 발견과 구현
2025년 9월 Google은 Pixel 10이 모든 사진에 Content Credentials를 내장한 첫 제품이며 C2PA 적합성 프로그램의 최고 등급인 Assurance Level 2를 획득했다고 발표했습니다. 그해 11월 저자와 UMBC의 PASAWG 그룹은 '루트 권한을 얻은 공격자가 임의 사진을 카메라 촬영물처럼 서명할 수 있다'는 이론적 취약점을 Google과 C2PA에 보고했으나, Google 측은 키가 보안 칩에 저장되어 추출이 불가능하므로 이런 공격은 불가능하다고 반박했습니다. 2026년 5월 하드웨어 전문 연구자 retr0id(David Buchanan)가 이를 실제로 구현했고, 저자가 챌린지로 보낸 위조 이미지를 단 2분 만에 서명해 돌려보냈습니다. 데이터 전송 시간을 빼면 사실상 자동화된 익스플로잇이며, 그는 도구 일부를 GitHub에 공개했습니다.
공격 원리: Confused Deputy
C2PA 서명 키는 StrongBox라는 보안 저장소에 들어 있고, TEE(Trusted Execution Environment) 안의 전용 프로그램만 이 키로 서명을 요청할 수 있습니다. 공격은 두 단계입니다. 첫째, 기기에서 루트 권한을 얻습니다. retr0id는 팩토리 리셋 없이 루트 셸을 얻는 잘 알려진 칩 기반 하드웨어 기법을 사용했고, 공개 대기 기간 중 소프트웨어 전용 루트 익스플로잇 두 건도 등장했습니다. 패치 여부는 무의미한데, 공격자가 자기 기기를 패치하지 않으면 그만이기 때문입니다. 둘째, 보호된 키로 C2PA 메타데이터에 서명하는 프로그램을 찾아 임의 데이터를 서명시킵니다. TEE 프로그램만 서명 요청을 제출할 수 있지만 루트 사용자가 어떤 데이터를 넣을지는 제한되지 않는 전형적인 Confused Deputy 공격이며, 이를 고치려면 Android 보안 모델 전체를 재설계해야 합니다. 키는 추출로부터는 보호되지만 '무엇이든 서명하는 용도'로는 무방비하다는 지적입니다. 저자는 보통 '루트로 시작'하면 추가 익스플로잇이 무의미하지만, 이 경우 루트는 기기 장악이 아니라 기기 밖으로 퍼져나갈 '권위 있는 위조 파일'을 만드는 시작점이라고 강조합니다.
Google의 대응과 폐기의 한계
retr0id가 Google VRP에 제출한 결과는 'Won't Fix (Infeasible)', 즉 NSBC(Not Security Bulletin Class)였습니다. 저자는 출처 증명·신뢰할 수 있는 귀속·안전한 키 관리가 NIST 기준(SP 800-193, 800-57, 800-53)상 명백한 보안 문제인데 Google이 'OS 플랫폼 경계'와 '콘텐츠 출처 무결성'을 다르게 보며 이를 축소했다고 비판합니다. 또한 시연 직후 Google이 해당 인증서를 신속히 폐기했지만, 현행 C2PA 명세는 검증기의 폐기 확인을 요구하지 않고 이를 실제로 검사하는 적합 제품도 없습니다. 게다가 Google이 프라이버시를 위해 단일 사용 인증서를 택한 탓에 개별 인증서 폐기는 사실상 '보안 연극'에 그친다고 지적합니다.
Pixel만의 문제가 아니다
같은 부류의 취약점이 Android와 iOS(루트가 더 어려울 뿐)에 존재하며, Level 1 적합 앱인 Proofmode 등 다른 C2PA 지원 앱에서도 위조가 재현되었습니다. CGI 영화 'Big Buck Bunny' 클립이 '카메라로 촬영됨'으로 서명된 사례처럼, 지금까지 위조 서명에 면역인 C2PA 구현은 없습니다. 저자는 유효한 C2PA 서명이 신뢰를 보장한다는 주장과 달리, 이 시스템이 모든 기기를 '허위정보를 사실로 세탁하는 도구'로 만들어 아무것도 하지 않는 것보다 더 나쁘다고 결론 내립니다.
Lobsters 반응
- @JulianSildenLanglo — 이미지 센서 칩이 CPU로 가기 전에 원본 이미지에 직접 서명하는 방식 외에는, 루트 권한을 가진 사람이 이미지에 서명하는 것을 막을 방법이 떠오르지 않습니다.
- @motet-a — AI가 생성한 것이 아님을 증명하기 위해 뭔가에 서명해야 한다는 발상 자체가 제게는 끔찍하게 들립니다...
- @olliej — 이미지 조작은 결코 새로운 것이 아니며, 이제는 아주 평범한 악당도 그럴듯하게 대량으로 할 수 있을 만큼 값싸졌을 뿐입니다. 한편 저는 다중 카메라 앵글인 허구의 TV 법정 드라마 클립이나, AI 음성이 선동적인 이야기를 얹은 무관한 영상 모음에 실제 사건인 양 분노하는 댓글이 달리는 걸 늘 봅니다. 이런 걸 속이는 데 AI 이미지나 영상은 필요 없습니다.
- @JulianSildenLanglo — 사실 이건 AI 여부가 문제가 아니었습니다. 뉴스사들이 방송·게재하는 이미지가 포토샵 처리되지 않았다는 걸 확신할 통일된 방법을 원했던 것입니다.
원문: Hacker Factor / 번역·요약: Trawling