가. 취약점 개요
■ 내용 : 중요 페이지 접근 시 추가 인증 요구 여부 점검
■ 목적 : 중요 페이지에 추가 인증으로 접근을 강화하여 불필요한 정보의 노출 및 변조를 차단하기 위함
■ 보안 위협
- 중요정보(개인정보 변경 등) 페이지에 대한 인증 절차가 불충분할 경우 권한이 없는 사용자가 중요정보 페이지에 접근하여 정보를 유출하거나 변조할 수 있으므로 중요정보 페이지에는 추가적인 인증 절차를 구현하여야 함
■ 참고
※ 소스코드 및 취약점 점검 필요
나. 점검방법
■ 대상 : 웹 애플리케이션 소스코드
■ 판단기준
- 양호 : 중요정보 페이지 접근 시 추가 인증을 하는 경우
- 취약 : 중요정보 페이지 접근에 대한 추가 인증을 하지 않는 경우
■ 점검방법
Step 1) 중요정보(개인정보 변경 등) 페이지 접근 시 재인증 여부 확인
Step 2) 인증 후 페이지에 아이디만을 인증 값으로 하여 변수로 관리되고 있는지 확인
다. 조치방법
■ 중요정보 페이지에 대한 추가 인증 로직 추가 구현
■ 보안설정방법
- 중요정보(개인정보 변경 등)를 표시하는 페이지에서는 본인 인증을 재확인하는 로직을 구현하고, 사용자가 인증 후 이용 가능한 페이지에 접근할 때마다 승인을 얻은 사용자인지 페이지마다 검증하여야 함
- 접근 통제 정책을 구현하고 있는 코드는 구조화, 모듈화가 되어 있어야 함
- 접근제어가 필요한 모든 페이지에 통제수단(로그인 체크 및 권한 체크)을 구현해야 하며 특히, 하나의 프로세스가 여러 개의 페이지 또는 모듈로 이루어져 있을 때 권한 체크가 누락되는 경우를 방지하기 위해서 공통 모듈을 사용하는 것을 권장함
- 인증 과정을 처리하는 부분에 Client Side Script(Javascript, VBScript 등)를 사용하면 사용자가 임의로 수정할 수 있으므로 Server Side Script(PHP, ASP, JSP 등)를 통하여 인증 및 필터링 과정을 수행함
라. 조치시 영향
■ 일반적으로 영향 없음