안드로이드 애플리케이션 분석 완벽 가이드

  • 안드로이드 앱 분석은 APK 기술적 검사, 보안 감사, 사용량 및 비즈니스 분석을 결합한 것입니다.
  • APK Analyzer, Android Studio, Inspeckage 및 OWASP MAS 프레임워크와 같은 도구를 사용하면 오류를 감지하고 코드를 최적화할 수 있습니다.
  • 모바일 분석 플랫폼(Firebase, Contentsquare, Mixpanel 등)은 사용자 행동, 전환율 및 성과를 파악하는 데 도움이 됩니다.
  • 앱 수명주기에 보안, 관찰 가능성 및 제품 지표를 통합하면 품질, 규정 준수 및 투자 수익률(ROI)이 향상됩니다.

안드로이드 애플리케이션 분석

오늘날 우리는 휴대폰에 수천 개의 앱을 설치해 놓고 살고 있지만, 실제로 그 앱들을 제대로 활용하는 방법을 아는 사람은 드뭅니다. 각 안드로이드 앱은 내부적으로 정확히 어떤 일을 하나요?해당 앱은 어떤 권한을 사용하며, 기기 성능과 보안에 어떤 영향을 미칠까요? 개발자, 보안 감사자, 마케팅 팀에게 안드로이드 앱을 이해하고 분석하는 것은 더 이상 선택 사항이 아니라, 안정적이고 빠르며 효과적인 제품을 만들기 위한 핵심 요소입니다. 프라이버시를 존중하다.

이 글에서는 전체적인 개요를 확인할 수 있습니다. 다양한 관점에서 본 안드로이드 앱 분석APK 및 설치된 앱 검사 도구, Android Studio APK Analyzer와 같은 개발 유틸리티, Inspeckage와 같은 감사 프레임워크, OWASP MAS와 같은 보안 방법론, 그리고 주요 모바일 분석 플랫폼(Firebase, Contentsquare, Mixpanel, Countly, Localytics, RevenueCat, AppDynamics, AppsFlyer)에 대한 포괄적인 개요를 제공합니다. 모든 내용은 스페인어(스페인어)로 친근한 어조로 설명되지만, 기술적 전문성을 잃지 않습니다.

안드로이드 앱 분석이란 무엇이며, 어떤 용도로 사용되는가?

안드로이드 애플리케이션 분석에 대해 이야기할 때, 우리는 이 두 가지 모두를 언급할 수 있습니다. APK를 기술적으로 분석하다 (권한, 코드, 매니페스트, 서비스 등)은 물론 사용량 지표, 사용자 행동, 성능, 오류, 심지어 광고 사기까지 분석합니다. 이 두 가지는 서로 다르지만 상호 보완적인 영역입니다. 기술적인 측면은 앱의 보안과 안정성을 보장하고, 제품 분석 측면은 앱이 비즈니스 목표를 달성하는지 여부를 파악할 수 있도록 해줍니다.

기술적인 관점에서 분석은 다음과 같이 나눌 수 있습니다. 정적 분석 및 동적 분석정적 모니터링은 APK 또는 코드를 실행하지 않고 분석합니다(디컴파일, 권한 분석, AndroidManifest.xml 검토 등). 동적 모니터링은 앱이 실행되는 동안 앱의 동작을 관찰하여 네트워크 트래픽, 민감한 API 호출, 암호화 사용 또는 파일 생성 등을 기록합니다.

사용자 경험 및 비즈니스 분석 분야에서는 다음 사항에 중점을 둡니다. 사람들이 앱을 어떻게 사용하는지, 어떤 문제에 부딪히는지, 그리고 왜 전환하거나 이탈하는지 이해하는 것이러한 상황에서 이벤트 추적 시스템, 히트맵, 세션 녹화, 수익 대시보드, 전환 퍼널 및 모바일 마케팅 도구가 중요한 역할을 합니다.

APK 및 설치된 앱을 분석하는 도구

안드로이드 앱의 내부 작동 방식을 이해하기 위해 사용할 수 있는 특수 유틸리티가 있습니다. 설치된 APK 파일 또는 저장된 .apk 파일을 검사합니다. 기기에서 이러한 도구를 사용하면 기본 데이터(이름, 버전, 크기)부터 권한, 백그라운드 서비스 또는 디지털 서명과 같은 세부 정보까지 모든 것을 표시할 수 있습니다.

