DoveRunner Mobile App Security for Android · User Guide
위협이 탐지되었을 때 최종 사용자에게 표시되는 지역화된 응답 메시지를 생성, 관리, 적용하는 방법을 안내합니다.
| Plan: Enterprise |
| Platform: Android Mobile App Security |
목차
1. Threat Response Messages 소개
Threat Response Messages는 도브러너 앱보안이 보안 위협(루팅된 기기, 에뮬레이터, 디버거, 앱 변조 등)을 탐지하고 대응하기로 결정했을 때 최종 사용자에게 표시되는 메시지입니다. 기본적으로 솔루션은 기기 언어로 작성된 표준 범용 메시지 세트를 제공합니다. Threat Response Messages 기능을 사용하면 이러한 기본 메시지를 원하는 문구, 스타일, 브랜딩으로 교체할 수 있습니다.
각 템플릿은 최대 3개 언어를 담을 수 있는 재사용 가능한 번들입니다. 언어별로 다음 항목을 설정할 수 있습니다:
- Threat messages — 탐지된 각 위협(Root Detection, Debugger Detected, Emulator Detection, App Tampering, Hooking Framework 등)에 대해 표시되는 문구
- Appearance — 버튼 텍스트, 버튼 색상, 버튼 모양, 메시지 내에서 지원되는 HTML 서식 태그
- Branding — 회사 로고(Android drawable 리소스 이름으로 참조), 다이얼로그 제목 텍스트, 제목/로고 표시 여부 토글
매 Sealing마다 메시지를 설정하는 대신 템플릿을 쓰는 이유는 무엇인가요?
이전에는 Sealing할 때마다 오류 메시지를 처음부터 입력해야 했기 때문에, 매주 여러 빌드를 Sealing하는 팀에게는 느리고 실수하기 쉬운 작업이었습니다. 템플릿을 사용하면 한 번만 설정한 뒤, Sealing 시 템플릿을 직접 선택하거나 Preset에 연결하는 방식으로 여러 번 재사용할 수 있습니다.
Important: 이 기능은 옵트인(opt-in) 방식의 Enterprise 전용 기능입니다. 아무 것도 하지 않으면 앱은 지금까지와 동일하게 솔루션이 제공하는 기본 메시지를 계속 사용합니다. 기존 빌드에는 아무런 변화가 없으며 회귀(regression) 위험도 없습니다.
한눈에 보기
| 기능명 | Threat Response Messages |
| 찾아가는 경로 | Mobile App Security → Android App Security → Threat Response Messages tab |
| 플랜 제공 범위 | Enterprise 전용 |
| 플랫폼 | Android (iOS 지원 예정) |
| 지원 언어 | 16개 locale 코드 (de, en, es, fr, id, it, ja, ko, pt, pt_PT, ru, th, tr, vi, zh, zh_TW) |
| 템플릿당 언어 수 | 최대 3개 |
| 템플릿 적용 위치 | Sealing 마법사(Step 5 — Advanced Detection) 및 Preset |
| 기본 동작 | 템플릿을 선택하지 않으면 솔루션이 제공하는 기본 메시지가 사용됩니다 |
2. 기능 위치 찾기
DoveRunner 콘솔에서 다음 경로로 이동합니다:
Mobile App Security → Android App Security → Threat Response Messages tab
이 탭은 다음 항목들과 함께 위치합니다:
- Apply AppSealing — APK 또는 AAB를 업로드해 Sealing하는 마법사
- Preset — 템플릿을 연결할 수 있는 재사용 가능한 Sealing 설정
- Historical Information — 어떤 템플릿이 사용되었는지를 포함한 과거 Sealing 이력
- App Configuration, Manage Keystore — 그 밖의 Android 보안 설정
탭이 보이지 않나요?
Threat Response Messages 탭은 Enterprise 플랜 계정에만 표시됩니다. 조직이 다른 플랜을 사용 중이며 이 기능을 검토해 보고 싶다면, DoveRunner 계정 담당자에게 문의하거나 제품 내 Help 메뉴를 통해 문의해 주세요.
3. 지원되는 16개 언어
각 템플릿은 도브러너 앱보안(AppSealing) 런타임이 지원하는 16개 locale 코드 중 최대 3개 언어를 설정할 수 있습니다. 언어는 국가명이 아닌 locale 코드로 식별되며, 이는 여러 변형이 존재할 수 있는 지역에서의 혼동을 방지하기 위함입니다. 예를 들어 독일어(de)는 독일, 오스트리아, 스위스의 독일어 사용자에게 동일하게 적용되는 반면, 포르투갈어는 백엔드가 두 가지를 모두 지원하기 때문에 브라질(pt)과 유럽(pt_PT) 변형으로 나뉘어 있습니다.
| Locale 코드 | 언어 | 비고 |
|---|---|---|
de |
독일어 | |
en |
영어 | 선택한 언어가 기기에서 지원되지 않을 경우 대체(fallback) 언어로 사용됨 |
es |
스페인어 | |
fr |
프랑스어 | |
id |
인도네시아어 | |
it |
이탈리아어 | |
ja |
일본어 | |
ko |
한국어 | |
pt |
포르투갈어(브라질) | |
pt_PT |
포르투갈어(포르투갈) | |
ru |
러시아어 | |
th |
태국어 | |
tr |
터키어 | |
vi |
베트남어 | |
zh |
중국어(간체) | |
zh_TW |
중국어(번체) |
3개 언어 제한이 있는 이유는 무엇인가요?
이 제한은 템플릿을 집중적이고 관리하기 쉽게 유지하기 위한 것입니다. 실제로 대부분의 앱은 소수의 우선순위 시장을 타겟팅하며, 하나의 템플릿을 지나치게 많은 locale로 확장하면 번역 정확도, 어조, 길이 등 메시지 품질이 저하됩니다. 3개 이상이 필요하다면 시장이나 제품 라인별로 여러 템플릿을 만들어 서로 다른 Preset을 통해 적용하세요.
4. 템플릿 생성하기
다음 단계에 따라 첫 번째 템플릿을 생성하세요.
| 1 | Threat Response Messages 탭 열기 |
| Mobile App Security → Android App Security → Threat Response Messages로 이동합니다. 기존 템플릿(system + custom) 목록 테이블과 우측 상단의 + New Template 버튼이 표시됩니다. |
| 2 | + New Template 클릭 |
| 편집기에서 제목 없는 새 템플릿이 열립니다. 알아보기 쉬운 이름(예: “Banking — Production” 또는 “Gaming — Asia rollout”)과 선택적으로 설명을 입력하세요. 둘 다 나중에 수정할 수 있습니다. |
| 3 | 최대 3개 언어 추가 |
왼쪽 패널에서 + Add language 드롭다운을 사용해 locale(예: en, ja, zh_TW)을 선택합니다. 최대 3개까지 추가할 수 있습니다. 추가된 언어를 클릭하면 편집기가 해당 언어로 전환됩니다. |
| 4 | 메시지 및 모양(Appearance) 설정 |
|
Messages & Appearance 탭에서 다음을 설정할 수 있습니다:
|
| 5 | 브랜딩 설정 |
|
Branding 탭에서:
|
| 6 | 템플릿 저장 |
| 편집기 상단의 Save Template을 클릭합니다. 템플릿이 Threat Response Messages 목록에 표시되며, Sealing 시 선택하거나 Preset 안에서 바로 사용할 수 있습니다. |
메시지에서의 HTML 서식
모든 메시지 안에서 소수의 HTML 태그를 사용해 최종 사용자에게 표시되는 텍스트에 서식을 적용할 수 있습니다.
지원: <b> <i> <u> <br> <font color="#…"> <big> <small>
미지원: 애니메이션, 클릭 가능한 링크, 커스텀 CSS, JavaScript는 지원되지 않으며 표시 전에 제거됩니다.
5. 템플릿 관리(수정 · 복제 · 삭제)
Threat Response Messages 목록에서는 각 행마다 다음 작업을 지원합니다.
| 작업 | 아이콘 | 설명 |
|---|---|---|
| View messages | 템플릿의 읽기 전용 미리보기를 엽니다. 설정된 각 언어의 메시지와 브랜딩 설정을 확인할 수 있습니다. Sealing에 적용하기 전에 유용합니다. | |
| Edit | 편집기에서 템플릿을 엽니다. 이름, 설명, 언어, 메시지, 모양, 브랜딩을 변경할 수 있습니다. 변경 사항은 이후 Sealing에만 적용되며 과거 Sealing에는 영향을 주지 않습니다. | |
| Duplicate | 이름에 “ (Copy)”가 추가된 템플릿 복사본을 생성합니다. 복제본은 custom 템플릿이며 자유롭게 수정할 수 있습니다. | |
| Delete | 템플릿을 영구적으로 삭제합니다. system 템플릿은 삭제할 수 없습니다. 해당 템플릿을 사용한 과거 Sealing에는 영향이 없으며, Historical Information을 통해 계속 해당 메시지를 참조합니다. |
System vs. Custom 템플릿
템플릿은 목록에서 다음과 같이 태그됩니다:
- System— DoveRunner가 제공하는 기본 템플릿입니다. 보기, 복제, 그대로 사용은 가능하지만 수정하거나 삭제할 수 없습니다. “Default Security Template”이 System 템플릿의 예입니다.
- Custom— 사용자 또는 조직 내 다른 사용자가 만든 템플릿입니다. 보기, 수정, 복제, 삭제 등 모든 작업이 가능합니다.
사용 중인 템플릿을 수정하는 경우
템플릿을 수정하면 이후 Sealing에만 영향을 주며 과거 Sealing에는 영향을 주지 않습니다. 템플릿 버전 A로 Sealing을 완료한 뒤 버전 B로 수정하더라도, 이미 프로덕션에 배포된 빌드는 계속 버전 A를 사용합니다. 수정 이후에 수행된 Sealing만 버전 B를 반영합니다.
검증된 템플릿을 안전하게 보존하려면, 실험적인 변경을 하기 전에 복제해 두고 원본을 안전한 폴백으로 유지하세요.
6. 템플릿 메시지 확인(실시간 미리보기)
콘솔의 세 곳에서 템플릿을 적용하기 전에 View Messages 미리보기를 열 수 있습니다:
- Threat Response Messages 목록에서 — 원하는 행의 👁 아이콘을 클릭합니다.
- Apply AppSealing 마법사 Step 5에서 — 옵트인 토글을 켜고 템플릿을 선택하면 템플릿 카드에 View Messages 버튼이 표시됩니다.
- Preset drawer에서 — 템플릿을 Preset에 연결하면 미리보기 카드에 View Messages 버튼이 표시됩니다.
View Messages 다이얼로그에는 다음이 표시됩니다:
- Language tabs — 설정된 언어마다 하나씩 표시되는 탭입니다. 탭을 전환해 각 locale을 확인할 수 있습니다.
- Branding & Appearance summary — 다이얼로그 제목 텍스트, 버튼 텍스트, 로고 리소스 이름, 버튼 색상 미리보기를 보여줍니다.
- Threat messages — 카테고리별(Device Security, App Integrity, Runtime Protection, Data Protection)로 그룹화된 모든 위협 탐지 메시지를 보여주며, 어떤 메시지가 커스터마이징되었는지 한눈에 알 수 있도록 Customized 또는 Default 배지가 함께 표시됩니다.
읽기 전용으로 설계된 이유
View Messages 다이얼로그는 의도적으로 읽기 전용으로 만들어졌습니다. 변경하려면 다이얼로그를 닫고 템플릿의 Edit을 클릭하거나(또는 Threat Response Messages 탭에서 열어서) 진행하세요. 이러한 분리 구조는 내용만 확인하려던 중 실수로 편집하게 되는 상황을 방지합니다.
7. Sealing 플로우에서 템플릿 사용하기
Threat Response Messages는 Apply AppSealing 마법사의 Step 5 — Advanced Detection 단계에서 적용됩니다. 이 기능은 옵트인 방식이며, 기본적으로는 솔루션이 제공하는 메시지가 사용됩니다. 커스터마이징하려면 다음 단계를 따르세요.
| 1 | Apply AppSealing 마법사 열기 |
| APK 또는 AAB를 업로드하고 평소처럼 마법사를 진행합니다. Step 1–4는 변경되지 않았습니다. |
| 2 | Step 5 — Advanced Detection 도달 |
| 기존 설정(Screen Mirroring & Capture, Data Sealing, Over the Air Update)에 이어, ENTERPRISE 배지가 표시된 Customize Threat Response Messages 카드가 새로 나타납니다. |
| 3 | 옵트인 토글 켜기 |
| 기본값은 off이며, 정보 안내 문구를 통해 솔루션이 제공하는 기본 메시지가 사용됨을 알려줍니다. 토글을 on으로 전환하면 템플릿 선택기가 표시됩니다. |
| 4 | 템플릿 선택 |
| 드롭다운에서 템플릿을 선택합니다. 템플릿 이름, 설정된 언어, 커스터마이징된 메시지 수, 최종 수정일이 표시된 요약 카드가 나타납니다. View Messages를 클릭해 내용을 확인하세요. |
| 5 | Sealing 완료 |
| 우측 패널의 START APPSEALING을 클릭합니다. Sealing된 빌드는 선택한 템플릿을 사용해 최종 사용자에게 위협 대응 메시지를 표시합니다. 선택 내역은 감사(audit)를 위해 Historical Information에 기록됩니다. |
이번 빌드는 커스터마이징하고 싶지 않다면?
옵트인 토글을 꺼진 상태로 두세요. Sealing은 지금까지와 동일하게 솔루션이 제공하는 기본 메시지로 진행됩니다. 이 기능에 관한 한, 옵트아웃한 Enterprise 고객과 Enterprise가 아닌 고객 사이에는 기능적 차이가 없습니다.
8. Preset에 템플릿 연결하기
Preset은 재사용을 위해 Sealing 설정을 묶어 놓은 것입니다. 팀에서 같은 종류의 앱을 자주 Sealing한다면 — 예를 들어 뱅킹 앱의 여러 빌드나 매주 진행하는 QA 릴리스처럼 — 템플릿을 Preset에 연결해 두면 매번 Sealing할 때마다 거쳐야 할 단계를 줄일 수 있습니다.
동작 방식
- Preset 탭을 열고 새 preset을 생성합니다(또는 기존 preset을 수정합니다).
- preset drawer 안에서 Customize Threat Response Messages 카드를 찾습니다. Step 5와 동일한 옵트인 토글 방식을 사용합니다.
- 토글을 켜고 템플릿을 선택한 뒤 preset을 저장합니다.
- Sealing 시 마법사 우측 패널에서 해당 preset을 선택하면 Step 5가 해당 템플릿이 적용된 상태로 자동으로 열립니다. 필요하다면 Sealing 시점에 선택을 그대로 재정의(override)할 수도 있습니다.
Preset 목록에서 보이는 화면
Preset 테이블에는 Threat Response Message Template 열이 있습니다. 각 preset은 다음 두 가지 상태 중 하나로 표시됩니다:
- Banking — Production Template name pill(보라색) — preset에 템플릿이 연결되어 있음을 의미합니다.
- Default messages (회색) — 연결된 템플릿이 없음을 의미합니다. 이 preset을 사용하는 Sealing은 솔루션이 제공하는 기본 메시지를 표시합니다.
Sealing 시점에 재정의하기
Preset이 선택한 템플릿은 기본값일 뿐 고정된 값이 아닙니다. 개별 Sealing 중에는 기반 Preset을 수정하지 않고도 Step 5에서 다른 템플릿으로 전환하거나 옵트인을 완전히 끌 수도 있습니다. 이는 팀의 표준 설정을 바꾸지 않으면서 다른 메시지 세트가 필요한 일회성 빌드에 유용합니다.
9. Historical Information(이력 정보)
Sealing된 모든 빌드는 Historical Information 탭에 기록됩니다. 각 항목에는 타임스탬프, 패키지 이름, 사용자, d앱보안 버전, 완료 상태가 표시됩니다. 행을 클릭하면 Service Version과 Creation Information 두 섹션으로 구성된 상세 패널이 펼쳐집니다.
Threat Response Messages 필드
Creation Information 안의 Threat Response Messages 필드는 해당 Sealing에 어떤 템플릿이 적용되었는지를 나타냅니다:
- Template name — 빌드가 옵트인을 켠 상태로, 템플릿을 선택해 Sealing되었다면 템플릿 이름이 일반 텍스트로 표시됩니다.
-
NA — 빌드가 옵트인을 끈 상태로 Sealing되었거나, 연결된 템플릿이 없거나, 이 기능이 플랫폼에 도입되기 이전에 Sealing된 경우에는 흐린 회색으로
NA가 표시됩니다.
감사(Audit) 및 컴플라이언스
이 필드는 Historical Information의 일부이기 때문에, 모든 Sealing에는 당시 어떤 Threat Response Messages가 적용되어 있었는지에 대한 영구적인 기록이 남습니다. 이는 컴플라이언스 감사, 고객 지원 이슈 대응, 프로덕션 빌드에서 보고된 사용자 행동을 재현하는 데 유용합니다.
Note: Sealing 이후 템플릿을 수정하거나 삭제해도 Historical Information 기록은 변경되지 않습니다. 이력 항목은 Sealing 당시 기준의 템플릿 이름을 계속 참조합니다.
10. FAQ 및 참고 사항
이 기능은 모든 플랜에서 사용할 수 있나요?
아니요. Threat Response Messages는 Enterprise 전용 기능입니다. 계정이 다른 플랜을 사용 중이라면 Step 5의 Customize Threat Response Messages 카드는 비활성화되며, Preset drawer에도 템플릿 선택 섹션이 표시되지 않습니다. 솔루션이 제공하는 기본 메시지가 계속 사용됩니다.
기존 빌드에 영향이 있나요?
아니요. 기존 빌드는 영향을 받지 않으며, 명시적으로 옵트인하지 않은 새 빌드도 계속 솔루션이 제공하는 기본 메시지를 사용합니다. 이 기능은 전적으로 추가(additive)되는 방식입니다.
템플릿을 가져오거나(import) 내보낼(export) 수 있나요?
템플릿은 DoveRunner 콘솔 내부에 존재하며 조직 내에서 복제할 수 있습니다. 조직 간 가져오기/내보내기는 로드맵에 있으며, 워크플로에 중요하다면 제품 내 Help 메뉴를 통해 문의해 주세요.
사용자 기기 언어가 템플릿에 없는 경우 어떻게 되나요?
영어(en) 버전이 대체(fallback) 언어로 사용됩니다. 템플릿에 en이 설정되어 있지 않다면, 해당 기기 언어에 대한 솔루션 제공 기본 메시지가 사용됩니다.
실제 기기에서 다이얼로그가 어떻게 보일지 미리 볼 수 있나요?
편집기 내 실시간 미리보기를 통해 버튼 색상, 다이얼로그 제목 표시 여부, 메시지 텍스트, 기본 타이포그래피를 포함한 다이얼로그 모습을 확인할 수 있습니다. 이 미리보기는 근사치이며, 실제 렌더링은 기기, OS 버전, 활성화된 접근성 설정에 따라 달라질 수 있습니다.
메시지에서 어떤 HTML 태그를 지원하나요?
인라인 서식만 지원됩니다: <b>, <i>, <u>, <br>, <font color="#…">, <big>, <small>. 애니메이션, 클릭 가능한 링크, 커스텀 CSS, JavaScript는 지원되지 않으며 제거됩니다.
iOS도 지원되나요?
초기 대상은 Android입니다. iOS 지원은 후속 릴리스에서 계획되어 있으며, 데이터 모델이 공유되므로 지금 만든 템플릿은 iOS 지원이 시작되면 그대로 재사용할 수 있습니다.
도움이 필요하신가요?
제품 관련 문의는 제품 내 Help 메뉴(상단 바의 ? 아이콘)를 이용하시거나 https://docs.doverunner.com을 방문해 주세요.
Enterprise 플랜 관련 문의나 이 기능에 대한 접근 권한 요청은 DoveRunner 계정 담당자에게 문의해 주세요.