본문 바로가기
보안2026년 10월 5일10분 읽기

덴마크 주민등록부 CPR 880만 명 정보 노출 — 해킹이 아니라 기업의 합법 조회권이 뚫렸다

YS
김영삼
조회 6
덴마크 주민등록부 CPR 880만 명 정보 노출 — 해킹이 아니라 기업의 합법 조회권이 뚫렸다

덴마크 고등교육·과학·디지털부와 CPR 관리청이 10월 5일(현지시간) 중앙인구등록부(CPR)에 등록된 약 880만 명의 이름·주소·CPR 번호가 무단으로 조회됐다고 발표했다.

공격자는 등록부 시스템을 뚫지 않았다. 한 덴마크 민간 기업에 법적으로 주어진 CPR 검색 권한을 악용해, 허용된 범위의 정보를 대량으로 긁어 갔다. "정상 권한으로 일어난 대량 조회"를 어떻게 막느냐는, API를 외부에 열어 둔 모든 서비스가 같이 받아 든 숙제다.

3줄 요약
  • CPR 관리청이 10월 2일 금요일 저녁 비정상 활동을 인지했고, 주말 동안 규모를 파악해 10월 5일 공개했다. 노출 규모는 약 880만 명분이다.
  • 해킹이 아니라 민간 기업의 합법적 조회 권한이 악용됐다. 9월 중 열흘 동안 1,400만 건이 넘는 조회 시도가 있었고, 이상 징후는 조회 건당 과금되는 청구서 금액에서 드러났다고 보도됐다.
  • 당국은 CPR 번호만으로 본인을 확인하는 관행을 멈추라고 권고했다. 국가 전자인증 MitID를 쓰는 시스템은 영향을 받지 않았다.

PART 01무슨 일이 있었나

CPR은 덴마크의 주민등록 체계다. 10자리 CPR 번호는 세금·의료·은행 업무에 두루 쓰이는 개인 식별자로, 한국의 주민등록번호와 역할이 거의 같다. CPR 관리청은 10월 5일 공지에서 "심각한 보안 사고"가 확인됐다고 밝히며, 한 덴마크 기업이 가진 합법적 CPR 조회 권한이 악용돼 권한 밖의 접근이 이뤄졌다고 설명했다.

Help Net Security가 정리한 경과를 보면, 비정상 활동은 9월에 일어났고 관리청은 10월 2일 금요일 저녁에 이를 처음 알아챘다. 3~4일 주말 동안 무단 접근의 범위를 파악했고, 4일 일요일에 덴마크 데이터보호청(Datatilsynet)에 신고했다. 공식 발표는 5일 월요일이었다. 문제의 기업은 조회 권한이 끊겼고, 경찰이 다른 관계 기관과 함께 수사 중이다. 당국은 현 단계에서 누가 배후인지 말할 수 없다고 밝혔다.

노출된 정보는 이름·주소·CPR 번호 등이다. 이름·주소 보호를 신청해 둔 사람들의 이름과 주소는 이번 무단 접근에 포함되지 않았다는 것이 부처의 검토 결과다.

Help Net Security·The Next Web 보도와 CPR 공지를 종합
날짜(현지)경과
9월 중민간 기업 계정을 통한 비정상 대량 조회 발생
10월 2일(금) 저녁CPR 관리청이 비정상 활동을 처음 인지
10월 3~4일(주말)무단 접근 범위 파악, 수사기관이 회사에서 증거 확보
10월 4일(일)데이터보호청(Datatilsynet)에 신고
10월 5일(월)부처·CPR 관리청 공식 발표, 해당 기업 조회 권한 차단