이 분야에서 가장 인기 있는 앱 중 하나는 오픈 소스 APK 분석기인데, 이 앱은 다음과 같은 특징을 자랑합니다. 구글 플레이에서 가장 많이 다운로드된 APK 분석 앱이 도구를 사용하면 이미 설치된 애플리케이션과 아직 설치되지 않은 .apk 파일에 대한 매우 상세한 보고서를 생성할 수 있으므로, 기기에 접근 권한을 부여하기 전에 앱을 확인하는 데 유용합니다.

일반적인 보고서에는 다음과 같은 정보가 포함됩니다. 앱 이름, 버전, 안드로이드의 최소 및 목표 버전설치 및 업데이트 날짜, 인증서 및 서명 데이터, 사용된 권한(설명 포함), 액티비티, 서비스, 브로드캐스트 수신기 및 콘텐츠 제공자에 대한 정보가 포함됩니다. 또한 하드웨어 요구 사항(필수 및 선택적)에 대한 자세한 정보와 AndroidManifest.xml 파일의 전체 버전을 제공하며, 사람이 읽기 쉬운 형식으로 저장할 수 있는 옵션도 제공합니다.

또 다른 핵심 기능은 다음과 같습니다. 설치된 앱의 APK 파일을 추출합니다. 해당 파일을 기기 저장소에 저장하고 아이콘도 내보낼 수 있습니다. 이는 감사, 백업 생성, 격리된 환경에서의 테스트 또는 업데이트 전 특정 버전을 검토하는 데 유용합니다.

이러한 유형의 분석기에는 일반적으로 다음과 같은 특정 섹션이 포함됩니다. 권한 및 집계 통계한편으로는 기기의 애플리케이션이 요청하는 모든 권한 목록을 확인하고, 어떤 앱이 각 권한을 요청하는지 확인하고, 설명과 보호 수준을 보고, 가장 많은 권한을 요구하는 앱을 쉽게 찾을 수 있습니다. 다른 한편으로는 설치된 앱 모음에 대한 통계를 제공합니다. 여기에는 대상 Android 버전 분포, 서명 유형, 애플리케이션당 평균 활동 또는 권한 수 등이 포함됩니다.

Android Studio APK 분석기 및 apkanalyzer 도구

Android Studio에서 개발하는 사람들을 위해 Google 자체 플랫폼에는 다음과 같은 기능이 포함되어 있습니다. 개발 환경에 강력한 APK 분석기가 통합되어 있습니다.이 도구는 APK 또는 앱 번들을 편집기 창으로 드래그하거나, 빌드 폴더에서 APK를 두 번 클릭하거나, 빌드 메뉴의 "APK 분석" 옵션을 통해 열 수 있습니다. 또한 명령줄 버전도 있습니다. apkanalyzer.

APK 분석기는 파일 내용을 계층적으로 탐색할 수 있게 해 주는데, 이는 내부적으로 다음과 유사합니다. 폴더와 파일이 정리된 ZIP 파일각 항목(폴더 또는 파일)에는 원본 파일 크기와 Google Play에서 제공하는 압축 다운로드 크기 추정치, 그리고 전체 크기에서 차지하는 비율이 표시됩니다. 이를 통해 어떤 리소스, 라이브러리 또는 DEX 파일이 가장 많은 공간을 차지하는지 빠르게 파악할 수 있습니다.

APK Analyzer가 작동하는 방식 중 하나는 매우 흥미로운 점입니다. 최종 AndroidManifest.xml 파일을 다시 빌드합니다.제품 변형이 여러 개 있거나 자체 매니페스트를 가진 라이브러리가 있는 프로젝트의 경우, 컴파일 과정에서 이러한 모든 파일이 단일 파일로 결합됩니다. APK는 바이너리 형식을 유지하지만, 파서는 이를 다시 읽기 쉬운 XML로 변환하여 기기에서 시스템이 보게 될 매니페스트를 정확하게 표시하므로 빌드 프로세스로 인해 발생한 변경 사항을 더 쉽게 감지할 수 있습니다.

이 선언문 뷰어에는 다음 기능도 포함되어 있습니다. 린트 기능이 기능은 인식할 수 없는 XML 스키마와 같은 오류 및 경고를 알려줍니다. 일부 경고(예: 등록되지 않은 스키마에 대한 경고)는 무시해도 되며, Android Studio 환경 설정에서 해당 스키마를 무시 목록에 추가하여 표시되지 않도록 할 수 있습니다.

APK Analyzer의 또 다른 핵심 구성 요소는 DEX 파일 뷰어이며, 이는 다음과 같은 기능을 제공합니다. 클래스, 패키지, 정의된 메서드 및 참조된 메서드에 대한 카운터이는 특히 DEX당 64개 메서드 제한에 근접하는지 확인하거나, 멀티덱스를 활성화할지 여부를 결정하거나, 종속성을 제거해야 하는지 여부를 판단하는 데 유용합니다.

