티스토리 뷰
가. 원인
- 여러 개의 코드에 하나의 try 블럭을 설정하여, 모든 예외에 대해 하나의 방식으로 예외를 처리하는 경우
나. 영향
- 각각의 예외처리에 대해 적절한 대응이 불가
- 부적절한 리소스 관리로 시스템 중지 초래
- 예외 상황에 대한 적절한 로깅이 되지 않아 사후처리가 어려움
다. 보안대책
- 광범위한 예외처리 대신 구체적인 예외처리를 수행
- 각각의 예외 상황에 맞춰 적절한 예외 처리를 수행하도록 구현
라. 안전한 코드
1. 구체적 예외처리
BufferedReader rd = null; try { rd = new BufferedReader( new FileReader( new File( fileName ) ) ); String line = rd.readine(); SimpleDateFormat format = new SimpleDateFormat( "MM/DD/YY" ); Date date = format.parse( line ); } catch ( IOException e ) { logger.error( "ERR-01: file open error" ); } catch ( ParseException e ) { logger.error( "ERR-01: data parsing error" ); } finally { try { if( rd != null ) { rd.close(); } } catch ( Exception e ) { logger.error( "ERR-02: file close error" ); } }
|
마. 진단방법
<오류메시지 확인>
1. 예외처리 로직 확인
2. 구체적으로 예외처리를 구분하여 처리하고 있는지 확인
'Web Analytics > SW 보안약점 진단원' 카테고리의 다른 글
[구현보안] 코드오류 02 - 부적절한 자원 해제 (0) | 2019.10.07 |
---|---|
[구현보안] 코드오류 01 - Null Pointer 역참조 (0) | 2019.10.07 |
[구현보안] 에러처리 02 - 오류 상황 대응 부재 (0) | 2019.10.07 |
[구현보안] 에러처리 01 - 오류 메시지를 통한 정보 노출 (0) | 2019.10.07 |
[구현보안] 시간 및 상태 02 - 종료되지 않은 반복문 또는 재귀함수 (0) | 2019.10.06 |
- Total
- Today
- Yesterday