[앱 보안] 악성 APK 파일 분석하기 - 2 / AndroidManifest.xml 분석

비전·2024년 10월 16일

앱 보안

목록 보기
2/3

1. AndroidManifest.xml분석하기

1.1 기본 설정

  • xml 파일 여는 명령
vi AndroidManifest.xml
  • AndroidManifest.xml 기본 구조
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.app">
    <application>
        ...
    </application>
</manifest>

주요 요소로는 manifest, application, activity, service, receiver, provider 등이 있습니다.

  • 패키지 이름 확인
    manifest 태그의 package 속성을 확인하여 애플리케이션의 패키지 이름을 파악합니다.
  • 권한 요청 확인(중요)
    uses-permission 태그를 찾아 애플리케이션이 요청하는 권한을 확인합니다.

1.2 권한(<uses-permission>)

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE"/>
<uses-permission android:name="io.github.dovecoteescapee.byedpi.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION"/>
  • android.permission.INTERNET: 애플리케이션이 인터넷에 접근할 수 있도록 허용합니다.
  • android.permission.POST_NOTIFICATIONS: 알림을 게시할 수 있는 권한을 요청합니다.
  • android.permission.FOREGROUND_SERVICE: 포그라운드 서비스를 사용할 수 있는 권한입니다.
  • android.permission.FOREGROUND_SERVICE_SPECIAL_USE: 특수 용도로 포그라운드 서비스를 사용할 수 있는 권한입니다.
  • io.github.dovecoteescapee.byedpi.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION: 사용자 정의 권한으로, 외부에서 접근할 수 없도록 설정되어 있습니다.

1.3 기능(<uses-feature>)

  • android.software.leanback: Leanback 기능을 사용하겠다고 명시하지만 필수는 아닙니다.
  • android.hardware.touchscreen: 터치스크린 기능을 요구하나 필수는 아닙니다.

1.4 애플리케이션 정보(<application;)

  • 백업 허용: android:allowBackup="true"
  • 앱 아이콘 및 로고 설정: 여러 아이콘이 설정되어 있습니다.
  • 테마: @style/Theme.ByeDPI

2. 분석내용

현재까지 분석한 AndroidManifest.xml파일만으로는 악성코드의 존재 여부를 확정할 수 없습니다.
할 수 있는 추가 분석은 다음과 같습니다.

  • 코드 분석 : smali 파일 분석
  • 네트워크 트래픽 분석 : 어떤 서버와 통신하는지 모니터링
  • 동적 분석
profile
아는 만큼 보인다

0개의 댓글