실시간
뉴스

통신*방송

티빙 2200만 계정 털렸다…소스코드에 운영망 접속키 평문 방치

티빙 개인정보 유출 알림 공지 [사진=티빙 홈페이지 갈무리]

[디지털데일리 강소현 기자] 티빙에서 발생한 대규모 개인정보 유출 사고는 개발자의 접속키 탈취에서 시작된 것으로 확인됐다.

공격자는 개발환경에 침투한 뒤 소스코드에 평문으로 저장된 운영환경 접속키와 데이터베이스(DB) 접속정보를 차례로 확보해 대규모 개인정보를 빼냈다.

특히 티빙은 과거 모의해킹에서 접속키 관리 취약점을 이미 확인하고도 개선하지 않았고, 최초 공격을 탐지한 뒤에도 추가 공격을 막지 못한 것으로 조사됐다.

과학기술정보통신부는 3일 이 같은 내용을 담은 티빙 침해사고 민관합동조사단 조사 결과를 발표했다. 조사 결과 공격자가 빼낸 정보는 중복을 포함해 총 3954만697개 계정에 달했다.

이 가운데 현재 로그인이 가능한 활성 계정은 2206만3021개였으며 1년 이상 접속하지 않은 휴면 계정 850만2679개, 탈퇴 계정 886만8174개도 포함됐다. 휴면·탈퇴 계정만 약 1737만개로 전체 유출 계정의 44%에 달한다.

동일인이 여러 계정을 보유하는 구조인 만큼 계정 수를 실제 피해자 수로 볼 수는 없다. 조사 과정에서는 한 이용자가 최대 13개 계정을 가지고 있는 사례도 확인됐다.

가입 방식별로는 네이버·카카오·애플 등 SNS 간편가입 계정이 2247만1922개로 가장 많았다. CJ ONE 통합회원이 863만755개, 티빙 자체가입 계정이 725만9960개였다.

특히 본인인증 과정에서 생성되는 연계정보(CI)를 보유한 계정은 1903만6223개에 달했다. 중복을 제거하면 1323만5452개다. CI 보유 계정에서는 평균 11.1개 개인정보 항목이 유출됐으며 CI가 없는 계정의 평균 4.6개보다 두 배 이상 많았다.

유출된 개인정보는 ID와 비밀번호, 이름, 휴대전화번호, 이메일주소, 생년월일, 성별, CI·DI, 환불 계좌번호, 결제이력 등 총 20개 항목 70종이다.

일부 휴대전화번호와 이메일주소는 암호화돼 있었지만 암호화키까지 함께 유출됐다. 조사단은 공격자가 이를 복호화할 수 있었던 만큼 사실상 평문으로 유출된 것과 동일한 수준으로 판단했다. 비밀번호는 일방향 암호화돼 평문 복호화는 불가능한 것으로 확인됐다.

공격의 출발점은 티빙 개발자가 사용하던 ‘개발환경 접속키’였다.

공격자는 지난 5월29일 사전에 탈취한 개발환경 접속키로 티빙 개발환경에 들어갔다. 이후 추천·검색 알고리즘, 이용자 관리·인증, 결제 관리 등 티빙 서비스 핵심 기술이 담긴 개발 프로젝트 361건, 약 30.35GB를 빼냈다.

조사단은 개발자 노트북과 PC 등 9대를 포렌식하고 피싱, 악성코드, 공급망 공격, 키 공유·오남용 등 다양한 가능성을 조사했지만 개발환경 접속키가 최초로 유출된 경로는 특정하지 못했다.

문제는 개발환경 안에 운영환경으로 들어갈 수 있는 ‘열쇠’가 그대로 들어 있었다는 점이다.

티빙이 보유한 361개 개발 프로젝트에서는 총 43개의 운영환경 접속키가 발견됐다. 이 가운데 41개는 소스코드에 그대로 입력하는 ‘하드코딩’ 방식으로 저장됐으며, 3개는 시스템 설정값에 암호화되지 않은 평문 상태로 저장돼 있었다.

공격자는 이 가운데 2개를 실제 공격에 사용했다. 한 키에는 대규모 데이터 가공·분석과 클라우드 저장소 접근 권한이 있었으며, 다른 키에는 가상서버를 생성할 수 있는 권한이 있었다.

공격자는 운영환경에 진입한 뒤 이용자 DB에 접속할 수 있는 ID와 비밀번호까지 평문 상태로 저장된 사실을 발견해 이를 확보했다.

