안전하지 않은 TrustManager 구현을 포함하는 앱을 수정하는 방법

이 정보는 안전하지 않은 X509TrustManager 인터페이스 구현을 포함하는 앱의 개발자를 대상으로 합니다.

현재 상태

하나 이상의 앱에 안전하지 않은 X509TrustManager 인터페이스 구현이 포함되어 있습니다. 특히 이 인터페이스 구현은 원격 호스트에 HTTPS 연결을 설정할 때 모든 SSL 인증서 확인 오류를 무시하므로 앱이 중간자 공격에 취약해집니다. 공격자는 로그인 사용자 인증 정보와 같이 전송된 데이터를 읽거나 HTTPS 연결에서 전송된 데이터를 변경할 수 있습니다. 앱 문제를 해결하려면 아래에 안내된 자세한 단계를 확인하세요. Play Console에 표시된 기한이 지난 후에도 보안 취약점이 해결되지 않은 앱은 모두 Google Play에서 삭제될 수 있습니다.

필요한 조치​

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

 

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

추가 세부정보

SSL 인증서 확인을 올바르게 처리하려면 맞춤 X509TrustManager 인터페이스의 checkServerTrusted 메서드에서 코드를 변경하여 서버에 표시되는 인증서에서 개선이 필요한 부분을 발견할 때마다 CertificateException 또는 IllegalArgumentException을 제기합니다. 특히 다음 사항에 유의하시기 바랍니다.

  1. checkServerTrusted에서 제기한 예외가 메서드 내에서 발견되지 않도록 확인합니다. 이로 인해 checkServerTrusted가 정상적으로 종료되어 앱이 위험한 인증서를 신뢰하게 될 수 있습니다.
  2. checkValidity를 서버 인증서 조사용으로 사용하지 않습니다. checkValidity는 인증서가 만료되었는지를 확인하지만 신뢰할 수 있는 인증서인지는 판단할 수 없습니다.

또한 네트워크 보안 설정을 사용하여 오류가 적게 발생하는 방향으로 앱의 인증서 관련 동작을 맞춤설정할 수도 있습니다.

도움이 필요한 경우

취약점에 관한 기술적인 문의사항이 있다면 'android-security' 및 'TrustManager' 태그를 사용하여 Stack Overflow에 질문을 올려주시기 바랍니다. 이 문제를 해결하기 위해 취해야 할 단계를 명확하게 알고 싶은 경우 개발자 지원팀에 문의해 주세요.

도움이 되었나요?

어떻게 하면 개선할 수 있을까요?
false
기본 메뉴
10305394971369867910
true
도움말 센터 검색
true
true
true
true
true
5016068
false
false