패스잇
보안 · 심화

OAuth 2.0 또는 OpenID Connect 인증 흐름에서 발생할 수 있는 CSRF(Cross-Site Request Forgery), XSS(Cross-Site Scripting), Open Redirect와 같은 일반적인 웹 취약점들이 인증 과정에 어떻게 영향을 미칠 수 있는지 구체적인 공격 시나리오를 들어 설명해 주십시오. 또한, 각 취약점에 대한 효과적인 방어 메커니즘(예: `state` 파라미터, `redirect_uri` 유효성 검사, CSP, SameSite Cookie)을 제시하고, 이들을 인증 시스템 설계에 어떻게 반영할 것인지 설명해 주십시오.

힌트 · `state` 파라미터는 CSRF와 Open Redirect를 방지하며, `redirect_uri` 화이트리스트는 Open Redirect 공격을 막습니다. XSS는 인증 페이지 자체의 취약점을 통해 토큰 탈취로 이어질 수 있습니다.

CSRFXSSOpen Redirectstate 파라미터redirect_uri 유효성 검사

모범답안

OAuth 2.0/OpenID Connect 인증 흐름에서 CSRF, XSS, Open Redirect 같은 취약점은 심각한 문제를 야기할 수 있습니다.

CSRF 공격은 사용자가 인지하지 못한 채 악성 웹사이트가 인증 서버에 요청을 보내도록 유도합니다. 예를 들어, 공격자는 사용자가 로그인된 상태에서 악성 링크를 클릭하도록 유도하여, 사용자의 계정으로 특정 애플리케이션에 권한을 부여할 수 있습니다. 이를 방지하기 위해 state 파라미터를 사용하여 요청의 무결성을 검증합니다.

XSS 공격은 인증 페이지에 악성 스크립트를 삽입하여 사용자의 토큰을 탈취할 수 있습니다. 이를 막기 위해 Content Security Policy (CSP)를 적용하고, 입력 값에 대한 철저한 검증 및 이스케이프 처리가 필요합니다.

Open Redirect 공격은 인증 후 악성 웹사이트로 리디렉션되도록 redirect_uri를 조작하는 것입니다. redirect_uri 화이트리스트를 사용하여 허용된 URI만 리디렉션되도록 제한해야 합니다. 또한, state 파라미터를 사용하여 리디렉션의 무결성을 검증할 수 있습니다.

이러한 방어 메커니즘을 인증 시스템 설계에 반영하여 보안성을 강화해야 합니다.

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

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

함께 보는 인증 / 인가 (JWT · OAuth) 면접 질문

← 인증 / 인가 (JWT · OAuth) 면접 질문 전체 보기