티스토리 뷰
가. 원인
- Exception 발생 시 시스템 / 관리자 / DB정보 등의 시스템 내부정보가 사용자에게 노출되는 경우
나. 영향
- 오류정보를 통해 시스템 / 관리자 / DB정보 등의 중요정보가 노출
- 노출된 정보를 이용하여 추가적인 공격에 활용 가능성
다. 보안대책
- Exception 발생 시 시스템 내부정보가 화면에 출력되지 않도록 개발
- Exception 발생 시 오류와 관련된 정보가 노출되지 않도록 getMessage( ) 메서드를 사용제한
- 오류발생 시 디폴트 오류 페이지가 사용자에게 전달되도록 환경설정
라. 안전하지 않은 코드
1. getMessage( ) 사용
try { ... catch ( Exceptoin e ) { // getMessage 대신 정보노출이 되지 않는 수준의 오류처리가 필요함 // alertMessage( "Error Occur [ERR-1212]" ); alertMessage( "Error : " + e.getMessage( ) ); } |
마. 진단방법
<시스템 정보노출 확인>
1. 시스템 정보 출력 코드가 존재하는지 확인
바. 정/오탐 케이스
<정탐 케이스>
1. printStackTrace() 등을 사용하여 내부데이터나 디버깅 정보를 공개할 경우
사. 기타
- 4-1 오류메시지를 통한 정보 노출
=> printStackTrace( ) 를 통해 콘솔에 민감정보가 노출되는 것
- 6-3 시스템 데이터 정보 노출
=> Exception 메시지를 사용자에게 전달하여 민감정보가 노출되는 것
'Web Analytics > SW 보안약점 진단원' 카테고리의 다른 글
[구현보안] 캡슐화 05 - Private 배열에 Public 데이터 할당 (0) | 2019.10.07 |
---|---|
[구현보안] 캡슐화 04 - Public 메서드로부터 반환된 Private 배열 (0) | 2019.10.07 |
[구현보안] 캡슐화 02 - 제거되지 않고 남은 디버그 코드 (0) | 2019.10.07 |
[구현보안] 캡슐화 01 - 잘못된 세션에 의한 데이터 정보 노출 (0) | 2019.10.07 |
[구현보안] 코드오류 04 - 초기화되지 않은 변수 사용 (0) | 2019.10.07 |
- Total
- Today
- Yesterday