85 lines
4.1 KiB
JSON
85 lines
4.1 KiB
JSON
{
|
|
"type": "bundle",
|
|
"id": "bundle--8e695794-0dad-4f9d-ba8a-000aeb13e3ab",
|
|
"spec_version": "2.0",
|
|
"objects": [
|
|
{
|
|
"type": "x-mitre-analytic",
|
|
"id": "x-mitre-analytic--8c29fa0f-6b35-40c2-9c99-081a0997db86",
|
|
"created": "2025-10-21T15:10:28.402Z",
|
|
"created_by_ref": "identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5",
|
|
"revoked": false,
|
|
"external_references": [
|
|
{
|
|
"source_name": "mitre-attack",
|
|
"url": "https://attack.mitre.org/detectionstrategies/DET0661#AN1751",
|
|
"external_id": "AN1751"
|
|
}
|
|
],
|
|
"object_marking_refs": [
|
|
"marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168"
|
|
],
|
|
"modified": "2026-01-29T18:53:00.289Z",
|
|
"name": "Analytic 1751",
|
|
"description": "Defender correlates an app acquiring input-capture capability (AccessibilityService enablement or default IME set) with high-frequency text-change/IME commit callbacks sourced from other packages, followed by local keylog persistence and/or small, immediate network egress. Chain: capability/permission \u2192 intercept (accessibility \u2018TYPE_VIEW_TEXT_CHANGED\u2019 or IME commitText/onStartInput bursts) \u2192 persist to container \u2192 near-term egress.",
|
|
"x_mitre_modified_by_ref": "identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5",
|
|
"x_mitre_deprecated": false,
|
|
"x_mitre_version": "1.1",
|
|
"x_mitre_attack_spec_version": "3.3.0",
|
|
"x_mitre_domains": [
|
|
"mobile-attack"
|
|
],
|
|
"x_mitre_platforms": [
|
|
"Android"
|
|
],
|
|
"x_mitre_log_source_references": [
|
|
{
|
|
"x_mitre_data_component_ref": "x-mitre-data-component--1887a270-576a-4049-84de-ef746b2572d6",
|
|
"name": "android:logcat",
|
|
"channel": "Grant/enablement for BIND_ACCESSIBILITY_SERVICE or BIND_INPUT_METHOD for <pkg>"
|
|
},
|
|
{
|
|
"x_mitre_data_component_ref": "x-mitre-data-component--9bde2f9d-a695-4344-bfac-f2dce13d121e",
|
|
"name": "android:logcat",
|
|
"channel": "AccessibilityService connected|TYPE_VIEW_TEXT_CHANGED|TYPE_VIEW_FOCUSED events for other packages"
|
|
},
|
|
{
|
|
"x_mitre_data_component_ref": "x-mitre-data-component--9c2fa0ae-7abc-485a-97f6-699e3b6cf9fa",
|
|
"name": "android:logcat",
|
|
"channel": "Default IME active imeId=<pkg>; frequent onStartInput/commitText calls"
|
|
},
|
|
{
|
|
"x_mitre_data_component_ref": "x-mitre-data-component--2b3bfe19-d59a-460d-93bb-2f546adc2d2c",
|
|
"name": "android:logcat",
|
|
"channel": "CREATE/WRITE to /data/data/<pkg>/(files|databases)/(keys|inputs|clipboard).*\\\\.(db|sqlite|txt|log)"
|
|
}
|
|
],
|
|
"x_mitre_mutable_elements": [
|
|
{
|
|
"field": "TimeWindowSeconds",
|
|
"description": "Max time between intercept \u2192 persist/exfil (e.g., 5\u201345s)."
|
|
},
|
|
{
|
|
"field": "MinKeyEventBurst",
|
|
"description": "Minimum input events in window to flag (e.g., \u226510)."
|
|
},
|
|
{
|
|
"field": "RequireA11yOrIME",
|
|
"description": "Only alert when capability is via Accessibility or IME (true/false)."
|
|
},
|
|
{
|
|
"field": "PersistPathRegex",
|
|
"description": "Regex for keylog artifacts in app container."
|
|
},
|
|
{
|
|
"field": "ExfilDomainAllowlist",
|
|
"description": "Enterprise/analytics endpoints to suppress FPs."
|
|
},
|
|
{
|
|
"field": "UserContext",
|
|
"description": "Foreground/Work Profile/Kiosk to scope alerts."
|
|
}
|
|
]
|
|
}
|
|
]
|
|
} |