기술

티빙은 OTT를 털렸는데, 왜 CI까지 한 통에 담아뒀나

메인 DB 하나 열렸더니 이름·생년월일·이메일·비밀번호에 주민번호급 연계식별정보까지 줄줄이 따라나왔다

a close up of a computer screen with code code on it
Photo by Xavier Cee on Unsplash

티빙에서 메인 데이터베이스(DB)가 침해돼 개인정보 파일이 외부로 전송됐고, 유출 항목에는 아이디, 이름, 생년월일, 성별, 이메일, 비밀번호는 물론 연계식별정보(CI)와 중복가입확인정보(DI)까지 포함됐다. MAU 700만명 규모 서비스에서 이런 조합이 한 번에 흔들렸다면, 이건 단순한 OTT 사고가 아니라 “도대체 왜 그걸 거기다 같이 넣어뒀나”라는 질문부터 받아야 하는 운영 참사다. 영화 보라고 만든 서비스가 사실상 온라인 주민등록번호급 식별자까지 메인 DB에 끼워 넣고 있었다면, 보안 설계가 아니라 수납 취미에 가깝다.

핵심은 해커가 나빴다는 당연한 사실이 아니다. 메인 DB에 무엇을 넣었고, 무엇을 분리했고, 무엇을 별도로 암호화했고, 누가 접근했고, 대량 파일 전송을 언제 탐지했어야 했는지가 핵심이다. 아이디와 비밀번호 옆에 CI·DI를 같이 둔 순간, 사고의 성격은 계정 유출에서 연계 식별 리스크로 커진다. OTT 하나 뚫렸는데 왜 CJ ONE 같은 통합 멤버십 연계에 닿을 수 있는 재료까지 한 냄비에 끓였나. 이쯤 되면 데이터 최소화가 아니라 데이터 뷔페다.

더 기막힌 대목은 사고 뒤 대응의 결이다. IP 접근 차단, 클라우드 통제 정책 변경. 좋다. 그런데 그 말은 거꾸로 묻기 너무 쉬워진다. 그럼 그 IP는 전송 전에 왜 못 잡았나, 그 통제 정책은 파일이 밖으로 나간 다음에야 왜 바뀌었나, 메인 DB에서 개인정보 파일이 움직일 때 경보는 왜 울리지 않았나. 문 열린 뒤 자물쇠 바꿨다고 해서 자물쇠가 성실했던 건 아니다. 이런 걸 두고 현장에서는 보안이라 안 하고, 뒤늦은 손놀림이라고 부른다.

특히 CI가 문제다. 이름, 생년월일, 이메일, 비밀번호 유출도 이미 충분히 심각한데, 여기에 700만명 이상으로 추산되는 CI 정황까지 겹치면 얘기는 달라진다. CI는 그냥 회원번호가 아니다. 여러 서비스와 연계될수록 악용 반경이 커지는 식별자다. 그런데도 OTT 서비스가 그걸 메인 DB 가까이에 붙여 보관하고, 통합 로그인 구조와 제휴망 연계 가능성까지 열어뒀다면, 사고 반경을 공격자가 넓힌 게 아니라 운영자가 미리 그려준 셈이다. 참 알뜰하다. 한 번 새면 멀리까지 가게 설계해뒀다.

그리고 늘 그렇듯 부담은 이용자에게 돌아온다. 비밀번호 바꾸세요, 피싱 주의하세요, 수상한 연락 조심하세요. 물론 필요하다. 하지만 그건 회사가 CI·DI 분리보관을 했어야 했던 의무, 고위험 식별자 접근을 더 세게 제한했어야 했던 의무, 메인 DB의 대량 반출을 더 빨리 잡았어야 했던 의무를 대신하지 못한다. 자기들이 연동 편의와 통합 회원 관리로 가져간 이익은 회사 몫이었는데, 사고 뒤 경계 근무는 가입자 몫이 된다. 이 구조, 참 뻔뻔하다. 엉성한 창고 운영의 영수증을 고객한테 보내고 있다.

정부 민관합동조사단이 ‘중대한 사고’로 보고 조사에 들어간 건 당연하다. 지금 필요한 건 추상적인 유감 표명이 아니라, CI·DI를 왜 수집·보관했는지, 메인 DB와 어떻게 분리됐어야 했는지, 어떤 계정과 경로로 파일이 외부 전송됐는지, 로그와 탐지 체계가 언제 무엇을 놓쳤는지, CJ ONE 및 외부 제휴 연계 위험을 어떻게 차단했는지에 대한 구체적인 설명이다. OTT는 드라마를 틀면 된다. 가입자 식별정보 유통 허브 흉내까지 내놓고 “사후 통제 강화”로 끝내려 하면, 그건 보안 실패가 아니라 운영 철학의 파산이다. 한마디로, 리모컨 보관함에 마스터키를 넣어둔 뒤 분실 공지문만 정성껏 쓴 꼴이다.

반응