클래스 트리는 DEX에 정의된 메서드와 참조된 메서드(타사 라이브러리 및 표준 Android 및 Java API의 메서드 포함)를 표시합니다. 이 도구는 두 가지를 구분하여 메서드 예산 중 사용자 정의 코드에 의한 부분과 종속성에 의한 부분을 파악하는 데 도움을 줍니다.

DEX 보기에는 다음 기능도 포함되어 있습니다. 필드, 메서드 및 참조된 메서드를 표시하거나 숨기는 필터입니다.클래스를 확장할 때 로컬 정의만 표시할지 또는 모든 외부 참조를 표시할지 선택할 수 있습니다. 이탤릭체로 표시된 요소는 해당 DEX에 정의가 없는 참조, 즉 다른 DEX 파일이나 프레임워크에 있는 메서드 또는 필드를 나타냅니다.

ProGuard 또는 R8을 사용하여 난독화 및 코드 축소를 사용하는 프로젝트의 경우 분석기는 로드를 허용합니다. 매핑 파일(mapping.txt), seeds.txt 및 usage.txt 동일한 빌드에서 가져온 것입니다. 가져오기가 완료되면 다음과 같은 추가 기능이 활성화됩니다. 원래 클래스와 메서드를 복구하기 위해 이름을 난독화 해제하고, 삭제할 수 없는 노드(시드)를 강조 표시하며, 축소 프로세스 중에 삭제된 노드를 표시합니다.

파일 업로드 대화 상자는 일반적으로 자동으로 일반적인 경로를 가리킵니다.앱/빌드/출력/매핑/릴리스/이 분석기는 정확한 이름이나 "mapping", "usage" 또는 "seeds"를 포함하고 .txt로 끝나는 이름을 검색합니다. 이 정보를 바탕으로 분석기는 보호된 요소를 굵게 표시하고 최종 DEX에 더 이상 존재하지 않는 요소에는 취소선을 표시할 수 있습니다.

DEX 뷰어에는 매우 강력한 기능을 갖춘 컨텍스트 메뉴도 포함되어 있습니다. 바이트코드(smali)를 보고, 사용처를 검색하고, ProGuard 보호 규칙을 생성할 수 있습니다.클래스, 메서드 또는 필드를 선택하면 smali 형식으로 표현된 코드가 포함된 대화 상자를 열거나, DEX 전체에서 해당 심볼이 사용되는 위치를 검색하거나, 향후 빌드에서 해당 심볼이 축소되지 않도록 유지 규칙을 자동으로 생성할 수 있습니다.

APK 분석기는 코드 분석 외에도 다양한 리소스의 최종 버전을 확인할 수 있도록 해줍니다. 예를 들어, 이미지, 레이아웃 또는 resources.arsc 파일 자체예를 들어, 다양한 언어 및 구성으로 지역화된 문자열을 보거나, 특정 변형에서 어떤 리소스가 어떤 리소스를 덮어썼는지 확인하거나, 일반적으로 수동으로 열지 않는 바이너리 파일의 내용을 볼 수 있습니다.

마지막으로, 이 도구에는 빌드를 검토하는 데 매우 유용한 기능이 포함되어 있습니다. 두 APK 또는 앱 번들을 비교합니다현재 버전을 불러와 이전에 게시된 아티팩트와 비교하면 엔티티별 크기 차이를 확인할 수 있으므로 버전 간 용량 증가의 원인(새로운 이미지 리소스, 추가 라이브러리, 코드 변경 등)을 파악하는 데 이상적입니다.

모바일 분석을 활용하여 사용자 경험을 이해하기

순전히 기술적 분석을 넘어서는, 다음과 같은 도구를 갖추는 것이 필수적입니다. 사용자가 앱 내에서 어떤 활동을 하는지 측정할 수 있도록 해줍니다.사용자가 화면을 탐색하는 방식, 오류가 발생하는 위치, 어떤 캠페인이 양질의 트래픽을 유도하고 어떤 캠페인은 그렇지 않은지 등을 파악할 수 있습니다. 모바일 분석 플랫폼은 종류가 매우 다양하기 때문에 플랫폼을 선택하기 전에 비즈니스 요구 사항을 명확하게 정의하는 것이 중요합니다.

