Detection of Software Packing

Technique Detected:  Software Packing | T1406.002

ID: DET0644
Domains: Mobile
Analytics: AN1721, AN1722
Version: 1.0
Created: 21 October 2025
Last Modified: 12 May 2026

Analytics

AN1721

For iOS, detect Software Packing by correlating analyst-visible device/network evidence and management state; use streaming or batched telemetry only where the documented collector is deployed. Correlate Application Permission via Application Vetting [Code-signing entitlements and Info.plist privacy usage-description keys]; Network Traffic Flow via Apple Network Extension / Enterprise VPN [NEFilterFlow / per-app VPN / secure-web-gateway flow metadata]; Protected Configuration via Apple MDM [DeviceInformation / SecurityInfo / ProfileList / restrictions and compliance queries]. Alert on a sequence or state change inconsistent with the device/app baseline, approved management policy, or expected user workflow; do not infer unobserved API calls, file/process activity, or payload content from management state alone.

Log Sources
Data Component Name Channel
Application Permission (DC0114) mobile:ApplicationVetting Code-signing entitlements and Info.plist privacy usage-description keys
Network Traffic Flow (DC0078) iOS:NetworkExtension NEFilterFlow / per-app VPN / secure-web-gateway flow metadata
Protected Configuration (DC0115) iOS:MDM DeviceInformation / SecurityInfo / ProfileList / restrictions and compliance queries
Mutable Elements
Field Description
MDMApprovedCatalog MDM-managed app list. All enterprise-cert-signed apps should be in this catalog.
AppCDNList Per-app declared CDN from app documentation or 30-day baseline.
CertInstallWindow Default 3600s between cert profile and app install.
PostLaunchWindow Default 300s after first app launch.

AN1722

For Android, detect Software Packing by correlating analyst-visible device/network evidence and management state; use streaming or batched telemetry only where the documented collector is deployed. Correlate File Metadata via Application Vetting / Forensic Acquisition [Dynamic filesystem trace or acquired app-container/filesystem artifacts: DEX file entropy > $PackerEntropyThreshold$ at install time for app NOT IN $MDMApprovedCatalog$]; Module Load via Application Vetting / Instrumented Dynamic Analysis [Dynamic API/runtime trace: DexClassLoader() called at runtime with path NOT matching any file in original APK manifest within $PackerExecWindow$ of app launch]; Network Connection Creation via Android Enterprise Network Logging / Enterprise VPN [DevicePolicyManager.retrieveNetworkLogs(): DnsEvent / ConnectEvent; VPN flow metadata]. Alert on a sequence or state change inconsistent with the device/app baseline, approved management policy, or expected user workflow; do not infer unobserved API calls, file/process activity, or payload content from management state alone.

Log Sources
Data Component Name Channel
File Metadata (DC0059) mobile:ForensicArtifacts Dynamic filesystem trace or acquired app-container/filesystem artifacts: DEX file entropy > $PackerEntropyThreshold$ at install time for app NOT IN $MDMApprovedCatalog$
Module Load (DC0016) mobile:DynamicAnalysis Dynamic API/runtime trace: DexClassLoader() called at runtime with path NOT matching any file in original APK manifest within $PackerExecWindow$ of app launch
Network Connection Creation (DC0082) android:EnterpriseNetworkLog DevicePolicyManager.retrieveNetworkLogs(): DnsEvent / ConnectEvent; VPN flow metadata
Mutable Elements
Field Description
PackerEntropyThreshold Default 7.5 bits Shannon entropy. Legitimate DEX: ~6.5 bits. Calibrate from fleet clean-app baseline. Tightening: 7.8 — fewer FP on obfuscated legitimate apps.
MDMApprovedCatalog MDM-managed app list. Apps in catalog are pre-vetted. Derive from MDM platform.
PackerExecWindow Default 300s after app launch. Tightening: 60s — catches immediate unpack.
AppCDNList Per-app CDN baseline. Derive by measurement.
PostLoadWindow Default 120s.