티스토리 뷰

반응형

 

 

 

가. 원인

  - 적절한 인증과정 없이 중요정보를 열람 또는 변경처리

 

 

나. 영향

  - 권한없는 사용자가 중요기능을 사용

  - 권한없는 사용자가 중요정보를 변조

 

 

다. 보안대책

  - 보안검사를 우회하여 서버에 접근할 수 없도록 설계

  - 중요정보를 제공하는 페이지에 접근 시 재인증 수행

  - 안전하다고 확인된 라이브러리나 프레임워크를 사용

 

 

라. 안전한 코드

1. 정보 소유자 검증

 

  public ModelAndView modifyUserInfo( ... ) {

     String userID = (String) session.getAttribute("LoginID");

     String requestID = request.getParameter("userID");

     // 회원정보를 변경하려는  ID와 기능요청자의 ID가 동일한 사람인지 화인

     if ( userID != requestID )

        showAlert( "Not Allowed" );

     ...

     modifyMemberInfo(request);

     ...

  }

 

 

 

 

마. 진단방법

<적절한 인증여부 확인>

  1. 중요정보 / 개인정보 등에 대해 접근 및 사용이 제한되어야 하는 기능 확인

  2. 중요기능에 대해 적절한 인증을 수행하는지 확인

 

 

 

바. 정/오탐 케이스

<정탐 케이스>

  1. 재인증을 하지 않고 계좌이체를 수행

  2. 클라이언트 측 코드에서 인증을 수행할 경우

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