티스토리 뷰

반응형

 

 

 

가. 원인

  - 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 메시지를 사용자에게 전달하여 민감정보가 노출되는 것

반응형
댓글
반응형
최근에 올라온 글
Total
Today
Yesterday