[취약점] 프로세스 검증 누락

2024. 3. 24. 13:04정보 보안/취약점

 

정의

 

  인증이 필요한 모든 페이지에 대해 비인가자가 하위 URL에 직접 접근, 스크립트 조작 등의 방법으로 중요한 페이지에 접근할 수 있는 취약점을 의미한다.

 

 

공격 시나리오

 

  인증이 필요한 웹 사이트의 중요 페이지에 대한 접근 제어가 미흡할 경우 하위 URL에 직접 접근, 스크립트 조작 등의 방법으로 중요한 페이지에 대한 접근이 가능할 수 있다.

 

 

대응 방안

 

  • 인증이 필요한 페이지의 경우 페이지별 권한 체크 로직 구현

 

 

판단 기준

 

주요정보통신기반시설

  • 양호 : 인증 후에 접근해야 하는 웹 사이트의 하위 URL을 로그인하지 않고 직접 접근할 때 접근이 불가능한 경우
  • 취약 : 웹 사이트의 하위 URL을 로그인하지 않고 직접 접근할 때 접근이 가능한 경우

 

 

점검 예시

 

주요정보통신기반시설

  • 업무프로세스 파악
  • 권한 종류 및 범위 파악
  • 페이지의 모든 기능을 수집하여 프로세스 상에 통제된 페이지 접근이 가능한지 확인

 

전자금융기반시설

  • 인증 절차 후 접근이 가능한 페이지의 URL을 수집하여 인증절차 없이 접근 시도, 클라이언트 스크립트를 통한 접근 제어 시 해당 스크립트를 삭제하여 인증 없이 해당 페이지에 접근 가능 여부 점검
  • 플로우 통제 우회 가능 여부 점검

* 플로우 통제 : 이용자 인증 시 단계별 인증을 통해 하는 경우 전 단계의 요건을 갖춰야 다음 단계로 진입하도록 된 구조
Ex) step 1. 연락처 작성 > step 2. 주소 작성 > step 3. 개인정보 작성 > step 4. 완료

 

 

구체적 보안 설정 방법

 

1. 우회될 수 있는 플로우를 차단하여야 하며, 페이지별 권한 매트릭스를 작성하여 페이지에 부여된 권한의 타당성을 체크한 후 권한 매트릭스를 기준으로 전 페이지에서 권한 체크가 이뤄지도록 구현해야 한다.

 

2. 인증이 필요한 모든 페이지에 대해 유효한 세션임을 확인하는 프로세스 및 주요 정보 페이지에 접근 요청자의 권한 검증 로직을 적용해야 한다.

 

3. 유효한 세션의 검증 및 페이지에 대한 접근 권한은 Server Side Script로 구현된 프로세스를 사용하도록 한다.(Client Side Script로 구현하게 되면 공격자가 임의로 수정할 수 있어 우회의 가능성이 존재한다.)

'정보 보안 > 취약점' 카테고리의 다른 글

[취약점] 파일 다운로드  (0) 2024.03.25
[취약점] 파일 업로드  (0) 2024.03.24
[취약점] 자동화 공격  (0) 2024.03.24
[취약점] 세션 고정  (0) 2024.03.24
[취약점] 불충분한 세션 만료  (0) 2024.03.23