접근통제 실패
접근통제 실패는 사용자가 허용된 범위를 넘어 다른 데이터나 기능에 접근하도록 서버의 권한검사가 누락되거나 우회되는 약점입니다.
접근통제 실패
URL과 API 경로, 객체 ID, HTTP 메서드, 숨겨진 관리자 메뉴, 클라이언트 측 조건만 믿을 때 발생합니다. 인증된 사용자도 자신의 권한 밖의 작업을 수행할 수 있습니다.
핵심 정보
발생 원인과 악용 조건
수평 권한상승은 다른 사용자의 데이터에 접근하며 수직 권한상승은 관리자 기능을 얻습니다. 모든 요청에서 서버가 주체·작업·객체·상황을 확인해야 합니다.
운영 효과는 데이터 생성 지점, 처리 목적, 사용자와 관리자 권한, 외부 연동, 백업과 로그, 삭제 절차를 연결할 때 확보됩니다. 설계 문서와 실제 운영 상태가 다를 수 있으므로 설정값, 표본 데이터, 접근기록, 변경 이력을 근거로 검증합니다.
영향 범위
고객 프로필, 주문, 문서, 의료·금융정보가 순차 ID 변경만으로 노출될 수 있습니다. 수정·삭제 권한이 열리면 무결성과 서비스 운영도 피해를 받습니다.
개인정보 관련 위험에는 기밀성 침해, 잘못된 수정과 삭제, 서비스 중단, 부정확한 프로파일링, 차별적 의사결정, 계정 탈취, 사칭과 2차 피싱이 포함됩니다. 위험 평가는 정보의 민감도, 변경 가능성, 결합 가능성, 노출 기간, 대상 인원, 공격자의 실제 접근 능력을 반영합니다.
진단과 우선순위 판단
역할별 테스트 계정으로 객체·기능·메서드·대량 API를 점검합니다. 로그에서 반복적인 ID 변경, 거부 응답, 사용자와 객체 소유자 불일치를 확인합니다.
검토 결과에는 적용 범위, 남은 위험, 책임자, 개선 기한, 재검증 조건을 기록합니다. 외부 서비스와 오픈소스 구성요소가 관련되면 계약서와 보안 공지, 버전, 데이터 처리 위치, 하위 수탁·의존 관계도 확인합니다.
예방과 완화
- 서버의 중앙 권한정책으로 모든 요청을 검사합니다.
- 기본 거부와 객체 소유권·조직 경계 검증을 적용합니다.
- 클라이언트가 보낸 역할·사용자 ID를 권한 근거로 신뢰하지 않습니다.
- 권한 테스트를 자동화하고 관리자·대량기능을 별도 검토합니다.
보호조치는 예방, 탐지, 대응, 복구 단계에 나누어 배치합니다. 한 통제가 우회되거나 오작동해도 피해가 곧바로 전체 데이터로 확산되지 않도록 권한·네트워크·데이터·로그 통제를 겹쳐 적용합니다.
혼동하기 쉬운 개념
인증 실패는 사용자가 누구인지 확인하지 못하는 문제이며 접근통제 실패는 확인된 사용자가 무엇을 할 수 있는지 잘못 결정하는 문제입니다.