SD-19

🧯 예외처리 (설계)

설계단계 보안설계 · 에러처리

위험도: 중
💡 쉽게 말하면
오류가 나면 내부 상세 정보를 화면에 그대로 띄우는 것은, 건물 설계도와 배선도를 정문에 붙여두는 것과 같습니다. 사용자에겐 일반화된 메시지만 보여주고 상세 내용은 서버 로그에만 남기도록 설계해야 합니다.

🎯 직접 해보기 — 공격을 실행해 보세요

아래에서 시스템 상태를 취약 또는 안전(조치 적용)으로 바꾼 뒤 공격 실행을 눌러, 같은 공격이 어떻게 다르게 끝나는지 직접 확인하세요.

현재: 취약한 설정 — 공격이 통할까요?
# 일부러 오류를 일으켜 노출된 상세 정보를 수집한다 # [공격 실행] 버튼을 누르면 시작합니다.

📋 설정 비교 (왜 막혔나?)

✗ 취약한 설정
# 설계 결정 스택트레이스·쿼리 오류 화면 노출 → 내부 구조 정보 유출
✓ 안전한 설정
# 설계 결정 공통 예외 처리 + 일반화 메시지 상세는 서버 로그에만 기록 → 정보 노출 없이 안전 처리

🔧 조치 방법

  1. 공통 예외 처리 계층에서 모든 예외를 일관되게 처리하도록 설계합니다.
  2. 사용자에게는 일반화된 메시지만, 상세는 서버 로그에만 남기도록 설계합니다.
  3. 예외 시 안전한 기본 동작(거부)을 설계합니다.

✅ 점검 체크리스트

  • 공통 예외처리가 설계됨
  • 상세정보 비노출이 설계됨
  • 안전한 기본동작이 설계됨
점검기준: 개발보안 설계기준 3.1 예외처리