Have you ever heard about The CSI effect (or CSI syndrome)?

Huge hit of CSI series changes not only market of soap opera but a court. after its debut, atmosphere of a court somewhat changed.  juror is not what s/he used to be. jury demand prosecutor or plaintiff evidences more forensically sound. 

CSI effect refers to juror's change of attitude. 

with broadcasting of CSI, people begin to be interested in Forensics. and judy could play a important role in court regarding forensics.


here as where else, CSI series produce both good effect and advert effect. with CSI's performance, jury have a illusion that every evidences could be processed in forensically sound way in just 3 days. but it's almost impossible. and jury demand too many evidences though it's unconnected.

 

in brief, CSI effect is like below.


Investigator : 
Investigator have to gather much more evidences.
but, they have no time, no money, no space to store evidences.
with small mistake in processing a evidence, they could not maintain a admissibility.
 


Juror : 

s/he is smarter than before. s/he is a Quasi-expert.

but sometimes, s/he make an unreasonable demands to investigator.



Criminal : 
now criminal knows how to escape, how to erase their trace and how to blur a admissibility.
they learned these from CSI!!



the judiciary impose the jury system since Feb 2008. actually, Korean jury system not a jury system but Schoffengericht system. it's system beyond reason. but, processing a digital evidences is almost identical of American's.

CSI effect would be a picture of Korea. we have to make a preparation for CSI effect.

Posted by 퍼덕퍼덕

Ⅳ. 개선방안

4.1 Exif Data의 무결성의 입증

4.1.1 Modify-Time의 변화

Exif Data는 위에서 살펴본 것처럼 조작이 가능하며 이미지 바이너리 자체로는 그 조작여부를 가릴 수 없다. 하지만 Exif Data를 조작하게 되면 파일 내부의 정보를 조작하는 것이 되어 소위 MAC-time 중 Modify-Time이 변하는 결과를 낳게 된다.


하지만 앞서 언급했듯이 파일시스템 수준에서 M-time을 조작할 수 있다. 따라서 단순히 M-time의 변화가 없다고 해서 Exif Data가 변하지 않았음을 입증할 수는 없다.

4.1.2 해쉬(Hash)값의 변화

Exif Data의 조작은 바이너리를 조작하는 것이기 때문에 파일의 해쉬값은 변화하게 된다.


결국 Exif Data의 무결성 여부은 해쉬값을 통하여 증명해낼 수 있다.

4.2 음주 측정기의 예

경찰이 음주측정시에 사용하고 있는 음주측정기는 측정시마다 일련번호 및 시간 그리고 혈중알콜농도 수치를 기재한 출력물이 나오고 기계 자체에 로그를 남기도록 되어있어서 조작이 거의 불가능한 것으로 알려져 있으며, 법정에서도 위드마크 공식에 따른 오차의 범위를 초월하지 않는 한에서 음주측정기의 증거능력을 인정하고 있다.

음주측정기가 무결성을 인정받아 법정에서 증거로 사용될 수 있는 이유는 측정시에 출력되는 프린트물을 피의자인 운전자와 법원이 확인할 수 있고, 그와 비교해 볼 수 있는 로그가 측정기에 남기 때문에 수사기관의 자의 및 불법이 개입될 여지가 없기 때문이다.

4.3 형사상 실무적 적용

실무상 디지털 카메라로 채증하는 상황(불법시위 등)에서는 피의자로 하여금 채증한 디지털 이미지에 대한 확인, 이의 및 의견을 제시하도록 하기는 힘들다. 즉, 피의자는 불법행위 현장에서 촬영된 이미지의 해쉬값 또는 일련번호를 확인하는 것이 실질적으로 불가능하다. 또한 만약에 수사기관 등이 임의로 애초부터 Exif 데이터를 조작한 후 디지털이미지의 해쉬값을 추출하여 법정에 제출할 가능성도 있다. 따라서 디지털 이미지 촬영 시 해쉬값을 담보해 줄 보완장치가 필요하다.


