티스토리 뷰

반응형

 

 

 

가. 원인

  - 디버깅 목적으로 삽입된 코드가 제거되지 않은 경우

 

 

나. 영향

  - 민가정보나 시스템 제어를 허용하는 디버그 코드가 존재할 경우, 인증우회 / 정보노출 등이 발생 가능

 

 

다. 보안대책

  - SW 배포 전 디버그 코드를 반드시 확인 및 삭제

  - 디버그 목적으로 사용하는 main 함수를 삭제

 

 

라. 안전하지 않은 코드

1. 디버그 함수 및 코드 존재

 

  class LoginManagement{

     ...

     // 디버그 목적의 main 함수 존재

     public static void main( String[] args ) {

        ...

     }

     

     public boolean requestLogin( String id, String password ) {

         boolean bLogined = false;

         // 관리자 계정으로 자동 로그인하는 디버그 코드 존재

         if( DEBUG ) {

            session.setAttribute( "LoginID", "admin" );

            bLogined = true;

            return bLogined;

         }

         ....

     }

  }

 

 

 

마. 진단방법

<디버그 코드 확인>

  1. 개발 중 사용한 테스트 목적의 디버그 코드가 존재하는지 확인

  2. J2EE 환경에서 Main 함수가 존재하는지 확인

 

 

바. 정/오탐 케이스

<정탐 케이스>

  1. J2EE와 같은 응용 프로그램에서 디버깅용인 main() 함수가 존재할 경우

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