용어와 정의
영문 또는 원어: BFLA
영문 정식명칭: Broken Function Level Authorization
한글명: 기능 수준 권한 부여 취약점
기능 수준 권한 부여 취약점은 계정의 역할이나 권한을 제대로 확인하지 않아 사용하면 안 되는 기능을 실행할 수 있는 문제입니다.
정확한 의미와 원리
관리자 전용 기능과 일반 회원 기능을 서버가 명확히 구분해야 합니다. 화면에 관리 메뉴가 없더라도 실제 요청 경로에 권한 검사가 없다면 보호되지 않습니다. 같은 경로에서도 요청 동작에 따라 필요한 권한이 달라질 수 있습니다.
쉽게 이해하는 예시
일반 사용자가 관리자용 계정 목록이나 사용자 삭제 기능을 호출할 수 있는 경우입니다. 접근 경로를 숨기거나 주소에 admin이라는 이름을 붙이는 것으로는 권한 부여가 되지 않습니다.
종류와 버전 및 관련 개념의 차이
객체 수준 문제와의 차이
기능 수준은 해당 기능을 사용할 수 있는지, 객체 수준은 그 기능으로 특정 자료를 다뤄도 되는지에 초점을 둡니다. 하나의 요청에 두 검사가 모두 필요할 수 있습니다.
역할과 세부 권한
역할 기반 정책은 관리자와 회원 같은 역할을 사용합니다. 세부 권한 정책은 기능별 실행 권한을 둘 수 있습니다. 정책 명칭보다 실제 서버의 검사 결과가 중요합니다.
적용 대상과 조건
관리 기능과 일반 사용자 기능이 함께 있는 서비스에서 중요합니다. 기본 거부 정책과 기능별 권한 검사를 일관되게 적용하는지 확인합니다.
확인할 부분과 오해하기 쉬운 점
한 경로의 차단 성공을 전체 기능의 보안 성공으로 확대하지 않습니다. 기능 변경과 새 요청 동작 추가 때 권한 정책도 검토해야 합니다.
공식 참고 자료
아래 공식 자료의 정의와 적용 범위를 바탕으로 작성했습니다. 예시는 개념을 설명하기 위한 상황이며 실제 작업 기록을 뜻하지 않습니다.
검토 기준일: 2026-10-26
함께 확인할 용어와 안내 글
관련 용어와 글
함께 비교할 용어
- XXE (XML External Entity) 외부 엔터티 취약점
- Insecure Deserialization 안전하지 않은 역직렬화
- Path Traversal 경로 탐색 취약점
- HTTP Request Smuggling (Hypertext Transfer Protocol Request Smuggling) 하이퍼텍스트 전송 프로토콜 요청 밀수
- Prototype Pollution 프로토타입 오염
- Credential Stuffing 유출 자격 증명 대입
- Password Spraying 비밀번호 스프레이 공격
- IDOR 안전하지 않은 직접 객체 참조