[취약점] 불충분한 인증

2024. 3. 23. 13:56정보 보안/취약점

 

정의

 

  중요 페이지 접근 시 추가적인 인증 절차가 불충분한 경우 생기는 취약점을 의미한다. 주로 사용자 개인정보가 출력되는 페이지나 개인정보 변경 페이지에 접근 시 해당된다.

 

 

공격 시나리오

 

  중요정보 페이지에 대한 인증 절차가 불충분한 경우 권한이 없는 사용자가 중요정보 페이지에 접근하여 정보를 유출하거나 변조할 수 있다.

 

 

대응 방안

 

  • 중요정보 페이지에 대한 추가 인증 로직 추가 구현

 

 

판단 기준

 

주요정보통신기반시설

  • 양호 : 중요정보 페이지 접근 시 추가 인증을 하는 경우
  • 취약 : 중요정보 페이지 접근에 대한 추가 인증을 하지 않는 경우

 

 

점검 예시

 

주요정보통신기반시설

  • 중요정보(개인정보 변경 등) 페이지 접근 시 재인증 여부 확인
  • 인증 후 페이지에 아이디만을 인증 값으로 하여 변수로 관리되고 있는지 확인 

 

전자금융기반시설

  • 개인정보 및 비밀번호 수정 기능 페이지 접근 전에 본인인증에 대한 재인증 여부 확인

 

 

구체적 보안 설정 방법

 

1. 중요정보(개인정보 변경 등)를 표시하는 페이지에서는 본인 인증을 재확인하는 로직을 구현해야 한다.

 

2. 사용자가 인증 후 이용 가능한 페이지에 접근할 때마다 승인을 얻은 사용자인지 페이지마다 검증해야 한다.

 

3. 접근 통제 정책을 구현하고 있는 코드는 구조하, 모듈화가 되어 있어야 한다.

 

4. 접근제어가 필요한 모든 페이지에 통제수단(로그인 체크 및 권한 체크) 기능을 구현해야 하며 특히, 하나의 프로세스가 여러 개의 페이지 또는 모듈로 이루어져 있을 경우 권한 체크가 누락되는 것을 방지하기 위해 공통 모듈을 사용한다.

 

5. 인증 과정은 Client Side Script(Javascript, VBScript 등)가 아닌 Server Side Script(PHP, ASP, JSP 등)를 통하여 인증 및 필터링 과정을 수행하도록 한다.

(Client Side Script로 구현을 하게 되면 공격자가 임의로 수정하여 우회할 수 있다.)