SD-19
🧯 예외처리 (설계)
설계단계 보안설계 · 에러처리
위험도: 중💡 쉽게 말하면
오류가 나면 내부 상세 정보를 화면에 그대로 띄우는 것은, 건물 설계도와 배선도를 정문에 붙여두는 것과 같습니다. 사용자에겐 일반화된 메시지만 보여주고 상세 내용은 서버 로그에만 남기도록 설계해야 합니다.
오류가 나면 내부 상세 정보를 화면에 그대로 띄우는 것은, 건물 설계도와 배선도를 정문에 붙여두는 것과 같습니다. 사용자에겐 일반화된 메시지만 보여주고 상세 내용은 서버 로그에만 남기도록 설계해야 합니다.
🎯 직접 해보기 — 공격을 실행해 보세요
아래에서 시스템 상태를 취약 또는 안전(조치 적용)으로 바꾼 뒤 공격 실행을 눌러, 같은 공격이 어떻게 다르게 끝나는지 직접 확인하세요.
# 일부러 오류를 일으켜 노출된 상세 정보를 수집한다
# [공격 실행] 버튼을 누르면 시작합니다.
📋 설정 비교 (왜 막혔나?)
✗ 취약한 설정
# 설계 결정
스택트레이스·쿼리 오류 화면 노출
→ 내부 구조 정보 유출
✓ 안전한 설정
# 설계 결정
공통 예외 처리 + 일반화 메시지
상세는 서버 로그에만 기록
→ 정보 노출 없이 안전 처리
🔧 조치 방법
- 공통 예외 처리 계층에서 모든 예외를 일관되게 처리하도록 설계합니다.
- 사용자에게는 일반화된 메시지만, 상세는 서버 로그에만 남기도록 설계합니다.
- 예외 시 안전한 기본 동작(거부)을 설계합니다.
✅ 점검 체크리스트
- 공통 예외처리가 설계됨
- 상세정보 비노출이 설계됨
- 안전한 기본동작이 설계됨
점검기준: 개발보안 설계기준 3.1 예외처리