이 문서는 앱실링 안드로이드 버전 2.28.1.0 부터 유효합니다.
QUERY_ALL_PACKAGES(폭넓은 패키지 가시성) 권한은 안드로이드 11이상 기기에서 targetSDKVersion이 30 이상으로 빌드된 앱이 기기에 설치된 앱 인벤토리를 확인할 수 있게 해 주는 권한입니다. 해당 권한을 사용하는 앱은 기기에 설치되어있는 앱 전체 목록을 확인할 수 있습니다.
앱실링은 이 권한을 왜 사용하나요?
앱실링은 안드로이드에서 사용되는 다양한 치트툴의 목록을 가지고 있으며, 치트툴 차단을 위해 기기에 설치된 앱 목록을 조회하고, 앱실링 보안모듈이 가지고 있는 블랙리스트와 비교, 치트툴이 설치되어있는 경우 이를 탐지하여 차단해 왔습니다.
안드로이드 11 이전까지는 QUERY_ALL_PACKAGES 권한이 없어도 기기에 설치된 앱 목록을 조회할 수 있었지만, 안드로이드 11(targetSdkVersion30 이상으로 빌드된 앱) 부터는 해당 권한이 있어야만 기기에 설치된 앱 목록을 조회할 수 있습니다. 이에 따라 앱실링을 적용할 때, 앱의 targetSdkVersion이 30이상인 경우 QUERY_ALL_PACKAGES 권한을 AndroidManifest.xml 파일에 추가하고 있습니다.
QUERY_ALL_PACKAGES 권한을 비활성화하면 무엇이 달라지나요?
앱실링 2.28.1.0 버전부터 QUERY_ALL_PACKAGES 권한을 사용하지 않는 옵션을 제공합니다.
앱실링 적용시 옵션을 비활성화하면 앱의 전체 목록을 조회하는 대신, 앱실링이 보유중인 블랙리스트 목록을 앱의 AndroidManifest.xml에 <queries> 항목으로 추가합니다. 이를 통해 치트툴을 차단하는 기능을 지속할 수 있습니다.
주의: 앱 이름이 특정 패턴을 따라 동적으로 변경되는 일부 치트툴은 탐지하기 어려워집니다. 아래 치트툴을 통한 치명적인 공격을 방어하기 위해 루팅 차단 옵션은 반드시 활성화 하시기 바랍니다.
- 게임가디언
- 럭키패처
주의2: 안드로이드 11 이상 단말에서 커스텀 블랙리스트 기능이 비활성화됩니다.
앱실링 CLI 툴에서는 이 옵션을 어떻게 사용하나요?
use_query_all_packages=yes|no 옵션으로 QUERY_ALL_PACKAGES 옵션을 활성화 또는 비활성화할 수 있습니다.
주의: 해당 옵션은 반드시 설정해야하는 값으로, 기본값은 없습니다.
앱실링 2.28.1.0 이상 버전에서 해당 옵션을 설정하지 않고 실링을 시도하면 실링이 실패합니다.
QUERY_ALL_PACKAGES 권한을 사용할 때 주의사항이 있나요?
-
앱실링을 적용할 때, QUERY_ALL_PACKAGES 권한을 사용하도록 설정한 경우에 구글 플레이 콘솔에 앱을 업로드하려면 권한 사용에 대한 승인을 받아야 합니다. 아래 문서를 참고하여 진행했을때 권한이 승인된다면 QUERY_ALL_PACKAGES 권한을 사용할 수 있습니다.
-
QUERY_ALL_PACKAGES 권한 사용 선언 가이드 문서: 링크
-
구글에서 권한 사용을 승인해주지 않는다면, 앱실링 적용시 QUERY_ALL_PACKAGES 사용 옵션을 비활성화하고 다시 앱실링을 적용해 주시기 바랍니다.
-
-
구글 스토어가 아닌 다른 마켓플레이스에 앱을 업로드하거나, 앱을 직접 배포하시는 경우에는 QUERY_ALL_PACKAGES 권한을 사용해도 제약이 발생하지 않습니다.
QUERY_ALL_PACKAGES 권한을 더이상 비활성화할 때 주의사항이 있나요?
우선, 앱실링을 적용할때 확실하게 QUERY_ALL_PACKAGES 사용 옵션을 비활성화해 주시기 바랍니다.
또한, 해당 앱이 구글 플레이 앱 심사를 통과하기 위해서는 앱의 현재 빌드 파이브라인에서 QUERY_ALL_PACKAGES권한을 사용중인 앱이 없어야 합니다. 앱의 internal/closed/open test 트랙 을 확인하시고, 과거에 QUERY_ALL_PACKAGES권한을 사용 설정한 앱이 남아있다면 앱실링을 다시 적용하여 앱들을 모두 교체해 주시기 바랍니다. 테스트 트랙에 QUERY_ALL_PACKAGES 권한을 사용중인 앱이 남아있으면, 실제 배포하는 앱에 권한이 없더라도 구글 팀에서 앱이 권한을 사용중인것으로 인지하여, 앱 심사시 거부될수 있습니다.