토픽 61 / 210·인증 및 접근제어
OAuth 2.0 취약점 (OAuth 2.0 Vulnerabilities)
OAuth 2.0 취약점 (OAuth 2.0 Vulnerabilities)
OAuth 2.0 인가 프레임워크의 구현 및 설정 미흡으로 발생하는 보안 취약점으로, Authorization Code 탈취, CSRF, Token 유출 등의 공격에 노출될 수 있으며, PKCE, State 파라미터 등의 보안 확장이 필수
목적: 안전한 OAuth 구현, 토큰 보호, 인가 코드 탈취 방지, CSRF 방지, 피싱 방어
특징: 구현 복잡성, 다양한 Grant Type, Redirect 기반, 토큰 관리 중요
주요 취약점
- •Authorization Code Interception: 인가 코드 가로채기 → 대응: PKCE 적용
- •CSRF(Cross-Site Request Forgery): 악의적 인가 요청 → 대응: State 파라미터
- •Open Redirect: redirect_uri 조작 → 대응: 화이트리스트, 정확한 매칭
- •Token Leakage: 토큰 노출(URL, 로그, Referrer) → 대응: POST 응답, Secure 저장
- •Insufficient Scope: 과도한 권한 요청 → 대응: 최소 권한 원칙
PKCE(Proof Key for Code Exchange)
- •모바일/SPA에서 인가 코드 탈취 방지
- •code_verifier(랜덤 값) → code_challenge(해시) 전송 → 토큰 요청 시 code_verifier 검증
- •S256(SHA-256) 권장
보안 모범 사례: PKCE 필수(모든 클라이언트), State 파라미터, 짧은 토큰 만료, Refresh Token Rotation, HTTPS 필수
장점: 표준화된 인가 프레임워크, 확장성, 위임 인가, 다양한 Grant Type
단점: 구현 복잡, 설정 오류 위험, 보안 확장 필수, 학습 곡선
적용사례: 소셜 로그인, API 인가, 모바일 앱, SPA(Single Page App)
비교: OAuth 2.0(인가) vs OpenID Connect(인증+인가) vs SAML(엔터프라이즈 SSO)
연관: PKCE, JWT, OpenID Connect, 인증·인가, API 보안, CSRF