에러 처리
예외 처리
보안대칙
- 명시적인 예외의 경우 예외처리 블록을 이용하여 예외발생 시 수행해야 하는 기능이 구현되도록 해야한다.
- 런타임 예외의 경우 입력 값의 범위를 체크하여 애플리케이션이 정상적으로 동작할 수 있는 값만 사용되도록 보장해야 한다.
- 에러가 발생한 경우 상세한 에러 정보가 사용자에게 노출되지 않게 해야 한다.
취약점 개요
a. 오류메시지로 정보 노출
웹 서버에 별도의 에러페이지를 설정하지 않은 경우 에러메시로 서버 데이터 정보 등 공격에 필요한 정보가 노출되는 취약점
b. 시스템 정보 노출
- 시스템, 관리자,DB정보 등 시스템의 내부 데이터가 공개되면 공격자에게 또 다른 공격의 빌미를 제공하게 된다.
설계시 고려 사항
a. 명시적인 예외의 경우 예외처리 블록을 이용하여 예외 발생 시 수행해야 하는 기능이 구현되도록 해야 한다.
- 각 프로그램 언어별 예외처리 문법에 대한 안전한 사용방법을 기술하고 모든 개발자가 구현 단계에서 안전하게
예외처리를 할 수 있도록 시큐어코딩 규칙을 정의한다.
예
자바 : 에러 발생시 logger API를 이용하도록 보안코딩 규칙을 정의
b. 런타임 예외의 경우 입력 값의 범위를 체크하여 애플리케이션이 정상적으로 동작할 수 있는 값만 사용되도록 보장해야한다.
- 입력 값에 따라 예외가 발생 가능한 경우 입력 값의 범위를 확인하여 사용하도록 보안코딩 규칙을 정의
c. 에러가 발생한 경우 상세한 에러 정보가 사용자에게 노출되지 않게 해야 한다.
./ 에러가 발생한 경우 지정된 페이지를 사용자에게 에러 공지
에러가 발생한 경우 프로그램 내에서 지정된 에러페이지로 리다이렉트 되도록 개발가이드 구현단계를 작성하거나
웹 애플리케이션 서버 설정으로 특정 에러나 예외사항에 대해 지정된 페이지가 사용자에게 보일 수 있도록 설계한다.
./ 사용자에게 보내는 오류메세지에 중요정보가 포함되지 않도록 함
오류메시지에 중요정보(개인정보,시스템정보,민감정보 등)가 포함되지 않도록 시큐어코딩 규칙을 정의
연관된 구현단계 보안 약점 항목
에러 처리 : 오류 메시지 정보노출
windows bat 실행 ( find find about day) (0) | 2022.09.08 |
---|---|
세션 통제 20220907 (0) | 2022.09.08 |
iptables 리눅스 20220906 (0) | 2022.09.06 |
중요정보 전송 20220906 (0) | 2022.09.06 |
중요정보 저장 보안 대책 [20220905] (0) | 2022.09.05 |
댓글 영역