위 그림은 디지털 이미지의 무결성을 담보해 줄 한 방안을 표현하고 있다. 불법행위 현장에서 촬영한 디지털이미지의 원본과 해쉬값을 중립적인 제3의 기관에 전송하고, 동일한 데이터를 수사기관에 전송하여 수사를 마친 후 법정에 제출 하여 두 해쉬값을 비교하여 동일한 경우에만 Exif Data의 증거능력을 인정하도록 하는 것이다. 이를 통하여 피의자의 인권보호와 실체적 진실의 발견 모두 달성할 수 있을 것이다.

Ⅵ. 결 론

위에서 살펴본 것처럼 Exif Data를 통해서 촬영환경에 대한 수많은 정보를 얻을 수 있다. 이를 이용하면 피사체의 위치를 특정할 수도 있고, 촬영 시각을 특정할 수도 있다. 그리하여 디지털 이미지의 Exif Data와 피사체가 피의자와 동일하다는 것만 증명해낸다면 사건현장을 거의 정확히 재현해 낼 수 있다. 다만, 무결성은 증거능력을 확보하기 위한 필수 조건이다. Exif Data는 조작이 쉽고 조작에 대한 검증절차가 없기 때문에 피의자의 인권보호를 위해 디지털이미지의 무결성에 대한 담보장치가 필요하다.

형사소송에는 "열명의 범인을 놓치더라도 한명의 무고한 사람을 벌해서는 안된다" 라는 대원칙이 있다. 조작된 Exif Data를 발견해내지 못하면 무고한 시민을 범죄자로 만들 수도 있다. 

Posted by 퍼덕퍼덕

3.3 Exif Data의 조작

위에서 살펴본 것처럼 Exif Data는 촬영환경, 위치, 시각정보 등 수많은 정보를 담고 있어 무결성이 검증될 경우 법정에서 실체적 현장을 재현하는데 탁월한 효과를 발휘할 수 있다. 그런데 이와는 반대로 Exif Format의 바이너리 데이터가 조작될 경우 엄청난 역효과를 낳을 수 있기 때문에 바이너리 데이터를 조작할 경우 이를 탐지할만한 장치가 있는지 실험하여 보았다.

3.3.1 GPS 정보의 조작


바이너리 수정툴인 UltraEdit-32를 이용하여 해당 디지털이미지의 GPS 정보를 수정해보았다. 다른 필드의 수정없이 원본 이미지의 GPSLatitude값과 GPSLongitude값 만을 조작해서 구글어스 상에서 이미지가 찍힌 위치를 광화문인 것처럼 조작할 수 있었다.

이 경우 JPEG Format 자체의 데이터 조작 검증 유무를 탐지하는 필드가 있는지 발견하기 위해 원본 이미지와 사본 이미지를 바이너리 디핑(binary diffing)툴인 Alaxis Merge를 이용하여 두 이미지 간 차이를 실험해보았다.


실험결과 전체 바이너리 데이터 중 GPS Latitude, GPS Longitude 값만 변화할 뿐 다른 값은 변하지 않았다.

3.3.2 시각 정보의 조작

역시 UltraEdit-32를 이용하여 다른 이미지의 DataTimeDigitized 필드를 수정하여 보았다.


시각정보도 GPS 정보와 마찬가지로 조작할 수 있었으며, 촬영일시와 저장일시 간 논리적 검증장치 등 검증 필드는 없는 것으로 보였다.


실험결과 전체 바이너리 데이터 중 DataTimeDigitized 값만 변화할 뿐 다른 값은 변하지 않았다. 결국 종합해보면 다른 외부적 검증장치 없이 디지털 이미지 자체만으로는 Exif Data의 무결성 여부를 검증할 수 없다는 결론을 내릴 수 있었다.

3.3.3 Exif Data 조작에 사용될 수 있는 유틸리티

WINHEX, UltraEdit 등 바이너리 수정툴을 이용하여 직접적으로 Exif Data를 조작할 수도 있지만, 유틸리티를 통하여 손쉽게 조작할 수도 있다. 대표적인 유틸리티를 살펴보면 다음과 같다.