첫 번째 단계는 사용량 및 성능 지표를 얻는 것 외에 해당 도구가 또 필요한지 스스로에게 묻는 것입니다. 팀 간 협업을 촉진합니다 (제품, 마케팅, UX, 개발, 지원) 또는 앱과 모바일 웹 데이터를 동시에 분석할 수 있는 솔루션인지 여부가 중요합니다. 또한 CRM, 마케팅 자동화 도구 또는 실험 플랫폼과 같이 이미 사용 중인 다른 솔루션과의 통합 여부도 중요한 기준입니다.

안드로이드 생태계에서 가장 널리 사용되는 솔루션 중 Firebase는 특히 다음과 같은 특징을 가지고 있습니다. 유연한 개발 플랫폼, 호스팅 및 통합 분석 기능Firebase는 자체 데이터베이스 및 인증 인프라를 활용하여 Android, iOS 및 웹용 애플리케이션을 개발할 수 있도록 지원하며, 강력한 분석 및 오류 보고 시스템도 제공합니다.

분석 도구로서 Firebase는 다음과 같은 기능을 제공합니다. 사용량, 트래픽 및 상호 작용에 대한 정량적 데이터를 수집합니다.자동화되고 맞춤화된 이벤트(최대 수백 개)를 생성하고, 앱 오류 발생 위치와 빈도를 모니터링하며, 추측이 아닌 객관적인 데이터를 기반으로 마케팅 또는 제품 관련 의사 결정을 지원합니다.

제품 및 디지털 경험에 중점을 둔 또 다른 플랫폼인 Contentsquare는 기존의 측정 지표를 뛰어넘어 한 단계 더 나아간 서비스를 제공합니다. 상세한 고객 여정 매핑, 히트맵, 세션 재생 및 오류 분석이 도구의 목표는 앱에서 무슨 일이 일어나는지뿐만 아니라 특정 행동이 발생하는 이유, 즉 사용자가 막히는 지점, 인터페이스의 어떤 영역을 무시하는지, 또는 어떤 요소가 사용자에게 불만을 유발하는지 등을 이해하는 데 도움을 주는 것입니다.

여정(Journeys)과 같은 모듈은 전체적인 관점을 제공합니다. 사용자가 접속하는 순간부터 나가는 순간까지의 전체 여정을 보여줍니다. 앱 또는 모바일 사이트를 분석하여 최적화할 가치가 있는 핵심 경로를 파악합니다. 히트맵은 가장 많이 클릭되거나 무시된 영역을 시각화하고, 세션 재생은 개별 세션을 검토하여 패턴(예: 동일한 CTA에 대한 반복적인 클릭)을 감지하며, 제품 분석은 기능 채택률, 전환율, 고객 확보율, 체감 노력 등의 지표를 분석합니다.

Contentsquare에는 오류 분석 모듈도 포함되어 있습니다. 기술적 및 기능적 오류를 영향도별로 그룹화했습니다.어떤 문제를 먼저 해결해야 할지 우선순위를 정하는 데 도움이 되며, 영향 정량화 기능은 이러한 문제를 전환율, 수익 또는 유지율 손실로 환산하여 이해관계자에게 변경 사항을 정당화할 때 매우 유용하게 활용할 수 있습니다.

흥미로운 사례 연구는 이러한 유형의 제품 분석을 사용하여 자신들의 의심을 확인한 한 팀의 사례입니다. 모바일 기기의 서명 화면이 사용자들에게 혼란을 주었습니다.웹과 모바일 데이터를 비교한 결과 모바일 전환율이 확연히 낮다는 것을 확인하고, 모바일 경험을 자세히 조사한 후 모바일 우선 접근 방식으로 서명 페이지를 재설계하여 다양한 기기에 대한 적응성을 크게 개선할 수 있었습니다.

고급 사용자 세분화 및 행동 분석

사용자 행동을 더 자세히 분석하기 위해 일부 플랫폼은 특정 분야에 고도로 특화되어 있습니다. 세분화 및 코호트 생성Mixpanel은 제품 및 마케팅 부서 모두를 위해 설계된 가장 잘 알려진 사례 중 하나로, 전환 경로를 시각화하고 다양한 사용자 그룹의 행동 방식을 분석하는 데 중점을 두고 있습니다.

Mixpanel에서는 사용자를 다음과 같은 기준에 따라 코호트로 그룹화할 수 있습니다. 수행된 행동 또는 공유된 속성예를 들어, 지난 30일 이내에 할부 결제를 시작한 사람, 특정 기능을 사용해 본 사용자 또는 최소 두 번 이상 구매한 고객 등이 있습니다. 이 시스템의 강점은 복잡한 세그먼트 생성을 가능하게 하는 맞춤형 속성과 세분화 로직에 있습니다.

