개요
대상 플랫폼의 데이터 API는 인증·인가를 전혀 수행하지 않았습니다. 공개 시민 포털은 큐레이션된 공공데이터만 노출하지만, 하부 데이터 API는 인증 없이 전체 데이터셋 카탈로그(직원번호 포함)와 각 데이터셋의 원본 로우 데이터를 반환했습니다. 이 중 공개 포털 카탈로그에 없는 내부 운영 데이터(주민단체 임원 실명 명부, 중대재해 시설 담당자 연락처)가 포함되어 무인증 일괄 노출되었습니다.
이 기록은 제품명, 공급업체명, 경로, 파라미터명, 재현 절차를 마스킹한 축약본입니다.
공개 정보
- 그룹: Web
- 상태: 공개됨
- 심각도: 높음
- 공개 범위: 비공개
공격 흐름
[1단계] 데이터셋 카탈로그 무인증 수집
- 인증정보 없이 카탈로그 API 호출
- 500여 개 데이터셋 목록 + 직원번호 등 내부 메타 획득
[2단계] 개인정보 컬럼 데이터셋 식별
- 각 데이터셋의 컬럼 스키마를 조사
- 성명·연락처 컬럼을 선언한 데이터셋 선별
[3단계] 원본 로우 데이터 무단 조회
- 인증 없이 로우 데이터 API 호출
- 주민단체 임원 4,510명 실명 + 소속 협의회 + 직위 + 행정동 반환
- 별도 데이터셋에서 시설 담당자 성명 + 연락처 반환영향
- 주민단체 임원·위원 4,510명 실명 및 소속·직위·행정동 노출
- 시설 담당자·관리책임자 성명 및 연락처(내선) 노출
- 카탈로그 응답에 직원번호가 포함되어 내부 계정 열거에 악용 가능
- 수집된 실명·소속·연락처는 사칭·표적 피싱 등 2차 피해에 악용 가능
- 순차 정수 식별자와 결합 시 대량 수집 가능
조치 방안
- 데이터 API 전 경로에 인증 게이트를 적용한다.
- 각 데이터셋의 부서권한코드 등 인가 모델을 서버 측에서 강제한다.
- 공개용 데이터셋과 내부 운영 데이터셋을 분리하고, 내부 데이터셋은 무인증 API로 노출하지 않는다.
- 카탈로그 응답에서 직원번호 등 내부 식별정보를 최소화한다.
평가 결과
- 낮음
- AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N/SH:D/DO:A
CWE
- CWE-306: 중요한 기능에 대한 인증 누락
- CWE-200: 민감 정보의 노출
- CWE-284: 부적절한 접근 제어
참고
이 레지스트리 항목은 마스킹된 포트폴리오 자리 표시자로 존재합니다. 운영 세부 사항을 생략한 채 식별자를 유지합니다.