제품명

상용여부

비고

Opanda PowerExif

유료

필드의 바이너리 구조를 직접 볼 수 있음

PhotoMe

무료

Mac, Windows 버젼 제공

Exif Viewer

무료

Firefox의 add-on으로 작동

ExifTool

무료

console 프로그램의 형태로 제작

Posted by 퍼덕퍼덕

Ⅲ. Exif Format

3.1 JPEG의 구조

3.1.1 JPEG 이미지와 마커(Marker)

JPEG 이미지는 마커(Marker)의 집합으로 구성되어있다.


위 그림처럼 모든 마커는 0xFF로 시작하며 데이터의 크기가 마커에 명시되어 있어 오프셋(offset)으로 다음 마커의 위치를 알 수 있다. JPEG 이미지는 SOI 마커로 시작하여 SOS 마커로 끝나는 형태를 띄고 있다.

마커

마커 번호

SOI(Start of Image)

D8

APP1

E1

APP2

DQT(Quantization Table)

DB

DHT(Huffman Table)

C4

DRI(Restart Interval)

DD

SOF(Frame Header)

C0

SOS(Scan Header)

DA

EOI(End of Image)

D9

이 중 SOI, EOI 마커는 Size of Data, Size 영역이 없다.


그래서 JPEG 이미지를 바이너리 환경에서 보게 되면 SOI 마커 바로 뒤에 APP1 마커가 등장하는 것을 볼 수 있다.

마찬가지로 마지막 부분을 바이너리 환경에서 살펴보게 되면 압축된 데이터 뒤에 EOI 마커가 존재하며 이로써 JPEG 이미지의 끝을 표시해주고 있다.

3.1.2 어플리케이션 마커(Application Marker)

마커번호가 0xFFE0 ~ 0xFFEF에 해당하는 마커를 어플리케이션 마커라 한다. 이는 JPEG이미지의 인코딩/디코딩과는 상관없다. 따라서 이 부분을 손상시켜도 이미지의 재생에는 영향을 끼치지 않는다.


위처럼 어플리케이션 마커를 0으로 덮어쓴 경우에도 해당 이미지를 재행하는데는 문제가 없다. 이처럼 어플리케이션 마커는 이미지의 인코딩/디코딩과는 상관없기 때문에 이 영역에 이미지의 부가정보를 기입할 수 있으며 이 어플리케이션 마커를 이용한 것이 Exif Format이다.

그런데 JPEG 이미지 Format 중 하나인 JFIF 이미지에서 마커번호가 0xFFE0인 APP0 마커를 자체적으로 사용하기 때문에 이와의 혼란을 피하기 위해 Exif Format에서는 APP1(마커번호가 0xFFE1)을 사용한다.

즉, Exif Format은 JPEG Format의 일부인 APP1마커를 이용하여 이미지에 대한 부가정보를 저장하는 방식이다.


3.2 Exif Format의 개요

3.2.1 Exif Format의 개발

Exif Format은 일본전자산업진흥협회(JEIDA)에서 개발한 Format으로써 1995년 Exif ver1.0을 시작으로 2003년 Exif ver 2.21 까지 개발된 상태이다. 이미지에 썸네일(thumbnail) 이미지, GPS 정보, 시각 정보, 촬영환경 정보 등을 저장할 수 있으며 JPEG, TIFF 6.0, RIFF, WAV 파일 Format에 적용될 수 있다. 디지털카메라의 경우 JPEG, TIFF 6.0 방식으로 촬영할 경우 Exif 데이터를 삽입할 수 있다.

3.2.2 Intel 방식과 Motorola 방식

바이너리 데이터를 저장할때에 Intel 방식과 Motorola 방식 2가지 중 하나의 방법으로 데이터가 쓰여진다. Intel 방식은 소위 리틀 엔디언(little Endian)방식으로 바이너리 데이터를 입력하는 방법을 말하며, Motorola 방식은 빅 엔디언(Big Endian)방식을 의미한다.