데이터보호청은 별도 사건으로 무슨 일이 있었는지, 어떻게 가능했는지, 해당 개인정보 처리의 책임이 누구에게 있는지를 들여다보겠다고 밝혔다. 책임 소재가 등록부를 운영하는 정부 쪽인지, 권한을 받은 기업 쪽인지가 앞으로의 쟁점이 될 가능성이 크다. 권한을 내준 쪽이 사용 범위를 감시할 의무가 있었는지, 권한을 받은 쪽이 계정 관리를 소홀히 했는지에 따라 이야기가 완전히 달라지기 때문이다.

PART 02숫자로 본 사고

약 880만 명
무단 조회된 등록자 수(거주자·사망자·해외 이주자 포함)
약 1,100만 건
CPR 전체 등록 기록 수 — 약 80%가 노출
1,400만 건+
9월 열흘 동안의 조회 시도(The Next Web 보도)
3일
인지(10/2)부터 공개(10/5)까지 걸린 시간

덴마크 인구는 약 600만 명인데 노출 규모가 880만 명인 이유는 CPR에 사망자와 해외로 이주한 시민의 기록까지 남아 있기 때문이다. Help Net Security는 등록부 전체가 약 1,100만 건이라고 전했으니, 전체의 80% 안팎이 한 번에 빠져나간 셈이다.

발각 경위도 눈에 띈다. The Next Web 보도에 따르면 기업은 CPR 조회 건마다 비용을 내는데, 금요일 저녁 청구된 "아주, 아주 큰 금액"이 9월의 비정상적 대량 조회를 드러냈다. 같은 보도는 이 기업이 CPR법 38조에 따라 미리 개별 특정한 사람들에 한해 조회할 수 있는 권한을 가진 소규모 업체였고, 국가특별범죄수사국이 토요일 저녁 회사에서 증거를 확보했다고 전했다. 회사 이름은 공개되지 않았다.

PART 03왜 "해킹이 아닌 유출"이 더 무서운가

이번 사고는 방화벽을 넘거나 취약점을 쓴 침입이 아니다. 당국 발표대로라면 공격자는 민간 기업이 조회할 수 있도록 허용된 정보 범위 안에서 움직였다. 시스템 입장에서는 인증을 통과한 정상 고객이 조회를 많이 한 것뿐이다. 권한이 "누구를" 조회할 수 있는지를 미리 특정하도록 설계돼 있었는데도, 실제 호출이 그 범위를 지키는지는 실시간으로 검사되지 않았다는 이야기가 된다.

크리스티나 에겔룬(Christina Egelund) 장관은 "매우 심각한 사고"라고 규정하고 의회 상임위원회에 보고했으며, CPR 시스템에 대한 철저한 보안 점검을 지시했다. 새 CPR 번호를 일괄 재발급할지에 대해서는 아직 말하기 이르다는 입장이다. 사회안전청 쪽 관계자는 CPR 번호만으로는 무언가를 승인하거나 구매하거나 민감한 정보를 받을 수 없다며, 기업과 기관이 CPR 번호 하나를 신원 증명으로 받아 주는 관행을 멈춰야 한다고 했다. 의료처럼 MitID 로그인을 쓰는 시스템은 영향이 없었다.

영삼
영삼의 한마디
한국 개발자에게 이 사건이 남의 일 같지 않은 이유는 주민등록번호 때문이다. 우리도 오랫동안 "이름+주민번호"를 사실상 비밀번호처럼 써 왔다. 덴마크 당국의 권고가 핵심을 짚었다고 본다. 식별자는 언젠가 반드시 샌다. 그러니 식별자를 아는 것이 곧 본인이라는 가정을 서비스 설계에서 빼야 한다. 내 사이트도 회원 확인에 "알고 있는 정보"만 묻는 흐름이 남아 있지 않은지 이번에 다시 볼 생각이다.

PART 04API를 외부에 열어 둔 서비스가 점검할 것

