사전 목록
BOLA·IDOR

객체 수준 권한검사 실패

BOLA 또는 IDOR은 요청의 객체 식별자를 바꿨을 때 서버가 해당 객체에 대한 사용자의 권한을 확인하지 않아 다른 사람의 데이터에 접근되는 약점입니다.

#보안 취약점#BOLA#IDOR#객체 권한#API 보안

객체 수준 권한검사 실패

주문번호, 파일 ID, 사용자 UUID, 문서 키가 URL·쿼리·본문에 포함된 API에서 발생합니다. 식별자가 복잡하거나 무작위라는 사실은 권한검사를 대신하지 못합니다.

핵심 정보

분류보안 취약점

핵심 질문이 개념이 어떤 데이터·시스템·업무에 적용되며 실패할 때 누구에게 어떤 피해가 생기는지 확인합니다.

판단 원칙실제 구현, 권한, 데이터 흐름, 로그와 예외 절차를 함께 평가합니다.

발생 원인과 악용 조건

인증은 정상적으로 통과하지만 객체별 소유권과 조직, 위임 관계 검사가 빠집니다. 읽기와 수정, 삭제, 다운로드 엔드포인트마다 일관된 검사가 필요합니다.

운영 효과는 데이터 생성 지점, 처리 목적, 사용자와 관리자 권한, 외부 연동, 백업과 로그, 삭제 절차를 연결할 때 확보됩니다. 설계 문서와 실제 운영 상태가 다를 수 있으므로 설정값, 표본 데이터, 접근기록, 변경 이력을 근거로 검증합니다.

영향 범위

다른 고객의 개인정보와 파일을 대량 열람하거나 변경할 수 있습니다. 자동 열거가 가능하면 한 계정으로 전체 데이터셋이 유출될 수 있습니다.

개인정보 관련 위험에는 기밀성 침해, 잘못된 수정과 삭제, 서비스 중단, 부정확한 프로파일링, 차별적 의사결정, 계정 탈취, 사칭과 2차 피싱이 포함됩니다. 위험 평가는 정보의 민감도, 변경 가능성, 결합 가능성, 노출 기간, 대상 인원, 공격자의 실제 접근 능력을 반영합니다.

진단과 우선순위 판단

여러 사용자·조직의 테스트 객체를 만들고 식별자를 교환해 요청합니다. 연속·무작위 ID 모두 시험하며 로그에서 객체 소유자와 호출자 불일치를 찾습니다.

검토 결과에는 적용 범위, 남은 위험, 책임자, 개선 기한, 재검증 조건을 기록합니다. 외부 서비스와 오픈소스 구성요소가 관련되면 계약서와 보안 공지, 버전, 데이터 처리 위치, 하위 수탁·의존 관계도 확인합니다.

예방과 완화

보호조치는 예방, 탐지, 대응, 복구 단계에 나누어 배치합니다. 한 통제가 우회되거나 오작동해도 피해가 곧바로 전체 데이터로 확산되지 않도록 권한·네트워크·데이터·로그 통제를 겹쳐 적용합니다.

혼동하기 쉬운 개념

IDOR은 오래 사용된 명칭이며 BOLA는 API 맥락에서 객체 수준 권한 실패를 강조합니다. 단순히 ID가 노출된 사실만으로 취약점이 되지는 않습니다.

공식 참고자료

OWASP API Security Top 10

MITRE Common Weakness Enumeration