이미지 설명을 입력하세요.
이미지 설명을 입력하세요.

015년부터 하계/동계 디지털포렌식학회 기술 워크숍에 참여하고 있다.

지난 2016년 하계대회에서는, 함께 KITRI 차세대 보안리더 양성 프로그램을 이수했던 4기 디지털포렌식트랙 친구들과 함께 "라이브 포렌식 동향 분석을 통한 도구 발전 방향 제안"이라는 제목으로 공동으로 출전하였다.


그리고 이번 2016년 동계 대회에서는, 처음으로 단독 논문을 작성하여 발표하였다.

이미지 설명을 입력하세요.
이미지 설명을 입력하세요.


논문의 제목은 "디지털증거의 무결성 입증시 MD5 해시함수 사용에 관한 재고찰"이다. 제목에서 눈치재신 분들도 있겠지만, 이 논문은 MD5를 디지털포렌식 학계에서 퇴출 또는 탄핵시켜야 한다는 것을 주장하고 있다.


대학생이나 일반인 대상으로 디지털포렌식 사례 연구 세미나를 진행하다보면, 대부분의 경우 "우와 CSI 짱 신기하당ㅋ"의 반응을 보이기 마련이다. 그런데 그 중에서 일부는 꼭 어디서 어깨너머로 좀 들어서 최소 배우신 분(?)들이 계신다. 그분들은 항상 이런 질문을 하신다.


"조금 전 발표 내용에서 MD5를 통해 입증을 하셨다고 했는데, 제가 알기로 MD5가 깨진 암호라고 하던데, 계속 써도 되나요?"

"음...그.. 그게 말이죠.."


그런데 이러한 상황을 곰곰히 돌아보면, 질문하신 분도 'MD5가 어떻게 깨졌다는 것인지?'를 구체적으로 잘 모르시고, 답변하는 분도 '~~한 이유에서 ~하므로 MD5는 아직 써도 됩니다.' 혹은, '~하니까 절대로 쓰면 안됩니다.' 라는 명확한 지적을 하지 못하다보니 그냥 얼버무리게 되는 경우가 많다.

누군가는 이러한 부분을 깊게 연구해서 구체적으로 알리는 것이 좋겠구나! 라는 생각을 하게 되었다. "답답하면 니들이 뛰던가"라는 명언이 있다. 


그래서 제가 직접 뛰어보았습니다. 논문 파일과 발표자료 공유드립니다.
(포스타입 시스템 장애시 구글 드라이브 URL : 논문, 발표자료)

이미지 설명을 입력하세요.
이미지 설명을 입력하세요.

내용 요약 :

대법원 판례(2013. 7. 26. 선고 2013도2511)에 따르면, 정보저장매체의 해쉬(Hash) 값이 동일함을 보임으로써, 해당 내용의 무결성과 동일성을 인정할 수 있다고 판시하고 있다. 이에 경찰청이나 대검찰청에서는 관련한 규정을 두어서 디지털 증거에 대한 해시값(Hash Value)를 생성하도록 명시하고 있다.


여기서 말하는 해시란, Cryptographic Hash Function의 결괏값을 의미하며, 임의의 길이 메시지로부터 고정 길이의 해시 출력값을 계산한다. 이 해쉬함수를 만족하기 위한 요구조건으로는 일방향성(One-wayness)와 충돌내성(Collision-free) 등이 있다.

이미지 설명을 입력하세요.
이미지 설명을 입력하세요.

해시함수의 활용분야로는 소프트웨어의 변경 검출이나 디지털 서명 등이 있으며, 여기에서는 특히 디지털 포렌식 증거에 대한 무결성 입증을 주로 언급한다. 현재 상용화되어 있는 컴퓨터 포렌식 증거 수집 및 분석 소프트웨어는
Guidance Software의 EnCase와 AccessData의 FTK가 가장 널리 사용되고 있으며, 이들은 기본값으로 MD5를 채택하고 있으므로, MD5가 사실상의 표준으로 이용되고 있다고 보아도 과언이 아니다.

이미지 설명을 입력하세요.이미지 설명을 입력하세요.
이미지 설명을 입력하세요.

그러나 MD5는 그 취약성이 상당부분 입증된 바 있다. 2005년 EUROCRYPT에서 중국 山東대학의 Wang 교수는 "How to break MD5 and other hash functions"이라는 논문으로 효율적인 차분공격을 제시하였고, 네덜란드 에인트호번(Eindhoven)대학의 Marc Stevens가 CRYPTO 2009에서 발표한 논문에서("Short chosen-prefix collisions for MD5 and the creation of a rogue CA Certificate") MD5의 충돌쌍을 이용한 인터넷 브라우저의 인증서를 위조하는 기법으로 SSL 통신에서 중간자 공격이 가능함을 보였다. 그는 논문의 결론부에서 아래와 같이 표현하였다. 

