App Safer Android SDK 적용 가이드

App Safer Android는 네이버 클라우드 플랫폼이 제공하는 모바일 보안 솔루션으로서, 모바일 기기나 서비스에 위협이 되는 행위로부터 모바일 애플리케이션의 안전한 실행 환경을 유지하기 위해, 애플리케이션의 변조 여부와 모바일 보안 침해 시도들을 탐지하고, 그 결과를 분석하여 제공하는 모바일 보안 솔루션입니다.

App Safer Android 특징

  • Rooting 탐지
  • Emulator 탐지
  • Debugging 탐지
  • Memory Tampered 탐지
  • Speedhack 탐지
  • App Integrity Tampered 탐지
  • Unauthorized Signature 탐지

App Safer Android 지원 환경

파일 이름 OS 버전 아키텍처
appsafer-${version}-sdk.aar Android 10(API 29) 이상 armeabi-v7a, arm64-v8a, x86, x86_64

App Safer Android SDK 적용 가이드

  1. 프로젝트 아래에 libs 디렉토리를 생성합니다.

  2. build.gradle 파일에 repositories를 추가합니다.

    repositories {
     flatDir {
         dirs 'libs'
     }
    }
    
  3. build.gradle 파일의 dependencies에 aar을 추가합니다.

    • 유형 1. 특정 버전을 추가
dependencies {
    implementation name:'appsafer-${vesion}-sdk', ext:'aar'
}
  • 유형 2. 버전에 상관없이 추가
dependencies {
    implementation fileTree(dir: 'libs', include: 'appsafer-*-sdk.aar')
}

App Safer Android API 목록

클래스 이름 이름 설명
com.nbp.appsafer.AppSafer int start(Context context) App Safer Android 실행
com.nbp.appsafer.AppSafer void setUserId(String userId) 사용자 식별자 설정
com.nbp.appsafer.AppSafer String getUserId() 설정된 사용자 식별자 조회
com.nbp.appsafer.AppSafer void setFlag(int flag) App Safer Android 동작 제어

권한 및 App Safer Key 설정

App Safer Android를 적용하려면 AndroidManifest.xml에 meta-data 태그를 이용하여 App Safer Key를 추가하고, 아래의 권한을 적용해야 합니다. meta-data 내 android:name 속성의 값은 반드시 com.ncp.appsafer.key로 작성해야 합니다.

  • 필수 권한
    • android.permission.INTERNET
    • android.permission.WRITE_EXTERNAL_STORAGE
<?xml version="1.0" encoding="utf-8"?>
<manifest>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    ...
    <application>
        <meta-data android:name="com.ncp.appsafer.key" android:value="APPSAFER_KEY" />
    ...
    </application>
</manifest>

App Safer Android API 설명

int start(Context context)

App Safer Android를 시작합니다.

매개변수
매개변수 설명
context App Safer Android에서 사용하기 위한 Context
반환 값
반환 값 설명
0 실행 성공
1 실행 실패
예제
@OnClick(R.id.buttonStart)
void clickStartButton() {
    if (AppSafer.INSTANCE.start(getApplicationContext()) == 0) {
        // success logic
    }
}


void setUserId(String userId)

초기화 및 탐지 이벤트 발생 시 App Safer 서버에 전송되는 로그에 사용자 ID를 포함하고자 할 때 호출합니다.

매개변수
매개변수 설명
userId 사용자 식별자
예제
void changeUserId(String userId) {
    AppSafer.INSTANCE.setUserId(userId);
}


String getUserId()

설정한 사용자 식별자를 받아옵니다.

반환 값
반환 값 설명
String 설정한 사용자 식별자
예제
String userId = AppSafer.INSTANCE.getUserId();


void setFlag(int flag)

특정 App Safer Android SDK 사용 시 동작을 제어합니다.

매개변수
매개변수 설명
APPSAFER_FLAG_CHECK_ROOTING(1) Rooting 탐지
APPSAFER_FLAG_CHECK_EMULATOR(2) Emulator 탐지
APPSAFER_FLAG_CHECK_DEBUGGING(4) Debugging 탐지
APPSAFER_FLAG_CHECK_MEMORY_TAMPERED(8) Memory Tampered 탐지
APPSAFER_FLAG_CHECK_SPEEDHACK(16) Speedhack 탐지
APPSAFER_FLAG_CHECK_APP_INTEGRITY_TAMPERED(32) App Integrity Tampered 탐지
예제
// Check Rooting, Emulator and Speedhack
AppSafer.INSTANCE.setFlag(
  AppSafer.APPSAFER_FLAG_CHECK_ROOTING | 
  AppSafer.APPSAFER_FLAG_CHECK_EMULATOR | 
  AppSafer.APPSAFER_FLAG_CHECK_SPEEDHACK);

// Check Rooting, Debugging and Memory Tampered
AppSafer.INSTANCE.setFlag(
  AppSafer.APPSAFER_FLAG_CHECK_ROOTING | 
  AppSafer.APPSAFER_FLAG_CHECK_DEBUGGING | 
  AppSafer.APPSAFER_FLAG_CHECK_MEMORY_TAMPERED);

참고 사항

본 상품은 글로벌 리전 서비스로도 제공됩니다.

연관 정보 바로가기

아래 가이드에서 연관 정보를 확인할 수 있습니다.

""에 대한 건이 검색되었습니다.

    ""에 대한 검색 결과가 없습니다.

    처리중...