용어와 정의
영문 또는 원어: BOLA
영문 정식명칭: Broken Object Level Authorization
한글명: 객체 수준 권한 부여 취약점
객체 수준 권한 부여 취약점은 사용자가 지정한 개별 자료에 접근할 권한을 서버가 제대로 확인하지 않아 다른 사람의 자료를 읽거나 바꿀 수 있는 문제입니다.
정확한 의미와 원리
로그인 여부를 확인하는 인증과 개별 자료의 소유자 및 접근 범위를 확인하는 권한 부여는 다릅니다. 요청의 식별번호가 올바른 형식이더라도 해당 계정이 그 자료에 대해 요청한 동작을 수행해도 되는지 매번 확인해야 합니다.
쉽게 이해하는 예시
회원이 자신의 문의 내역을 보는 기능에서 다른 사람의 문의 번호를 지정했는데 내용이 그대로 보인다면 객체별 접근 검사가 빠졌을 가능성이 있습니다. 실제 시험은 소유하거나 명시적으로 허가받은 환경에서만 수행해야 합니다.
종류와 버전 및 관련 개념의 차이
기능 수준 문제와의 차이
객체 수준 문제는 같은 기능 안에서 어떤 자료에 접근하는지를 다룹니다. 기능 수준 권한 부여 취약점은 일반 사용자에게 관리자 기능이 열리는 경우처럼 어떤 기능을 사용할 수 있는지를 다룹니다.
식별번호 형식과 권한 검사
추측하기 어려운 식별번호는 무작위 접근을 어렵게 할 수 있지만 권한 검사를 대신하지 않습니다. 읽기, 수정과 삭제 등 각 동작을 대상으로 정책을 적용해야 합니다.
IDOR (Insecure Direct Object Reference) 안전하지 않은 직접 객체 참조
영문 또는 원어: IDOR
영문 정식명칭: Insecure Direct Object Reference
한글명: 안전하지 않은 직접 객체 참조
안전하지 않은 직접 객체 참조는 사용자가 조작할 수 있는 자료 참조 값을 이용하면서 적절한 접근 검사를 하지 않아 허용되지 않은 자료에 접근하게 되는 문제입니다.
주소, 요청 본문과 숨겨진 입력값의 문서 번호나 계정 번호가 직접 참조의 예입니다. 참조 값을 숨기는 것보다 서버가 현재 사용자의 권한 범위 안에서 자료를 조회하는 것이 핵심입니다.
객체 수준 권한 부여 취약점과 겹치는 사례가 많지만 모든 문맥에서 완전히 같은 뜻으로 단정하지 않습니다. 앞의 용어는 애플리케이션 인터페이스의 객체별 권한 범주를, 직접 객체 참조는 참조 값과 접근 검사 결함을 설명합니다.
적용 대상과 조건
자료 번호나 자원 경로를 받아 처리하는 웹 서비스와 애플리케이션 인터페이스에서 중요합니다. 사용자, 대상 자료, 수행 동작과 조직 경계를 함께 확인합니다.
확인할 부분과 오해하기 쉬운 점
로그인 성공이나 화면 버튼 숨김만으로 서버의 접근 통제가 입증되지는 않습니다. 공식 문서는 검증 기준을 제공하며 모든 서비스에 같은 권한 규칙을 정해 주지는 않습니다.
공식 참고 자료
아래 공식 자료의 정의와 적용 범위를 바탕으로 작성했습니다. 예시는 개념을 설명하기 위한 상황이며 실제 작업 기록을 뜻하지 않습니다.
검토 기준일: 2026-10-26
함께 확인할 용어와 안내 글
관련 용어와 글
함께 비교할 용어
- BFLA (Broken Function Level Authorization) 기능 수준 권한 부여 취약점
- XXE (XML External Entity) 외부 엔터티 취약점
- Insecure Deserialization 안전하지 않은 역직렬화
- Path Traversal 경로 탐색 취약점
- HTTP Request Smuggling (Hypertext Transfer Protocol Request Smuggling) 하이퍼텍스트 전송 프로토콜 요청 밀수
- Prototype Pollution 프로토타입 오염
- Credential Stuffing 유출 자격 증명 대입
- Password Spraying 비밀번호 스프레이 공격
- IDOR 안전하지 않은 직접 객체 참조