게시 날짜 : 12 월 9, 2024
Magisk와 Shamiko 모듈 이해: 우회 주장 분석 Digital.ai'의 안드로이드 보안
Android 앱은 위협 행위자가 애플리케이션의 동작을 수정하기 위한 일반적인 대상이며 다음과 같은 도구가 있습니다. Magisk 확장성과 상당한 감춰짐을 유지할 수 있는 능력으로 인해 인기를 얻었습니다. 샤미코 추가 숨기기 위한 인기 있는 선택으로 등장했습니다. Magisk이러한 정교한 은폐 기술을 감지할 수 있는 보안 솔루션의 중요성을 강조합니다.
이 게시물에서는 다음 내용을 살펴보겠습니다. Magisk 이다, 탐험하다 Magisk 모듈 일반적으로 - 그것들이 무엇인지, 그것들이 어떻게 구축되었는지에 대한 개요, 그리고 그것들이 Android 시스템에 통합되는 방식 - 그리고 나중에 논의합니다. 샤미코. 또한 보안 조치를 우회하는 것과 관련된 주장도 다룰 것입니다. 애플리케이션 강화 솔루션은 진화하는 위협과 Android 앱 보안에 미치는 이러한 도구의 광범위한 영향으로부터 포괄적인 보호 기능을 제공합니다.
마기스크란 무엇인가요?
Magisk 개요
Magisk는 안드로이드 사용자가 핵심 시스템 파일을 변경하지 않고 루트 권한을 얻을 수 있도록 해주는 인기 도구입니다. Magisk는 시스템 이미지가 아닌 부트 이미지를 수정함으로써 "시스템리스" 상태를 유지합니다. 즉, 일반적인 시스템 무결성 검사에서 수정 사항을 숨깁니다. 이 기능을 통해 사용자는 일반적으로 루팅된 기기를 차단하는 앱을 실행하면서도 기기를 루팅할 수 있으므로, Magisk는 사용자 지정 및 앱 호환성 유지에 특히 강력합니다. Magisk는 다음과 같은 주요 파티션을 수정합니다. boot.img 그리고 INIT 실행 가능 마기스키닛Android의 핵심 시스템 파일을 직접 변경하지 않고 부팅 프로세스 중에 사용자 정의 구성을 로드합니다¹.
Magisk 설치
인셀덤 공식 판매점인 Magisk 설치되면 재부팅 시에도 지속성이 보장됩니다. INIT 자체적으로 실행 가능 마기스키닛. 그만큼 INIT 실행 파일은 부팅 과정에서 가장 먼저 실행되는 네이티브 Linux 바이너리입니다. 이 단계를 가로채면 Magisk 처음부터 시스템 동작을 수정할 수 있습니다.
또한, Magisk 수정 init.rc 파일은 Android가 부팅 프로세스의 여러 단계에서 실행될 명령을 정의하는 데 사용하는 텍스트 기반 구성 파일입니다. 구문은 다음과 같습니다. init.rc 부팅 중에 명령을 내릴 수 있습니다. Magisk 패치를 적용하여 사용자 정의 부팅 작업을 도입하고 자체 작업이 원활하게 통합되도록 보장합니다.
Zygisk 란 무엇입니까?
지기스크,의 일부 Magisk 프레임워크를 사용하면 개발자가 사용자 정의 코드를 삽입할 수 있습니다. 접합자 새 앱을 포크한 후 프로세스 시스템 _ 서버 프로세스. 이 주입은 특수화 단계 이후에 발생하므로 모든 수정 사항이 새로 포크된 프로세스 내부가 아닌 프로세스 내부에서 발생합니다. 접합자 데몬 자체.
Zygisk의 수명주기 여러 가지에 의해 구동됩니다 PLT(Procedure Linkage Table) 함수 후크 주요 라이브러리에 배치됨:
- libandroid_runtime
- 리바트
- libnative_bridge
이러한 후크는 전략적으로 배치되어 있습니다. 지기스크 특히 프로세스 초기화와 같은 주요 단계에서 프로세스와 그 수명 주기에 대한 세부적인 제어가 가능합니다.
The 절차 연결 테이블(PLT) 동적 링커가 런타임에 함수 주소를 확인하는 데 사용하는 메커니즘으로, 라이브러리가 코드를 동적으로 공유할 수 있도록 합니다. PLT, 지기스크 Android 런타임 내에서 중요한 함수에 대한 호출을 가로채 앱 또는 시스템 프로세스의 수명 주기 내 다양한 지점에 사용자 지정 동작을 주입할 수 있습니다. 이를 통해 각 초기화 단계를 정밀하게 제어할 수 있으므로 개발자는 프로세스 실행의 중요한 단계에서 동작을 수정할 수 있습니다.
예를 들어, 후크 libandroid_runtime 수 지기스크 Android 런타임 환경에 개입하는 동안 후크합니다. 리바트 앱 코드 실행을 담당하는 Android 런타임(ART)을 제어합니다. 한편, libnative_bridge 네이티브 라이브러리를 처리하여 허용합니다. 지기스크 Android 런타임과 네이티브 코드 간의 상호작용을 관리합니다.
다음 다이어그램에서는 이러한 후크의 실행 순서와 후크가 프로세스 수명 주기와 상호 작용하는 방식을 보여줍니다.

