디지털포렌식

CafePress 개인정보 유출과 SHA-1 해시함수

CafePress 는 미국의 온라인 쇼핑몰이다. 그들은 "Safe and Secure Shopping"을 보장한다고 홍보를 한 모양인데, 애석하게도 2019년 10월 2일 고객들에게 자사 데이터베이스 정보가 해킹되었음을 밝히고 이는 최소 9개월 전인 2019년 2월 경있었던 일이라고 시인했다.


출처 : https://www.grahamcluley.com/cafepress-finally-warns-customers-that-it-was-hacked/

유출된 고객 정보는 이름, 주소, 휴대폰 번호, 이메일 주소, 비밀번호, 신용카드 번호(일부), 신용카드 유효기간, 주민등록번호(social security numbers), 납세자 식별 번호(tax identification numbers, 미국에서는 주민번호와 유사) 등이다.


재미있는 것은, "Passwords stored as SHA-1 Hash"라고 쓰여진 내용이다. 이 조치 자체는 상당히 타당한 것이다. 해시함수는 일방향이기 때문에 복호화할 수 없다는 성질을 이용한 것으로, 우리나라의 행정자치부에서 나온 '개인정보의 암호화 조치 안내서'에서도  아래와 같이 가이드하고 있다.

그렇다면 어떤 해시함수를 써야하는가? 에 대한 문제로 넘어가는데, 대부분은 현시점에서 컴퓨팅 파워 등을 고려했을 때 해독이 현저하게 곤란한 수준을 기준으로 삼는다. 여기에 대한 기준은 NIST 표준을 따르는 것이 업계의 관례이다. NIST는 Secure Hash Standard(SHS) 를 제공하고 있다. (참고: FIPS 180-4 (03/06/2012) ) 일명 SHA-1, SHA-2 등이 해당되는데, 시간이 지날 수록 이들에 대한 안전성 이슈가 발생하자 2007년 공개적인 대회를 개최하였고 2012년 KECCAK이라는 이름의 SHA-3 이 제정되었다.


그러나 아직 생소한 이 알고리즘을 선뜻 받아들이기 쉽겠는가? 여전히 개발자들은 MD5, SHA-1 등의 취약한 해시함수를 사용하곤 한다. 그러나 이제 정말 그러한 행동을 그만두어야 할 것이다.

위의 CafePress 사태에 대한 COMPLAINT(고소장)의 일부분을 살펴보자.

https://www.classaction.org/media/fus-v-cafepress-inc.pdf

17. US NSA에 의해 개발된 암호학적 해시함수인 SHA-1은 입력값(패스워드 등)을 토대로 160-bit(20-byte)의 해시값을 생성하는데 이는 일명 메시지 다이제스트라고 불리우는 16진수의 40자리 숫자를 뜻한다.

18. 2005년 이후, SHA-1 은 안전하지 않다는 것이 연구자들에 의해 밝혀졌으며, 2010년 부터는 기업들이 SHA-1대신 SHA-2 또는 SHA-3를 사용하는 방향으로 권고되고 있다.

19. 그럼에도 불구하고 CafePress는 고객의 개인 식별 정보를 SHA-1을 사용하여 저장한 것으로 HIBP에 의해 입증되었다.

(*HIBP는 Have I Been Pwned? 의 약자를 딴 웹 사이트로, 개인정보 유출 사고가 발생했을 때 본인이 해당되는지 여부를 확인해주는 곳이다.)

47 번 항목을 요약하자면, FTC Act(연방 거래 위원회법, 우리나라의 소비자보호법과 유사)에 따르면 고객의 개인 정보를 보호하기 위해 합리적인(Reasonable) 방법을 사용하지 못했다면, 그것은 해당 기업(피고)의 탓이다. 라는 것이다. 암호학계의 일반적인 승인을 받지 못하는 방법임을 알면서도 버젓이 사용하였다면 이는 과실의 책임을 피할 수 없게 된다는 이야기이다.


이 사건은 아직 진행중인 사건이므로 최종 판결이 어떻게 나오느냐가 중요하겠지만, 이 한 건의 판례를 통해 앞으로 해시함수 사용에 있어 중대한 기준이 될 것이다. 

제발, MD5와 SHA-1을 쓰지말 것.

Software Security Engineer

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

CPUU의 Daydreamin'
CPUU의 Daydreamin'
구독자 220

0개의 댓글

SNS 계정으로 간편하게 로그인하고 댓글을 남겨주세요.
새로운 알림이 없습니다.