티스토리 뷰
가. 취약점 개요
- 에러페이지를 설정하지 않아, 에러 메시지를 통해 서버 데이터 정보 등의 공격에 필요한 정보가 노출되는 취약점
→ 오류 페이지를 통한 정보노출
- 에러를 통해 시스템의 내부 데이터가 공개되어, 또 다른 공격의 빌미를 제공하는 취약점
→ 시스템 데이터 정보 노출
나. 요구사항
1. 명시적 예외에 대해 예외처리 블럭을 통해 예외처리 기능을 구현
2. 입력값 범위를 체크하여 정상동작을 보장
3. 상세한 에러정보를 노출하지 않도록 구현
다. 요구사항 별 고려사항
1. 명시적 예외에 대해 예외처리 블럭을 통해 예외처리 기능을 구현
- 언어별 예외처리 문법에 대한 안전한 사용방법을 기술
- 안전하게 예외처리 할 수 있도록 가이드 작성
2. 입력값 범위를 체크하여 정상동작을 보장
- 입력값에 따라 예외가 발생가능한지 확인
- 입력값의 범위를 체크하도록 구현
3. 상세한 에러정보를 노출하지 않도록 구현
- 에러발생 시 지정된 페이지를 통해 사용자에게 에러를 공지
- 지정된 에러페이지로 리다이렉트 처리
- 오류메시지에 중요정보가 포함되지 않도록 구현
라. 요구사항 별 진단기준 및 방법
0. 공통내용
- 요구사항 정의서에 보안요구항목에 대한 대책이 수립
- 아키텍쳐 설계서에 보안요구항목 적용계획이 수립
- 요구사항 추적표를 통해 요구사항 추적가능 여부
1. 명시적 예외에 대해 예외처리 블럭을 통해 예외처리 기능을 구현
- Exception 유형 별 처리방법을 정의하였는지 확인
- 시스템 정보가 노출되지 않도록 메시지를 정의하였는지 확인
- 예외상황에 대해 반드시 처리되도록 구현하였는지 확인
- 각각의 예외상황에 대해 분리 후 처리하는지 확인
- Exception 발생 시 로깅정책이 설계되었는지 확인
- Exception 로그에 포함되는 중요정보는 암호화 되도록 설계되었는지 확인
2. 입력값 범위를 체크하여 정상동작을 보장
- 입력 데이터에 대한 유효한 입력값의 범위를 검증하도록 설계되었는지 확인
3. 상세한 에러정보를 노출하지 않도록 구현
- 예외발생 시 스택정보나 중요정보가 외부에 노출되지 않도록 설계되었는지 확인
- 지정된 에러페이지가 응답되도록 서버설정되었는지 확인
마. 진단기준
1. 명시적 예외에 대해 예외처리 블럭을 통해 예외처리 기능을 구현
- 명시적인 Exception 상황을 안전하게 처리하도록 설계되어 있는지 확인
- 안전한 예외처리를 점검하는 테스트 계획 확인
2. 입력값 범위를 체크하여 정상동작을 보장
- 런타임 Exception이 안전하게 처리되도록 설계되었는지 확인
- 안전한 예외처리를 점검하는 테스트 계획 확인
3. 상세한 에러정보를 노출하지 않도록 구현
- Exception 발생 시 상세 에러정보가 노출되지 않도록 설계되었는지 확인
- 에러를 통한 상세정보가 노출되는지 점검하는 테스트 계획 확인
바. 안전한 보안설계 예
No | 요구사항 명 | 해결방안 | 검수기준 | |
1 | 명시적 예외처리 | 명시적인 예외에 대해 처리한다. | 명시적인 예외에 대한 처리가 구현되어 있다. | |
2 | 런타임 예외처리 | 정적분석을 통해 런타임 예외가 발생할 수 있는 경우에 대해 검증 기능을 추가한다. | 런타임 예외가 발생하지 않는다. | |
3 | 오류 메시지를 통한 정보노출 방지 | 서버 설정을 통해 지정된 오류페이지가 사용자에게 보여지도록 한다. | 오류 발생 시 지정된 오류 페이지가 보여진다. |
'Web Analytics > SW 보안약점 진단원' 카테고리의 다른 글
[구현보안] 입력 데이터 검증 및 표현 01 - SQL 삽입 (0) | 2019.09.30 |
---|---|
[설계보안] 세션통제 01 - 세션통제 (0) | 2019.09.29 |
[설계보안] 보안기능 08 - 중요정보 전송 (0) | 2019.09.29 |
[설계보안] 보안기능 07 - 중요정보 저장 (0) | 2019.09.29 |
[설계보안] 보안기능 06 - 암호연산 (0) | 2019.09.29 |
- Total
- Today
- Yesterday