전문화란 무엇인가?
Zygote가 앱이나 서비스에 대한 새 프로세스를 포크하면 특수화를 수행합니다. 특수화는 새 앱 프로세스의 동작과 권한을 제한하는 보안 샌드박싱 조치를 적용합니다. 이를 통해 각 앱이 통제되고 격리된 환경에서 실행되고 시스템이나 다른 앱을 방해하지 않도록 합니다. 이 과정에서 시스템은 사용자 권한 설정, 보안 컨텍스트 및 기타 앱 수준 제한과 같은 정책을 시행합니다. 특수화는 Android의 안전한 다중 사용자 환경을 유지하는 데 매우 중요합니다.
또한, Zygote는 system_server라는 특수 프로세스를 포크합니다. 이 프로세스는 주요 Android 작업을 관리하는 다양한 시스템 서비스를 호스팅합니다. 이러한 서비스는 앱이 Android 운영체제와 상호 작용하는 방식을 제어하고 권한, 기기 정책, 앱 수명 주기 관리와 같은 중요한 구성 요소를 관리합니다. Zygisk를 사용하면 개발자는 system_server 프로세스와 앱 프로세스 모두에 연결하여 동작을 변경하거나 사용자 지정 기능을 도입할 수 있습니다. 이 기능은 개발자가 앱과 서비스의 실시간 작동 방식을 제어할 수 있도록 하여 시스템 수준 동작에 대한 높은 수준의 제어를 제공한다는 점에서 특히 강력합니다. 그러나 사용자 지정 코드는 Android 보안 샌드박스의 제약 조건 내에서 실행되므로 앱 또는 시스템 프로세스에 적용되는 권한과 제한 사항을 준수해야 합니다.
Magisk의 일반적인 사용 사례
- 루팅 장치: 많은 사용자가 다음을 사용합니다. Magisk 안드로이드에 대한 루트 접근 권한을 얻어서 기기를 높은 수준으로 사용자 정의하고 제어할 수 있습니다.
- 모듈 설치: 루팅을 넘어서, Magisk 또한 Android 시스템이나 기존 앱의 기능을 확장하거나 수정하는 모듈도 지원합니다.
다음 섹션에서는 Zygisk가 Magisk 모듈과 함께 작동하여 Android 시스템의 기능을 더욱 확장하는 방법을 살펴보겠습니다.
Magisk 모듈이란 무엇인가요?
Magisk 모듈은 사용자가 모듈 방식으로 기능을 추가하고, 시스템 구성 요소를 수정하고, 앱 동작을 조정할 수 있도록 하는 확장 프로그램입니다. 이러한 모듈은 마기스크의 인기가 많은 이유는 핵심 시스템 파일을 직접 수정하지 않고도 Android 환경을 쉽게 사용자 지정할 수 있는 방법을 제공하기 때문입니다.
Magisk 모듈은 어떻게 만들어지나요?
개발자는 일반적으로 수정 사항을 명시하는 스크립트와 구성 파일을 사용하여 Magisk 모듈을 개발합니다. 이러한 모듈은 Magisk Manager 앱을 사용하여 시스템에 쉽게 추가하거나 제거할 수 있는 모듈 형식으로 개발됩니다. 모듈은 목표에 따라 간단한 스크립트부터 더 복잡한 변경 사항까지 다양합니다.
Magisk 모듈의 예
- 광고 차단제: 시스템 전반에서 광고를 차단합니다.
- 앱 기능 확장: 기존 앱의 동작을 수정하거나 확장합니다(예: 숨겨진 기능 활성화).
- 디블로터스: 원치 않는 시스템 앱을 제거하여 기기를 더욱 가볍고 효율적으로 만드세요.
안드로이드 시스템과의 통합: Zygisk
Magisk의 주목할만한 기능 중 하나는 다음과 같습니다. 지기스크Android와 통합되는 접합자 프로세스. Zygote는 애플리케이션 실행 및 Dalvik/ART 초기화를 담당하며, 애플리케이션의 부모 프로세스 역할을 합니다. 지기스크 앱 프로세스 내에 존재하여 앱 내부에서 앱을 수정하고 앱 작동 방식을 상당히 제어할 수 있습니다. 이러한 통합을 통해 Magisk는 다음과 같은 주요 라이프사이클 이벤트를 가로챌 수 있습니다. preAppSpecialize postAppSpecialize 단계를 거치고 앱의 동작을 즉시 변경하는 후크를 적용합니다.
샤미코 소개
The 샤미코 모듈은 더 숨겨져 있습니다 Magisk 보안 검사에서 감지되지 않도록 방지합니다. Magisk 루팅된 기기에 대한 보안 정책이 적용된 앱의 수정 사항을 숨기면서도 사용자가 루트 접근 권한을 유지할 수 있도록 지원합니다. 이는 이러한 정교한 은폐 기법을 탐지할 수 있는 고급 보안 솔루션의 필요성을 강조합니다.
우회 주장 Digital.ai (아르잔) 보안
의 개발자 샤미코 모듈이 구현된 보안 조치를 우회할 수 있다고 주장했습니다. Digital.ai's (이전 명칭 Arxan) 안드로이드 보호. 그러나 난독화된 코드에도 불구하고, 역공학 분석 샤미코 자신의 존재를 숨기기 위해 사용하는 구체적인 기술을 공개했습니다.

