앱 OpenSSL 취약점 해결 방법

이 정보는 OpenSSL 1.0.2f/1.0.1r 이전 버전과 정적으로 연결된 앱의 개발자를 대상으로 합니다.  이전 버전에는 보안 취약점이 있습니다. 최대한 빨리 앱을 OpenSSL 1.0.2f/1.0.1r 이상으로 이전하고 업그레이드된 APK의 버전 번호를 올리시기 바랍니다.

현재 상태

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

필요한 조치​

  1. Play Console에 로그인한 후 알림 섹션으로 이동하여 영향을 받는 앱과 문제 해결 기한을 확인합니다.
  2. 앱을 OpenSSL 1.0.2f/1.0.1r 이상으로 이전하고 버전 번호를 올립니다.
  3. 영향을 받는 앱의 업데이트된 버전을 제출합니다.

추가 세부정보

이 취약점은 OpenSSL 1.0.2f/1.0.1r에서 해결되었습니다. 최신 버전의 OpenSSL은 여기에서 다운로드할 수 있습니다. 사용 중인 OpenSSL 버전은 ($ unzip -p YourApp.apk | strings | grep "OpenSSL")을 grep 검색하여 확인할 수 있습니다.

OpenSSL을 번들로 제공하는 타사 라이브러리를 사용 중인 경우 OpenSSL 1.0.2f/1.0.1r 이상을 번들로 제공하는 버전으로 업그레이드해야 합니다.

이러한 취약점에는 'logjam' 및 CVE-2015-3194가 있습니다. Logjam 공격을 통해 중간자 공격자는 취약한 TLS 연결을 512비트 내보내기 등급의 암호화로 다운그레이드할 수 있게 됩니다. 공격자는 이를 통해 해당 연결을 통과하는 모든 데이터를 읽고 수정할 수 있습니다. 여기에서 다른 취약점을 자세히 알아볼 수 있습니다. 다른 기술 관련 질문이 있으면 Stack Overflow에 'android-security' 및 'OpenSSL' 태그를 추가하여 게시하세요.

이러한 문제가 OpenSSL 1.0.2f/1.0.1r 이전 버전을 사용하는 모든 앱에 영향을 주는 것은 아니지만 모든 보안 패치를 최신 상태로 유지하는 것이 가장 좋습니다. 사용자를 보안 위험에 노출시키는 취약점이 있는 앱은 Google의 악의적 행위 정책 및 개발자 배포 계약의 섹션 4.4를 위반하는 것으로 간주될 수 있습니다.

앱을 게시하기 전에 개발자 배포 계약콘텐츠 정책을 준수하는지 검토하시기 바랍니다. 

도움이 필요하신가요?

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

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