본문 바로가기

안드로이드보안

[참고] NHN AppGuard가 잘 적용이 되었는지 어떻게 확인하나요? 출시될 App에 NHN AppGuard로 앱보호 작업 후 잘 적용이 되었는지 테스트하는 방법은 아래와 같습니다. ▶ Android (AOS) 1. Google Play 스토어에서 매크로 툴 Frep 또는 Automatic Clicker를 테스트 디바이스에 설치합니다. 2. NHN AppGuard가 적용된 앱을 테스트 디바이스에 설치합니다. 3. 테스트 디바이스에서 NHN AppGuard가 적용된 앱을 실행합니다. 4. 위 과정이 완료되면 NHN AppGuard 웹 콘솔 대시보드에서 앱의 로그를 확인합니다. (송신된 로그는 인덱싱 및 처리 과정을 거치기 때문에 약 10분 내로 웹에 표시됩니다.) 위 내용은 NHN AppGuard Android Developer's Guide 문서 6.1에서도 확인하실 수 .. 더보기
[칼럼] 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를 사용 중.. 더보기