Skip to main content
QUICK REVIEW

[논문 리뷰] OAuthGuard: Protecting User Security and Privacy with OAuth 2.0 and OpenID Connect

Wanpeng Li, Chris J. Mitchell|arXiv (Cornell University)|2019. 01. 24.
Web Application Security Vulnerabilities참고 문헌 19인용 수 4
한 줄 요약

OAuthGuard는 Google의 로그인 서비스를 사용하는 신뢰당사자(RP)에서 OAuth 2.0 및 OpenID Connect에 대한 다섯 가지 취약점을 탐지하고 완화하는 Chrome 확장 프로그램입니다. 이 중에는 이전에 문서화되지 않은 사생활 침해 결함까지 포함되어 있습니다. OAuthGuard는 토큰 泄漏를 차단하고 HTTPS를 강제하며, 참조 헤더 분석을 통해 CSRF 공격을 탐지하고, 위조 공격 위험을 사용자에게 경고함으로써 실시간으로 사용자를 보호합니다. 실제로 상위 1,000개 웹사이트를 대상으로 한 연구에서 69개의 취약한 RP 중 56개를 성공적으로 보호했습니다.

ABSTRACT

Millions of users routinely use Google to log in to websites supporting OAuth 2.0 or OpenID Connect; the security of OAuth 2.0 and OpenID Connect is therefore of critical importance. As revealed in previous studies, in practice RPs often implement OAuth 2.0 incorrectly, and so many real-world OAuth 2.0 and OpenID Connect systems are vulnerable to attack. However, users of such flawed systems are typically unaware of these issues, and so are at risk of attacks which could result in unauthorised access to the victim user's account at an RP. In order to address this threat, we have developed OAuthGuard, an OAuth 2.0 and OpenID Connect vulnerability scanner and protector, that works with RPs using Google OAuth 2.0 and OpenID Connect services. It protects user security and privacy even when RPs do not implement OAuth 2.0 or OpenID Connect correctly. We used OAuthGuard to survey the 1000 top-ranked websites supporting Google sign-in for the possible presence of five OAuth 2.0 or OpenID Connect security and privacy vulnerabilities, of which one has not previously been described in the literature. Of the 137 sites in our study that employ Google Sign-in, 69 were found to suffer from at least one serious vulnerability. OAuthGuard was able to protect user security and privacy for 56 of these 69 RPs, and for the other 13 was able to warn users that they were using an insecure implementation.

연구 동기 및 목표

  • 실세계의 신뢰당사자(RP)에서 광범위하게 발생하는 OAuth 2.0 및 OpenID Connect 잘못된 구현으로 인한 심각한 보안 및 사생활 침해 위험을 해결하기 위함입니다.
  • RP가 최선의 실천 방침을 따르지 않더라도, 사용자에게 보호 기능을 제공하기 위함입니다.
  • Google의 SSO 서비스를 사용하는 RP에서 발생하는 다섯 가지 특정 취약점, 포함해 새로운 사생활 침해 결함을 탐지하고 완화하기 위함입니다.
  • 클라이언트 측에서 작동하는 실용적이고 구현 가능한 솔루션을 제공하여, RP 수준의 변경 없이도 사용자가 보호받을 수 있도록 하기 위함입니다.

제안 방법

  • OAuthGuard는 OAuth 2.0 및 OpenID Connect 프로세스 동안 실시간으로 HTTP 메시지를 분석하여 보안 및 사생활 결함을 탐지합니다.
  • RP가 적절한 CSRF 방지 조치를 취하지 않았을 경우에도 참조 헤더 분석을 통해 CSRF 공격을 탐지합니다.
  • OAuth 2.0 응답에 대해 HTTPS를 강제하여 HTTP에서 HTTPS로의 내림내림 공격을 차단합니다.
  • 접근 토큰을 포함한 비인가 외부 요청을 모니터링하여 제3자 토큰 泄漏를 식별하고 차단합니다.
  • 잘못된 또는 누락된 인증 매개변수에 기반해 위조 공격 취약성을 탐지할 경우 사용자에게 경고를 발행합니다.
  • 이 시스템은 Chrome 확장 프로그램으로 구현되었으며, Google의 OAuth 2.0 및 OpenID Connect 서비스와 통합되어 있습니다.

실험 결과

연구 질문

  • RQ1Google 로그인을 사용하는 실세계의 신뢰당사자(RP)에서 가장 흔한 OAuth 2.0 및 OpenID Connect 취약점은 무엇인가요?
  • RQ2RP나 IdP의 변경 없이도 클라이언트 측 도구가 RP 구현의 취약점을 효과적으로 탐지하고 완화할 수 있나요?
  • RQ3이전에 문서화되지 않은 사생활 침해 결함이 OAuth 2.0 및 OpenID Connect 구현에 얼마나 퍼져 있는가요?
  • RQ4RP가 적절한 CSRF 보호 조치를 취하지 않은 실세계 환경에서 참조 헤더 기반 CSRF 탐지 메커니즘이 얼마나 효과적인가요?
  • RQ5RP가 적절한 구현을 하지 않았을 경우, 클라이언트 측 도구인 OAuthGuard가 사용자 보안과 사생활을 얼마나 향상시킬 수 있나요?

주요 결과

  • 상위 1,000개 웹사이트 중 Google 로그인을 사용하는 137개 웹사이트 중 69개가 적어도 하나의 심각한 OAuth 2.0 또는 OpenID Connect 취약성을 가지고 있었습니다.
  • OAuthGuard는 69개의 취약한 RP 중 56개에 대해 사용자 보안과 사생활을 성공적으로 보호했으며, 주로 CSRF 공격과 토큰 泄漏를 완화함으로써 가능했습니다.
  • OAuthGuard는 9개의 RP에서 제3자 웹사이트로 사용자 토큰이 泄漏되는 75개의 HTTP 요청을 탐지하고 차단했습니다.
  • CSRF 공격에 취약한 53개의 RP 중 48개에서 OAuthGuard는 참조 헤더 분석을 통해 위협을 성공적으로 완화했습니다.
  • 13개의 RP에서 위조 공격 취약성을 탐지하여 경고를 발행했으며, 이는 기존 도구로는 이전에 탐지되지 않았던 사례입니다.
  • 연구 결과, OAuthGuard가 CSRF를 경고하지 않은 25개의 RP 중 109개 중 일부는 여전히 취약한 것으로 밝혀졌으며, 이는 일부 결함이 메시지 수준의 검사 외에 더 깊은 분석이 필요함을 시사합니다.

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

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

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

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