MD5 has been declared dead over and over again. The improvements in the collision construction for MD5 presented here firmly hammer another nail into its coffin. We have been told that simply removing all existing MD5 applications would break too much. Nevertheless, we hope that our work has contributed to a sooner ending of MD5's funeral.

즉, MD5는 '사망선고가 내려졌으며, 관 뚜껑에 못을 대고 해머로 내려쳤다, 장례식을 끝마치다' 등 논문에서 쉽게 사용할 수 없는 아주 신랄한 표현으로 디스를 시전했다. 이후 카네기멜론 대학의 소프트웨어공학 연구소, 미국 NIST, NSA  등의 기관에서는 MD5의 사용이 유해("Broken and unsuitable for further use")하다고 선언하였으며, 최근 발행되는 암호학 서적에서는 아예 MD5를 설명하지 않는 경향이 있다.


또한, 현재는 Wang이나 Marc Stevens의 연구가 진행됬던 시점에 비교했을 때 10년간의 컴퓨팅 자원 폭발적인 성장을 기억해야 한다. 특히 Amazon EC2 등의 클라우드 서비스가 많이 발달하였고, 머신러닝을 위한 고성능 GPU가 대중화되고 있다. 향후 양자 컴퓨팅의 시대가 도래하면 해시함수를 전수조사하는 비용이 절반 이하로 감소하고, 특히 충돌쌍은 기존 1/2에서 1/3으로 하향조정될 것으로 예상하고 있다.

 

참고로 미국 NIST는 아래와 같이 연도별로 사용가능한 암호의 안전성 기준을 제시하고 있으며, MD5는 배제되었다. 요즘은 심지어 SHA-1 역시 유효기간이 만료된 것으로 본다.(이 역시 마크 스티븐스의 업적이다.) 때문에 모질라, 마이크로소프트 및 구글은 자사의 브라우저에 대한 SHA-1 지원 종료예고를 발표하였다. 2017년 1월에 발표되는 파이어폭스 5,1, 크롬 56 및 2017년 2월 14일 발표하는 마이크로소프트 에지 및 인터넷 익스플로러 11은 더이상 SHA-1을 지원하지 않는다. SHA-1 해쉬 알고리즘의 취약점 역시 10년이상 되었다.(참고 : Microsoft plans St Valentine's Day massacre for SHA‑1)

출처 : https://www.keylength.com/en/4/
출처 : https://www.keylength.com/en/4/

최근 미국은 SHA-3 표준을 공모하여 2012년 Keccak을 선정하였고, 암호학계의 록스타로 불리우는 브루스 슈나이어는 그의 저서 실용암호학(Cryptography Engineering, 에이콘 출판 역간)에서 SHA-2와 SHA-3를 추천한 바 있다. 국내 디지털 포렌식 연구에서 가장 유명한 고려대 이상진 교수님의 저서 '디지털포렌식 개론(개정판)'에서도 "안전도에 대한 기준이 80비트에서 128비트로 바뀌고 있기 때문에 향후에는 SHA-3를 사용하는 것이 바람직"하다는 평가를 하고 있다.(개정판 287page참고) 또한, 한국의 국가보안기술연구소에서도 LSH라는 해시함수 표준을 제시하였다. 이처럼 향후에는 안전도 기준을 향상시킨 새로운 해시함수들을 사용하는 것이 바람직한 것으로 보인다. (참고 : 해시함수 동향 및 국산 LSH함수 소개)



결론적으로, 디지털 포렌식 분야에서 무결성 입증시 사용하는 MD5 해시함수는 취약성이 발견된지 오래 되었으며, 암호학계에서는 그 지위를 상당히 상실하였다고 본다. 법정에서 과학적 증거를 채택하는 Daubert 기준에 따르면 학계의 충분한 동의가 권장되는 바, 현시점에 MD5를 안전하다고 추천하는 연구자는 아무도 없을 것이다.


그럼에도 불구하고, 영원히 안전한 해시함수는 존재할 수 없다는 한계를 직시해야 한다. 때문에 관련 법률과 정책, 보고서 양식들을 개정하여 무결성 입증시 사용되는 구체적인 해시함수 기준을 확립하고, 포렌식 도구의 검증 기준에 명시하여 제안요청서를 작성하는 등의 노력이 필요하다고 본다. 또한 암호학계와의 지속적인 교류를 통해 학계의 권고에 따라 주기적으로 해시함수 기준을 상향조정해야 할 것이다.


(보다 자세한 내용은 논문을 참조해주시기 바랍니다.)


논문의 내용은 저의 주장이며, 이와 상반되는(즉, 여전히 MD5를 사용해도 된다고 생각하시는) 의견이 있으신 분들의 제보를 기다립니다. 이 주제는 반드시 수면위로 올라와야하는 내용이라고 생각하며, 그렇게 더 많은 논의가 이루어져야만 현실태를 개선할 수 있다고 봅니다. 언제든지 질의주시면 응답드리겠습니다.

연락처 : cpuu@cs.kaist.ac.kr

CPUU님의 창작활동을 응원하고 싶으세요?