가. 취약점 개요
■ 내용 : 인증이 필요한 웹 사이트의 중요(관리자 페이지, 회원변경 페이지 등) 페이지에 대한 접근제어 설정 여부 확인
■ 목적 : 인증이 필요한 모든 페이지에 대해 유효 세션임을 확인하는 프로세스 및 주요 정보 페이지에 접근 요청자의 권한 검증 로직을 적용하여, 비인가자가 하위 URL 직접 접근, 스크립트 조작 등의 방법으로 중요한 페이지에 접근을 시도하는 것을 차단하기 위함
■ 보안 위협
- 인증이 필요한 웹 사이트의 중요(관리자 페이지, 회원변경 페이지 등) 페이지에 대한 접근 제어가 미흡할 경우 하위 URL 직접 접근, 스크립트 조작 등의 방법으로 중요한 페이지에 대한 접근이 가능함
■ 참고
※ 소스코드 및 취약점 점검 필요
나. 점검방법
■ 대상 : 웹 애플리케이션 소스코드
■ 판단기준
- 양호 : 인증 후에 접근해야 하는 웹 사이트의 하위 URL을 로그인하지 않고 직접 접근할 때 접근이 불가능한 경우
- 취약 : 웹 사이트의 하위 URL을 로그인하지 않고 직접 접근할 때 접근이 가능한 경우
■ 점검방법
Step 1) 업무프로세스 파악
Step 2) 권한의 종류 및 범위 파악
Step 3) 페이지의 모든 기능을 수집하여 프로세스 상에 통제된 페이지 접근이 가능한지 확인
다. 조치방법
■ 인증이 필요한 페이지의 경우 페이지별 권한 체크 로직 구현
■ 보안설정방법
- 우회될 수 있는 플로우를 차단하여야 하며, 페이지별 권한 매트릭스를 작성하여 페이지에 부여된 권한의 타당성을 체크한 후 권한 매트릭스를 기준으로 전 페이지에서 권한 체크가 이뤄지도록 구현하여야 함
- 인증이 필요한 모든 페이지에 대해 유효 세션임을 확인하는 프로세스 및 주요 정보 페이지에 접근 요청자의 권한 검증 로직을 적용함
- 유효 세션의 검증 및 페이지에 대한 접근 권한을 Client Side Script에 의존할 경우 사용자가 임의로 수정할 수 있으므로 Server Side Script로 구현된 프로세스를 사용
■ ASP
- (예) 인증이 필요한 페이지 소스 코드
<% - 인증 성공 시 세션값 세팅 Session(“sessionChk”) = True Session(“UserID”) = userID Session(“UserGrp”) = userGrp Session(“UserIP”) = Request.Servervariables(“REMOTE_ADDR”) … 중략 … 사용자 그룹 리턴 함수 … 중략 … Function GetUserGroup(strUserID) End function … 중략 … 페이지에 접근 가능한 UserGroup 설정값이 ‘100’ 가정 시 ChkUserGrp = GetUserGroup(userID) //세션 userID값을 통해 DB에 저장된 사용자 그룹 리턴 … 중략 … If Session_Check and Session(“UserGrp”) = ChkUserGrp Then If Session(“UserGrp”) <> 100 Then Response.Write(“권한이 없습니다.”) Response.End End Else Response.Redirect “Login.asp” Response.End End if … 중략 … %> |
■ JSP
- (예) 인증이 필요한 페이지 소스 코드
<% … 중략 … PortalSessionManager sessionMgr = (PortalSessionManager) session.getAttribute("sessionMgr"); if (sessionMgr == null || sessionMgr.getUserId() == null) { (new FailToAuthenticateCmd()).execute(request,response); } … 중략 … String usrGrp = session.getAttribute("Usrgrp") == null ? "" : (String)session.getAttribute("Usrgrp"); if (!usrGrp.equals("") || !userGrp.equals(Code.getMarket())) { // 접근 권한을 인가할 수 없음. (new FailToPermissionCmd()).execute(request,response); } 중략 … %> |
라. 조치시 영향
■ 일반적으로 영향 없음
'주요정보통신기반기설 기술적 취약점 분석 평가 방법 상세가이드 > WEB 진단' 카테고리의 다른 글
23. 파일 다운로드 WEB [FD] - 주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세 가이드(2021) (0) | 2021.11.10 |
---|---|
22. 파일 업로드 WEB [FU] - 주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세 가이드(2021) (0) | 2021.11.10 |
20. 자동화 공격 WEB [AU] - 주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세 가이드(2021) (0) | 2021.11.09 |
19. 세션 고정 WEB [SF] - 주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세 가이드(2021) (0) | 2021.11.09 |
18. 불충분한 세션 만료 WEB [SC] - 주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세 가이드(2021) (0) | 2021.11.09 |