온라인동영상서비스(OTT) 티빙에서 이용자 계정 3954만개와 서비스 핵심 기술이 담긴 개발 소스코드 361건이 유출된 것으로 조사됐다. 개발자 접속키 탈취에서 시작된 공격은 소스코드 속에 그대로 노출돼 있던 운영 환경 접속키 탈취로 이어졌고, 운영환경 내부에 이용자 정보 데이터베이스(DB)가 암호화되지 않고 평문으로 저장돼 개인정보가 통째로 새 나갔다.
과학기술정보통신부는 3일 이 같은 티빙 침해사고에 대한 민관합동조사단의 조사 결과를 발표했다.
◇ 이름·휴대전화 번호·이메일 주소·생년월일 등 털려
조사단에 따르면 유출된 계정은 총 3954만개(중복 포함)다. 로그인이 가능한 활성 계정이 2206만개, 휴면(850만)·탈퇴(887만) 등 비활성 계정이 1737만개, 테스트 계정이 11만개다. 티빙 계정은 한 명이 다수의 계정을 보유할 수 있는 구조여서 실제 이용자 수와는 차이가 있다. 실제 한 명의 이용자가 최대 13개 계정을 보유한 사례가 확인됐다.
가입 경로별로는 티빙 자체가입 726만개, CJ ONE 통합회원 863만개, 네이버·카카오 등 소셜미디어(SNS) 간편가입 2247만개다.
조사단은 침해사고로 유출된 정보가 ▲ID ▲비밀번호(일방향 암호화) ▲CJ ONE 통합ID ▲성명 ▲휴대전화 번호 ▲이메일 주소 ▲생년월일 ▲연계정보(CI·주민등록번호를 대체해 개인을 식별하기 위한 고유값) ▲환불 계좌번호(암호화) ▲제휴 서비스 정보(22종) ▲결제 이력(11종) 등을 포함해 총 20개 항목(70종)이라고 밝혔다. CI가 유출된 계정은 1904만개였다.
휴대전화 번호, 이메일 주소는 일부 암호화된 상태로 유출되었으나, 암호화키가 함께 유출돼 복호화가 가능하므로 평문으로 유출된 정보와 동일한 수준으로 조사됐다. 비밀번호는 일방향 암호화된 상태로 유출돼 평문으로 복호화가 불가능하다고 조사단은 밝혔다.
이용자 정보뿐 아니라 이용자 맞춤형 콘텐츠 추천 및 검색 알고리즘, 이용자 관리 및 인증체계, 결제 관리, 유료 서비스 운영 등 티빙 서비스를 운영하기 위한 기술이 담긴 개발 프로젝트 361건(30.35GB)이 유출됐다. 조사단은 공격자가 이 소스코드를 분석해 취약점을 찾아 추가 공격에 악용할 가능성이 있다고 우려하고 있다. 현재까지 추가공격 정황은 확인되지 않았고, 티빙은 민간 보안업체를 통해 개발 프로젝트 내 취약점 진단을 진행하는 등 자체 보안조치를 강화하고 있다.
◇ 개발키 하나로 열린 문
사고 원인은 접속키 관리 부실로 조사됐다. 공격자는 개발자가 보유한 '개발환경' 접속키를 탈취해 시스템 내부(개발환경, 운영환경)에 침투했다.
티빙의 '개발 환경'은 소스코드를 보관하고, 여러 개발자가 동시에 수정·관리하는 개발자 협업 플랫폼이다. 개발환경 접근하려면 개발자 개인별 접속키가 필요하다. 조사단은 개인정보 유출에 악용된 접속키를 쓰는 개발자를 특정하고 단말기 포렌식을 통해 해당 접속키가 털린 원인이 피싱인지, 악성코드인지, 공급망 공격인지, 개발자가 개발키를 공유 또는 오남용한 것인지 등을 다양하게 분석했으나 확인할 수 없었다고 밝혔다.
공격자는 개발 환경에서 361개 개발 프로젝트를 유출했고, 이곳에 저장된 '운영환경' 접속키를 확보했다. 이어 운영환경 내부에서 이용자 DB에 접근할 수 있는 접속정보(ID, PW)가 암호화되지 않고 평문으로 저장되어 있는 것을 확인하고, 이를 탈취했다.
이용자 DB에 접근한 공격자는 3954만개 계정 정보를 뺴냈다. 지난 5월 30일 1차 정보유출 시도에서는 DB 서버의 작업량 과다로 인해 서버 중앙처리장치(CPU) 이용률이 100%로 급상승함에 따라 이상징후 알림이 발생했고, 알림을 확인한 티빙은 해당 작업을 차단 조치했다. 공격자는 이튿날 2차 정보유출 시도에서는 이상징후 알림이 발생하지 않도록 CPU 이용률을 10% 이내로 제한해 공격한 것으로 조사단은 추정했다. 운영환경 내부에 가상서버를 생성한 후 이를 정보유출을 위한 통로로 악용하고, 유출 이후 가상서버를 삭제하는 방식을 썼다.
◇ 전담인력 4명 뿐, 신고도 24시간 넘겨
이번 조사에서 티빙의 정보보호 체계 허점이 드러났다. 조사단은 티빙이 모든 개발자에게 전체 프로젝트 접근 권한을 부여한 탓에 접속키 하나만 뚫려도 전체 프로젝트가 노출되는 구조였다고 지적했다. 또 티빙 개발자는 개발·운영환경에 접근할 수 있는 접속키를 소스코드 내부에 숨김없이 그대로 노출(하드코딩)하거나, 암호화 처리를 통한 숨김없이 평문으로 저장한 것으로 드러났다. 2024년 자체 모의해킹에서 접속키 하드코딩 취약점을 이미 발견하고도 조치하지 않았다.
또 티빙은 전체 임직원 265명, 개발인력 149명 규모임에도 정보보호 전담인력은 외주를 제외하고 4명에 그쳤다. 이상징후가 발생한 지난 5월 30일 오후 6시로부터 약 14시간이 지나서야 사고 대응을 총괄하는 정보보호 최고책임자(CISO)에게 상황이 공유됐다.
신고도 늦었다. 티빙은 정보통신망법에 따라 침해사고 인지 후 24시간 이내에 신고해야 했지만, 정보보안팀이 상황을 전파한 5월 31일 오전 10시 10분에서 약 29시간이 지난 6월 1일 오후 3시 8분에야 한국인터넷진흥원(KISA)에 신고했다.