앱의 WebView SSL 오류 핸들러 알림 해결 방법

이 도움말은 앱에서 WebViewClient.onReceivedSslError 핸들러를 안전하지 않은 방식으로 구현한 개발자를 위한 정보입니다. 특히 해당 구현은 모든 SSL 인증서 확인 오류를 무시하기 때문에 앱이 중간자 공격에 취약해집니다. 공격자는 영향을 받은 WebView의 콘텐츠를 변경하고 전송된 데이터(예: 로그인 사용자 인증 정보)를 읽고 자바스크립트를 사용해 앱 내부에서 코드를 실행할 수 있습니다.  

2016년 11월 25일부터 Google Play에서 이 취약성을 포함하는 새로운 앱 또는 업데이트의 게시를 차단합니다. 게시된 APK 버전은 영향을 받지 않지만 이 취약점을 해결하기 전까지는 모든 앱 업데이트가 차단됩니다.

다음 단계

  1. 문제를 해결하려면 서버에서 제공하는 인증서가 요구사항을 충족할 때마다 앱 코드를 업데이트하여 SslErrorHandler.proceed()를 호출하고 그렇지 않으면 SslErrorHandler.cancel()을 호출합니다.
  2. 이 문제의 원인이 되는 타사 라이브러리를 사용 중인 경우 타사에 알려 함께 문제를 해결하시기 바랍니다.

  3. 변경을 완료하면 Developer Console에 로그인하여 앱의 업데이트된 버전을 제출하세요. 

  4. 5시간이 지난 뒤 다시 확인하세요. 앱이 제대로 업데이트되지 않은 경우 경고 메시지가 표시됩니다. 앱 취약점을 해결했다고 하더라도 처리 과정에서 지연이 발생하는 경우가 많다는 점에 유의하세요.

SSL 오류 핸들러에 대한 자세한 정보는 Android 개발자 고객센터의 문서를 참조하시기 바랍니다. 다른 기술 관련 질문은 https://www.stackoverflow.com/questions에 'android-security' 및 'SslErrorHandler' 태그를 추가하여 게시하세요.

이러한 문제가 WebView SSL을 사용하는 모든 앱에 영향을 주는 것은 아니지만 모든 보안 패치를 최신 상태로 유지하는 것이 가장 좋습니다. 사용자를 보안 위험에 노출시키는 취약점이 있는 앱은 콘텐츠 정책 및 개발자 배포 계약의 섹션 4.4를 위반하는 위험한 제품으로 간주될 수 있습니다.

또한 앱은 개발자 배포 계약콘텐츠 정책을 준수해야 합니다. Google에서 이 경고를 잘못 발송했다고 생각되면 Google Play 개발자 고객센터를 통해 Google 지원팀에 문의하시기 바랍니다.

이 도움말이 도움이 되었나요?
어떻게 하면 개선할 수 있을까요?