사용자 지정 속성을 조합할 수 있습니다. 이벤트, 사용자 또는 그룹의 속성 새롭고 더 일반적인 속성을 활용할 수 있습니다. 예를 들어, 다양한 소셜 미디어 UTM 소스(페이스북, 인스타그램, 트위터)를 "소셜" 속성으로 그룹화하여 이들의 결합된 행동을 분석할 수 있습니다. 세분화 로직을 사용하면 제품 A와 제품 B를 모두 구매하는 것과 같이 특정 행동 조합을 수행한 고객 세그먼트를 생성할 수 있습니다.

개인정보 보호에 특히 중점을 둔 또 다른 주목할 만한 도구는 Countly입니다. Countly는 모바일, 웹 및 데스크톱 분석 솔루션으로, 회사 자체 인프라에 배포할 수 있어 다음과 같은 이점을 제공합니다. 데이터에 대한 절대적인 제어이는 특히 규제 대상 업종이나 엄격한 규정 준수 요건을 가진 기업에게 흥미로운 사항입니다.

Countly는 향상된 보안, 세부적인 데이터(풍부한 프로필, 개인 수준의 참여 지표)에 대한 실시간 액세스, 그리고 특정 목적에 맞춘 모듈을 제공합니다. 고객 충성도를 분석하고 이탈을 감지합니다.이 회사의 "규정 준수 허브"를 사용하면 데이터 보호 규정에 맞춰 동의에 따른 데이터 수집은 물론 내보내기 또는 삭제 요청을 관리할 수 있습니다.

분석 기능이 통합된 마케팅 및 구독 플랫폼

주된 목표가 모바일 마케팅일 경우, 다음과 같은 요소들을 결합한 구체적인 솔루션들이 있습니다. 측정, 세분화 및 캠페인 실행 단일 플랫폼에서 가능합니다. Localytics가 좋은 예입니다. 애플리케이션 분석과 메시징 및 개인화 도구를 통합하여 통합 시스템이 필요한 마케팅 팀에게 매우 매력적입니다.

Localytics는 상세한 캠페인 보고서를 제공합니다. 전환율, 유지율, ROI, 이탈률 및 앱 삭제에 가장 큰 영향을 미치는 활동은 무엇입니까?이 회사의 예측 분석 기능은 전환 가능성이 높거나 이탈 가능성이 높은 사용자를 식별하여 적절한 시점에 개인화된 메시지를 보낼 수 있도록 지원합니다.

이 플랫폼에는 스마트 맞춤 설정 모듈도 포함되어 있습니다. 프로필, 행동 및 이력을 기반으로 세그먼트를 생성합니다. 그리고 이를 바탕으로 사용자의 상황에 맞춘 캠페인과 경험을 제공하여 메시지의 관련성을 크게 향상시킬 수 있습니다.

구독형 앱 분야에서 RevenueCat은 많은 팀에게 핵심적인 도구로 자리 잡았습니다. 비교적 쉽게 통합할 수 있는 SDK를 통해, RevenueCat은 다음과 같은 기능을 제공합니다. 모바일 구독을 관리하고, 맞춤형 분석 데이터를 수집하고, 심지어 유료 콘텐츠 차단 기능을 테스트할 수도 있습니다. 매 프로젝트마다 바퀴를 새로 발명할 필요 없이.

RevenueCat은 활성 체험판, 체험판 전환, 활성 사용자, 수익 및 월간 반복 수익(MRR)과 같은 구독 지표에 초점을 맞춘 대시보드를 제공합니다. 또한 다음과 같은 기능도 제공합니다. 필터 및 세분화 기능을 갖춘 맞춤형 차트 예를 들어, 반복 수익이 국가별 또는 요금제 유형별로 어떻게 분포되는지 확인할 수 있습니다.

이 시스템의 강점 중 하나는 가격 및 유료 콘텐츠에 대한 A/B 테스트를 제공한다는 점입니다. 다양한 가격, 패키지 및 프로모션 조합을 테스트해 보세요. 그리고 첫 방문부터 유료 구독 접근, 장기 유지에 이르기까지 전체 구독 유입 경로에 대한 각 변형의 영향을 측정합니다.

복잡한 애플리케이션의 가시성을 확보하기 위해 AppDynamics는 마이크로서비스와 서버리스 함수부터 공개 및 비공개 API, 심지어 모바일 앱 자체에 이르기까지 모든 것을 포괄하는 풀 스택 모니터링 솔루션을 제공합니다. 목표는 다음과 같습니다. 성능 문제를 신속하게 감지하고 근본 원인을 파악합니다.코드 자체에 있든, 종속성에 있든, 외부 서비스에 있든 상관없이.