공공 등록부만의 문제가 아니다. 파트너사에 조회 API를 열어 준 SaaS, 고객사 단위로 키를 발급하는 B2B 서비스라면 구조가 똑같다. 키가 유효하고 요청 형식이 맞으면 통과시키는 구조에서는, 키를 가진 쪽이 나쁜 마음을 먹거나 키를 도둑맞는 순간 "정상 트래픽처럼 보이는 유출"이 생긴다. 이번에는 다행히 과금 청구서가 경보 역할을 했지만, 무료 API였다면 훨씬 늦게 발견됐을 것이다.

외부 조회 API 운영 체크리스트
✓파트너·고객 키별로 평소 호출량 기준선을 두고, 몇 배를 넘으면 자동 차단하거나 사람이 확인하게 한다. 청구서가 아니라 대시보드에서 먼저 보여야 한다.
✓계약상 조회 대상이 정해져 있다면(예: 자사 고객만) 요청마다 대상 범위를 검증한다. 권한 문서와 실제 호출 사이의 간극이 이번 사고의 본질이다.
✓열거형 조회 패턴(연속 번호, 짧은 시간 내 고유 대상 수 급증)을 탐지 규칙으로 만든다. 사람이 하는 업무 조회와 스크래핑은 분포가 다르다.
✓이름·생년월일·주민번호 같은 정적 식별자를 본인확인 수단으로 쓰지 않는다. 일회성 인증(OTP·패스키·공인 전자인증)으로 바꾼다.
✓유출 사고 대응 절차에서 감독 기관 신고 시점을 미리 정해 둔다. 덴마크는 인지 이틀 만에 신고하고 사흘 만에 공개했다.
2차 피해 주의 덴마크 부처는 유출 정보가 사기 시도에 쓰일 수 있다며, 상대가 이름·주소·CPR 번호를 이미 알고 있더라도 전화나 이메일로 비밀번호 같은 정보를 주지 말라고 당부했다. 대량 유출 뒤에는 "당신 정보를 알고 있으니 믿어라"형 피싱이 늘어나는 것이 일반적인 패턴이다.
영삼
영삼의 한마디
개인적으로 가장 아쉬운 대목은 탐지 수단이 청구서였다는 점이다. 열흘 동안 1,400만 건이 넘는 조회가 흘러가는 동안 실시간 경보가 없었다는 뜻이기 때문이다. 레이트 리밋은 서버를 지키는 장치로만 생각하기 쉬운데, 이번 사건은 그것이 데이터를 지키는 장치이기도 하다는 걸 보여 준다.

자주 묻는 질문

덴마크 CPR 유출은 해킹 사고인가요?

당국 발표에 따르면 시스템 침투가 아니라 민간 기업에 법적으로 주어진 CPR 조회 권한이 악용된 사고다. 공격자는 기업이 조회할 수 있도록 허용된 정보 범위 안에서 대량 조회를 했다. 누가 권한을 악용했는지는 경찰이 수사 중이다.

어떤 정보가 얼마나 노출됐나요?

약 880만 명의 이름·주소·CPR 번호 등이다. 거주자뿐 아니라 사망자와 해외 이주자 기록까지 포함돼 덴마크 인구(약 600만 명)보다 숫자가 크다. 이름·주소 보호를 신청한 사람의 이름과 주소는 포함되지 않았다.

CPR 번호를 새로 발급하나요?

에겔룬 장관은 새 번호 발급 여부를 판단하기에는 아직 이르다고 밝혔다. 대신 당국은 기업과 기관이 CPR 번호만으로 신원을 확인하는 관행을 멈추라고 권고했다. MitID로 로그인하는 시스템은 영향을 받지 않았다.

어떻게 발견됐나요?

CPR 관리청은 10월 2일 저녁 비정상 활동을 인지했다. The Next Web은 조회 건당 과금되는 구조 때문에 금요일 저녁 청구된 매우 큰 금액이 9월의 대량 조회를 드러냈다고 보도했다. 9월 열흘 동안 1,400만 건이 넘는 조회 시도가 있었다고 한다.

참고 자료

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록