Skip to main content
QUICK REVIEW

[논문 리뷰] A Comprehensive Formal Security Analysis of OAuth 2.0

Daniel Fett, R. Kuesters|arXiv (Cornell University)|2016. 01. 06.
Web Application Security Vulnerabilities참고 문헌 21인용 수 35
한 줄 요약

이 논문은 실제 웹 상호작용을 반영하는 표현력 있는 웹 모델을 사용하여 OAuth 2.0의 처음으로 종합적인 형식적 보안 분석을 제시한다. 이는 307 Redirect, IdP Mix-Up, State Leak, Naïve RP Session Integrity의 4가지 이전에 알려지지 않은 공격을 규명하고, 이를 수정하기 위한 조치를 제안하며, 수정된 프로토콜이 표준 보안 최선의 실천 방식에 기반하여 강력한 인증, 인증 및 세션 무결성을 달성한다는 것을 형식적으로 증명한다.

ABSTRACT

The OAuth 2.0 protocol is one of the most widely deployed authorization/single sign-on (SSO) protocols and also serves as the foundation for the new SSO standard OpenID Connect. Despite the popularity of OAuth, so far analysis efforts were mostly targeted at finding bugs in specific implementations and were based on formal models which abstract from many web features or did not provide a formal treatment at all. In this paper, we carry out the first extensive formal analysis of the OAuth 2.0 standard in an expressive web model. Our analysis aims at establishing strong authorization, authentication, and session integrity guarantees, for which we provide formal definitions. In our formal analysis, all four OAuth grant types (authorization code grant, implicit grant, resource owner password credentials grant, and the client credentials grant) are covered. They may even run simultaneously in the same and different relying parties and identity providers, where malicious relying parties, identity providers, and browsers are considered as well. Our modeling and analysis of the OAuth 2.0 standard assumes that security recommendations and best practices are followed, in order to avoid obvious and known attacks. When proving the security of OAuth in our model, we discovered four attacks which break the security of OAuth. The vulnerabilities can be exploited in practice and are present also in OpenID Connect. We propose fixes for the identified vulnerabilities, and then, for the first time, actually prove the security of OAuth in an expressive web model. In particular, we show that the fixed version of OAuth (with security recommendations and best practices in place) provides the authorization, authentication, and session integrity properties we specify.

연구 동기 및 목표

  • 실제 웹 환경을 반영하는 현실적인 웹 모델에서 OAuth 2.0 표준에 대한 형식적이고 종합적인 보안 분석을 제공하는 것.
  • 강력한 보안 성질인 인가, 인증 및 세션 무결성의 정의와 형식적 검증을 수행하는 것.
  • OAuth 2.0 및 파생된 OpenID Connect에서 이전에 알려지지 않은 공격을 규명하고 분석하는 것.
  • 발견된 취약점에 대한 실용적인 수정 조치를 제안하고, 그 효과성을 형식적으로 증명하는 것.
  • OAuth 2.0가 보안 최선의 실천 방식과 결합될 경우 현실적인 위협 모델에서 강력한 보안 보장을 달성한다는 것을 입증하는 것.

제안 방법

  • 브라우저, 신뢰당하는 당사자(Relying Party), 신원 제공자, 네트워크 공격자 등을 포함한 OAuth 2.0 상호작용을 형식적으로 표현하기 위해 FKS 웹 모델을 개발하였다.
  • 동일한 형식적 프레임워크 내에서 OAuth 2.0의 모든 4가지 권한 부여 유형(인가 코드, 암시적, 자원 소유자 비밀번호, 클라이언트 자격 증명)을 모델링하였다.
  • 형식적 보안 성질을 정의: 인가(권한이 있는 사용자만 자원에 접근 가능), 인증(사용자가 정확히 식별됨), 세션 무결성(세션 상태가 변조로부터 보호됨).
  • 악성 신뢰당하는 당사자, 신원 제공자, 브라우저 및 네트워크 수준의 조작(예: DNS 스푸핑, 307 리디렉션)을 포함한 공격자 능력을 형식화하였다.
  • 기본적으로 정의된 보안 성질을 충족하는 수정된 OAuth 2.0 프로토콜이 성립하는지 확인하기 위해 기호 실행 및 모델 체킹 기법을 사용하였다.
  • 이벤트 시퀀스, 토큰 처리 및 구성 요소 간 상태 일관성에 관한 보조정리를 활용하여 구조화된 증명 개요를 기반으로 보안 정리를 증명하였다.

실험 결과

연구 질문

  • RQ1형식적 모델은 현실적인 웹 환경에서 OAuth 2.0 상호작용의 전체 복잡성을 포괄할 수 있는가?
  • RQ2OAuth 2.0 맥락에서 강력한 인가, 인증 및 세션 무결성의 형식적 정의는 무엇인가?
  • RQ3실제 위협 모델 하에서 OAuth 2.0 및 OpenID Connect의 어떤 취약점이 형식적으로 규명되고 악용될 수 있는가?
  • RQ4발견된 취약점에 대한 제안된 수정 조치가 의도된 보안 보장을 복원하는가?
  • RQ5정의된 보안 성질 및 공격자 모델 하에서 수정된 OAuth 2.0 버전이 형식적으로 증명 가능한 보안성을 확보하는가?

주요 결과

  • 4개의 새로운 공격이 형식적으로 규명됨: 307 Redirect, IdP Mix-Up, State Leak, Naïve RP Session Integrity. 이 공격들은 실질적으로 악용 가능하며 OpenID Connect에도 존재함.
  • 307 Redirect 공격은 공격자가 HTTP 307 리디렉션을 조작하여 사용자의 인가 프로세스를 악성 신원 제공자로 리디렉션할 수 있음.
  • IdP Mix-Up 공격은 신뢰당하는 당사자가 다른 신원 제공자로부터 토큰을 수락하도록 속임으로써 공격자가 사용자를 위장할 수 있음.
  • State Leak 공격은 상태 매개변수를 적절히 검증하지 않을 경우 발생하며, 세션 고정 및 요청 위조를 가능하게 함.
  • Naïve RP Session Integrity 공격은 신뢰당하는 당사자가 액세스 토큰의 출처를 인증하지 못할 경우 발생하여 세션 해킹으로 이어짐.
  • 제안된 수정 조치를 적용한 후, 형식적 증명을 통해 향상된 OAuth 2.0 프로토콜이 정의된 모든 보안 성질—인가, 인증 및 세션 무결성—을 충족함을 확인함.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.