환경 보호

Google은 앱이 다음 조건을 충족하는지 감지하는 데 도움이 되는 일련의 API와 서비스를 제공합니다. 실행할 수 있도록 하는 것입니다. 핵심은 Play Integrity입니다 API는 잠재적인 문제를 탐지하여 상호작용이 진짜인지 확인하는 데 도움을 주며 위험 및 허위 상호작용을 방지합니다. 앱 및 기기 무결성 외에도 Google Play에서는 이제 Integrity API가 액세스 및 접근성 위험에 대한 정보를 제공합니다. Google Play 프로텍트최근 기기 활동 더욱 강화하다 Android 플랫폼에서 특정 시나리오에 맞는 API를 제공하는 사기 방지 전략 더 많은 정보를 표시할 수 있습니다.

Play Integrity API

Play Integrity API 기능

Play Integrity API를 사용하면 앱의 보안 상태를 알아볼 수 있습니다. 애플리케이션을 실행하는 기기입니다. 이렇게 하면 적합한 사용자가 액세스할 때 발생합니다

상호작용과 서버 요청이 신뢰할 수 있는 환경의 정품 앱 바이너리:

  • 정품 앱 바이너리: 앱과 상호작용하고 있는지 Google Play에서 인식하는 수정되지 않은 바이너리입니다.
  • 정품 Play 설치: 현재 사용자 계정이 라이선스가 있는 것으로 간주됩니다. 즉, 사용자가 Google Play
  • 정품 Android 기기: 앱이 정품 Android 기기에서 실행 중인지 확인합니다. Google Play 서비스에서 지원하는 Android 지원 기기입니다.
  • 알려진 멀웨어 없음: Google Play 프로텍트가 사용 설정되어 있는지 확인하기 기기에 설치된 위험 앱 또는 위험한 앱 발견 여부
  • 다른 앱의 액세스 위험 낮음: 다른 앱이 실행 중인지 확인합니다. 화면을 캡처하거나 기기와 앱에 대한 입력을 제어할 수 있습니다.

사기를 줄이는 방법

사용자가 앱에서 중요한 작업을 실행할 때 Integrity API 그렇지 않은 경우 앱의 백엔드 서버에서 방어하기 위해 사용하는 방법입니다. 예를 들어 민감한 기능에 대한 액세스를 거부할 수 있습니다.

Play Integrity API 결정 흐름

앱 액세스 위험

앱 액세스 위험 신호는 앱이 실행될 때 기기의 앱이 화면을 보고 캡처하고 있을 수 있습니다. 앱을 실행하거나 액세스할 수 있습니다. 인증됨 접근성 앱은 이러한 확인 결과에서 자동으로 제외됩니다. 앱 액세스 권한 위험은 개발자가 사용자 개인 정보를 보호하면서 앱을 보호하는 데 도움이 됩니다. 요청하는 앱이 설치된 앱의 ID를 가져오지 못하고 확인 결과가 사용자 또는 기기 식별자와 연결되지 않습니다.

사용자에게 특정 앱을 종료하도록 요청하는 휴대전화의 스크린샷

이러한 협력을 통해 마케팅 목표를 달성하는 데 필요한 신호를 심도 있는 통계를 제공하여 고객을 보다 효과적으로 보호할 수 있도록 지원합니다.
—Nubank, 사전 체험판 파트너

앱 액세스 위험에는 다양한 위험 수준이 있습니다.

  • 응답 캡처는 화면을 캡처할 수 있는 다른 앱이 실행 중임을 의미합니다.
  • 제어 응답은 화면을 캡처하고 입력을 제어할 수 있습니다. 삽입해야 합니다.

앱 액세스 위험은 현재 공개 베타로 제공되며 일반적으로 적용될 예정입니다. 향후 몇 달 내에 제공될 예정입니다.

앱 액세스 위험 시정 조치

액세스를 완전히 거부하는 대신 앱 또는 게임에서 중요하거나 민감한 작업을 식별하여 Play Integrity API로 보호하세요. 가능하면 중요 작업을 진행하도록 허용하기 전에 위험한 트래픽을 확인합니다. 예를 들어 앱 액세스 위험이 화면을 캡처할 수 있는 앱이 실행 중임을 나타내면 사용자에게 화면을 캡처할 수 있는 앱을 사용 중지하거나 제거하도록 요청한 후 보호하려는 기능을 계속 진행하도록 허용합니다.

이 표에는 확인 결과 몇 가지 예시가 포함되어 있습니다.