분석 결과 샤미코 일부 유물을 제거합니다. 지기스크, 프로세스에서 새로운 아티팩트를 도입합니다. 이 아티팩트는 도입된 아티팩트보다 감지하기 더 쉽습니다. Magisk.
Digital.ai샤미코와 유사한 위협에 대한 대응
의 개발자 샤미코 구현된 보안 조치를 우회하기 위한 모듈을 생성했습니다. Digital.ai 및 유사한 보호. 당사의 분석 샤미코의 회피 기법은 많은 루팅 도구와 마찬가지로 특정 아티팩트를 숨기려는 시도가 종종 감지 가능한 새로운 흔적을 생성한다는 것을 보여주었습니다. 이는 다음과 같은 일반적인 역설입니다. 프로세스 조작 변조 도구: 숨기려고 하는 것이 많을수록 잠재적으로 더 많은 유물이 유입되어 탐지에 도움이 될 수 있습니다.
프로세스 조작 도구, 처럼 Magisk 모듈은 애플리케이션 프로세스 내에서 직접 작동합니다. 탐지 방법을 수정하고, OS API를 후킹하거나, 애플리케이션 코드를 변경합니다. 구체적으로, Magisk 모듈은 다음 동안 작동합니다. 전문화 이전 전문화 이후 프로세스 생성 단계입니다. 이러한 타이밍은 애플리케이션 프로세스가 완전히 초기화되기 전과 후에 코드를 주입하여 자체 프로세스 공간 내에서 앱의 동작을 조작할 수 있음을 의미합니다. 이를 통해 상당한 제어권을 확보할 수 있지만, 애플리케이션 강화 솔루션이 감지할 수 있는 프로세스 내 아티팩트(artifact)가 남게 되는데, 이러한 수정 사항은 샌드박스 내에서 접근할 수 있기 때문입니다.
반면, 환경 조작 도구 애플리케이션 주변 환경을 수정하며, 이는 주로 시스템 또는 커널 수준에서 이루어집니다. 시스템 상태나 API 응답을 변경함으로써 앱이 감지할 수 있는 환경적 아티팩트를 생성하여, 도구 자체가 숨기려 하더라도 잠재적인 변조 가능성을 시사합니다.
같은 도구를 사용하는 동안 샤미코 이러한 수정은 종종 보안 솔루션이 감지할 수 있는 추가적인 아티팩트를 생성합니다. 애플리케이션 강화 솔루션 선택환경적 이상과 공정상의 이상을 모두 인식하고 변조와 무단 수정으로부터 강력한 방어 기능을 제공하는 제품을 찾으세요.
루팅 도구로부터 Android 애플리케이션을 보호하기 위한 모범 사례
루팅 도구 또는 루트킷, 끊임없이 진화하고 있으며, 이는 소프트웨어를 변조 및 탐지 우회 기술로부터 보호하고자 노력하는 애플리케이션 개발자에게 상당한 어려움을 안겨줍니다. 새로운 방법론의 빠른 도입을 고려할 때, 애플리케이션 공급업체는 이러한 변화에 적응할 수 있는 특화된 보안 솔루션을 구현하는 것이 매우 중요합니다.
효과적으로 safe안드로이드 애플리케이션을 보호하기 위해 보안 조치는 프로세스 및 환경 조작 기법을 모두 다루어야 합니다. 프로세스 조작 도구는 앱 샌드박스 내에서 프로세스 내 아티팩트에 접근할 수 있도록 허용하는 반면, 환경 조작 도구는 시스템 상태를 변경하여 탐지 가능한 이상 징후를 생성할 수 있습니다. 이러한 고유한 흔적을 인식하는 것은 강력한 보안 솔루션 내에서 계층화된 탐지 기능의 중요성을 강조합니다.
Digital.ai 루팅 도구와 변조 시도로부터 방어하기 위한 포괄적인 보호 기능을 제공합니다.
-
- 체크섬 가드: 애플리케이션 코드의 무결성을 검증합니다.승인되지 않은 수정 사항이 즉시 감지되도록 보장합니다.
- 루트 감지 가드: 다양한 버전의 광범위한 루트킷을 식별하여 이러한 도구가 진화하더라도 탄력적인 루트 감지 기능을 제공합니다.
- 앱 인식: 공격에 대한 실시간 가시성을 제공하는 애플리케이션 위협 모니터링 및 분석 서비스입니다. App Aware 로그는 가드 트리거를 중앙 서버에 저장합니다.조직이 애플리케이션 위협을 모니터링하고 적절하게 대응할 수 있도록 지원합니다.
이러한 보호 기능을 통합함으로써 애플리케이션 개발자는 광범위한 루팅 도구에 대해 강력한 보안 조치를 수립하고 애플리케이션의 무결성을 보존할 수 있습니다. safe민감한 데이터를 보호합니다.
유사한 위협으로부터 iOS 애플리케이션을 보호하는 방법에 대한 통찰력을 얻으려면 다음을 참조하세요. 이전 블로그 게시물, “탈옥 이해하기iOS 생태계 내에서 발생하는 이러한 과제를 탐구합니다.
결론: 루팅 과제 해결 및 미래 보안 강화
다음과 같은 도구의 등장 Magisk, 통합을 통해 지기스크 및 다음과 같은 모듈 샤미코, 이는 안드로이드 앱 보안에 있어 지속적인 과제입니다. 그러나 샤미코 해킹 사건에도 불구하고, 선제적이고 적응적인 접근 방식을 통해 다음과 같은 해결책을 찾을 수 있습니다. Digital.ai의 Android 보안 제품군은 이러한 진화하는 위협에 맞서 강력한 방어 기능을 제공합니다.
최신 위협으로부터 모바일 앱을 보호하려는 개발자 또는 기업이라면 다음을 고려하십시오. 제공하는 포괄적인 보안 솔루션 Digital.aiApp Aware를 포함한공격자보다 앞서 나가고 Magisk와 Shamiko와 같은 도구로부터 앱을 안전하게 보호하세요.