Abine Blur 암호 관리 서비스에서 개인정보 유출 사고
클라우드 설정 오류 때문
2018.12.13일 Abine Blur는 고객 정보가 인터넷에 그대로 노출된 사실을 발견하고 조치를 취했다. 이 사이트는 privacy 보호 서비스를 제공하는 곳으로 이메일, 전화 번호, 신용 카드 등을 가려줘서 노출을 방지하고, 여러 가지 암호를 관리하는 기능을 한다.그런데 데이터를 저장하는 Amazon cloud의 S3 bucket을 실수로 잘못 설정하여 누구나 볼 수 있게 방치했다. 피해자는 2016년 1월 이전에 가입한 사람들로, 이메일, 이름, 로그인 암호 힌트(오래된 MaskMe 제품에 한함), 로그인 암호, 접속한 IP 주소 등이 노출됐다.
Blur 로그인 암호는 잘 관리되어 악용 가능성은 거의 없다. 이것은 암호화 후 해시 처리됐고 또 다시 솔트 처리됐다. 그럼에도 불구하고 Abine 측은 만약을 위해 암호를 변경하도록 권고했다.
그 외에 결제수단 정보, 저장된 암호, masking된 가상 이메일, 전화번호 등 주요 정보는 노출되지 않았다.
암호화(encryption)와 해시(hash)
암호화는 해독(복호화, decryption)을 전제로 하는 개념이다. 따라서 시간만 충분히 주어진다면 brute force 공격으로 풀 수가 있다.반면 해시는 복호화라는 게 없다. 원래 값을 특정 함수로 연산한 값으로, fingerprint(지문) 같은 것이다. 해시 값을 비교해서 두 값의 일치 여부를 확인할 수 있을 뿐, 원래의 값을 알아낼 수는 없다.
하나의 값은 일정한 해시 값을 갖지만, 그 역은 성립하지 않는다. 드물게 해시 값이 같은 복수의 값이 존재할 수 있다. 이런 경우를 해시의 충돌 혹은 중복이라 한다. MD5처럼 취약한 해시 함수는 해시 충돌을 쉽게 찾아낼 수 있다. 해시 함수는 연산 속도가 빠르기 때문에 브루트 포스 공격에 취약하기도 하다.
이러한 해시 충돌 가능성과 브루트 포스에 대한 취약점을 방지하기 위한 것이 솔트(Salt)이다. 솔트는 각 개체에 부여한 고유 값으로, 해시 값의 맨 앞이나 뒤에 덧붙인다. 해시란 용어가 음식 이름에서 유래했기 때문에 보완책도 이런 재밌는 이름을 가지게 됐다.
이 사건을 통해 생각해 볼 것은 2가지이다.
강력한 암호를 만들고 관리하는 게 쉬운 일은 아니다. 그래서 암호 관리 프로그램이나 서비스를 이용하라고 많이 권고된다. 그러나 만약 이런 것들이 해킹된다면? 우리 나라에서도 알패스의 전례가 있다.
다음으로는 사이트 운영이 의외로 허술한 경우가 적지 않다는 것이다. 최상급 해커가 맘먹고 달려든다면 그 어떤 곳도 막기 힘들 것이다. 이런 것은 어쩔 수가 없다. 그러나 이번처럼 기본적인 설정 오류로 소중한 개인정보를 노출시키는 것은 있어서는 안되는 것이다. 하지만 페덱스, 버라이즌, 다우존스 등 거대 기업들도 이와 비슷한 사고를 냈다.
참고 자료
댓글
댓글 쓰기