통관을 위한 관세청에 제공된 개인 정보가 유출되었습니다. 관세청에서 HBL이나 MBL을 입력하면 수입상황을 조회할 수 있는데, 불필요하게 아래의 정보도 같이 전달되었습니다.
- 유출된 기간: 최소 2016년 11월 말 ~ 최소 2018년 3월 중순 *1
- 유출된 자료의 기간: 최소 2014년 3월 초 ~ 최소 2018년 3월 중순 *2
- 유출된 정보: 이름, 전화번호, 주소, 대표 제품명 *3
*1: 관세청 시스템에서 처음으로 유출을 인지한 시점부터 마지막으로 확인한 시점까지입니다.
*2: 본인이 수입한 최초의 시점부터 마지막으로 확인한 시점까지입니다. 관세정보망에서는 2010년 부터 조회가능한 것으로 안내하고 있으니 더 광범위한 기간의 자료가 유출되었을 가능성이 있습니다.
*3: 개인정보는 모두 로마자로 표기되어 있습니다. 특송 회사 별, 기간 별로 유출된 정보에는 차이는 있습니다. 다만 국가기관에서 요구한 데이터를 입력한 것이기 때문에 특송업체의 잘못이라고는 생각하지 않습니다. 업체별 차이에 대해서는 따로 정리하지는 않았습니다.
아래에서는 문제의 발견부터 해결까지 그리고 이 과정에서 있었던 일을 정리합니다. 길고 장황하게 썼으니 관심이 있으신 분들만 읽어주세요.
2016년 말 무렵에는 해외에서 많은 제품을 직구하였고, 관세청의 4세대 국가관세종합정보망 (이하 관세정보망)을 사용할 일이 많았습니다. 이 시스템에 생각보다 많은 데이터를 받는 것 같아 관세정보망을 구조를 확인하는 중 JSON 데이터에서 개인정보를 발견하였습니다. 관세정보망은 소위 클라이언트 측 렌더링 (이하 CSR)이라는 방식의 기술을 사용하여, 템플릿이 되는 HTML 문서와 데이터(JSON형식)을 따로 전달하고 최종적으로 브라우저에서 렌더링하였습니다.
이것은 MBL과 HBL 검색 모두 해당하는 것으로써 HBL을 조회하면 한 건의 개인정보만 전달되었지만 MBL로 조회할 경우 한 번에 최대 100개까지의 개인정보가 전달되고 있었습니다. 제가 이 문제를 발견한 무렵은 블랙프라이데이 기간이었고, 당시 커뮤니티에는 ‘얼마나 많은 사람들이 X를 구매했는지, MBL로 조회했더니 다 X더라’라는 글이 자주 올라왔었는데, 사실 그 정보 뒤에는 누가 구매했었는지도 있었다는 이야기입니다. HBL은 국내에서 운송장 번호로 쓰이기 때문에 유출된 정보만을 가지고도 충분히 범죄가 일어날 수 있는 상황이었습니다.
저는 이 문제를 관세청에 직접 알리지 않고, 다른 국가기관에 알려 처리하기를 원했습니다. 원론적으로만 보았을 때 CSR이 비난받아야 할 기술은 아니라고 생각합니다만, 실제 구현 단계에서는 보안 문제점을 야기하고 있었기 때문에 (주기적으로 어떠한 데이터가 전달되는지 확인하고 있었습니다만, 많은 경우 불필요한 정보도 함께 보내고 있었습니다.) 이런 내용을 인터넷에 공개함으로써 문제를 환기할 필요가 있다고 보았기 때문입니다. 그 과정에서 관세청과의 직접적인 마찰을 피하고자 하였던 것이지요.
2016년 12월 5일 국민권익위원회(이하 위원회)에 공익신고를 하였습니다. 공익신고 대상에서는 약간 어긋날 수도 있지만, 그 판단은 위원회에서 하는 것이고 대상이 맞다면 접수를 받아 줄 것이라고 생각했기 때문입니다. 정확히 며칠이 걸렸는지 기억나지 않지만 공익심사정책과에서 접수를 받았습니다.
…… 정보망에서는 수입하는 화물의 MBL (Master bill)이나 HBL (House bill), 화물관리번호 등으로 화물현황에 대한 조회가 가능합니다. MBL 또는 HBL로 검색할 경우 …… 문제는 단계 1의 과정에 있습니다. 단계 1에서는 MBL 또는 HBL을 통하여 화물번호만을 사용자 PC에 보내어 다음 단계로 넘어가야 하나, 이외에도 다음과 같은 자료도 포함되어 있습니다. …… 구매한 사람의 이름 및 주소, 전화번호 그리고 구매한 제품에 대한 기록을 아무런 제한 없이 받아볼 수 있습니다.
신고 내용에 매우 구체적으로 재현 방법을 명시하지는 않았으나, 실제 유출된 개인정보는 그대로 보여주었기 때문에 문제의 심각성을 인식하고 빨리 처리해 줄 것이라고 생각했습니다. 문제의 재현 방식은 필요하면 요청할 것이라고 생각했기에 크게 의미를 두고있지는 않았죠. 늦어도 한 달이면 되겠지 싶었지만 그 것은 저의 오산이었습니다. 위원회에서는 2017년 2월 9일이 시행일인 처리결과 통지서 한 장을 보내주는 것 말고는 아무런 일도 하지 않았습니다.
귀하께서 우리 위원회에 신고하신 “관세청 운영 국가관세종합정보망에서의 개인정보 암호화 누락 의혹” 건은 해당기관(행정자치부)으로 송부하여 처리토록 하였음을 알려드립니다.
심지어 ‘개인정보 유출’로 적은 제목은 ‘암호화 누락’으로 바뀌어있었고, ‘의혹’이라는 언급하지도 않은 단어가 포함되어있습니다. 제가 언급한 정보는 외부에 보내선 안되기 때문에 암호화와 관계없고, 실제 발생한 결과를 제출했기 때문에 의혹도 아니었습니다.
처음에는 CSR의 위험성을 환기 시키는 것이 목적이었습니다. 하지만 이를 계기로 정부 기관이 얼마나 일을 잘 처리하는 지 보는 것이 새로운 목적으로 추가되었습니다. 그래서 이 일의 진행 과정을 행정자치부 또는 위원회에 문의하지 않았습니다. 심각한 문제라고 생각했으면 빨리 처리될 것이고, 빨리 처리되지 않더라도 정부가 개인정보에 대해 어떻게 생각하고 있는지 알 수 있는 좋은 기회라고 생각했거든요. 그럼에도 빨리 처리되길 원했지만 두 달이 다 되어가도록 관세정보망이 수정되거나 행정자치부에서 연락이 오는 일은 없었습니다.
2017년 4월 6일 한국인터넷진흥원(이하 진흥원)의 개인정보보호 종합포털을 통해 개인정보 침해신고를 하였습니다. 이 침해건은 4월 10에 접수되었고 (접수가 늦어진 건 제가 담당 조사관의 전화를 받지 못했기 때문입니다) 당일 담당 조사관(이하 조사관A)으로 전화가 와서 문제에 대해 더 자세히 설명해 주었고, 조사관A의 요청에 따라 쉽게 재현해 볼 수 있도록 Python 스크립트도 작성하여 전달하였습니다. 조사관A도 심각한 문제임을 공감해 주었기에 문제의 끝에 다다랐다고 생각하였습니다.
하지만 진흥원도 일처리가 더딘 것은 마찬가지였습니다. 접수통보 문서는 다소 지연될 수는 있지만 60업무일 이내에 처리하고자 한다고 말하고 있었습니다. 하지만 제가 보았을 때 이 문제는 60업무일이나 걸릴 것이 아니었습니다. 제가 전달한 스크립트로 바로 재현할 수 있으며, 관세청에 전달만 된다면 서버에서 이를 고치는 것이 어려운 일도 아니었기 때문입니다.
개인정보가 유출되는 것을 방치하는 것도 옳지 못한 행동이라고 생각했기에, 독촉하지 않는다라는 계획을 깨고, 50업무일 정도 지났을 6월 17일 조사관A의 메일로 진행상황에 대해 문의하였지만 답변이 바로 오지는 않았습니다. 바빠서 천천히 답변하려는 것이겠라고 생각하며 기다리니 보니 6개월이 훌쩍 지나있더군요. 결국 참지 못하고 12월 26일 조사관A와 통화하였습니다. 이 때 받은 답변은 일이 바빠서 처리하지 못했고, 곧 처리하겠다 수준일
뿐이었습니다.
처리하겠다고 해서 기다렸습니다만, 제가 결과 통보를 받은 것은 2018년 4월 2일이었습니다. 신고한 날짜로 부터 261업무일, 진행상황을 문의날 날로 부터 65업무일이 지난 다음에야 일이 처리 된 것입니다.
사실 기간보다 더 충격 받은 것은 아무런 문제가 없다는 관세청의 답변이었고, 이 답변을 받고 사건을 종결처리한 진흥원의 태도 때문이었습니다.
관세청 전자통관시스템에서 ‘수입화물진행정보’를 조회하면 실제화면에는 수하인에 대한 정보가 없으나, 전자문서 서식에는 수하인에 대한 ‘항목명’이 기술되어 있습니다.
다만, 전자문서 서식에 수하인의 개인정보 관련 ‘항목명’이 존재하지만, 실제 데이터는 없는 것으로 확인되었으며, 이로 인한 오해가 발생하지 않도록 현재 전자문서 서식에서 수하인의 개인정보에 대한 ‘항목명’을 삭제 처리 하였습니다.
개인적인 일이 있어 당일 전화는 하지 못하였고 4일이 지난 6일 사건을 처리한 조사관에게 전화였습니다. 처리한 조사관(이하 조사관B)은 조사관 A와는 다른 사람이었습니다. 조사관B는 이 건에 대해 2월에 인계받았지만, 제가 조사관 A에게 보낸 스크립트는 인계받지 못하였다고 답변하였습니다. 스크립트 유무에 관계없이 저러한 답변을 받고 사건을 종결한 것은 이해할 수 없었지만, 스크립트를 전달해 드릴테니 문제를 확인하고 처리해 달라고 요청하였습니다.
그리고 나서 조사관B에게 전화가 왔습니다. 확인해보니 개인정보가 삭제된 채로 반환된다고 이야기하였습니다. 이에 저도 모니터링 서버를 확인해 보았고, 4월 2일 오전 11시 57분에 모니터링 한 결과에 수정된 것을 확인할 수 있었습니다. 최근 서버 사정이 좋지 않아 모니터링이 제대로 되지 않았습니다. 이에 따라 3월 15일에 최종적으로 유출된 자료가 남았으며, 4월 2일에 최초로 유출되지 않은 자료가 남게 되었습니다.이를 보면 관세청은 이 두 기간 사이에 문제를 수정했다고 볼 수 있을 것 같습니다.
하지만 이는 심각한 문제를 야기합니다. 관세정보망에서 모든 통관정보가 유출될 수 있기 때문에 유출된 피해자가 1만명보다 적을 수 없습니다. 이 경우 기관의 개인정보 처리자는 5일 이내에 정보주체에게 통지하고 전문기관에 신고해야합니다. 하지만 관세청은 제가 문제의 해결을 최종적으로 확인된 날로부터 8일이 지난 4월 10일까지도 관련 사항을 통지하지 않고 있습니다.
관세청의 조치와는 별개로 관세청에 책임을 지울수 없게 된 조사 결과에 대한 불만을 조사관B에게 표명하고 재조사를 요구하였습니다. 하지만 조사관B는 자료를 충분히 검토하지 않고 일을 처리하여 문제를 처리하지 못한 것에 대해 개인적으로 양해 부탁드린다는 말로 거부하였습니다. 다만 이 과정에서 사건을 인계받은지 얼마되지 않았고 그러다보니 관세청에서 답변을 요구했을 시점에는 문제가 해결되어 메일 받은 것처럼 답변하였을 수도 있다라고 언급하였습니다.
저는 두 번째 이야기 만은 사실이 아니기를 바랍니다. 그 경우 관세청은 개인정보 유출에 대해 확인하고도 전문기관에 신고하지 않았을 뿐만 아니라 전문기관의 질의에 반하는 답변을 함으로써 문제를 숨겼다고 볼 수 있기 때문입니다.
긴 글 읽어주셔서 감사합니다. 요약입니다.
- 관세청은 4세대 국가관세종합정보망을 잘못 구현하여 개인정보의 유출을 야기했다
- 국민권익위원회는 사건 접수 후 두 달동안 처리하지 않았다
- 행정자치부는 사건 접수 후 이를 처리하지 않았다
- 한국인터넷진흥원은 사건 접수 후 1년 동안 이를 진행시키지 않았다.
- 한국인터넷진흥원은 민원인에게 접수 받은 자료의 인계를 제대로 하지 않아 사건에 대한 중요한 증거를 유실했다.
- 한국인터넷진흥원은 개인정보가 유출이 명확한 사건에 대한 재조사를 거부하였다.
- 관세청은 개인정보가 유출된 것을 확인하고 시정하였음에도 법에서 정하는 기간 내에 정보주체에 알리지 않았으며 4월 6일 기준으로 전문기관에 신고하지도 않았다.
그리고 정부기관에는 아래의 사항을 요구합니다.
- 한국인터넷진흥원은 사건번호 170406-00008의 결과 안내를 취소하고 사건을 재조사하여 주길 바랍니다.
- 행정안전부와 과학기술정보통신부는 정부기관의 사이트의 구현 실태를 조사하고 적절한 가이드를 제공함으로써 유사한 방법을 사용한 정부기관 사이트에서 동일한 문제가 발생하지 않도록 조치하여 주길 바랍니다.
- 관세정보망이 수정된 이후에도 여전히 필요없는 정보가 JSON을 통해서 전달됩니다. 아무리 사소한 정보라도 필요하지 않은 경우 보내지 않는 것이 추후 발생할 수 있는 보안 문제를 미리 막는 일이라고 생각합니다.
(IP보기클릭)1.176.***.***
제가 뽐뿌에 글 복사해서 올려도 될까요? 물론 출처는 표기하고요.
(IP보기클릭)1.176.***.***
제가 뽐뿌에 글 복사해서 올려도 될까요? 물론 출처는 표기하고요.
(IP보기클릭)58.225.***.***