Security > NHN AppGuard > 콘솔 사용 가이드

NHN AppGuard는 Android, iOS 그리고 Unity 환경을 지원합니다.

Android

  • AppGuard Android SDK를 적용하여 더욱 향상된 기능을 이용할 수 있습니다(선택 사항).
  • Android Studio 등에서 빌드한 apk 또는 aab 파일을 웹 콘솔 또는 CLI를 통해 앱을 보다 편리하게 보호할 수 있습니다(필수 사항).

iOS

  • AppGuard iOS SDK를 적용하여 앱을 보호할 수 있습니다(필수 사항).
  • Xcode에서 빌드한 ipa 파일을 웹 콘솔 또는 CLI를 통해 보다 강력하게 보호할 수 있습니다(선택 사항).
  • 웹 콘솔 또는 CLI를 통해 앱 보호 작업을 수행하지 않으면 기본 정책인 Business 플랜으로 동작합니다.
  • 웹 콘솔 또는 CLI로 앱 보호 작업을 수행해야만 무결성 검증, 서명자 검증, 기본 정책 적용, 난독화, 플랜 선택 등 솔루션의 다양한 기능을 누릴 수 있습니다.
  • 이 보호 작업으로 인한 추가 비용 청구는 없습니다.

[주의] Business 플랜 이외 요금제를 설정하거나 플랜을 변경해야 할 경우 웹 콘솔 또는 CLI로 앱 보호 작업을 수행해야 합니다. 앱 보호 작업을 원치 않을 경우 개별 상담을 요청하여 진행하세요.

Unity

  • Android/iOS 앱을 손쉽게 보호할 수 있는 편의 기능을 제공합니다.
  • Unity SDK는 Android SDK와 iOS SDK를 포함하고 있고 하나의 인터페이스로 적용이 가능합니다.

NHN AppGuard의 사용을 위한 적용 단계는 다음과 같습니다.

[그림 1] NHN AppGuard 적용 방법

대시보드

앱 보호 작업이 완료된 앱을 앱 스토어에 배포 후 어뷰징 유저가 탐지되면 밑 그림의 대시보드 탭에서 현황을 확인 할 수 있습니다.

appguard_01_202104

  • 이상 행위 탐지 현황 은 NHN AppGuard가 탐지한 어뷰징 사용자를 로그 탐지 패턴, 기간별 기준 시도 순서로 확인할 수 있습니다.
  • 이상 행위 탐지 현황 의 결과는 우측 상단의 보고서 다운로드(Excel) 버튼을 클릭하여 다운로드할 수 있습니다.
  • 대시보드 는 NHN AppGuard가 탐지한 어뷰징 사용자의 통계 그래프와 리스트를 검색할 수 있습니다.
    • 루팅의 경우, 앱 설치 후 하루 1회 탐지 또는 제재로그를 대시보드에서 확인할 수 있습니다.
  • 유저 ID, 디바이스 ID, 로그 탐지 횟수, 로그 탐지 패턴, 조회기간으로 검색할 수 있습니다.
    • 유저 ID디바이스 ID 는 콤마로 구분하여 여러 개의 조건을 추가할 수 있습니다.
  • 탐지 통계 그래프는 탐지 패턴별 비율과 기간별 탐지 로그 증감 현황을 확인할 수 있습니다.
  • 이상 행위 탐지 현황은 API를 통해 json 형태로도 조회할 수 있습니다. 자세한 내용은 API 가이드를 참고하세요.

앱 보호

SDK 다운로드 및 연동

앱 보호 메뉴를 선택하고 SDK 다운로드 버튼을 누르면 OS별 SDK를 다운로드 받을 수 있습니다.

SDK를 다운로드한 뒤 첨부된 매뉴얼에 따라 연동합니다.

난독화 활성화 신청하기

앱 보호 메뉴를 선택하고 난독화 활성화 버튼을 누르면 Android OS의 코드 난독화를 신청할 수 있습니다. Android OS의 코드 난독화는 월 100만 원의 추가 요금이 발생합니다. iOS는 앱 보호 작업 시 코드 난독화 이용 여부를 선택할 수 있으며, 이에 따른 추가 비용은 청구되지 않습니다.

앱 보호 메뉴 선택

앱 보호 메뉴 선택 후 + 앱 보호 버튼을 클릭하면 다음과 같은 화면이 나옵니다.

