게시판

Google OAuth 2.0 인증(로그인) 관련 보안 정책


RagDoram Client 정보

  • Chromium Embedded Framework (CEF)를 사용하여 구현되었습니다.
    - Cef : C++ Application (RagDoram.exe)
    - CefSharp : c# Application (RagDoram.Net.exe)

  • Chromium Embedded Framework
    - Chromium 기반의 레이아웃 엔진을 포함한 오픈 소스 프레임워크입니다. (Google Chrome)
    - C++로 개발되었으며 Windows, linux, MaxOs X에서 실행되는 데스크톱 응용 프로그램을 개발 할 수 있습니다.
    - 2008년 Marshall Greenblatt에 의해 프로젝트가 시작되었습니다.
    - 안정화 버전은 현재 2019년 11월 27일 기준 "78.3.9+gc7345f2+chromium-78.0.3904.108" 입니다.
    - New BSD License

  • Chromium Embedded Framework 지원 언어
    - Delphi (CEF1) - DCEF 1
    - Delphi (CEF3) - DCEF 3
    - Go (CEF3) - CEF2go
    - Java (CEF3) - Java Chromium Embedded
    - .NET (CEF1, CEF3) - CefSharp
    - .NET (CEF1) - CefGlue
    - .NET/Mono (CEF3) - Xilium.CefGlue
    - .NET (CEF3) - ChromiumFX
    - Python (CEF1, CEF3) - CEF Python

  • Chromium Embedded Framework 공식 사이트
    - Chromium Embedded Framework
     

Microsoft Edge WebView2 control
- Chromium 기반의 레이아웃 엔진을 사용하는 웹 브라우저 컨트롤러입니다. (Microsoft Edge)

  • WebView2 지원 플랫폼
    - Win32 C/C++ (General Availability)
    - .NET Framework 4.5 or later
    - .NET Core 3.1 or later
    - .NET 5
    - .NET 6
    - WinUI 2.0 (Preview)
    - WinUI 3.0

  • Webview2 지원 OS
    - Windows 11
    - Windows 10
    - Windows 10 IoT Enterprise LTSC x32 2019
    - Windows 10 IoT Enterprise LTSC x64 2019
    - Windows 10 IoT Enterprise 21h1 x64
    - Windows 8.1
    - Windows 7
    - Windows Server 2019
    - Windows Server 2016
    - Windows Server 2012
    - Windows Server 2012 R2
    - Windows Server 2008 R2

  • WebView 필요 사항
    - 실행되는 환경에 WebView2 Runtime이 설치 되어 있어야 실행이 가능합니다.
    - Windows 11 부터는 내장되어 있어서 별도의 설치가 불필요합니다.

  • 제한 사항
    - 사용하는 OS에 따라 Webview2 Runtime의 별도 설치가 필요합니다.
    - 현재 Preview 버전으로 정식 버전이 없습니다.
- 위와 같은 제한 사항으로 RagDoram Client 개발 시 후보군에서 제외되었습니다.



Google 보안 정책


  • 사용자 인증을 위해 임베디드 브라우저 프레임워크(e.g., CEF)나 다른 오토메이션 플랫폼을 사용 시 중간자(MITM, Man in the Middle) 공격은 감지하기가 어렵습니다.

  • 합법적인 로그인과 MITM 공격을 구분 할 수 없기 때문에 2019년 6월부터 임베디드 브라우저 프레임워크에서 로그인을 차단 할 예정입니다. 이는 2016년 4월에 발표 된 WebView 로그인 제한과 같은 맥락입니다.

  • Google Identity 팀은 Google 계정 보안을 개선하고 사용자에게 보다 안전한 환경을 제공하기 위해 지속적으로 노력하고 있습니다.

  • 그 작업의 일환으로 최근 임베디드 브라우저 라이브러리(임베디드 웹뷰)에서 Google OAuth 인증 요청을 금지하는 새로운 보안 브라우저 정책을 도입하였습니다. 2021년 9월 30일 부터 임베디드 웹뷰에서 Google OAuth 인증요청은 모두 차단 될 예정입니다.

  • 임베이드 웹뷰 라이브러리는 악의적인 개발자가 중간자(MITM) 역할을 하여 Google과 사용자 간의 통신을 가로채고 변경 할 수 있기 때문에 문제가 됩니다. 웹뷰를 포함하는 어플리케이션은 네트워크 요청을 수정하거나 가로채고, 로그인 양식에 입력된 모든 키 입력을 잠재적으로 기록할 수 있는 사용자 지정 스크립트를 삽입하고, 세션 쿠키에 접근하거나, 웹 페이지의 내용을 변경 할 수 있습니다. 또한 이러한 라이브러리를 사용하면 응답이 Google 서버에서 시작된다는 보장, 웹사이트 도메인 표시 및 연결 보안을 검사하는 기능과 같이 사용자 신뢰를 유지하는 브라우저의 주요 요소를 제거 할 수 있습니다. 또한 IETF의 네이티브 앱에서 OAuth 인증 지침에 따르면 웹뷰 같은 임베디드 사용자 에이전트를 사용해서는 안됩니다.

  • 중간자(MITM) 공격으로 알려진 피싱의 한 형태는 임베디드 브라우저 프레임워크(e.g, Chrominum Embedded Framework - CEF) 또는 다른 오토메이션 플랫폼(자동화 플랫폼)이 인증에 사용되고 있습니다. 중간자(MITM) 공격은 이러한 플랫폼에서 인증 흐름을 제공하고 사용자와 Google 간의 통신을 가로채 사용자의 자격 증명을 수집하고 로그인합니다. 이러한 유형의 공격으로부터 사용자를 보호하기 위해 Google 계정 로그인을 하는 모든 임베디드 프레임워크는 2021년 1월 4일부터 차단 될 예정입니다.

  • 파트너에 대한 서비스 중단을 최소화하기 위해 개발자가 지원되는 사용자 에이전트에서 OAuth 2.0 흐름을 설정 할 수 있도록 해당 정보를 제공합니다.

  • 브라우저 기반 OAuth 2.0 흐름을 사용하여 임베디드 프레임워크 기반 앱에서 로그인을 활성화하는 방법
    - 앱 개발자이고 기기에서 인증을 위해 CEF 또는 기타 클라이언트를 사용하는 경우 브라우저 기반 OAuth 2.0 흐름을 사용합니다. 그렇지 않으면 로그인에 호환되는 네이티브 브라우저를 사용 할 수 있습니다.

    - 브라우저에 접근 할 수 없거나 제한 된 입력 기능이 있는 어플리케이션의 경우 제한 된 입력 디바이스 OAuth 2.0 흐름을 사용합니다.

  • 호환성 테스트
    - 현재 로그인에 CEF를 사용하는 개발자인 경우 이 유형의 인증에 대한 지원이 2021년 1월 4일 종료 된다는 점에 유의해 주십시오. 변경 사항의 영향을 받을지 여부를 확인하려면 어플리케이션 호환성을 테스트하십시오.

    - 어플리케이션을 테스트하려면 특정 HTTP 헤더와 값을 추가하여 허용 목록을 비활성화 합니다.
    - Google-Accounts-Check-OAuth-Login:true


RagDoram KRO
[12/9/21, 9:28 PM]
[조회수 : 722]