패스잇
보안 · 심화

OWASP API Security Top 10에서 가장 빈번하게 발생하는 A01:2023-Broken Object Level Authorization (BOLA)과 A02:2023-Broken Function Level Authorization (BFLA) 취약점을 방지하기 위한 설계 및 구현 시 고려해야 할 심층적인 방안들을 설명하고, 특히 다중 테넌트(Multi-tenant) 환경에서의 적용 방안을 제시해 주십시오.

힌트 · API 게이트웨이에서의 중앙화된 인가 검증, 리소스 소유권 검증, 세밀한 권한 모델 설계, 다중 테넌트 ID 격리 방안이 중요합니다.

객체 식별자 검증기능 접근 제어RBAC/ABAC테넌트 격리권한 위임

모범답안

OWASP API Security Top 10에서 BOLA와 BFLA는 API 보안의 핵심 취약점입니다. 이를 방지하기 위해 설계 및 구현 단계에서 객체 수준과 기능 수준의 인가 검증을 철저히 해야 합니다.

BOLA 방지를 위해서는 API 게이트웨이에서 중앙화된 인가 검증을 수행하고, 모든 요청에 대해 리소스 소유권 및 접근 권한을 확인해야 합니다. 객체 식별자를 검증하여 다른 사용자의 데이터에 접근하는 것을 막아야 합니다.

BFLA 방지를 위해서는 RBAC 또는 ABAC와 같은 세밀한 권한 모델을 설계하고, 각 기능에 대한 접근 권한을 명확하게 정의해야 합니다. API 게이트웨이에서 각 사용자의 역할 또는 속성에 따라 기능 접근을 제어해야 합니다.

다중 테넌트 환경에서는 테넌트 ID 격리가 매우 중요합니다. 모든 API 요청에 테넌트 ID를 포함하고, 데이터 접근 시 테넌트 ID를 기준으로 필터링해야 합니다. 권한 위임 시에도 테넌트 ID를 고려하여 다른 테넌트의 데이터에 접근하는 것을 방지해야 합니다. 예를 들어, API 게이트웨이에서 JWT 토큰의 테넌트 ID를 추출하여 데이터베이스 쿼리에 적용할 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 OWASP / 취약점 면접 질문

← OWASP / 취약점 면접 질문 전체 보기