appguard_02_202104

  • [인증서] 파일을 선택합니다. 안드로이드는 KeyStore파일입니다.
  • [마스터 비밀번호]를 입력하고 [유효성 검사] 버튼을 클릭하여 인증서 파일의 유효성을 검사합니다.
    • 이 검사 작업은 앱 보호 작업 전 KeyStore의 유효성과 적절한 앨리어스를 선택하기 위함입니다.
    • 유효성 검사 실패시, 인증서 파일 정상 여부와 마스터 비밀번호를 확인 합니다.
  • [앨리어스]명을 선택합니다.
  • [앨리어스 비밀번호]를 입력합니다.
  • [보호할 앱]을 선택합니다.
  • [플랜]을 선택합니다.
    • Business: 앱에 대한 비정상 행위 및 패턴 기반의 기본 보안 탐지 기능
    • Enterprise: Business+자바 코드(DEX) 암호화+메모리 조작 탐지 등 동적 분석 방어 기능(일반 앱 권장)
    • Game: Enterprise+게임 엔진 라이브러리 정적 보호+Unity IL2CPP 코드 분석 방어 등 향상된 동적 분석 방어 보안 기능(게임 앱 권장)
    • 각 플랜별로 제공되는 전체 기능은 앱가드 서비스 가이드를 참조하세요.
  • [릴리즈 버전]을 선택합니다.
  • 확인 버튼을 클릭하여 앱 보호를 합니다.
    • 앱 보호가 끝나면 보호가 된 앱을 다운로드 받을 수 있습니다. 이제 보호가 된 배포 파일을 각 앱스토어에 올려서 배포하면 됩니다.
  • 앱 보호 작업 수단: Console, CLI(Command Line Interface)

정책

NHN AppGuard 작동 중 코드, 메모리, 속도 조작 시도 탐지 시 취해야 할 차단 정책을 설정할 수 있으며, '조건 차단' 시 임계치 기반으로 차단 조건을 설정할 수 있습니다.

appguard_03_202104

  • 전체 차단으로 설정한 정책으로 탐지될 경우, NHN AppGuard 안내 창이 나타나고 앱이 종료됩니다.
  • 조건 차단 시 설정한 조건을 만족하면 블랙리스트에 등록되며, 해당 사용자가 앱을 실행한 경우 NHN AppGuard 안내 창이 나타나고 앱이 종료됩니다.

제재에 대한 내용은 SDK에 포함된 "NHN AppGuard Developer's Guide" 문서를 참고 바랍니다.

차단 기능별 소개

  • NHN AppGuard > 정책 > 전체 차단
    • NHN AppGuard 정책 화면에서 전체 차단으로 설정한 경우 해당 행위가 탐지된 즉시 앱이 종료됩니다.
    • 정책으로 인해 앱이 종료되었더라도 이상 행위 없이 앱을 재실행하면 앱을 정상적으로 사용할 수 있습니다.
    • 정책을 전체 차단 또는 탐지로 변경한 경우 약 1분 후 재기동된 앱에 적용됩니다.
  • NHN AppGuard > 정책 > 개별 차단
    • 에뮬레이터와 매크로툴에 한하여 모든 유형이 아닌 개별 도구 단위로 차단할 수 있습니다.
    • 개별 차단에서 차단으로 설정된 경우 전체 차단과 동일하게 탐지 즉시 앱이 종료됩니다.
    • 정책 저장 후 약 1분 후 재기동된 앱에 적용됩니다.
  • NHN AppGuard > 정책 > 조건 차단
    • NHN AppGuard 정책 화면에서 조건 차단으로 설정한 경우 매일 00시 00분에 조건을 만족한 사용자를 블랙리스트로 등록합니다.
    • 조건의 만족 여부는 작일 00:00:00~23:59:59까지 발생한 탐지 로그를 기반으로 판단하며, 각 조건은 종류별로 독립적으로 동작합니다.
    • 조건 차단으로 등록된 블랙리스트는 NHN AppGuard 블랙리스트 탭에서 확인할 수 있습니다.
    • 조건 차단으로 등록된 블랙리스트로 인해 차단된 사용자는 NHN AppGuard 대시보드 탭에 노출되지 않습니다.
    • 조건 차단으로 블랙리스트에 등록된 사용자는 이상 행위 없이 앱을 실행하더라도 설정한 차단 기간 동안 앱을 사용할 수 없습니다.
    • 조건 차단으로 설정 또는 조건을 변경한 경우 약 10분 후 모든 사용자를 대상으로 적용됩니다.
  • NHN AppGuard > 블랙리스트 기능을 통한 차단
    • NHN AppGuard 블랙리스트 화면에서 사용자를 블랙리스트에 등록한 경우, 해당 사용자가 앱을 실행하면 앱이 종료됩니다.
    • 블랙리스트에 등록한 직후부터 앱이 재실행될 때 적용됩니다.

변경 이력

정책을 변경하고 저장할 때, 언제 누가 어떻게 변경했는지 이력을 관리할 수 있습니다.

appguard_04_202104

개별 차단

에뮬레이터와 매크로툴에 한하여 모든 유형이 아닌 개별 도구 단위로 차단할 수 있습니다.

  • 개별 도구 단위로 해제, 탐지, 차단을 설정할 수 있습니다.
  • 기본 정책을 통해 식별되지 않은 유형에 대한 정책을 설정할 수 있습니다.

조건 추가

정책 메뉴 선택 후, 각 탐지 종류별 조건 차단 버튼을 클릭하면 다음과 같은 화면이 나타납니다.

