본문 바로가기

BLOG

[참고] NHN AppGuard Android 버전에 SDK를 연동하면 어떤 이점이 있을까요? NHN AppGuard는 Android 버전과 iOS 버전, Unity 버전이 있습니다. 각 버전별 적용 단계와 선택 사항을 적용하면 어떠한 이점이 있는지 알아보겠습니다. 오늘은 Android 버전에 대해 알아볼까요? 1. Android 버전 NHN AppGuard Android 버전은 SDK 연동(선택 사항) 후 빌드된 apk 파일 또는 aab 파일을 Web Console 또는 CLI를 통해 앱 보호작업(필수 사항)을 하면 적용됩니다. NHN AppGuard의 Android 버전 사용을 위한 적용 단계는 다음과 같습니다. Android 버전에서 SDK 연동은 선택사항이기 때문에 꼭 연동하지 않아도 됩니다. 그렇지만 SDK와 연동할 경우 아래와 같은 이점이 있으니 참고해 주세요! 유저 ID 확인 가능 유.. 더보기
[칼럼] NHN AppGuard와 안드로이드 코드 보안의 효과적인 개선 방법 (2) NHN AppGuard와 안드로이드 코드 보안의 효과적인 개선 방법 (1)편에 이어 작성 된 글입니다. NHN AppGuard와 안드로이드 코드 보안의 효과적인 개선 방법 (1) 개발자의 Security Development Lifecycle 단계별 보호조치 방안을 함께 고민하고 활용할 수 있는 기술을 소개합니다. ​ 코드 변조 위협 모두 잘 아시다시피, 코드 보안은 안드로이드 개발 작업에서 매 nhnappguard.nhncloud.com 3. 릴리스 단계 (Release) 안드로이드 앱은 배포 전에 코드 강화, 난독화 및 기타 기술을 사용하여 APK 파일 내의 코드가 해독되기 어렵게 강화해야 합니다. 공격 임계치 및 역공학에 대한 시간 비용을 늘리는 방안이 필요하며 다음과 같은 코드 강화 기술이 대표적.. 더보기
[칼럼] NHN AppGuard와 안드로이드 코드 보안의 효과적인 개선 방법 (1) 개발자의 Security Development Lifecycle 단계별 보호조치 방안을 함께 고민하고 활용할 수 있는 기술을 소개합니다. ​ 코드 변조 위협 모두 잘 아시다시피, 코드 보안은 안드로이드 개발 작업에서 매우 중요한 요소입니다. 하지만 앱 초기 개발 단계부터 코드 보안에 대해서 많이 고려되고 있지 않은 것도 사실입니다. 이런 부분을 효과적으로 개선할 수 있는 다양한 방법에 대해서 이야기하려고 합니다. 안드로이드 모바일 앱은 다음과 같이 소스 코드 노출 및 변조 보안 위협을 가지고 있습니다. ​ 1. 디컴파일 (Decompile) 컴파일된 안드로이드 코드(DEX)는 간단한 디컴파일 관련 도구(apktool, jadx..) 들로 원본과 비슷한 Java 소스 코드 형태로 아주 쉽게 되돌릴수 있습니.. 더보기
[중요] 구글 API Level 24 이상인 경우 꼭 참고해주세요! 기본적으로 NHN AppGuard 보호 작업을 했을 때 입력한 서명 값(keystore)으로 변조 여부를 확인합니다. 하지만 구글 콘솔에서 구글 앱 서명 값을 사용했을 경우 구글에 업로드한 앱은 구글 앱 서명으로 재서명 됩니다. 이렇게 되면 보호 작업 시 입력한 서명 값이 구글 앱 서명으로 변경되어 서명 변조 탐지를 수행합니다. 따라서 “--as” 옵션을 통해 구글 앱 서명 값을 입력해야만 입력한 구글 앱 서명 값에 대해서는 변조 여부를 체크하지 않게 됩니다. 특히, Google API Level 24 이상인 경우 "--as" 옵션 추가가 꼭 필요하니 아래 내용을 꼭 확인해 주세요! 1. Google API Level 24 미만인 경우 ☞ 앱가드의 Google 서명 판단 로직은 v1 서명으로 동작하는데,.. 더보기
[중요] 중국 스토어나 유니티의 UDT를 사용하여 앱을 출시하는 경우 이렇게 해주세요! 중국 스토어나 유니티의 UDP를 사용하여 앱을 출시하는 경우 서드 파티 스토어 지원을 활성화해야 합니다. 서드 파티 스토어 지원을 활성화했을 때 들어가는 옵션 값으로 해당 옵션이 활성화되면 보호 작업 시 breakZipFormat 함수를 호출하지 않아 외부 스토어 배포 때 문제가 없도록 해주고 있습니다. 또한, 외부 스토어(중국 스토어, 유니티 UDP 등)를 지원하기 위해 exStore 옵션을 사용하고 있습니다. 해당 옵션을 활성화했을 경우 안티 리패키징(repacking 방지 기능)을 비활성화하고 있습니다. 이를 통해 외부 스토어 배포 때 문제가 발생하지 않도록 해주고 있습니다. exStore 옵션을 CLI환경에서 사용하기 위해서는 "--exStore" 옵션을 입력하면 되고 Unity SDK를 사용 중.. 더보기