뉴스/이벤트

[개인정보보호 기술적 보호조치 for Dummies ②] 개인정보 흐름 및 이상징후 통제할 것!

[] | 2013-09-10

소만사 최일훈 연구소장의 개인정보보호 기술적 보호조치 바로알기 칼럼을 총 4회에 걸쳐 연재할 예정이다. 짧고 쉬운 문체로 설명한 만큼, 개인정보 기술적 보호조치에 대한 이해도를 높이고 개인정보유출방지를 목적으로 개인정보보호 솔루션 도입을 고려하고 있는 기업들에게 작은 도움이 되길 바란다. <편집자 주> 개인정보의 위치를 확인했다면, 이제부터는 개인정보가 어떻게 조회/활용/전송되는지 업무상 흐름을 파악해야겠지. 특히 DB는 개인정보의 시작점이야. (물의 흐름에 비유하자면 첩첩산중 발원지지). DB에서 시작해서 개인정보가 누구에게, 어디로, 무슨 목적으로 흘러가는지를 파악해야 해(조직 내 개인정보흐름의 메인루트야). DB에서 개인정보가 흘러나가는 루트를 조회자 기준으로 분류해봤어. 첫째 계열사?대리점 등에서 외부인이 어플리케이션을 통해 조회하는 루트, 둘째 개발자가 직접 DB를 조회하는 루트, 셋째 시스템관리자가 조회하는 루트야. 외부인이 내부DB로 접속하게 해주는 어플리케이션 첫번째는 외부인이 ‘어플리케이션’을 통해서 조회하는 루트야. ‘어플리케이션은’ 고객관리시스템, 물류배송시스템, AS시스템, 콜센터시스템, 민원관리시스템 등 각 업무별로 필요한 고객정보를 조회할 수 있게 해주는 프로그램이야. 주로 대리점, 지점, 계열사 등 지리적으로 떨어진 곳에서 프로그래밍을 모르는 일반인들이 많이 사용해. 회사에 따라서 자체개발한 웹어플리케이션을 쓰기도 하고 SAP(독일의 ERP소프트웨어)?Siebel(오라클사의 CRM소프트웨어)같은 전문패키지소프트웨어를 사용하기도 해. 대리점, 지점, 계열사 등에서 개인정보가 대량유출된다는 것은 보안업계의 ‘공공연한 비밀’ 수준이야. 업무상 연속선상에 있긴 하지만 지리적으로 떨어져있고 내부직원에 비해서 충성도가 떨어질수밖에 없지. 이분들이 어플리케이션을 통한 DB접속권한을 악용해서 개인정보 몇백만건씩을 유출하는 거지. 고객명단을 USB에 저장하고 퇴사한 지점장, 계열병원 내 환자정보를 모두 가지고 나가서 개업한 의사가 있었어. 자기랑 안면있는 고객정보만 가지고 나가면 그나마 양심있는 분이야. 전혀 모르는 고객정보까지 가지고 나가서 심지어 경쟁사에 팔아먹는 일도 있다네. 핸드폰약정기간, 월간평균사용금액, 고객연락처 이런 정보가 있으면 경쟁사에서 몇억 주고 살 것 같지 않아? 2012년 모기업 몇 백만명 개인정보유출사고도 어플리케이션 때문에 일어났다더라. 한번에 한두명씩 찔끔찔끔 조회하는 방식을 24시간 쉬지 않고 반복해서 하루에 수만명 개인정보를 가져갔대. 물론 사람이 아니라 로봇을 설치해서 조회했다고 하네. 이런 머리를 좋은데 쓰면 좋을 텐데 범죄에 악용한 거지. 어플리케이션을 통한 유출이 왜 치명적인지 알려줄까? 기존의 DB보호책인 DB암호화와 DB 방화벽으로는 막을 수 없기 때문이야. 어플리케이션의 보안상 문제점은 3가지야. 첫째, 전통적 DB방화벽(=DB접근통제솔루션)은 어플리케이션IP만 기록하고 그 뒤에 있는 실제조회자는 밝혀내지 못해. 개인정보보호법은 [개인정보처리시스템]에 대한 접근이력기록?접근통제?이상징후분석?로그위변조방지조치를 의무화했어 (‘DB방화벽’을 도입함으로써 준수할 수 있어). 그러나 대리점직원이 어플리케이션을 통해 개인정보를 조회하는 것은 ‘DB방화벽’만으로 해결할 수 없어. 왜냐하면 ‘DB방화벽’은 ‘어플리케이션’에 순종하는 바보거든. 다른 모두에겐 칼같지만 팜므파탈 앞에선 꼼짝도 못하는 남자처럼 ‘DB방화벽’은 (DB엔지니어의) DB직접조회, (시스템관리자의) Telnet?FTP조회엔 그렇게 깐깐하면서 ‘어플리케이션’이 하는 요청은 무조건 받아들여. 진짜 문제는 접근자로 어플리케이션만 기록하고 어플리케이션 뒤에 있는 수많은 실제조회자를 밝혀내지 못한다는 거야. 어플리케이션’ 뒤에 누가 있던 ‘DB방화벽’은 오직 ‘어플리케이션’이 주는 쿼리만 보고 개인정보를 통과시키기 때문에 ‘어플리케이션’만 거쳐가면 개인정보를 대량유출할 수도 있어. 어플리케이션이 한번에 개인정보 백만건을 요청하면 DB방화벽은 정책에 기반하여 차단할 수 있지. 하지만 한번에 개인정보 한건씩 백만번을 요청하면 DB방화벽은 막을 수 없어. 따라서 어플리케이션 뒤에서 한두건씩 반복적으로 조회해서 결과적으로 대량을 유출하면 DB방화벽은 이상징후파악을 못해. 둘째, 어플리케이션은 DB암호화를 풀수있는 내부권한자야. 자물쇠를 풀수있는 열쇠를 가진 사람이지. DB암호화’를 해도 ‘어플리케이션’ 앞에서는 속수무책이야. ‘어플리케이션’은 복호화권한을 가진 내부권한자야. 따라서 ‘어플리케이션’을 거쳐 DB내 개인정보를 조회하면 ‘DB암호화’가 풀리게 되어있어. (DB암호화는 귀중품 자체를 잠궈버리는 자물쇠같은 보안방식이라 열쇠 앞엔 속수무책이라고 말한 적 있지. 어플리케이션은 DB암호화를 푸는 열쇠를 가지고 있어) 따라서 ‘DB암호화’해도 어플리케이션을 거치면 암호화조치는 무의미해지지. 셋째, 어플리케이션은 웹과 바로 연결되어있어. 어플리케이션은 보통 웹어플리케이션 형태로 존재해서 개인정보가 어플리케이션에 도달하면 바로 웹으로 연결되어 인터넷으로 전송되는 경우가 많아. 물리적으로 1,000km 멀리 떨어진 곳에 있는 해커가 웹어플리케이션을 장악하고 어플리케이션으로 DB내 개인정보를 취득할 수 있다는 뜻이지. 어플리케이션을 통한 개인정보오남용통제는 최근 개인정보보호의 주요 트렌드야. 규모있는 기업이라면 반드시 해야 하는 일이기도 해. 개인정보보호법, 정보통신망법은 개인정보처리시스템에 대한 정의를 ‘개인정보를 처리할 수 있도록 체계적으로 구성한 데이터베이스시스템’이라고 규정하고 있어. 그런데 최근 안행부, 방통위에서 낸 자료들을 보면 데이터베이스와 연결되어있는 어플리케이션도 개인정보처리시스템으로 보고 있음을 알 수 있어. 따라서 규모있는 기업의 경우, 어플리케이션에 대한 접근통제, 접근기록보관, 이상징후분석조치는 법적 의무사항에 포함된다고 생각해야 할거야. DB를 잘 아는 개발자가 DB를 직접 조회하는 루트 두번째는 개발자들이 DB에 직접 접근하는 경우야. DB관리 혹은 DB어플리케이션을 개발하고 테스트하기 위해 접근하지. DB를 모두 날것으로 조회할 수 있기 때문에 마음먹기에 따라 DB전체를 통째로 들고 나갈수도 있어. 개발자들의 DB 직접조회는 그만큼 위험하기 때문에 이에 대한 통제와 로그관리는 다른 보안조치 대비 잘 구축되어있어. 우리 회사는 아직 안했다고? 빨리 투자해야해. (내부권한자의 권한오남용을 통제하는 것이므로 DB방화벽이 적합한 솔루션이라 할 수 있어) 시스템관리자가 DB에 접근하는 루트 DB와는 직접적 관계가 없지만, DB가 위치한 서버를 관리하기 위해서 어쩔 수 없이 DB접근권한을 갖게 되는 경우가 있지. 만에 하나 시스템관리자가 나쁜 마음 먹고 Telnet?FTP로 DB내 고객정보를 유출하면 문제가 될거야. 이 경우에는 시스템관리자가 Telnet이나 FTP 등 원격터미널서비스로 DB에 접근할 경우 특히 로그를 잘 남겨놔야 해. 또 시스템관리자가 DB서버에 접근해서 설정파일을 바꾸지 못하도록 통제해야 해. (서버보안솔루션, 서버접근제어솔루션, DB방화벽 등이 적합한 솔루션이라 할 수 있어.) 글. 소만사 최일훈 소장 acechoi@somansa.com
<저작권자 © 데일리시큐, 무단 전재 및 재배포 금지>

목록