그런데 순수 JPEG 이미지의 바이너리 데이터는 빅엔디언 즉, Motorola 방식으로 쓰여있지만 Exif 데이터는 리틀엔디언 방식으로 쓰여있는 경우가 있다. 따라서 Exif Format의 바이너리 데이터를 분석할 시에 이에 유의하여야 한다.

3.2.2 Exif Format 의 구조


Exif Format는 APP1 마커의 데이터 영역이 삽입되어 있다. 썸네일(Thumnail) 이미지 JPEG Format으로 구성되어 있으므로 원본 이미지와 마찬가지로 SOI마커로 시작해서 EOI마커로 끝나게 된다.

Exif Format의 시작인 Exif Header는 4bytes로 '45 78 69 66' 즉, 아스키 코드로 'E x i f'이다.

3.2.2.1 TIFF Header

TIFF Header는 Exif 데이터가 Intel 방식(Big Endian)으로 쓰여졌을 경우에는 '0x4949'로 되어있으며, Motorola 방식(Little Endian)으로 쓰여졌을 경우에는 '0x4d4d'로 되어있다.

바이너리 기입방식

(2bytes)

TAG Mark

(2bytes)

0th IFD 까지의 offset

(4bytes)

II(0x4949)

0x002a

(일반적으로 0x00000008)

MM(0x4d4d)

0x002a

(일반적으로 0x00000008)

그 뒤를 TAG Mark와 0th IFD 까지의 offset이 따르고 있다. 보통 TIFF Header 바로 뒤에 1st IFD가 따르는 구조로 되어 있으므로 0th IFD는 'II' 혹은 'MM'에서 부터 8바이트 뒤에서부터 시작하게 된다. 그리하여 일반적으로 offset은 0x00000008이 기입된다.


  3.2.2.2 IFD(Image File Directory)의 구조


IFD란 이미지에 대한 정보를 기록하는 일종의 틀로서 일반적인 Exif Format에서 IFD 영역은 0th IFD와 Exif IFD 그리고 1th IFD 가지로 구성되어 있다. 0th IFD는 원본 이미지에 대한 간단한 정보가 기재되어 있으며 Exif IFD에는 셔터스피드, 노출시간 등 원본 이미지에 대한 보다 자세한 정보를 담고 있으며 1st IFD에는 썸네일 이미지에 대한 정보를 기록하고 있다.

각각의 IFD는 디렉토리 엔트리(Directory Entry)로 구성되어 있으며 1개의 디렉토리 엔트리는 12bytes를 이용하여 데이터를 저장한다.

0th IFD와 Exif IFD, 그리고 1st IFD 또한 위와 같은 구조로 이루어져 있으며, 각 IFD에 속한 디렉토리 엔트리의 종류는 각각 다르다.

3.2 Exif Format에 삽입될 수 있는 정보

Exif Format에 삽입될 수 있는 정보는 0th IFD의 경우는 32가지, EXIF IFD의 경우 57가지, 1th IFD의 경우는 32가지 등 약 120여 가지의 정보가 삽입될 수 있다. 이 중 디지털 포렌식 적으로 중요한 GPS 정보 및 시각정보가 EXIF Format에 기록되어 있다.

3.2.1 GPS(Global Positioning System) 정보