appguard_05_202104

  • 차단 기준 을 선택합니다.
  • 국가 정보 를 선택합니다.
  • 탐지 횟수 를 입력합니다.
    • 루팅의 경우, 탐지 횟수는 1회로 설정됩니다.
  • 차단 기간(일) 을 선택합니다.
  • 추가 버튼을 클릭하여 조건을 추가합니다.
  • 조건 차단 버튼이 활성화된 상태로 저장 버튼을 클릭하여 조건을 적용합니다.
    • 전날 누적된 탐지 로그를 기반으로 조건이 적용되며, 처음 조건 적용까지는 최대 10분이 소요됩니다.
    • 이후 매일 00시 05분에 전날 누적된 탐지 로그를 기반으로 조건이 새로 적용됩니다.

조건 확인

appguard_06_202104

  • 조건 차단 버튼 옆 버튼을 클릭하여 추가된 조건을 확인할 수 있습니다.

블랙리스트

NHN AppGuard에서 제공하는 디바이스 ID와 SDK 연동 시 사용할 수 있는 유저 ID를 등록하여, 특정 기기와 사용자를 블랙리스트로 관리합니다.

appguard_07_202104

블랙리스트 등록

블랙리스트 메뉴 선택 후, 등록 버튼을 클릭하면 다음과 같은 화면이 나타납니다.

appguard_08_202104

  • 등록 아이디 를 선택합니다.
  • 아이디 유형 을 선택합니다.
  • 등록 사유 를 입력합니다.
  • 차단 기간(일) 을 선택합니다.
  • 등록 버튼을 클릭하여 블랙리스트를 등록합니다.
  • 등록된 블랙리스트 아이디로 앱을 실행하면 차단기간동안 NHN AppGuard 안내 창이 나타나고 앱이 종료됩니다.

블랙리스트 해제

블랙리스트 메뉴 선택 후, 등록된 블랙리스트의 해제 버튼을 클릭하면 다음과 같은 화면이 나타납니다.

appguard_09_202104

  • 해제 버튼을 클릭하여 등록된 블랙리스트를 해제합니다.
  • 해제된 블랙리스트 아이디로 앱을 실행하면 NHN AppGuard에서 앱을 종료하지 않습니다.

블랙리스트 재등록

블랙리스트 메뉴 선택 후, 해제된 블랙리스트의 재등록 버튼을 클릭하면 다음과 같은 화면이 나타납니다.

appguard_10_202104

  • 등록 사유차단 기간(일)을 수정합니다.
  • 등록 버튼을 클릭하여 블랙리스트를 수정한 내용으로 등록합니다.
  • 재등록된 블랙리스트 아이디로 앱을 실행하면 차단 기간 동안 NHN AppGuard 안내 창이 나타나고 앱이 종료됩니다.

로그 조회

탐지된 로그의 상세한 내용을 로그 조회 탭에서 확인할 수 있습니다. appguard_11

  • 유저 ID, 디바이스 ID, 로그 탐지 횟수, 로그 종류, 조회 기간으로 검색할 수 있습니다.
    • 유저 ID디바이스 ID는 쉼표(,)로 구분하여 여러 개의 조건을 추가할 수 있습니다.
  • 유저 ID와 디바이스 ID, Host IP, 디바이스 모델, OS, 로그, 앱 정보 및 시각이 나타납니다.
  • ANDROID_ID 칼럼의 정보를 활용하여 Gamebase의 device_key를 조회하는 데 사용할 수 있습니다.
  • 보고서 다운로드(Excel)를 클릭해 조회 결과를 다운로드할 수 있습니다.

설정

알람 설정

탐지/차단 로그의 개수가 임계값을 넘었을 때 설정한 채널로 알람을 받을 수 있습니다.

  • 임계값 설정
  • 비교 기간 동안 발생한 탐지+차단 수의 중위값에 대하여 오늘 발생한 탐지+차단 수가 임계값을 넘으면 알람이 발생합니다.
    • 중위값을 사용하는 이유는 비교 기간 내 공격 등의 비정상적인 활동으로 인해 로그 수가 급격히 증가한 케이스의 영향성을 줄이기 위함입니다.
  • 임계값은 10~10000%로 설정할 수 있습니다.
  • 예를 들어 7일간 발생한 로그 수가 [5,5,5,5,7,7,7]이고, 설정한 임계값이 100%라면, 오늘 발생한 로그 수가 5개 이상이면 알람이 발생합니다.
  • 알람 수신 채널 설정
  • 이메일을 최대 5개까지 입력하여 알람을 받을 수 있습니다.
  • 이메일은 쉼표(,)로 구분하여 여러 개를 입력할 수 있습니다.
  • 이메일은 추가하거나 삭제만 할 수 있습니다. 수정은 불가능합니다.
  • 알람은 임계값을 넘은 시점부터 10분 이내에 발송됩니다.
  • 알람 메일을 수신한 경우 콘솔에 접속하여 탐지 로그를 확인하세요.

[참고]
* 알람은 하루에 최대 1회 발송됩니다.

TOP