Detection of Call Log

Technique Detected:  Call Log | T1636.002

ID: DET0602
Domains: Mobile
Analytics: AN1650, AN1651
Version: 1.0
Created: 21 October 2025
Last Modified: 12 May 2026

Analytics

AN1650

For Android, detect Call Log by correlating analyst-visible device/network evidence and management state; use streaming or batched telemetry only where the documented collector is deployed. Correlate API Calls via Application Vetting / Instrumented Dynamic Analysis [Dynamic API/runtime trace: ContentResolver.query(CallLog.Calls) with query_count > $CallLogQueryThreshold$ by app NOT IN $ApprovedDialerApps$]; Network Traffic Flow via Android Enterprise Network Logging / Enterprise VPN [DevicePolicyManager.retrieveNetworkLogs(): DnsEvent / ConnectEvent; VPN flow metadata]; Permissions Request via Android Enterprise DPC / Application Vetting [DevicePolicyManager.getPermissionGrantState(); PackageManager manifest/requested-permission review]. 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
API Calls (DC0112) mobile:DynamicAnalysis Dynamic API/runtime trace: ContentResolver.query(CallLog.Calls) with query_count > $CallLogQueryThreshold$ by app NOT IN $ApprovedDialerApps$
Network Traffic Flow (DC0078) android:EnterpriseNetworkLog DevicePolicyManager.retrieveNetworkLogs(): DnsEvent / ConnectEvent; VPN flow metadata
Permissions Request (DC0116) android:DevicePolicyManager DevicePolicyManager.getPermissionGrantState(); PackageManager manifest/requested-permission review
Mutable Elements
Field Description
ApprovedDialerApps Default dialer, approved call backup apps. Minimal.
CallLogQueryThreshold Default 10 queries/2min — low threshold; call log has minimal legitimate background access.
CallLogUplinkThreshold Default 20KB — call records are small; even 200 records fit in ~20KB.
AppCDNList Per-app CDN. Derive by measurement.
ExfilWindow Default 120s.

AN1651

For iOS, detect Call Log by correlating analyst-visible device/network evidence and management state; use streaming or batched telemetry only where the documented collector is deployed. Correlate Application State via Apple MDM [InstalledApplicationList / ManagedApplicationList]; Host Status via Apple MDM [DeviceInformation / SecurityInfo / ProfileList / restrictions and compliance queries]; Network Traffic Flow via Apple Network Extension / Enterprise VPN [NEFilterFlow / per-app VPN / secure-web-gateway 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
Application State (DC0123) iOS:MDM InstalledApplicationList / ManagedApplicationList
Host Status (DC0018) iOS:MDM DeviceInformation / SecurityInfo / ProfileList / restrictions and compliance queries
Network Traffic Flow (DC0078) iOS:NetworkExtension NEFilterFlow / per-app VPN / secure-web-gateway flow metadata
Mutable Elements
Field Description
CommunicationAppList Phone, FaceTime, WhatsApp, Signal — apps that generate call history.
CallLogDumpMin Default 5KB.
CallLogDumpMax Default 1MB — call records are small; this is generous.
AppCDNList Per-device CDN baseline.
ExfilWindow Default 300s.