민감한 자바스크립트 인터페이스 취약점 문제 해결하기

이 도움말은 민감한 자바스크립트 인터페이스 취약점이 있는 앱 개발자를 위한 정보입니다.

현재 상태

Play Console의 공지사항을 참고하세요.

Play Console에 표시된 기한이 지난 후에도 보안 취약점이 해결되지 않은 앱은 모두 Google Play에서 삭제될 수 있습니다.

필요한 조치​

  1. 계정 소유자의 이메일 주소로 전송된 Google Play 이메일 알림을 열어 영향을 받는 앱과 문제 해결 기한을 확인합니다.
  2. 영향을 받는 앱을 업데이트하여 취약점을 수정합니다.
  3. 영향을 받는 앱의 업데이트된 버전을 제출합니다.

제출된 앱은 다시 검토 절차를 거치게 되며 이 절차는 몇 시간 정도 걸릴 수 있습니다. 앱이 검토 과정을 통과하고 게시가 완료되면 더 이상의 조치가 필요하지 않습니다. 앱이 검토 과정을 통과하지 못할 경우 새로운 앱 버전은 게시되지 않으며 이메일 알림을 받게 됩니다.

추가 세부정보

기기 및 네트워크 악용 정책에 따라 '런타임 시 자바스크립트를 로드한 앱 또는 서드 파티 코드(예: SDK)는 잠재적인 Play 개발자 정책 위반을 허용해서는 안 됩니다.' 

이 도움말은 Google Developers 블로그의 'WebView에서 웹 앱 빌드'에 설명된 대로 WebView의 addJavascriptInterface 메서드를 자바스크립트 인터페이스처럼 사용하여 WebView에 기능을 노출하는 모든 객체를 참조합니다.

이 취약점 클래스로 인해 자바스크립트 인터페이스를 통한 잠재적인 사용자 데이터멀웨어 위반이 발생합니다. 노출된 인터페이스에 따라 앱 또는 SDK 개발자가 모는 사이에 잠재적으로 위험한 애플리케이션과 함께 예상치 못한 데이터 수집 및 무단 반출이 발생할 수 있습니다.

다음 중 한 가지 방법을 통해 이러한 취약점을 방지하는 것이 좋습니다.

옵션 1: WebView가 자바스크립트 인터페이스에 개체를 추가하지 않도록 방지

신뢰할 수 없는 웹 콘텐츠를 로드하는 WebView의 자바스크립트 인터페이스에 추가된 개체가 없는지 확인합니다. 다음과 같은 두 가지 방법이 있습니다.

  1. addJavascriptInterface 호출을 통해 자바스크립트 인터페이스에 추가된 객체가 있었는지 확인합니다.
  2. WebView에서 신뢰할 수 없는 콘텐츠를 로드하기 전에 removeJavascriptInterface를 통해 shouldInterceptRequest의 자바스크립트 인터페이스에서 객체를 삭제합니다.

옵션 2: 자바스크립트 인터페이스를 통해 민감한 기능이 노출되지 않는지 확인

민감한 기능(예: 권한이 필요한 Android API 호출)이 자바스크립트 인터페이스에 추가되지 않는지 확인합니다. 여기에는 사용자/기기에 관한 정보 등의 민감한 정보를 수집하지 않거나 접근성 또는 SMS 메시지와 같은 API를 노출하지 않는 것이 포함됩니다. 취약점을 해결하는 방법에는 여러 가지가 있습니다.

  1. 애플리케이션 내에 패키징된 코드에서 호출되도록 민감한 권한이 필요하거나 민감한 정보를 수집하는 기능을 다시 구현합니다. 명시적 공개를 사용자에게 제공해야 합니다.
  2. 인터페이스에서 액세스할 수 있는 민감한 기능 또는 사용자 데이터 액세스 권한을 제공하는 모든 기능을 삭제합니다.

옵션 3: WebView에서 신뢰할 수 없는 콘텐츠에 민감한 기능을 노출하지 않는지 확인

WebView에 민감한 기능이 포함되어 있으면 WebView가 알 수 없는 소스에서 임의의 자바스크립트를 로드하지 않을 수도 있으며 사용되는 데이터나 기능에 관한 명시적 공개를 제공해야 합니다. 엄격하게 범위가 지정된 URL과 앱 개발자가 소유한 콘텐츠만 WebView에 로드되는지 확인합니다.

취약점이 해결되지 않는 경우 앱에 잠재적인 Play 정책 위반이 적용됩니다.

도움이 필요하세요?

정책을 검토했으며 Google의 결정이 잘못되었다고 생각된다면 Google 정책 지원팀에 문의하시기 바랍니다. 영업일 기준 2일 이내에 연락드리겠습니다.

Google Play가 개발자와 소비자 모두에게 만족스러운 경험을 제공할 수 있도록 지속적으로 협력해 주셔서 감사합니다.

 

도움이 되었나요?

어떻게 하면 개선할 수 있을까요?

도움이 더 필요하신가요?

다음 단계를 시도해 보세요.

검색
검색어 지우기
검색 닫기
기본 메뉴
18105232703127600274
true
도움말 센터 검색
true
true
true
true
true
92637
false
false