앱 액세스 위험 확인 결과 응답 예시 해석
appsDetected:
["KNOWN_INSTALLED"]
Google Play에서 인식할 수 있는 앱만 설치되어 있습니다. 또는 기기 제조업체가 시스템 파티션에 미리 로드한 시스템 파티션입니다. 캡처되는 결과로 이어지는 앱이 실행되고 있지 않습니다. 컨트롤하거나 결과를 오버레이할 수 있습니다.
appsDetected:
["KNOWN_INSTALLED",
"UNKNOWN_INSTALLED",
"UNKNOWN_CAPTURING"]
Google Play에서 설치했거나 시스템 파티션을 만듭니다. 실행 중인 다른 앱이 있으며 다음을 수행할 수 있는 권한이 사용 설정되어 있습니다. 화면을 보거나 다른 입력 및 출력을 캡처하는 데 사용됩니다.
appsDetected:
["KNOWN_INSTALLED",
"KNOWN_CAPTURING",
"UNKNOWN_INSTALLED",
"UNKNOWN_CONTROLLING"]
다음과 같은 권한이 사용 설정된 Play 또는 시스템이 실행되고 있습니다. 화면을 보거나 다른 입력과 출력을 캡처하는 데 사용할 수 있습니다. 또한 권한이 사용 설정된 다른 앱이 실행 중입니다. 장치를 제어하고 입력 장치를 직접 제어하는 데 있습니다.
appAccessRiskVerdict: {} 필요한 요구사항이 다음과 같아 앱 액세스 위험이 평가되지 않습니다. 있습니다. 예를 들어 기기를 충분히 신뢰할 수 없습니다.

Play 프로텍트 신호

Play 프로텍트 신호는 앱에 Play 프로텍트가 사용 설정되어 있고 기기에 알려진 유해한 앱이 설치되어 있는지 여부

environmentDetails:{
  playProtectVerdict: "NO_ISSUES"
}

멀웨어가 앱이나 사용자의 앱에 데이터를 사용하여 이 결과를 확인하고 사용자에게 Play 프로텍트를 사용 설정하거나 유해한 앱을 삭제하도록 요청하세요. 앱을 검토하세요.

Play 프로텍트 사용 설정 대화상자

playProtectVerdict의 값은 다음 중 하나일 수 있습니다.

결과 설명 권장 작업

NO_ISSUES

Play 프로텍트가 사용 설정되어 있으며 다음 기기에서 앱 문제를 발견하지 못했습니다. 있습니다.

Play 프로텍트가 사용 설정되어 있고 문제가 발견되지 않았으므로 사용자 작업이 없습니다. 필요합니다.

NO_DATA

Play 프로텍트가 사용 설정되어 있지만 아직 검사가 이루어지지 않았습니다. 이 기기 또는 Play 스토어 앱이 최근에 초기화되었을 수 있습니다.

Play 프로텍트가 사용 설정되어 있고 문제가 발견되지 않았으므로 사용자 작업이 없습니다. 필요합니다.

POSSIBLE_RISK

Play 프로텍트가 사용 중지되어 있습니다.

Play 프로텍트가 사용 설정되어 있으며 문제가 발견되지 않았으므로 사용자 작업이 없습니다. 은(는) 필수 항목입니다.

MEDIUM_RISK

Play 프로텍트가 사용 설정되어 있으며 잠재적으로 위험한 앱을 발견했습니다. 설치되어야 합니다.

위험 허용 범위에 따라 사용자에게 Play 프로텍트 경고에 관해 조치를 취합니다. 사용자가 이 요구사항을 충족할 수 없다면 서버에서 차단할 수 있습니다. 있습니다.

HIGH_RISK

Play 프로텍트가 사용 설정되어 있으며 설치된 위험한 앱을 발견했습니다. 할 수 있습니다.

위험 허용 범위에 따라 사용자에게 Play 프로텍트 경고에 관해 조치를 취합니다. 사용자가 이러한 요구사항을 충족할 수 없다면 확인할 수 있습니다

UNEVALUATED

Play 프로텍트 확인 결과가 평가되지 않았습니다.

이로 인해 다음과 같은 여러 가지 이유로 인해 발생합니다.

  • 기기를 충분히 신뢰할 수 없습니다.
  • 게임만 해당: 사용자 계정이 LICENSED되지 않았습니다.

최근 기기 활동

최근 기기 활동도 선택하여 최근 기기 활동을 확인할 수 있습니다. 앱이 지난 1시간 동안 특정 기기에서 무결성 토큰을 요청했습니다. 나 최근 기기 활동을 사용하여 예기치 않은 위협으로부터 앱을 보호할 수 있습니다. 공격이 진행 중임을 나타내는 징후일 수 있는 과잉 활성 장치. 다음과 같은 작업을 할 수 있습니다. 얼마나 많은 활동을 하는지에 따라 각 최근 기기 활동 수준을 얼마나 신뢰할지 앱이 일반적인 기기에 설치되어 무결성을 요청할 것으로 예상되는 횟수 확인할 수 있습니다

