Secure Coding Guide | 오류 메시지를 통한 정보 노출

정의

개발자가 생성한 오류 메시지에 시스템 내부 구조 또는 계정 정보 등이 포함되어 민감한 정보가 노출될 수 있는 보안약점이다.

영향

시스템이나 애플리케이션에 대한 상세한 주요 정보 노출된다.

주요 노출 정보

  • SQL삽입 정보 제공
  • 경로 제공
  • 서버 버전 제공

조치 방법

안전하지 않은 Java 코드 일부

try {
    ....
} catch (Exception e) {
    e.printStackTrace();
		return e.getMessage();
}

printStackTrace를 사용하면, 오류 메세지가 공격자에게 노출될 수 있다.

안전한 코드

try {
   ...
} catch (Exception e) {
    System.out.println("ERROR1");
		return "ERROR1";
}

에러 코드를 표시하여서 공격자에게 중요한 내용 노출이 되지 않도록 한다.