EnCase

[EnCase] 해시값(Hash Value)과 해시분석 (1)

도깬리 2022. 2. 9. 06:40

안녕하세요. 도깬리 입니다.^^

오늘부터는 해시값(Hash Value)과 해시분석(Hash Analysis)에 대해 설명을 합니다. 디지털 포렌식에서 해시값은 디지털 증거의 무결성을 입증할 수 있는 기술적인 수단입니다. 아마도 디지털 포렌식에서 가장 중요하고 자주 언급되는 용어가 아닐까 생각해봅니다. 시작해볼까요?

 

해시분석이란

파일의 해시값을 해시값 DB(Hash Library)Hash value table(Hash Set)에 등록된 해시값과 비교하는 방법으로 대량의 파일을 분석하는 기법을 말합니다.

 

EnCaseMD5SHA1 알고리즘이용하여 해시값을 계산할 수 있습니다.

 

MD5의 경우

32개의 Hex로 표시됩니다.

두 개의 파일이 같은 MD5 해시값을 가질 확률(해시값 충돌 가능성)은 2128승 이라고 합니다. 엄청난 수치이죠. 

 

SHA1의 경우

40개Hex로 표시됩니다.

해시값 충돌 가능성은 2160승 확률이라고 합니다. 상상이 안되는 확률이네요.

 

해시값과 파일 이름 변경

해시값은 파일 이름이 바뀌어도 해시값은 동일하게 유지됩니다. 

이유는 파일 이름이 저장되는 영역(예: 디렉토리엔트리, MFT엔트리)과 실제 데이터가 저장된 영역(예: 외부 클러스터)이 완전히 분리되어 있고, 해시값 계산은 실제 데이터가 저장된 영역을 대상으로 하기 때문입니다.

 

해시 분석의 2가지 유형

Notable File 해시 검색

) 아동 포르노 사진, 악성 프로그램

포렌식적으로 주목하여 파일을 특정하여 검색하는 기법입니다.

 

Known File 해시 검색

) 윈도우 시스템 파일, MS Office 설치 파일

이미 잘 알려져 있는, 즉 포렌식적으로 관심이 없는 파일은 제외하기 위한 검색 기법입니다.

 

0 바이트의 파일도 해시값이 계산될까요?

네. 논리적 크기가 0 이더라도 해시값은 계산됩니다.

 

0 바이트 크기에 대한 해시값

MD5 : d41d8cd98f00b204e9800998ecf8427e

SHA1 : da39a3ee5e6b4b0d3255bfef95601890afd80709

 

해시값과 '지문'

해시값은 사람의 지문과 같습니다. 그래서 해시값은 디지털 지문이라고도 불립니다.

 

사람 지문의 충돌 확률

Galton의 연구에 따르면, 서로 다른 사람이 동일한 지문을 가질 확률은 1/64억 이라고 합니다.

Osterburg의 연구에 따르면, 1/100,000,000,000,000,000,000 (21자리수) 라고 합니다. 

 

해시값의 충돌 확률

그런데, MD5 알고리즘의 경우, 두 개의 파일이 같은 MD5 해시값을 가질 확률은

1/340,282,366,920,938,463,463,374,607,431,768,211,456 (37자리수) 입니다.

참고로, 세계 인구는 2000년 중반에 60억명이었습니다.

 

이 정도면 해시값의 충돌 가능성이 가늠이 되십니까?

즉, 이론적으로 해시값의 충돌쌍을 억지로 만들어낼 수 있을지 몰라도, 그런 확률은 사실상 불가능한거나 마찬가지라고 보셔도 되겠네요. 그래서 전세계적으로 디지털 포렌식 실무에서는 해시값이 디지털 증거의 무결성 입증수단으로 거의 표준이나 다름없이 사용되고 있습니다.

 

감사합니다. 오늘은 여기까지네요.

 

"좋아요"와 "구독하기"는 힘이 됩니다.

 

참고문서 : EnCase Computer Forensics (1)