AppDynamics를 사용하면 모바일 기기, 브라우저 및 사용자 지정 사용자의 데이터를 상호 연관시킬 수 있습니다. 앱의 여러 버전 간의 사용 경험을 비교해 보세요. 이를 통해 사용자 경험(UX)이 어떤 부분에서 문제가 발생하는지 파악할 수 있습니다. 이 도구는 상세한 대시보드를 구축할 수 있는 바로 사용 가능한 위젯과 사용자 흐름 및 API 호출을 시뮬레이션하여 실제 사용자에게 영향을 미치기 전에 오류를 감지하는 합성 모니터링 모듈을 제공합니다.

마지막으로 AppsFlyer는 모바일 캠페인의 성과를 측정하고, 분석하고, 보호해야 하는 마케팅 팀에 특화되어 있습니다. 기본적인 분석 기능부터 고급 기능까지 다양한 솔루션을 제공하며, 특히 다음과 같은 분야에 중점을 두고 있습니다. 광고 사기 탐지 (예를 들어, 가짜 클릭을 생성하는 봇).

AppsFlyer는 사기 방지 기능 외에도 다음과 같은 기능을 제공합니다. 사용자 지정 앱 내 이벤트 ROI 또는 고객 생애 가치와 같은 KPI를 특정 사용자 행동과 연결합니다. 또한 유료 캠페인 없이 달성했을 전환 수를 추정하고 광고 투자 효과를 측정하기 위한 증분 효과 테스트도 포함합니다.

이러한 모든 정량적 분석을 보완하기 위해 AppFollow와 같이 특정 측면에 초점을 맞춘 도구를 고려해 볼 가치가 있습니다. 앱스토어와 구글 플레이의 평점 및 리뷰를 모니터링하세요.감성 분석 덕분에 리뷰 어조의 변화 추이를 파악하고 기간을 비교하여 사용자들이 애플리케이션의 품질과 경험을 어떻게 인식하는지에 대한 명확한 단서를 얻을 수 있습니다.

Inspeckage를 이용한 보안 감사 및 고급 분석

마케팅이나 제품 자체가 목표가 아니라면 보안을 감사하고, 악성 소프트웨어를 분석하거나, 앱의 내부 동작을 검토합니다.보다 구체적인 프레임워크들이 등장합니다. 안드로이드 생태계에서 가장 흥미로운 프레임워크 중 하나는 Xposed 모듈처럼 작동하는 Inspeckage(Android Package Inspector)입니다.

Inspeckage는 컴퓨터에서 adb를 통해 접근할 수 있는 Android 기기 자체에 서버를 설정하여 사용자가 확인할 수 있도록 합니다. 앱이 실행되는 동안 기기에서 발생하는 실시간 이벤트MobSF나 AppMon과 같은 다른 분석 환경과 달리, 이 도구의 가장 큰 장점은 동적 분석을 중단하지 않고도 이벤트를 관찰할 수 있고 특정 메서드에 대한 후크를 쉽게 구성할 수 있다는 점입니다.

해당 도구의 코드는 GitHub에서 확인할 수 있으며, Play Store 또는 Xposed 저장소에서 APK 파일로도 다운로드할 수 있습니다. 모듈이 설치되면 Xposed에서 활성화되어 메인 인터페이스에서 볼 수 있습니다. 서버 상태, 네트워크 인터페이스, 포트 및 adb 명령어 로컬 컴퓨터에서 연결하려면 필요합니다.

이 앱은 기기에 설치된 앱 목록을 표시하며, 사용자 앱만 표시하거나 시스템 앱도 포함하여 표시할 수 있는 옵션을 제공합니다. 이 옵션은 측면 메뉴에서 사용할 수 있습니다. 인터페이스 및 포트를 구성하고 사용자 이름과 비밀번호를 사용하여 인증을 활성화하십시오. 그리고 다른 서버 매개변수를 조정합니다.

앱을 선택하고 실행하면 동적 분석이 시작됩니다. 기기에서 호스팅하는 웹페이지에 컴퓨터의 브라우저로 접속하면 [불명확 - 아마도 "기회" 또는 "기능"] 버튼이 있는 메뉴가 표시됩니다. APK 또는 내부 저장소의 데이터를 다운로드하세요.스크린샷을 찍고, 다양한 설정을 적용하고(예: FLAG_SECURE 비활성화, 애플리케이션 재시작, 프록시 선택, 기록할 이벤트 유형 선택 등), 결과를 실시간으로 새로 고칠 수 있습니다.

