개인정보 유출이 이뤄지고 있다는 사이트의 URL을 기자님께 받아 접속했다. 살펴보니 데이터는 APMS에서 유출된 것이 거의 확실했다. 문제는, 어떤 경로로 정보가 새고 있는지 알 수 없다는 것. 소스코드와 데이터포맷을 확인해보니 이 개인정보들의 유출경로로 짚이는 곳이 있었다.
직접 확인해보니 예상대로였다. 공공데이터포털 API 서비스였다. 기자님께 공공데이터 서비스 사용법과 유출 재현법을 알려드렸다. 개인정보 데이터엔 곧장 비식별화 조치가 이뤄졌고, 다음 날 사건도 기사화됐다.
동물병원장 개인정보 유출 건 (동물병원장 핸드폰 번호 2,813개가 정부 제공 공공데이터로 유출됐다, https://www.dailyvet.co.kr/news/practice/companion-animal/152250) 관련해 취재 문의를 받았을 당시의 이야기다. APMS를 관리하는 농림축산검역본부는 신속대응팀을 꾸려 사태를 수습하고 있다.
어떻게 개인정보가 공공데이터로 제공되었을까
사람들이 흔히 생각하는 개인정보 유출 원인은 외부로부터의 공격이나 해킹이다. 하지만 개인정보를 실제로 관리하는 기업들의 생각은 다르다. 과학기술정보통신부가 발표한 2019년 정보보호 실태조사에서 ‘우려하는 개인정보 유출요인’을 묻는 질문에 ‘관리 실수로 인한 유출(74%)’이 가장 높은 응답 비율을 차지했다.
국내 최대 규모의 개인정보 유출사건이었던 2014년 카드사 개인정보 유출사건 역시 기술적인 해킹이나 보안 공격 때문이 아니었다. 시스템 개발 프로젝트에 참여한 협력업체 직원이 각 카드사의 개인정보를 USB에 임의로 담아간 것이 원인이었다.
개인적으로는 이번 개인정보 유출 사고의 원인도 관계자의 관리 실수로 추측하고 있다. 2014년 하반기에 서로 다른 두 기관의 데이터포털(농림축산식품 공공데이터 포털, 공공데이터 포털)과 APMS가 연결되는 과정에서 부주의가 있었던 것으로 보인다.
왜냐하면, 공공데이터 포털에서 제공되는 데이터들의 설계도이자 사용 매뉴얼에 해당하는 [동물보호시스템_OpenAPI 활용가이드] 상 ‘응답 메시지 명세’에 원래부터 핸드폰번호와 이메일이 포함되어 있었기 때문이다. 대신 다른 항목들과 달리 핸드폰번호와 이메일은 비식별화조치 후 제공되는 것으로 나타난다.
즉, 공공데이터 포털의 시스템 통합작업을 할 때 참여한 엔지니어/업체는 (기능명세대로라면) 비식별화되어야 하는 데이터의 후처리를 누락한 것으로 보이며, 시스템 통합작업 완료 후 검수 담당자 역시 API가 기능명세대로 제공되는지 확인하는 과정에서 계획과는 달리 개인정보가 그대로 표출되는 문제를 인지하지 못했던 것으로 보인다.
물론 정확히 어떤 원인으로 이와 같은 사고가 발생했든 상관없이, 휴대폰번호나 이메일 주소와 같이 데이터 활용목적과 무관한 개인정보가 공공데이터 서비스로 제공된 것은 관리 주체의 명백한 내부 보안관리 소홀이다. 이미 유출된 개인정보는 회수가 사실상 불가능하고 보이스피싱이나 금융사기 등 또 다른 범죄에 악용될 소지가 다분하기에 그 책임이 결코 작다고 할 수 없다.
다만, 이러한 우려의 한편으로 데이터 분석과 활용에 관심이 있는 사람의 입장에서, 서비스/시스템 관리자의 실수로 인한 사고들 때문에 행정부와 관계기관이 소유한 정보들이 투명하게 민간에 제공되는 공공데이터 개방기조 자체가 위축되지 않았으면 하는 마음도 있다.
전국 지방자치단체의 [버스도착정보서비스]나 우정사업본부의 [우편물 종적조회서비스]처럼, 공공데이터 제공으로부터 새로운 부가가치 창출과 시민사회 편의 증진이 이뤄지는 사례도 충분히 많이 존재하며 앞으로도 좋은 사례가 더 많이 발굴되어야 한다고 보기 때문이다.
공공데이터의 양적 팽창보다도 우리에게 필요한 것
그리고 공공데이터가 잠시나마 수의계의 화두에 오른 김에 하나 더 지적하고픈 부분이 있다. 이미 제공되고 있는 데이터의 품질 문제다.
행정안전부에 따르면, 경제협력기구(OECD) 회원국 및 파트너국의 공공데이터 정책 및 관행에 대한 정보를 나타내는 ‘OECD 공공데이터 지수’(OURdata(Open-Useful-Reusable Government Data) Index)에서 우리나라는 2015년부터 1위를 놓치지 않고 있다.
실제로 필자가 느끼기에도, 간단한 설명과 함께 파일로 된 데이터만 제공하는 경우가 많은 외국 공공데이터에 비해 우리나라의 공공데이터들은 대단히 친절하게 제공되고 있다. 높은 OPEN API비율, 일관성 있게 정비된 메타데이터/매뉴얼, 이용자(개발자)를 위해 여러 프로그래밍 언어로 코딩된 샘플 코드들까지. 접근성이라는 측면에서 보면 공공데이터 서비스는 틀림없이 세계적으로 뛰어난 수준이다.
그런데 실제로 공공데이터를 활용하려고 할 때, 특히 수의계와 관련된 데이터/통계가 인접 산업군에 비해 비현실적이거나 조사기준이 일관적이지 않아 원본 데이터 자체를 신뢰하기 어려운 경우가 종종 발견된다.
일례로 공공데이터포털에서는 이미 우리나라 각 지방자치단체별로 집계된 연도별·업종별·성별 수의사 현황을 제공하고 있다. 그렇다면 우리나라 수의사의 지역별 업종별 분포를 파악하고, 장기적인 관점에서 수의사 수급 정책기조에 참고하기 위해 이 데이터를 활용할 수 있지 않을까.
행정부의 데이터를 그대로 믿을 수 있을까
이론적으로는 그렇다. 그러나 실제로 17개 광역지방자치단체가 공개한 수의사 현황을 모아 분석해본 결과, 어떤 지자체는 광역지자체 소속 수의사를 따로 분리해 집계하기도 하고 다른 지자체는 소속과 관계없이 시군구 기준으로만 집계하는 등 조사기준의 일관성이 확보되어 있지 않다. 업종구분 역시 행정(연구), 개업수의사, 학교 소속 수의사가 아닌 모두를 ‘기타’로 뭉뚱그려놓아 페이닥터와 비임상 분야 취직자가 구분되지 않는다.
심지어 데이터를 연도별로 살피다 보면, 같은 시군구의 수의사 숫자가 한 해에 수십 명씩 새로 생겼다 이듬해 없어지는 비현실적인 경우가 발견되기도 한다. 이런 데이터는 아무리 많이 제공되더라도 분석이 어려울뿐더러, 기술적으로 어찌어찌 결과를 산출한다고 하더라도 그것이 현실적인 의미를 제공한다고 보기 어렵다.
꼭 장기적이고 행정적인 정책기조를 위한 기반자료가 아니라 수의계 내부적으로 직역/지역 간 수급불균형이나 반복되는 수의과대학 신설 시도 등 현안문제에 대응하기 위해서라도 신뢰할 수 있는 데이터는 꼭 필요하다.
그런데 행정부의 통계를 믿을 수 없어서 여러 간접통계, 민간조사결과를 사안에 맞게 취사선택해야 하는 현실이 안타까울 따름이다. 참고로 보건복지부의 경우 의료자원정책과에서 관리하는 면허관리시스템이 있어 사망 취소자 등을 제외한 실제 활동 보건의료인(의사, 한의사, 약사, 간호사 등)의 현황을 비교적 정확하게 파악 관리할 수 있는 것으로 알고있다.
이번 사건을 계기로, 관계당국에서 개인정보 보안과 함께 데이터 자체의 내적 신뢰성도 제고해주셨으면 하는 바람이 있다. 이미 집계된 데이터를 한꺼번에 바꿀 수는 없겠지만, 커다란 예산이나 인력이 투입되지 않더라도 앞으로는 충분히 개선 가능한 부분이 아닐까.