GPS란 3곳 이상의 인공위성에서 위치정보를 조합하여 특정한 위치를 전자정보로써 표현하는 것을 의미한다. 일반적으로 GPS 정보는 도(°)분(')초(")로 기록하며 우리나라의 경우 1초는 약 37미터 거리에 해당한다.

Exif format에서는 0.001초 차이까지 기록할 수 있도록 되어 있다. 즉, GPS 장비가 오차없이 현재의 위치를 정확히 측정할 수 있다고 가정하면 약 3.7센티미터의 미세한 위치정보의 차이를 탐지해 낼 수 있다. 따라서 GPS 정보만으로도 이미지에 찍힌 피사체가 해당 위치에 존재했음을 증명할 수 있게 된다.

Exif format에서는 30가지의 필드를 통하여 GPS 정보를 나타낸다.

태그 ID

변수명

변수타입

크기

설명

0

GPSVersionID

BYTE

4

GPS version

1

GPSLatitudeRef

ASCII

2

N(북쪽), S(남쪽)

2

GPSLatitude

RATIONAL

3

위도

3

GPSLongitudeRef

ASCII

2

E(동쪽), W(서쪽)

4

GPSLongitude

RATIONAL

3

경도

5

GPSAltitudeRef

BYTE

1

고도와 해수면과의 관계

6

GPSAltitude

RATIONAL

1

고도

7

GPSTimeStamp

RATIONAL

3

UTC(세계협정시)로 변환한 GPS촬영시간(시,분,초)

8

GPSSatellites

ASCII

무관

측정에 사용된 위성

9

GPSStatus

ASCII

2

촬영에 사용된 GPS 수신기의 상태

10

GPSMeasureMode

ASCII

2

GPS 측정 모드

11

GPSDOP

RATIONAL

1

GPS 데이터의 정확도

12

GPSSpeedRef

ASCII

2

GPS 수신기 속도에 관한 부호

13

GPSSpeed

RATIONAL

1

GPS 수신기의 속도

14

GPSTrackRef

ASCII

2

GPS 수신기 방향에 관한 부호

15

GPSTrack

RATIONAL

1

GPS 수신기의 방향

16

GPSImgDirectionRef

ASCII

2

피사체의 방향에 관한 부호

17

GPSImgDirection

RATIONAL

1

피사체의 방향

18

GPSMapDatum

ASCII

무관

지정학적 위치에 관한 정보

19

GPSDestLatitudeRef

ASCII

2

N(북쪽), S(남쪽)

20

GPSDestLatitude

RATIONAL

3

목표 지점의 위도

21

GPSDestLongitudeRef

ASCII

2

E(동쪽), W(서쪽)

22

GPSDestLongitude

RATIONAL

3

목표 지점의 경도

23

GPSDestBearingRef

ASCII

2

목표 지점의 Bearing에 관한 부호

24

GPSDestBearing

RATIONAL

1

목표 지점의 Bearing

25

GPSDestDistanceRef

ASCII

2

목표 지점까지의 거리에 관한 부호

26

GPSDestDistance

RATIONAL

1

목표 지점까지의 거리

27

GPSProcessingMethod

UNDEFINED

무관

거리측정에 사용된 방법

28

GPSAreaInformation

UNDEFINED

무관

GPS Area에 관한 정보

29

GPSDataStamp

ASCII

11

UTC(세계협정시)로 변환한 GPS촬영시간(년,월,일)

30

GPSDifferential

SHORT

1

"GPS Differential Correction"기술의 적용여부

위처럼 30가지의 필드를 이용하여 GPS 정보를 기록하고 있는데, Exif 정보를 보여주는 툴의 대부분은 1, 2, 3, 4, 7, 16, 17번 필드를 추출하여 GPS를 표시한다.


3.2.2 시각 정보

보통 파일의 시각정보는 파일의 내부가 아닌 메타데이터에 기록한다. 그리하여 파일시스템의 수준에서 파일의 시각정보를 조작할 수 있다. 지난 7·7 DDOS 공격에 사용되었던 코드 등 일부 악성코드는 메타데이터를 조작하여 파일의 시각정보를 조작하기도 한다.

태그 ID

변수명

변수타입

크기

설명

132

DateTime

ASCII

20

이미지의 생성시각

9003

DateTimeOriginal

ASCII

20

피사체가 촬영된 시각

9004

DateTimeDigitized

ASCII

20

피사체가 디지털이미지로 처리된 시각

그런데 Exif Format의 경우 위처럼 Exif Format 내부에 시각정보를 기록하고 있어 촬영시부터 법정 제출시까지 파일이 조작되지 않는 이상 저장매체의 환경이나 기타 악성코드의 영향을 받지 않고 촬영시각을 특정할 수 있다.

















Posted by 퍼덕퍼덕

Ⅰ. 의의

2000년대 들어 코닥 으로 대변되는 필름 카메라 시장이 사장되고, 디지털 카메라 시장이 활성화 되었다. 업계에서는 보다 효율적인 데이터 저장 방식을 개발하기 위해 매진하였고 JPEG, PNG, TIFF, GIF 등의 Format이 등장했다. 여기에 이미지에 대한 부가정보를 삽입하려는 연구가 이어졌고, 1995년 일본 전자산업진흥협회(JEIDA)에서 교환 이미지 파일 형식(Exif;EXchangable Image File Format)을 개발했다.

최근 디지털 이미지는 Exif Format을 이용하여 GPS 정보, 시각정보, 촬영환경 등에 관한 정보를 담고 있다. 따라서 수사기관이나 법원이 Exif Data를 이용하면 실체적 진실에 보다 가깝게 다가갈 수 있다. 하지만 Exif Data가 조작될경우 진실을 왜곡할 우려가 있기 때문에 조작에 대한 검증이 필수적이다. 여기서는 가장 많이 이용되고 수사활동에 적합한 저장방식인 JPEG 이미지(세부 Format 중에서도 ISO/IEC 10918-1 기준)를 중심으로 Exif Format의 구조를 살펴보고 디지털 이미지의 증거능력을 강화할 수 있는 방안에 생각해보면 다음과 같다.


Ⅱ. 디지털카메라의 이미지 저장방식

디지털 이미지는 JPEG, TIFF, RAW 세가지 방식으로 저장할 수 있다.

2.1 JPEG(Joint Photographic Expers Group)

JPEG Format은 정지화상을 위한 손실압축방식으로써 원본 이미지에서 육안으로 식별하기 힘든 부분을 의도적으로 왜곡하여 이미지를 압축·저장하는 방식이다. 1픽셀당 16bit를 할당하는 저장방식도 개발되었지만 아직은 1픽셀당 8bit를 할당하여 이미지를 저장하는 방식이 보편적이다. 이미지의 손상은 있지만 작은 용량으로 이미지를 표현할 수 있어서 정지화상 저장 방식에 가장 많이 이용되고 있다.

2.2 TIFF(Tagged Image File Format)

TIFF Format은 무손실 압축저장 방식으로써 보통 1픽셀당 24bit를 할당하여 저장한다. 이미지의 손상이 없다는 장점이 있지만, 용량이 상대적으로 너무 크고, 촬영시 처리속도가 오래 걸린다는 단점이 있어 자주 사용되지는 않는 방식이다.

2.3 RAW

RAW 방식은 디지털 카메라의 이미지센서가 받아들인 자료를 그대로 저장하는 방식이다. 이는 각 디지털 카메라 제조사에서 제공하는 변환 프로그램을 이용하여 JPEG, TIFF 등의 다른 저장방식으로 변환을 시킨 후에야만 볼 수 있다. 1픽셀당 10bit 혹은 12bit를 할당하여 저장하며, 다양한 후보정이 가능하기 때문에 사진 전문가들 사이에서 자주 이용되는 방식이다.

2.4 채증에 적합한 저장방식

RAW 방식의 경우 변환 프로그램 등을 이용해 다른 저장방식으로 변환을 한 후에만 이미지를 볼 수 있으며, 각 디지털 카메라 회사마다 RAW 저장 방식이 달라 이미지의 무결성을 증명하기가 곤란하다.

TIFF방식의 경우 이미지가 손상되지 않는 다는 장점이 있지만 파일의 용량이 크며, 디지털 카메라 자체에서 JPEG 방식에 비하여 처리속도가 느려 연속촬영을 하기가 불편하기에 채증에 적합하지 않다.

따라서 채증의 경우 JPEG 저장방식을 이용하는 것이 바람직하다고 볼 수 있다.

Posted by 퍼덕퍼덕