Inspeckage는 LogCat 탭을 열거나, 앱 또는 모듈이 실행 중인지 확인하거나, 세부 정보 패널을 숨기거나 표시하는 바로가기 기능도 제공합니다. 앱 정보 패널에는 다음 내용이 표시됩니다. 패키지 이름, UID, GUID, 백업 상태 또한 트리뷰 방식의 내부 저장소 접근 방식을 제공하여, 한 번의 클릭으로 파일을 다운로드할 수 있습니다.

보고서 본문은 여러 탭으로 구성되어 있습니다. 그중 하나는 다음과 같습니다. 활동, 권한, 서비스, 콘텐츠 제공자, 방송 수신기 및 공유 라이브러리활동을 시작하거나 공급자를 조회할 수 있는 옵션이 있는 창이 하나 있고, SharedPreferences 전용 창이 하나 더 있는데, 이 창은 로그 형식(시간 경과에 따른 변수 변경 사항 파악용)과 파일의 현재 상태 모두에서 볼 수 있습니다.

가장 강력한 기능 중 하나는 모든 것을 녹화할 수 있다는 점입니다. 애플리케이션의 암호화 활동이 섹션에는 사용된 알고리즘, 키 및 암호화된 정보가 표시됩니다. "해시" 탭에는 해시 함수가 적용된 모든 값과 각 경우에 사용된 함수의 유형이 나와 있습니다.

"파일 시스템" 섹션에는 앱이 상호 작용한 모든 파일 목록이 표시되므로 의심스러운 파일을 생성하거나 비공식 출처에서 애플리케이션을 다운로드하는지 여부를 감지하는 데 유용합니다. "IPC" 탭에는 인텐트를 사용한 프로세스 간 통신 시도가 표시됩니다.

"훅" 탭에서는 사용자 지정 훅이 구성된 모든 메서드의 활동을 한곳에서 확인할 수 있습니다. 그래픽 인터페이스 덕분에 훅 생성은 비교적 간단합니다. 요격 방법과 낚싯바늘의 종류를 명시하십시오.훅을 정의하면 메서드의 입력 매개변수나 반환 값을 수정할 수 있으므로 다양한 테스트 시나리오를 구현할 수 있습니다.

추가 기능은 측면 메뉴에서 찾을 수 있습니다. 기기 지문 인식 값이나 GPS 좌표를 조작합니다.이는 에뮬레이터 감지 메커니즘이나 위치 위장을 우회하는 데 도움이 됩니다. 또한 Inspeckage는 콘텐츠 제공자가 액세스하는 데이터베이스 쿼리, 네트워크 트래픽, 웹뷰 및 기타 리소스를 로깅할 수 있습니다.

이처럼 광범위한 기능을 갖춘 덕분에 Inspeckage는 다음과 같이 평가받고 있습니다. 시료 분석 시간을 단축하는 데 매우 유용한 도구입니다.특히 모바일 악성코드 분석이나 안드로이드 앱 보안 감사를 처음 시작하는 사람들에게 유용합니다.

보안 방법론, 위협 및 테스트 연구소

현재 수십억 대의 안드로이드 기기가 활발하게 사용되고 있으며, 이러한 애플리케이션들이 금융, 건강, 교육 등과 같은 민감한 데이터를 처리하고 있는 상황에서, 이러한 조치를 취하는 것은 필수적입니다. 앱 수명 주기 전반에 걸친 보안이는 단순히 명백한 실수를 피하는 것뿐만 아니라, 결제 처리 시 GDPR과 같은 규정이나 PCI DSS와 같은 업계 표준을 준수하는 것도 포함됩니다.

안드로이드 애플리케이션은 수많은 위협에 노출되어 있으며, 이러한 위협 중 상당수는 다음과 같은 프로젝트에서 해결되고 있습니다. OWASP 모바일 상위 10개가장 중요한 문제점으로는 플랫폼의 잘못된 사용(기본 보안 메커니즘을 활용하지 못함, 권한 관리 부실, 노출된 API 남용), 안전하지 않은 데이터 저장(암호화되지 않은 데이터베이스, 민감한 정보가 포함된 로그, 부실하게 보호된 쿠키) 등을 들 수 있습니다. 안전하지 않은 통신 (구식 프로토콜 사용 또는 암호화되지 않은 트래픽).

