정보누출(Information Disclosure)
가이드라인 원문
| 항목 | 내용 |
|---|---|
| 항목코드 | CI-05 |
| 점검내용 | 웹 애플리케이션 내 중요 정보(개인정보, 금융 정보 등) 및 불필요한 정보(주석 내 디버깅 정보, 초기 샘플페이지, 백업파일 등)의 노출 여부 점검 |
| 점검대상 | 웹 애플리케이션 소스코드, 웹 애플리케이션서버 |
| 양호기준 | 중요 정보가 마스킹 처리되어 있으며, 서비스 운영 및 서버 사이드의 구조를 파악할 수 있는 불필요한 정보가 노출되지 않는 경우 |
| 취약기준 | 중요 정보가 평문으로 노출되거나, 서비스 운영 및 서버사이드의 구조를 파악할 수 있는 과도한 정보가 노출되는 경우 |
| 조치방법 | 중요 정보를 마스킹 처리하고, 샘플 페이지나 불필요한 정보를 제공하는 요소를 삭제하여 과도한 정보 노출을 최소화함으로써 민감정보와 내부시스템구조의 노출을 방지함 |
상세 설명
1. 판단 기준
기본 판단 기준
- 양호: 중요 정보가 마스킹 처리되어 있으며, 서비스 운영 및 서버 사이드의 구조를 파악할 수 있는 불필요한 정보가 노출되지 않는 경우
- 취약: 중요 정보가 평문으로 노출되거나, 서비스 운영 및 서버 사이드의 구조를 파악할 수 있는 과도한 정보가 노출되는 경우
경계 케이스 (Edge Case) 처리 방법
- 중요정보 노출(일회성 노출)이 반드시 필요한 서비스의 경우 본인인증절차 적용 시 예외처리
- 예: 본인 인증 후 주민등록번호 전체 확인 (재인증 필요)
권장 설정값
- 주민등록번호: 뒤에서부터 6자리 마스킹 (예: 901231-1******)
- 연락처: 뒤 4자리 마스킹 (예: 010-1234-****)
- 카드번호: 7번째~12번째 자리 마스킹 (예: 9430-82**-****-2393)
2. 점검 방법
Step 1: 중요 정보 평문 노출 점검
| |
점검 항목:
- 주민등록번호
- 비밀번호
- 카드번호
- 계좌번호
- 연락처
Step 2: 불필요한 파일 노출 점검
| |
확인할 파일:
- 초기 페이지:
index.html,default.html,iisstart.html - 백업 파일:
*.bak,*.backup,*.old,*.org - 설정 파일:
web.config,.env,config.php - 로그 파일:
*.log
Step 3: HTML 소스코드 점검
| |
3. 조치 방법
1. 개인정보 마스킹 처리
마스킹 기준 (개인정보보호위원회 가이드라인):
| 개인정보 | 설명 | 예시 |
|---|---|---|
| 성명 | 성명 중 한 글자 이상 | 홍*동 |
| 주민등록번호 | 뒤에서부터 6자리 | 901231-1****** |
| 여권번호 | 뒤에서부터 4자리 | 12345**** |
| 연락처 | 뒤 4자리 | 010-1234-**** |
| 카드번호 | 7번째~12번째 자리 | 9430-82**-****-2393 |
| 계좌번호 | 뒤에서부터 5자리 | 430-20-1***** |
구현 예시:
| |
2. 불필요한 파일 삭제
삭제 권고 파일 확장자:
| 확장자 | 설명 |
|---|---|
| *.bak | 백업 파일 |
| *.backup | 백업 파일 |
| *.old | 이전 버전 파일 |
| *.org | 원본 파일 |
| *.zip | 압축 파일 |
| *.sql | SQL 덤프 파일 |
| *.log | 로그 파일 |
| *.tmp | 임시 파일 |
3. 검색 엔진 인덱싱 차단
robots.txt 작성:
| |
META 태그 추가:
| |
4. 서버 설정 초기화
Apache/Nginx:
| |
IIS:
- C:\inetpub\wwwroot\iisstart.html 삭제
- C:\inetpub\wwwroot\aspnet_client\ 삭제
5. 소스 코드 정리
제거해야 할 주석:
| |
디버깅 코드 제거:
| |
4. 참고 자료
자주 노출되는 민감 정보:
- HTML 주석 내 API 키
- JavaScript 내 비밀번호
- 에러 메시지 내 경로 정보
- HTTP 응답 헤더 내 서버 정보
- robots.txt 내 관리자 페이지 경로
- Git 저장소 (.git 디렉터리)
- 환경 설정 파일 (.env, .config)
OWASP Top 10 - A01:2021 – Broken Access Control:
- 과도한 정보 노출은 액세스 제어 실패의 일부
- 최소 권한 원칙 적용 필요
5. 스크립트
- 취약점 점검 스크립트
- 이 스크립트는 KISA 주요정보통신기반시설 기술적 취약점 분석·평가 가이드라인(2026)을 준수하여 제작된 자동 점검 도구입니다. 복잡한 단일 파일 방식이 아닌 모듈화된 구조로 설계되어 유지보수가 쉽고 확장이 용이합니다.
- 다양한 환경에서 테스트를 진행했으나, 혹시 점검 로직에 이슈가 발견되거나 개선이 필요한 경우 적극적인 제보를 부탁드립니다.