불법 활동 방지, 거래 투명성 제고 절차...AML, CTF 규정 준수 목적도
[보안뉴스 김영명 기자] 최근 가상화폐거래소를 포함해 금융권에서는 KYC(Know Your Customer) 인증이 필수로 요구되고 있다. KYC는 고객이 본인 계정이 맞는다는 신원을 확인을 하는 절차로 신분증이나 여권 등을 금융회사에 제출하는 식으로 이뤄진다. 경우에 따라서는 본인의 여권을 들고 얼굴과 함께 사진을 찍어서 제출하라는 기관도 있다.
▲고객의 신원을 확인하는 KYC 인증[자료=에아이이스페라 CIP블로그]
사이버 보안 전문기업 에이아이스페라(AI Spera)에서는 최근 KYC 인증 시스템에서 신분증과 개인정보가 노출되고 있는 것에 문제점을 짚고 이에 대한 해결 방법을 제시했다.
신분증과 여권, 사진 등을 요구하는 것은 금융기관이 고객의 신원을 정확히 파악하고, 불법적인 활동을 방지하며 거래의 투명성을 높이기 위해 사용하는 일종의 본인확인 절차 중 하나다. 이는 자금세탁방지(Anti-Money Laundering, AML)와 테러 자금 조달 방지(Counter-Terrorism Financing, CTF) 규정을 준수하기 위한 목적으로, 요즘 금융 관계기관에서는 필수로 요구되는 프로세스이기도 하다.
당연히 KYC 프로세스를 통해 수집된 사진과 개인정보는 매우 민감한 정보이기 때문에, 금융기관이나 관련 기업들은 이를 안전하게 보관하기 위해 다양한 보안 조치를 취하고 있다. 개인정보 암호화는 물론, 제한된 인원들만 접근 가능하도록 접근 제어를 시행하고, 주기적인 보안 점검과 함께 실시간 모니터링도 수행해야 한다. KYC로 수집된 데이터가 담긴 서버들은 GDPR(General Data Protection Regulation, 유럽연합 개인정보보호 규정) 이나 CCPA(California Consumer Privacy Act, 미국 캘리포니아주 개인정보 보호법) 같은 보안정책을 통해 굉장히 타이트하게 데이터가 관리되고 있다.
국내 모 기업에서 KYC로 수집된 개인정보 노출 사례 살펴보니
하지만 기업들의 보안정책 미흡으로 KYC 인증 서버와 데이터가 무방비로 인터넷에 노출되는 경우에는 웬만한 개인정보 유출과는 비교할 수 없을 정도로 아주 심각한 개인정보 유출을 불러올 수 있다.
다음 케이스는 올해 7월 2일자에 발견한 KYC 서버로, KYC 인증을 거친 사용자들의 개인정보와 여권사진, 신분증 등이 그대로 노출돼 있는 것을 알 수 있다. 이 기업은 어느 회사인지 정보를 확인할 수는 없었다. 또한 개발용 서버가 방화벽 설정 미흡으로 노출된 것일 가능성도 존재한다. 실제 이곳에는 유저의 데이터가 1만 건 정도 저장돼 있었으며 아무런 접근 제어 없이 모든 정보의 열람이 가능한 상태였다. 또한 전 세계의 다양한 유저들의 정보가 보관돼 있었으며, ‘대한민국’으로 필터링해도 많은 유저의 KYC 정보들이 보이는 것을 알 수 있었다.
▲접근제어 없이 노출돼 있는 KYC 인증 서버[자료=에아이이스페라 CIP블로그]
다음 사진을 보면 신분증 스크린샷과 함께 살고 있는 주소, 이름과 생년월일을 확인할 수 있다는 것을 알 수 있으며 심지어 현재 시점의 실물 사진까지 볼 수 있었다. 개인정보가 부분적으로 유출되는 경우도 심각하지만, KYC 서버가 유출되면 이렇게 한 개인의 신분증까지 포함한 모든 정보가 통째로 제삼자의 손으로 넘어갈 수 있기 때문에 일반 서버의 방화벽 실수 문제보다 훨씬 더 심각한 상황이 된다. 7월 초 현재 시점으로도 이 서버는 여전히 가동되고 있으며, 누구나 개인정보를 통째로 받아갈 수도 있는 상태로 방치되고 있다. 주인을 알 수 없는 개발 서버로 보이는 시스템이라 사이트의 운영자에게 연락을 하기도 힘들다.
▲노출된 상태로 방치돼 누구나 개인정보 데이터에 접근할 수 있는 KYC 인증 서버[자료=에아이이스페라 CIP블로그]
컴플라이언스 규정의 사각지대에 놓인 개발 서버들
추측이지만, 이 서버는 실제 가동 중인 라이브 서버는 아닐 수 있다. 일반적으로 KYC로 사용되는 라이브 서버는 컴플라이언스 정책에 따라 매우 강력하게 관리되고 있기 마련이다. 그리고 컴플라이언스 프로세스 안에 있는 서버들은 깐깐한 보안정책이 추가되기 때문에 개발환경이 불편해지는 문제가 발생하기는 한다. 따라서 보통의 개발자들은 코딩하기 불편하다며 컴플라이언스 자체를 매우 싫어하는 경우가 많다.
그래서 결국 정책을 어기는 사건이 종종 발생한다. 예를 들면 편한 개발환경을 만들고 싶은 마음에, 집에서도 접근이 되는 별도의 클라우드 서버를 만들어 두고 그곳에 실제 데이터를 올려두는 경우가 대표적이다. 물론 개발환경에서 실제 데이터를 붓는 그 자체도 컴플라이언스 위반이지만 그것을 살짝 눈감아주는 경우도 존재한다. 이번 케이스는 KYC 인증까지 해야 하는 꽤 많은 유저를 보유한 금융시스템으로 보이지만, 실제 저 사이트에 보이는 데이터가 1만개 정도인 것으로 보아 아마 편한 개발환경 안에 1만 개 정도의 실제 데이터를 가져와서 사용하는 사례로 추정할 수 있다.
하지만 1만 개라고 해도 어쨌든 유저의 실제 개인정보이며 심지어 신분증을 포함한 그 개인의 전체 정보이므로 그 심각도는 가히 치명적이라고 볼 수 있다. 결국 개발환경의 허점을 이용해 개발자가 데이터를 쉽게 옮겨오다가 기업의 신뢰도에 치명타를 줄 수 있는 이런 문제가 발생할 수 있다. 개발자는 단순히 작업을 편하게 하기 위해서였지만 그로 인해 KYC 서버가 갖는 중요도를 망각한 사례로 볼 수 있다.
에이아이스페라 관계자는 “이처럼 공격표면에는 기업 보안담당자가 모두 케어할 수 없는 심각한 보안 문제들이 실시간으로 발생한다”며 “따라서 개발자 개인의 일탈로 기업에 전체적인 치명타를 주는 것을 예방하기 위해 기업은 공격표면을 주기적으로 체크하는 것이 중요하다”고 말했다.
[김영명 기자(boan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>