문제점 부실한 인증 및 세션 관리 (취약한 비밀번호, 만료되지 않는 세션, 제대로 보호되지 않은 토큰), 물리적 공격자나 악성 소프트웨어가 데이터에 접근할 수 있도록 허용하는 불충분한 암호화, 자동화된 공격을 통해 권한 상승을 허용하는 인증 실패 등이 있습니다.

개발 측면에서 클라이언트 측 코드 품질이 핵심입니다. 잘못된 관행, 오류 제어 부족 또는 보안 기능의 부실한 구현 이러한 요소들은 버퍼 오버플로 및 기타 취약점으로 이어질 수 있습니다. 여기에 더해 코드 변조(악성 바이너리 패치, 리소스 변경 등)의 위험도 존재합니다. 정식 앱을 사칭하는 가짜 앱APK의 리버스 엔지니어링 및 프로덕션 환경에서 비활성화되지 않은 "숨겨진" 또는 디버깅 기능의 존재 여부 등을 확인합니다.

이러한 위협에 대응하기 위해 OWASP 모바일 애플리케이션 보안(MAS) 프로젝트는 다음과 같은 방안을 제안합니다. 보안 요구사항에 대한 방법론 및 체크리스트 안전한 아키텍처 및 설계, 개인정보 보호 및 데이터 저장, 적절한 암호화, 인증 및 세션 관리, 안전한 네트워크 통신, 플랫폼 상호 작용, 코드 품질 및 빌드 구성, 클라이언트 측 복원력 메커니즘 등 여러 영역을 포괄합니다.

이러한 요구사항에 대한 평가는 일반적으로 정적 분석과 동적 분석을 결합하여 수행됩니다. 정적 분석 부분에서는 다음과 같은 산출물을 사용합니다. 소스 코드, 역컴파일된 코드, 바이너리 및 관련 파일 앱을 실행하지 않고도 메타데이터, 함수 호출 및 프로그램 흐름을 통해 잠재적인 취약점을 추론할 수 있습니다. 이 단계에서는 Mara(APK 역어셈블리 및 역컴파일, 디퍼지화, 문자열 분석, 권한 추출 등을 지원하는 분석 프레임워크), APK Analyzer 자체, 그리고 정적 IPC 분석을 위한 JAADAS와 같은 솔루션이 특히 유용합니다.

반면 동적 분석에서는 앱이 제어된 환경에서 실행되고 다양한 조건에서 앱의 동작이 관찰됩니다. 이때 다음과 같은 도구들이 사용됩니다. Drozer는 Dalvik 가상 머신, IPC 엔드포인트 및 운영 체제와 상호 작용합니다. 취약점을 찾기 위해 Burp Suite를 사용했는데, Burp Suite는 웹 프록시 역할을 하여 앱과 서버 간의 트래픽을 캡처하고 조작합니다. Inspeckage는 Android API에 대한 후크를 사용하여 앱을 실시간으로 계측하고 관찰하도록 설계되었습니다.

정적 분석과 동적 분석을 결합하여 보안을 강화하는 모바일 보안 프레임워크(MobSF)와 같은 하이브리드 프레임워크도 있습니다. 보다 포괄적인 감사를 조직화합니다 단 하나의 도구로 가능합니다. 연습을 원하는 사람들에게는 의도적으로 취약하게 설계된 애플리케이션을 사용하는 것이 매우 효과적인 학습 방법입니다.

이러한 연습용 앱에는 InsecureShop(루트 권한 없이도 악용 가능한 취약점이 거의 20개에 달하는 취약한 온라인 쇼핑몰), AndroGoat(수십 개의 다양한 취약점을 가진 Kotlin으로 개발된 최초의 취약한 앱), InsecureBank V2(다양한 취약점을 갖도록 설계된 Python 백엔드를 사용하는 뱅킹 앱) 및 MAS 프로젝트 자체의 Crackme와 같은 프로젝트가 포함되어 있으며, Crackme는 여러 CTF 유형의 난이도로 구성되어 있습니다.

간단히 말해, 안드로이드 앱 분석은 단순히 권한을 확인하거나 다운로드 횟수를 세는 것 이상의 훨씬 더 많은 것을 포함합니다. 여러 요소를 종합적으로 고려해야 합니다. APK 검사 도구, 동적 분석 환경, 보안 방법론, 제품 및 마케팅 분석 플랫폼이러한 모든 요소가 앱 수명 주기에 통합되면 사용자 및 비즈니스의 실제 요구 사항에 부합하는 더욱 안전하고 효율적인 애플리케이션이 탄생합니다.

관련 기사 :
훌륭한 Android 앱을 만드는 방법은 무엇입니까?

선호하는 소스로 추가