2018년 3월 20일 화요일

"APK에 보안 취약점이 있어 악의적 행위 정책을 위반함에 따라 거부되었습니다" 라는 메시지

2016. 8. 25. 14:42

16년 8월 어느날인가부터 구글에 APK를 올리려고하면 아래처럼 오류가 떴다

앱이 거부되었습니다.

APK에 보안 취약점이 있어 악의적 행위 정책을 위반함에 따라 거부되었습니다. 기존 앱의 업데이트를 제출한 경우 이전에 게시된 버전은 Google Play에서 계속 사용할 수 있습니다.

젠장,
나는 악의적행위를 한적도 없고 (악의적행위는 가끔 야동보거나, 애 엄마 몰래 애와 게임하거나 , 술값 내가 계산하는거 ?? ),
아무것도 바꾼것이 없는데, 그럼 뭔가 정책이 바뀐것이겠지.
그런데 사실 아무것도 바꾸지 않아서 이런 문제가 되는것일 거다. 

악의적행위가 어떤 것인지 링크를 보면 꽤 많은 이유가 있지만, 
나에게 해당되는 자세한 내용을 보려면 '출시 전 보고서'를 보면 된다. 

Developer Console의 '출시 전 보고서'를 보니 아래 두가지 내용이 문제 있는것으로 나온다.

가로채기가 가능한 인앱 결제 인텐트

APK 11, 10에서 탐지됨
앱이 잘못 구현된 인앱 결제를 사용하고 있습니다. 자세한 내용은 Google 고객센터의 이 도움말을 참고하세요.
취약한 클래스:
org.cocos2dx.cpp.CSDGoogleStore

OpenSSL

APK 11, 10에서 탐지됨
앱이 보안 취약성 문제를 포함하는 OpenSSL 버전을 사용하고 있습니다. 취약성 수정 마감일 등 자세한 내용은 Google 고객센터의 이 도움말을 참조하세요.

일단 첫번째  오류는 내가 만든 CSDGoogleStore 모듈이 사용하는 결제 모듈이 구버전이니 새버전으로 교체를 하라는 거다.
이 문제에 대해서는 https://github.com/googlesamples/android-play-billing/ 에서 최신 버전을 받아서 패치를 해 주었다. 

두번째는 역시 내가 사용하는 OpenSSL 버전이 구버전이라는 거다.
이부분은 내 시스템에 설치된 OpenSSL을 최신 버전으로 교체하고 
나는 Cocos2d-x를 사용하는데, curl에서 openssl을 참조하기 때문에 이것도 최근 버전으로 교체를 했다.

* cocos2d-x 3.10에서 사용하는 curl 라이브러리는 첨부파일로 올려 두었음. 각각 폴더에 맞게 복사를 할것 
  - include.zip 은 프로젝트 폴더의 \cocos2d\external\curl\include\android 에 넣으면 되고
  - prebuilt.zip 은프로젝트 폴더의 \cocos2d\external\curl\prebuilt\android 에 넣으면 된다

그리고 심사를 다시 넣으면 된다. 

댓글 없음:

댓글 쓰기