recentDeviceActivity 수신을 선택하면 deviceIntegrity 필드에 다음과 같이 표시됩니다. 에는 다음 두 개의 값이 있습니다.

deviceIntegrity: {
  deviceRecognitionVerdict: ["MEETS_DEVICE_INTEGRITY"]
  recentDeviceActivity: {
    // "LEVEL_2" is one of several possible values.
    deviceActivityLevel: "LEVEL_2"
  }
}

먼저 데이터를 확인하여 일반적인 기기 활동 수준을 확인해야 합니다. 모든 기기에서 확인할 수 있습니다 그런 다음 앱에서 기기가 너무 많은 요청을 할 때 응답해야 합니다. 활동이 사용자에게 나중에 다시 시도하도록 요청하는 것이 좋습니다 활동이 보다 강력한 시정 조치를 취할 수 있습니다

표준 요청과 기존 요청 비교

Play Integrity 구현의 일환으로 다음 사항을 고려해야 합니다. 살펴보겠습니다 대부분의 경우 표준 요청을 사용해야 합니다. 기존 요청을 사용해야 하는 경우 기기 증명 기록에 관해 새로 생성된 요청이 필요합니다.

기존 요청

표준 요청

요청하는 데 시간이 더 오래 걸리므로 실행 빈도를 줄여야 합니다.

예를 들어 가치가 높은지 또는 실적이 우수한지 확인하기 위해 일회성으로 진짜인지 아닌지 말이죠

드물게 사용합니다.

요청은 지연 시간이 짧으며 주문형으로 사용할 수 있습니다.

표준 요청은 다음 두 부분으로 구성됩니다.

  • 무결성 토큰 제공자 준비(일회성)
  • 무결성 토큰 요청 (주문형)

주문형으로 사용.

표준기존 요청

구현

Play Integrity API를 시작하려면 다음 안내를 따르세요.

기본적으로 Play Integrity API는 앱당 일일 최대 10, 000개의 요청을 허용합니다. 받는사람 일일 최대 요청 수를 늘리는 데 관심이 있는 경우 안내를 따르세요. 일일 최대 계정 수 증가를 위한 자격 요건 앱에서 Play Integrity API를 올바르게 구현하고 다른 배포 채널에서도 사용할 수 있습니다.

Play Integrity API와 관련해 유의해야 할 사항

자동 무결성 보호 (API 23 이상)

자동 무결성 보호는 사용자의 의도를 충족하는 승인되지 않은 형태의 무결성 악용으로부터 앱을 보호합니다. 쉽게 관리할 수 있습니다 데이터 연결 없이 작동하며 테스트 전에 개발자의 작업이 필요하지 않으며 백엔드 서버 통합도 없습니다.

사기를 줄이는 방법

자동 무결성 보호를 사용 설정하면 Google Play에서 제거하기 어렵게 만들고 고급 난독화 및 안티리버스 엔지니어링 기법에 대해 배우게 될 것입니다. 이 보호 기능은 런타임 시 앱이 변경 또는 재배포된 경우:

  • 설치 프로그램 검사를 통과하지 못하면 사용자에게 Google Play에서 앱을 다운로드하라는 메시지가 표시됩니다.
  • 수정 검사를 통과하지 못하면 앱이 실행되지 않습니다.

이렇게 하면 수정된 버전의 앱으로부터 사용자를 보호할 수 있습니다.

구현

자동 무결성 보호는 현재 일부 Play 파트너만 사용할 수 있습니다. 있습니다. 다음에서 이 기능을 사용할 수 없는 경우 Google Play 개발자 지원팀에 문의하세요. 관심이 있다면 액세스할 수 있습니다

버전을 만들 때 또는 앱에서 보호 기능을 사용 설정할 수 있습니다. 무결성 페이지 (출시 > 앱 무결성)를 클릭합니다. 자동 무결성 보호하려면 앱에서 Play 앱 서명을 사용해야 합니다.

출시 버전을 프로덕션 환경을 참조하세요.

주의사항

  • 보호되지 않는 앱 버전을 출시하지 마세요
  • 여러 조작 방지 솔루션을 함께 사용할 때 주의할 점
  • 보호되는 앱을 프로덕션에 출시하기 전에 테스트
  • 비정상 종료가 증가했는지 통계를 정상적으로 모니터링합니다.
  • 앱의 손상된 버전을 Google Play에 신고할 수 있습니다.