첫 번째 개인정보 유출 시도는 5월30일 이뤄졌다. 공격자는 클라우드 저장소에 자체 제작한 정보유출용 스크립트를 설치해 DB에 접속하고 이용자 정보를 대량 조회했다.

이 과정에서 DB 서버의 CPU 이용률이 100%까지 치솟으며 이상징후 알림이 발생했다. 티빙은 이를 확인하고 해당 작업을 차단했다.

그러나 공격은 여기서 끝나지 않았다. 공격자는 다음 날인 5월31일 다른 운영환경 접속키를 이용해 티빙 내부에 가상서버를 직접 생성했다.

이후 이용자 정보를 이 가상서버에 약 24GB 규모로 일괄 저장한 뒤 외부 서버로 빼냈고, 공격 흔적을 없애기 위해 가상서버까지 삭제했다.

두 번째 공격에서는 첫 공격과 달리 이상징후 경보가 울리지 않았다. 조사단은 공격자가 CPU 이용률을 10% 이하로 제한해 기존 모니터링 시스템을 우회한 것으로 판단했다.

정부는 대규모 정보유출이 가능했던 원인으로 티빙의 기본적인 보안통제 부실을 지목했다.

우선 접속키 관리가 제대로 이뤄지지 않았다. 개발자들은 개발·운영환경 접속키를 소스코드와 단말기에 평문 형태로 저장했고 일부 접속키를 사내 메신저 등을 통해 공유하기도 했다. 키 발급과 사용, 변경, 폐기 등을 관리하는 절차도 사실상 없었다.

접근권한 역시 과도하게 부여됐다. 티빙은 모든 개발자에게 361개 전체 개발 프로젝트에 접근할 수 있도록 허용했다. 조사단은 이에 따라 공격자가 개발자 한 명의 접속키만 확보해도 전체 프로젝트에 접근할 수 있었다고 지적했다.

더욱이 티빙은 지난 2024년 실시한 모의해킹에서 운영환경 접속키를 소스코드에 하드코딩하는 취약점을 이미 발견했던 것으로 조사됐다. 그러나 이후 별도의 개선조치를 하지 않았다.

이상행위 탐지체계에도 허점이 있었다. 티빙은 CPU 부하 등 단순 시스템 상태를 중심으로 모니터링했을 뿐 네트워크 흐름이나 대량 데이터 조회·이동을 실시간 탐지하고 차단하는 체계를 갖추지 못했다.

인가된 IP만 접속을 허용하는 IP 접근제어(ACL)나 다중인증(MFA) 등 비인가자의 시스템 접근을 막기 위한 통제장치도 제대로 마련되지 않았던 것으로 나타났다.

사고 대응 과정에서도 문제가 확인됐다. 티빙은 5월30일 오후 6시 이상징후를 포착했지만 침해사고 대응을 총괄하는 정보보호 전담조직과 최고정보보호책임자(CISO)에게 상황이 공유된 것은 약 14시간 뒤였다.

정보보호 인력 부족도 지적됐다. 티빙의 전체 임직원은 265명, 개발인력은 149명이지만 외주를 제외한 자체 정보보호 전담인력은 4명 안팎에 불과했다. 조사단은 이 정도 인력으로 상시 보안관제와 취약점 점검, 이상행위 모니터링 등을 수행하는 데 한계가 있었다고 판단했다.

침해사고 신고도 법정 기한을 넘겼다. 조사단은 티빙 정보보안팀이 5월31일 오전 10시10분 운영환경 접속키 탈취와 정보유출 의심 상황을 전달받은 시점을 공식적인 사고 인지 시점으로 판단했다.

그러나 티빙은 24시간을 넘긴 6월1일 오후 3시8분에 KISA에 신고했다. 과기정통부는 정보통신망법에 따라 최대 3000만원의 과태료를 부과할 예정이다.

과기정통부는 티빙에 이달 중 재발방지 이행계획을 제출하도록 하고 오는 10월부터 12월까지 개선조치 이행 여부를 확인할 계획이다. 내년 1월부터는 정부가 별도 이행점검을 실시하며 미흡한 사항이 확인될 경우 시정조치 명령도 내릴 방침이다.

개인정보보호위원회는 계정별 실제 개인정보 유출 항목과 중복을 제거한 피해자 규모, 개인정보보호법 위반 여부 등을 별도로 조사하고 있다.

디지털데일리 네이버 메인추가