Professional Documents
Culture Documents
Digital Image Analysis and Forensics (Kancho)
Digital Image Analysis and Forensics (Kancho)
By Neal Krawetz(hackerfactor.com )
번역 : Kancho(kancholove@gmail.com)
1. 용어
1
이 문서는 Black Hat 2007 Briefings USA에서 발표된 문서로 디지털 이미지 분석에 대한 글입니
다. 번역이 애매한 부분은 원문의 단어를 그대로 사용하거나 괄호 안에 참고할 수 있도록 하겠습
니다. 그래픽 관련 전문 용어에 익숙하지 못한 관계로 번역이 매끄럽지 않음을 이해해 주시기 바
랍니다. 역자의 주는 본문 내 기울임 꼴이나 각주로 나타내겠습니다.
2. 이미지와 관련된 문제점
이미지 수정은 저작권 문제를 가져올 수 있다. 산드라 블록과 파멜라 앤더슨 같은 유명인들에게
좋지 않은 이미지를 주기 위해 나체의 여자 몸에 그들의 얼굴을 합성했다. 이런 경우 유명인들은
초상권을 가지고 있고 이런 악용은 그들의 초상권을 침해할 수 있다.
2-1. 아동 포르노 물
2
관련 배경 지식은 http://en.wikipedia.org/wiki/Battle_of_Iwo_Jima 참조
디지털 이미지 조작의 어두운 면이 있다. 1996년에 미국은 아동 포르노 방지법(CPPA)를 통과시켰
다. 이 법은 아동을 성적인 존재로 이용하는 것을 방지한다. 그러나 이 법은 “실제” 아동과 컴퓨터
로 만들어진 또는 아동을 그린 삽화와의 구분을 만들지 않았다. 2002년 미국 연방대법원은 CPPA
가 표현의 자유를 위반한다고 결정했다. 특히 만약 아동이 실제 인물이 아니라면 해를 직접 당하
는 아동이 없고 따라서 CPPA는 적용되지 않는다는 것이다. 이는 “아동 프로노그라피(CP)”와 “가상
아동 포르노그라피(VCP)”와의 구분을 만들었다.
2-2. 디지털 인증
3
MySpace에서는 누군가 자신의 계정이 도용 당하고 있다면 자신이 직접 적은 MySpace.com 글
과 Friend ID를 자신의 사진과 함께 보내달라고 한다.
관련 공지: http://www.myspace.com/index.cfm?fuseaction=misc.faq&Category=3&Question=26
예제 사진: http://www.boingboing.net/2006/08/10/confirm-your-identit.html
조작된 이미지를 알아낼 수 있는 발전된 방법들이 있음에도 위에서 언급한 종류의 이미지들을
MySpace에 제출하면 MySpace profile이 만료되어 버린다.
3. 이미지를 분석하는 방법
3-1. 관찰에 의한 분석
불행하게도, 많은 item들은 이미지의 품질을 높이지 않으면 명확하게 분간할 수 없다. Basic image
enhancement 방법은 보다 쉬운 확인을 위해 이미지 내에서 각 요소(elements)를 명확하게 한다.
방 안의 두드러진 글자는 Tarzan & Jane 영화 포스터와 알코올 병에서 찾을 수 있다. 이 이미지를
sharpening하고 contrast를 enhance 시킴으로써 글자를 읽을 수 있게 되었다(그림3,4). 특히 글자
가 스페인어이기 때문에 지역이 멕시코, 베네수엘라, 아르헨티나 또는 다른 스페인어를 사용하는
나라일 수 있다. 알코올 병은 “Madrileno(마드리드)”라는 글자가 적혀있어 스페인임을 암시한다.
Tarzan & Jane 영화 포스터는 3월 26일에 DVD 배포 날짜가 있으나 연도에 대한 정보는 없다. 이
영화는 스페인에서 2006년 3월 26일에 DVD로 출시되었다. DVD 판촉 포스터는 보통 비디오가 나
오기 전 몇 개월 전에 나오고, 나오자마자 구하기는 어렵다는 것을 고려해보면 사진이 찍힌 날짜
의 범위를 추측할 수 있다: 2003년 1월~5월이다. 방에 매우 많은 물건들이 있지만 2003년 이전의
특정 연도를 확인할 수 있는 것은 없다. 날짜와 장소에 추가적으로 방의 특징을 확인할 수 있다.
예를 들어 벽의 전화 콘센트를 보면 3달러의 새로운 전화 콘센트가 있다. 이는 이 방이 원래
RJ11 jack이 있는 전화를 제공하지 않는다는 것을 말해준다. 따라서 콘센트에 연결된 전화기는 없
기 때문에 컴퓨터에서 사용하기 위해 설치되었다고 할 수 있다.
그림2) 불법 CD 복제 공장.
2007년 5월 23일에 http://www.bork.ca/pics/?incoming/warez_factory. jpg에서 구했다.
그림3) Tarzan & Jane 포스터에 “3월 26일” DVD 출시를 알리고 있다.
이 사진은 sharpened 되었다.
3-2-2. 예: Moonwalk
3-3. 이미지 포맷 분석
3-3-1. 메타 데이터 분석
4
Hany Farid, “Digital Image Ballistics from JPEG Quantization”, Dartmouth College, TR2006-583,
2006. http://www.ists.dartmouth.edu/library/204.pdf에서 참조가능
방법을 제공한다. JPEG 알고리즘은 이미지 압축과 품질을 조절하기 위해 일련의 quantization
matrix들을 사용한다. JPEG에 있어서 이미지는 RGB에서 YCrCb로 변환된다. 하나의 quantization
matrix는 휘도(luminance)(Y)를 다루고, 두 번째 matrix는 빨간색(Cr)과 파란색(Cb) 둘의 색차
(chrominance)를 다룬다.
JPEG 이미지를 저장할 때, 대부분의 툴들은 이미지의 품질을 선택할 수 있게 한다. 일반적으로 낮
은 품질일수록 이미지는 작아진다. 예를 들어, 90% 저장된 이미지는 대략 10%의 이미지 손실(픽
셀의 색 정보는 원본과 정확하게 같지 않다)이 있다. 99%의 품질로 데이터 손실을 거의 없게 하면
서 매우 큰 이미지를 만들 수 있다. 대조적으로 75%인 경우 상당히 작은 파일을 만들어서 충분히
원본 이미지의 의미를 전달할 수 있다.
5
http://www.impulseadventure.com/photo/jpeg-quantization.html
Table 0의 AC 평균값은 11.63이고 Table 1은 17.57이다.
3) 이미지는 RGB를 이용해서 그려지지만 table은 YCrCb를 나타낸다. 변환은 다음과 같다.
R = Y + ( R – Y ) = Y + Cr
G = Y – 0.51 ( R – Y ) – 0.186 ( B – Y ) = Y – 0.51Cr – 0.186Cb
B = Y + ( B – Y ) = Y + Cb
4) 변환율은 품질을 추측하는데 같이 쓰인다: 100 – 15.59 + 5.82 = 90.23. JPEG 알고리즘이
실수 대신에 정수를 사용하기 때문에, 이 값은 가장 가까운 정수 값으로 변환한다. 이 예
제 이미지는 90%의 품질 level로 저장되었다.
이 알고리즘은 ‘xv’, Gimp, ffmpeg, libjpeg 등 대부분의 다른 도구들을 가지고 저장한 이미지로부터
품질을 정확하게 결정한다. 그러나 Photoshop의 경우는 백분율 계산을 다르게 하는 것 같다;
Photoshop으로 저장한 JPEG은 사용자 인터페이스에서 설정한 품질과 맞지 않는 것으로 보인다.
예를 들어, Adobe Photoshop을 사용하면 “80%”(“Save for Web”을 사용)로 저장한 이미지는 91%
의 quantization table을 가진다.
JPEG에서의 오류는 blocky artifacts와 색의 왜곡으로 나타낸다. Blocky artifacts는 JPEG 알고리즘에
의해 사용된 8x8 픽셀 범위에서 나타난다. 많은 경우에 JPEG artifacts는 너무 미묘해서 사람 눈으
로 발견하기 어렵다. 그러나 principal component 분석(PCA)은 이러한 JPEG artifacts를 확인할 수
있다.
3-4-1-1. PCA의 이해
6
Jonathon Shlens, “A Tutorial on Principal Component Analysis”, Salk Institute for Biological
Studies, 2005. http://www.snl.salk.edu/~shlens/pub/notes/pca.pdf 참조
< 이미지의 plot scatter와 principal components의 예 >
JPEG artifacts는 PC1 선이나 PC3 평면을 이용하여 그릴 때 보통 보여진다. 이러한 artifacts는 배
경에 직사각형이나 사진 주위에 왜곡으로 보여진다(그림10). 그러나 PC3 평면은 보통 오직 한 번
의 JPEG resave로부터 artifacts를 보여준다. 품질이 다른 두 개의 사진을 합칠 때, 사진들은 다른
JPEG artifacts를 가지고 온다. PC1 선에 기초한 그리기는 관찰자가 합쳐진 이미지를 확인할 수 있
게 하면서 이런 차이를 특히 밝게 한다(그림11).
그림10) PC1 line을 이용한 JPEG artifacts.
이미지들은 90%, 80%, 70%, 50%이며 명료함을 위해 invert되었음.
앞에서 언급했던 moonwalk 예제를 보자(섹션 3.2.2). 예술가는 이미지가 3DS MAX를 사용해서 만
들어졌고 Combustion과 Photoshop을 이용하여 후속 작업을 했다고 한다7. Quantization matrix는
Photoshop의 ‘high(8)’ 품질과 일치하고, 89%로 저장된 JPEG과 같다. 그러나 PC1 선을 이용하면
상당한 수의 40%정도의 품질과 유사한 artifacts를 볼 수 있다(그림12). 이것은 이미지가 여러 번
에 걸쳐 저장되었다고 할 수 있다.
7
http://forums.sgsociety.ccom/showthread.php?t=323490
이미지를 저장한 뒤 이를 다시 90%로 저장하면 90%에서 75%로 저장한 것이나 처음 67.5%로 저
장한 것과 같다 8 . Error의 양은 JPEG 알고리즘에 사용되는 8x8 cell에 한정된다; 대략 64회에 걸친
저장 이후, 사실상 거의 변화가 없다. 그러나 이미지가 수정된 경우, 수정된 부분을 포함하는 8x8
cell은 수정되지 않은 다른 부분과 같은 Error level을 더 이상 가지지 않는다.
Error level 분석(ELA)은 의도적으로 이미지를 95%같은 알려진 error rate으로 다시 저장해서 이미
지 간의 차이를 계산함으로써 이루어진다. 만약 변화가 없다면, cell은 그 품질 level에서의 최저
error 값을 가질 것이다. 그러나 많은 변화가 있다면 픽셀은 그 최저 값을 가지지 않고 사실상 “원
본”과 같다. 그림13은 원본 이미지와 75%로 다시 저장된 원본 이미지이고 다시 또 75%로 저장한
이미지이다. 각 이미지 3개에 대한 95% ELA는 원본 픽셀을 포함하는 영역을 보여준다. 원본 이미
지에서 거의 모든 픽셀은 최저 값을 가지지 않는다. 처음 75%로 다시 저장한 것은 최저 값을 가
지는 픽셀들이 넓은 영역에 있다는 것을 보여준다. 두 번째 다시 저장한 것은 error에 대한 최저
값을 가진다.
그림13) 디지털 카메라로 찍은 원본 사진, 75%로 다시 저장한 사진, 다시 75%로 저장한 사진.
각 사진은 이미지에 대해 95% ELA를 적용했다.
8
JPEG 알고리즘이 실수 대신 정수를 사용하므로 75%Æ90%이미지는 거의 90%Æ75% 이미지와
동일하다. 하지만 완벽하게 같다고는 할 수 없다.
사진에 대한 수정은 안정된 영역(추가 error가 없는)을 불안정한 영역으로 바꾼다. 그림14는
Photoshop으로 수정된 이미지이다. 수정된 사진은 처음 75%로 다시 저장한 것에 기초했다. 책장
의 책은 복사되었고 공룡 장난감은 책장에 추가되었다. 95% ELA는 최저 error level이 아닌 영역임
을 통해 수정 여부를 확인한다. 사진의 추가 영역은 약간 더 volatility를 보여주는데 왜냐하면
Photoshop은 여러 layer에서, 사실 많은 픽셀을 수정해서 정보를 합쳤기 때문이다.
그림16) 셔츠가 수정된 Alf Kid와 그 옆의 오사마 빈 라덴. 95% ELA는 셔츠의 수정과
오사마 빈 라덴 사진의 다른 영역과 다른 낮은 Error level을 Alf Kid를 볼 수 있다.
3-4-2-2. 예: WTC Crash
9
Amara Graps, “An Introduction to Wavelets”. IEEE Computational Science and Engineering,
Summer 1995, vol.2, num 2. http://www.amara.com/ftpstuff/IEEEwavelet.pdf 참조
그림18) Morlet wavelet(빨강), scaled(녹색), 합쳐져서 생성된 더 복잡한 신호(파랑)
디지털 사진의 경우, 사진은 신호이고 wavelet은 이미지의 근사치를 구한다. 800x600 픽셀의 이미
지를 그리는데 각 color channel당 480,000 이상의 wavelet이 완벽하게 다시 사진을 그리는데 필
요하다. 그러나 단지 적은 비율의 wavelet만 사용되면 사진의 주요 특성이 흐리더라도 보여진다.
더 많은 wavelet이 사용되면 이미지는 또렷해진다. 그리고 더 많은 wavelet은 색을 더 미세 조정
한다.
10
http://images.amazon.com/images/P/B00004L8M7.01.LZZZZZZZ.jpg
그림20) 힐러리 클린턴 얼굴로 photoshop한 이미지(좌측), 5%의 wavelet을 이용한 이미지(우측)
3-5. 분석의 한계
이 글에서 논의한 방법은 이미지를 평가하는데 매우 강력한 도구를 제공한다. 하지만 이런 방법들
은 모든 사진에 적용될 수 없고 분석 결과도 결정적이지 않을 수 있다. 예를 들어 매우 작은 이미
지는 여러 분석 방법을 무효화할 수 있다. Wavelet은 각 방향마다 적어도 몇 백 개의 픽셀의 이미
지를 필요로 하고(크면 더 좋음), 이미지 크기 조정은 ELA와 PCA가 제대로 되지 않도록 할 수 있
다.
4. 예: 군인 사진
11
http://blog.wired.com/wiredphotos54/2007/05/double_vision_i.html
두 개의 원본 사진은 합쳐져 허위 사진을 만들 수 있고, 또한 어떻게 만들어졌는지 알게 해 준다.
이미지를 관찰해보면 허위 사진의 주요 부분이 첫 번째 원본 사진에서부터 왔다고 알 수 있다 –
군인 오른쪽에 위치한 모든 것은 그대로 존재한다. 두 번째 원본 사진은 잘려져 군인과 그 왼쪽에
위치한 사람들만 남겨졌다. 두 번째 원본 사진은 크게 확대되어 첫 번째 사진과 합성되었다. 마침
내 합성 부분이 다시 색칠해졌고 하늘도 수정되었다.
ELA, PCA, 확인된 복사, wavelet의 다른 비율을 통해 이미지가 수정되었음이 분명하다. 그러나 수
정의 자세한 사항은 결정적으로 알 수 없다. 상당한 re-coloring, 작은 크기, 낮은 해상도는 분석에
있어서 긍정 오류(false-positive)를 증가시킨다. 만약 이러한 문제들이 무시된다면 사진은 이미지를
형성하기 위해 합쳐진 11개나 그 이상의 다른 층을 포함한다고 볼 수 있다. 그러나 이 이미지는
상당히 수정되었다. 분석을 통해 이미지가 세 가지 층 정도를 포함한다고 알 수 있다: 군인과 그
의 왼쪽에 위치한 사람들, 군인의 오른쪽에 땅과 사람들, 하늘.
Cynthia Baron은 harmonic convergence 영역을 확인하기 위해 다음을 제안했다. Wavelet 분석은
대칭적인 이미지 크기를 사용하고(예, 512x512 또는 1024x1024) 다른 방향 전에 한 방향을 먼저
처리(예, 수직 방향 하기 전 수평 방향 먼저)한다. Wavelet 분석을 하기 전에 이미지를 회전하는
것은 harmonic convergence의 위치를 옮기거나 없앨 수 있다. 이런 경우 가짜 이미지를 회전하는
것은 격자 무늬 셔츠의 또렷함을 없애고 그 사람 얼굴의 또렷함 역시 감소시킨다.
2006년 12월 20일 Ayman al Zawahiri 박사(알 카에다 서열 2번째)의 비디오를 배포했다. USA
Today는 비디오 배포를 헤드라인으로 다루었다(그림23)12. 비디오에 대해 USA Today는 “그는 검은
색 터번을 썼고 흰 옷을 입었다…그는 오른쪽 어깨 뒤로 평범한 갈색 벽에 기댄 라이플 총을 가지
고 있었다”고 묘사했다. 이는 As-Sahab 비디오에 대한 설득력 있는 묘사임에도 USA Today에 사용
된 사진은 그 이미지가 아니었다. 대신에 USA Today는 2006년 9월 28일의 다른 비디오의 사진을
사용했다. 이것은 날짜 라벨을 잘못 붙인 이미지에 대한 예이다.
12
http://www.usatoday.com/news/world/2006-12-20-al-qaeda-palestinians_x.htm
그림24) IntelCenter에 의해 제공되고 USA Today에 게재된 이미지(좌측 상단)와 실제 비디오에서
가져온 프레임(우측 상단). 하단은 각 이미지의 95% ELA를 나타냄.
13
www.archive.org/details/Crusaders-and-Zoinism-war-on-Gaza-and-Lebnon
14
www.rcfp.org/moussaoui/jpg/size600/GX00004.2-1.jpg
그림25) (위에서부터) 2006년 9월 28일 비디오에서의 스틸 프레임,
95% ELA, PC1, PC3, 5% wavelets, 미 정부의 9/11 리포트에서의 Mohammad Atta 사진
5-2. 검은 배경
15
www.archive.org/details/Correct-Equation
그림28) 2006년 9월 2일 비디오의 Azzam al-Amriki(좌측 상단), 95% ELA(우측 상단),
PC1(좌측 하단), enhanced 명암 PC1(우측 하단)
6. 추가 연구 사항
7. 결론