안전하지 않은 HostnameVerifier 해결 방법

이 정보는 HostnameVerifier 인터페이스의 안전하지 않은 구현을 사용하는 앱 개발자를 대상으로 합니다. 안전하지 않은 인터페이스 구현은 setDefaultHostnameVerifier API로 원격 호스트에 HTTPS 연결을 설정할 때 모든 호스트 이름을 허용하여, 앱이 중간자 공격에 취약해집니다. 공격자는 잠재적으로 전송된 데이터(예: 로그인 사용자 인증 정보)를 읽을 수 있으며 HTTPS 연결에서 전송된 데이터를 변경할 수도 있습니다.

현재 상태

2017년 3월 1일부터 Google Play에서는  HostnameVerifier의 안전하지 않은 구현을 사용하는 새로운 앱이나 업데이트의 게시를 차단했습니다. Play Console의 공지를 참조하세요. Play Console에 표시된 기한이 지난 후에도 보안 취약점이 수정되지 않은 앱은 모두 Google Play에서 삭제될 수 있습니다.

필요한 조치​

  1. Play Console에 로그인한 후 알림 섹션으로 이동하여 영향을 받는 앱과 문제 해결 기한을 확인합니다.
  2. 영향을 받는 앱을 업데이트하여 취약점을 수정합니다.
  3. 영향을 받는 앱의 업데이트된 버전을 제출합니다.

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

추가 세부정보

호스트 이름 인증을 올바르게 처리하려면 서버의 호스트 이름이 예상과 다를 때마다 false를 반환하도록 맞춤 HostnameVerifier 인터페이스에서 verify 방법을 변경하세요.

또한 앱은 개발자 배포 계약콘텐츠 정책을 준수해야 합니다.

도움이 필요하신가요?

취약점에 관한 기술적인 문의사항이 있다면 'android-security' 태그를 사용하여 Stack Overflow에 게시해 주시기 바랍니다. 문제 해결 단계에 관해 궁금하신 점이 있으면 Google 개발자 지원팀에 문의하세요.

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