에러처리
에러를 처리하지 않거나, 불충분하게 처리하여 에러정보에 중요정보(시스템 내부정보 등)가 포함될 때, 발생할 수 있는 보안약점이다.
오류 메시지 정보노출
정의
응용 프로그램이 실행환경, 사용자 등 관련 데이터에 대한 민감한 정보를 포함하는 오류 메시지를 생성해 외부에 제공하는 경우, 공격자의 악성 행위로 이어질 수 있습니다. 예외발생 시 예외이름이나 추적 메시지를 출력하는 경우, 프로그램 내부 구조를 쉽게 파악할 수 있기 때문입니다.
안전한 코딩기법
오류 메시지는 정해진 사용자에게 유용한 최소한의 정보만 포함하도록 합니다. 소스코드에서 예외상황은 내부적으로 처리하고 사용자에게 민감한 정보를 포함하는 오류를 출력하지 않고 미리 정의된 메시지를 제공하도록 설정해야 합니다.
코드예제
사용자 요청을 정상적으로 처리할 수 없는 경우에는 에러 페이지에 디버그 정보 또는 서버 정보가 노출될 수 있습니다. 따라서 제공되는 에러페이지 핸들러를 이용하여 별도의 에러페이지를 생성하여 사용자에게 표현하고 서버의 정보노출을 최소화해야합니다.
에러처리/오류 메시지 정보노출
[참고문헌] Python 시큐어코딩 가이드(2022) / KISA(한국인터넷진흥원)