PingCAP TiDB Cloud 데이터 유출 분석
PingCAP 보안 사고 개요
2026년 10월, FulcrumSec 소속 보안 연구원들은 PingCAP의 TiDB Cloud 인프라에 대한 포괄적인 침해 사고를 공개했습니다. 공격자들은 전체 제어 평면(control plane), 고객 SQL 문, 평문 API 키, 내부 재무 기록을 포함하여 10.6 TB의 데이터를 유출했습니다. 이번 유출 사고는 클라우드 보안의 체계적인 실패를 보여주며, 플랫폼 자체 인프라가 약 2개월 동안 탐지되지 않은 채 지속적인 데이터 유출을 용이하게 하는 데 악용되었습니다.
유출 범위
이번 침해 사고로 인해 방대한 양의 민감 정보에 대한 무단 액세스가 허용되었으며, TiDB Cloud 서비스의 운영 무결성이 사실상 훼손되었습니다. 공격자가 획득한 주요 데이터는 다음과 같습니다:
- 제어 평면 데이터: 180,046개의 테넌트 조직, 403,262개의 고유 이메일, 115,308개의 평문 고객 API 키.
- 고객 워크로드: 수천 개 테넌트의 데이터베이스 스키마 및 비즈니스 로직을 포함한 20,645,574개의 원시 SQL 문.
- 인프라 자격 증명: 고객 MySQL/Aurora 호스트에 대한 루트 및 관리자 자격 증명, AWS 및 GCP 프로젝트 식별자.
- 재무 및 상업 데이터: 상세 서비스 비용 지표, NetSuite 수익 원장, 주요 글로벌 기업에 대한 정보를 포함한 CRM 기록.
- 소스 코드: 결제 엔진 및 암호화 라이브러리를 포함한 413개의 비공개 저장소.
운영상의 과실 및 가시성 부족
공격자들은 약 2개월 동안 PingCAP 인프라에 대한 지속적인 액세스 권한을 유지했다고 보고했습니다. 특히, 그들은 6시간마다 전체 제어 평면 데이터베이스를 내보내는 자동화된 복제 파이프라인을 구축했습니다. 이 파이프라인은 PingCAP의 자체 소스 코드 저장소에서 발견된 자격 증명을 사용했습니다. 88회에 걸친 연속적인 내보내기에도 불구하고, PingCAP의 보안 모니터링은 단 한 건의 탐지 이벤트도 발생시키지 못했습니다.
비평가들은 이를 "차원이 다른 무능함"의 증거라고 지적하며, 기업들이 종종 EDR(Endpoint Detection and Response) 도구에 막대한 투자를 하면서도 스토리지 버킷 보안 및 서비스 계정 사용 모니터링과 같은 기본적인 클라우드 위생 관리는 소홀히 한다고 언급했습니다.
멀티 테넌트 격리의 취약점
내부 문서에 따르면 PingCAP은 침해 사고가 발생하기 수년 전부터 심각한 보안 결함을 인지하고 있었습니다. 2022년의 내부 보안 티켓인 SECURITY-22는 결제 전용 역할을 가진 사용자를 포함하여 고객 조직의 모든 구성원이 해당 조직 내 모든 클러스터의 루트 비밀번호를 무조건적으로 재설정할 수 있다는 점을 명시적으로 기록했습니다. 이러한 취약점은 관리형 데이터베이스 제공업체에게 치명적인 실패인 테넌트 간 데이터 무단 액세스 가능성을 허용했습니다.
또한 조사 결과, PingCAP 엔지니어들이 고객의 프로덕션 자격 증명을 Jira 티켓에 자주 붙여넣은 사실이 밝혀졌습니다. 이러한 관행은 회사의 지원 추적 시스템을 민감한 고객 비밀 저장소로 변질시켰으며, 이는 결국 공격자들에게 탈취되었습니다.
업계의 반응 및 논란
공개 이후 PingCAP은 무단 명령 실행이나 고객 데이터에 대한 영향은 없다는 성명을 발표했습니다. 이러한 대응은 보안 커뮤니티로부터 회의적인 반응을 얻었는데, 특히 공격자들이 PingCAP이 영향을 받지 않았다고 주장하는 바로 그 데이터를 포함한 아카이브를 보유하고 공개했기 때문입니다.
Hacker News의 댓글 작성자들은 이러한 사건을 축소하려는 업계의 반복적인 패턴에 좌절감을 표했습니다. 한 관찰자가 지적했듯이, "그들은 데이터를 tarball 형태로 가지고 있는데 PingCAP은 데이터 영향이 없다고 주장한다." 이번 사건은 현재의 방어 전략의 효율성, 중앙 집중식 클라우드 관리의 위험성, 그리고 인프라 제공업체를 위한 보다 엄격하고 투명한 보안 감사의 필요성에 대한 논쟁을 다시 불러일으켰습니다.
Sources
관련
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch