피드로 돌아가기
Hacker NewsSecurity
원문 읽기
Client-side Auth 우회로 인한 World Cup 라이브 스트림 제어권 노출 사고
I Could've Rickrolled the FIFA World Cup. All I Needed Was My ID
AI 요약
Context
FIFA의 내부 플랫폼들이 Microsoft Entra Tenant를 공유하며 인증 체계를 통합 운용함. 하지만 권한 검증 로직을 Frontend Angular 앱에만 의존하여 Backend API의 서버 사이드 검증이 누락된 구조적 결함 발생.
Technical Solution
- Public Portal(agents.fifa.org)을 통해 일반 사용자를 내부 Entra Tenant에 추가하여 유효한 JWT 확보
- Frontend의 NO_ROLES 마커 기반 접근 제한을 우회하여 Backend API에 직접 요청 전송
- 서버 사이드 Authorization 로직 부재로 인해 인증된 모든 Tenant 멤버에게 관리자 권한 데이터 반환
- RTMP Ingest URL과 Stream Key가 포함된 Streaming Management 패널에 무제한 접근 허용
- 서버 사이드에서 JWT의 Role Claim을 검증하여 403 Forbidden을 반환하는 Enforcement 로직으로 수정
실천 포인트
- 모든 API 엔드포인트에 대해 서버 사이드 권한 검증(Server-side Authorization) 필수 적용 - 인증(Authentication)과 인가(Authorization)를 엄격히 분리하여 설계 - 프론트엔드 UI 제어 로직을 보안 경계로 간주하지 않는 Zero Trust 원칙 적용 - 외부 파트너와 공유하는 Tenant의 경우 최소 권한 원칙(Principle of Least Privilege) 기반의 Role 설계 검토