Android 문제 · 3 min read · Oct 25, 2025

잘못된 AndroidManifest.xml은 Android 기기를 충돌시킬 수 있습니다

Table Of Contents

  • 잘못된 AndroidManifest.xml은 Android 스마트폰과 태블릿을 충돌시킬 수 있습니다
  • 취약점
  • 보안 위험이 아님

잘못된 AndroidManifest.xml은 Android 스마트폰과 태블릿을 충돌시킬 수 있습니다

당신은 계속해서 재부팅 루프에 빠져 사용자가 사실상 쓸모 없게 만드는 Android 스마트폰이나 태블릿을 본 적이 있습니까? 그렇다면, 마지막으로 다운로드한 APK에 잘못된 AndroidManifest.xml 파일이 있을 것입니다.

Trend Micro Labs의 연구자들은 잘못된 AndroidManifest.xml 파일이 모든 Android 기기를 충돌시키거나 계속해서 재부팅 루프에 빠지게 할 수 있음을 발견했습니다.

Androidmanifest.xml은 모든 Android 앱 또는 APK의 중요한 구성 요소입니다. AndroidManifest.xml 파일은 항상 앱의 루트 디렉토리에 존재하며 Android 운영 체제에 앱에 대한 중요한 정보를 제공합니다. AndroidManifest.xml이 없으면 Android는 앱 코드를 실행할 수 없습니다.

AndroidManifest.xml은 앱이 실행되기 위해 다음과 같은 작업을 수행합니다.

  • 애플리케이션의 Java 패키지 이름을 지정합니다. 패키지 이름은 애플리케이션의 고유 식별자로 작용합니다.

  • 애플리케이션의 구성 요소를 설명합니다. 즉, 애플리케이션이 구성하는 활동, 서비스, 브로드캐스트 수신기 및 콘텐츠 제공자를 설명합니다. 각 구성 요소를 구현하는 클래스의 이름을 지정하고 그들의 기능을 게시합니다(예: 어떤 Intent 메시지를 처리할 수 있는지). 이러한 선언은 Android 시스템에 구성 요소가 무엇인지와 어떤 조건에서 실행될 수 있는지를 알립니다.

  • 어떤 프로세스가 애플리케이션 구성 요소를 호스팅할지를 결정합니다.

  • 애플리케이션이 API의 보호된 부분에 접근하고 다른 애플리케이션과 상호작용하기 위해 가져야 할 권한을 선언합니다.

  • 애플리케이션의 구성 요소와 상호작용하기 위해 다른 사람들이 가져야 할 권한도 선언합니다. 애플리케이션이 실행되는 동안 프로파일링 및 기타 정보를 제공하는 Instrumentation 클래스를 나열합니다. 이러한 선언은 애플리케이션이 개발 및 테스트되는 동안만 매니페스트에 존재하며, 애플리케이션이 게시되기 전에 제거됩니다.

  • 애플리케이션이 필요로 하는 Android API의 최소 수준을 선언합니다.

  • 애플리케이션이 연결해야 하는 라이브러리를 나열합니다.

Trend Micro Labs의 연구자들은 모든 Android 스마트폰을 충돌시킬 수 있는 심각한 취약점을 발견했습니다. Trend Micro 블로그는 “우리는 영향을 받는 장치가 지속적인 재부팅 사이클을 경험할 수 있는 매니페스트 파일과 관련된 취약점을 발견했습니다. 이는 장치를 사용자에게 거의 쓸모 없게 만듭니다.”라고 말합니다.

취약점

연구자들은 이 취약점이 두 가지 방법으로 OS를 충돌시킬 수 있다고 말합니다. 첫 번째 방법은 매우 긴 문자열과 메모리 할당과 관련이 있습니다. 일부 앱은 문서 유형 정의(DTD) 기술을 사용하여 .XML 파일에 큰 문자열을 포함할 수 있습니다. 이 문자열 참조가 AndroidManifest.xml의 일부 태그(예: 권한 이름, 레이블, 활동 이름)에 할당되면 패키지 파서는 이 .XML 파일을 구문 분석하기 위해 메모리를 요구합니다.

연구자들은 패키지 파서가 할당된 메모리보다 더 많은 메모리를 요구할 때 충돌이 발생하고 Android 시스템 런타임 환경에서 연쇄 반응을 일으킨다고 말합니다. 이 연쇄 반응은 모든 실행 중인 서비스를 중지시키고 시스템을 재부팅합니다.

Trend Micro 연구자들이 설명한 두 번째 방법은 .APK 파일과 서비스나 활동이 수행할 수 있는 작업을 선언하는 특정 intent-filter와 관련이 있습니다. 매니페스트 파일에 이 특정 intent-filter가 있는 활동 정의가 포함되어 있으면 런처에 아이콘이 생성됩니다:

일반적으로 이 intent-filter에 정의된 활동의 수는 제한 내에 있으며 설치 후 홈 페이지에 동일한 수의 아이콘이 생성됩니다.

잘못된 intent-filter가 더 많은 활동을 정의할 경우 설치 후 홈 페이지에 동일한 수의 아이콘이 생성됩니다. Trend Micro 연구자들은 이 수가 너무 크면 .APK 파일이 재부팅 루프를 유발한다고 말합니다.

특정 intent-filter의 결과는 정의된 활동 수가 10,000개를 초과할 경우 다음과 같습니다:

  • Android OS 버전 4.4의 경우, 런처 프로세스가 재부팅됩니다.

  • 버전 L의 경우, 패키지 파서가 충돌하고 재부팅됩니다. 잘못된 .APK가 설치되지만 아이콘은 표시되지 않습니다. 활동 수가 100,000개를 초과하면 장치가 재부팅 루프에 빠집니다.

보안 위험이 아님

위의 취약점은 누군가가 특별히 잘못된 AndroidManifest.xml을 APK에 도입하기 전까지는 보안 위험으로 간주될 수 있습니다. 그러나 사이버 범죄자가 이러한 취약점을 가진 APK를 배포할 경우 Android 사용자에게 큰 문제를 일으킬 수 있습니다.

이러한 잘못된 XML 파일이 앱을 통해 시스템에 도입되면 장치는 사실상 재부팅 루프에 빠지게 되고 사용자는 무력해집니다.

잘못된 AndroidManifest.xml 장치를 구출하는 유일한 방법은 Android 스마트폰에서 디버그 브리지(ADB)를 활성화/사용하도록 설정하는 것입니다. 그런 다음 Android 사용자는 스마트폰을 컴퓨터에 연결하고, 빠른 부팅 모드로 전환하고, ROM을 플래시할 수 있습니다.

그러나 모든 사용자가 이러한 시스템 장치를 사용할 수 있는 기술적 능력이 있는 것은 아니며, 초보자가 ADB를 사용할 경우 장치를 벽돌로 만들 위험이 있습니다.

계속해서 재부팅되는 스마트폰에 접촉하게 되면 고객 서비스나 신뢰할 수 있는 수리점에 연락해야 합니다.

이러한 파일이 시스템에 도입되는 것을 막는 또 다른 방법은 검증되고 리뷰된 앱만 다운로드하고 신뢰할 수 없는 웹사이트에서 발견된 APK를 피하는 것입니다.

Trend Micro는 Google에 이 문제를 통보했으며 패치가 곧 출시될 수 있습니다.

Resource : Trend Micro Labs.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.