Application vetting report generated by an external cloud service.
API calls utilized by an application that could indicate malicious activity
API calls utilized by an application that could indicate malicious activity
Domain | ID | Name | Detects | |
---|---|---|---|---|
Mobile | T1661 | Application Versioning |
Application vetting services may look for indications that the application’s update includes malicious code at runtime. |
|
Mobile | T1414 | Clipboard Data |
Application vetting services could detect usage of standard clipboard APIs. |
|
Mobile | T1623 | Command and Scripting Interpreter |
Application vetting services could detect the invocations of methods that could be used to execute shell commands.[1] |
|
.001 | Unix Shell |
Application vetting services could detect the invocations of methods that could be used to execute shell commands.[1] |
||
Mobile | T1645 | Compromise Client Software Binary |
Application vetting services could detect applications trying to modify files in protected parts of the operating system. |
|
Mobile | T1634 | Credentials from Password Store |
Application vetting services may be able to detect known privilege escalation exploits contained within applications, as well as searching application packages for strings that correlate to known password store locations. |
|
.001 | Keychain |
Application vetting services may be able to detect known privilege escalation exploits contained within applications, as well as searching application packages for strings that correlate to known password store locations. |
||
Mobile | T1662 | Data Destruction |
Application vetting services may detect API calls for deleting files. |
|
Mobile | T1471 | Data Encrypted for Impact |
Application vetting services may be able to detect if an application attempts to encrypt files, although this may be benign behavior. |
|
Mobile | T1641 | Data Manipulation |
Application vetting services could look for use of standard APIs (e.g. the clipboard API) that could indicate data manipulation is occurring. |
|
.001 | Transmitted Data Manipulation |
Applications could be vetted for their use of the clipboard manager APIs with extra scrutiny given to application that make use of them. |
||
Mobile | T1407 | Download New Code at Runtime |
Application vetting services could look for indications that the application downloads and executes new code at runtime (e.g., on Android, use of |
|
Mobile | T1627 | Execution Guardrails |
Application vetting services can detect unnecessary and potentially abused API calls. |
|
.001 | Geofencing |
Application vetting services can detect unnecessary and potentially abused API calls. |
||
Mobile | T1404 | Exploitation for Privilege Escalation |
Application vetting services could potentially determine if an application contains code designed to exploit vulnerabilities. |
|
Mobile | T1541 | Foreground Persistence |
Applications could be vetted for their use of the |
|
Mobile | T1628 | Hide Artifacts |
Application vetting services could potentially detect the usage of APIs intended for artifact hiding. |
|
.001 | Suppress Application Icon |
Application vetting services could potentially detect the usage of APIs intended for suppressing the application’s icon. |
||
Mobile | T1629 | Impair Defenses |
Application vetting can detect many techniques associated with impairing device defenses.[1] |
|
.001 | Prevent Application Removal |
Application vetting services may detect API calls to |
||
Mobile | T1630 | .001 | Indicator Removal on Host: Uninstall Malicious Application |
Application vetting services could look for use of the accessibility service or features that typically require root access. |
Mobile | T1655 | Masquerading |
Application vetting services may potentially determine if an application contains suspicious code and/or metadata. |
|
.001 | Match Legitimate Name or Location |
Application vetting services may potentially determine if an application contains suspicious code and/or metadata. |
||
Mobile | T1406 | Obfuscated Files or Information |
Dynamic analysis, when used in application vetting, may in some cases be able to identify malicious code in obfuscated or encrypted form by detecting the code at execution time (after it is deobfuscated or decrypted). Some application vetting techniques apply reputation analysis of the application developer and can alert to potentially suspicious applications without actual examination of application code. |
|
.002 | Software Packing |
Application vetting services could look for known software packers or artifacts of packing techniques. Packing is not a definitive indicator of malicious activity, because as legitimate software may use packing techniques to reduce binary size or to protect proprietary code. |
||
Mobile | T1424 | Process Discovery |
Mobile security products can typically detect rooted devices, which is an indication that Process Discovery is possible. Application vetting could potentially detect when applications attempt to abuse root access or root the system itself. Further, application vetting services could look for attempted usage of legacy process discovery mechanisms, such as the usage of |
|
Mobile | T1631 | Process Injection |
Application vetting services could look for misuse of dynamic libraries. |
|
.001 | Ptrace System Calls |
Application vetting services could look for misuse of dynamic libraries. |
||
Mobile | T1513 | Screen Capture |
Application vetting services can look for the use of the Android |
|
Mobile | T1418 | Software Discovery |
Application vetting services could look for the Android permission |
|
.001 | Security Software Discovery |
Application vetting services could look for the Android permission |
||
Mobile | T1635 | Steal Application Access Token |
When vetting applications for potential security weaknesses, the vetting process could look for insecure use of Intents. Developers should be encouraged to use techniques to ensure that the intent can only be sent to an appropriate destination (e.g., use explicit rather than implicit intents, permission checking, checking of the destination app's signing certificate, or utilizing the App Links feature). For mobile applications using OAuth, encourage use of best practice.[2][3] |
|
.001 | URI Hijacking |
When vetting applications for potential security weaknesses, the vetting process could look for insecure use of Intents. Developers should be encouraged to use techniques to ensure that the intent can only be sent to an appropriate destination (e.g., use explicit rather than implicit intents, permission checking, checking of the destination app's signing certificate, or utilizing the App Links feature). For mobile applications using OAuth, encourage use of best practice. [2][3] |
||
Mobile | T1409 | Stored Application Data |
Application vetting services could detect when applications store data insecurely, for example, in unprotected external storage. |
|
Mobile | T1474 | Supply Chain Compromise |
Usage of insecure or malicious third-party libraries could be detected by application vetting services. Malicious software development tools could be detected by enterprises that deploy endpoint protection software on computers that are used to develop mobile apps. Application vetting could detect the usage of insecure or malicious third-party libraries. |
|
.001 | Compromise Software Dependencies and Development Tools |
Usage of insecure or malicious third-party libraries could be detected by application vetting services. Malicious software development tools could be detected by enterprises that deploy endpoint protection software on computers that are used to develop mobile apps. Application vetting could detect the usage of insecure or malicious third-party libraries. |
||
.003 | Compromise Software Supply Chain |
Application vetting services can detect malicious code in applications. |
||
Mobile | T1633 | Virtualization/Sandbox Evasion |
Application vetting services could look for applications attempting to get |
|
.001 | System Checks |
Application vetting services could look for applications attempting to get |
Additional assets included with an application
Additional assets included with an application
Domain | ID | Name | |
---|---|---|---|
Mobile | T1521 | .003 | Encrypted Channel: SSL Pinning |
Network requests made by an application or domains contacted
Network requests made by an application or domains contacted
Domain | ID | Name | Detects | |
---|---|---|---|---|
Mobile | T1661 | Application Versioning |
Application vetting services may be able to list domains and/or IP addresses that applications communicate with. |
|
Mobile | T1407 | Download New Code at Runtime |
Application vetting services may be able to list domains and/or IP addresses that applications communicate with. |
|
Mobile | T1637 | Dynamic Resolution |
Monitor for pseudo-randomly generated domain names based on frequency analysis, Markov chains, entropy, proportion of dictionary words, ratio of vowels to other characters, and more.[4] Additionally, check if the suspicious domain has been recently registered, if it has been rarely visited, or if the domain had a spike in activity after being dormant.[5] Content delivery network (CDN) domains may trigger these detections due to the format of their domain names. |
|
.001 | Domain Generation Algorithms |
Monitor for pseudo-randomly generated domain names based on frequency analysis, Markov chains, entropy, proportion of dictionary words, ratio of vowels to other characters, and more.[4] Additionally, check if the suspicious domain has been recently registered, if it has been rarely visited, or if the domain had a spike in activity after being dormant.[5] Content delivery network (CDN) domains may trigger these detections due to the format of their domain names. |
||
Mobile | T1658 | Exploitation for Client Execution |
Network traffic analysis may reveal processes communicating with malicious domains. |
|
Mobile | T1428 | Exploitation of Remote Services |
Application vetting may be able to identify applications that perform Discovery or utilize existing connectivity to remotely access hosts within an internal enterprise network. |
|
Mobile | T1544 | Ingress Tool Transfer |
Application vetting services could look for connections to unknown domains or IP addresses. |
|
Mobile | T1509 | Non-Standard Port |
Application vetting reports may show network communications performed by the application, including hosts, ports, protocols, and URLs. Further detection would most likely be at the enterprise level, through packet and/or netflow inspection. |
|
Mobile | T1481 | Web Service |
Application vetting services may provide a list of connections made or received by an application, or a list of domains contacted by the application. |
|
.001 | Dead Drop Resolver |
Application vetting services may provide a list of connections made or received by an application, or a list of domains contacted by the application. |
||
.002 | Bidirectional Communication |
Application vetting services may provide a list of connections made or received by an application, or a list of domains contacted by the application. |
||
.003 | One-Way Communication |
Application vetting services may provide a list of connections made or received by an application, or a list of domains contacted by the application. |
Permissions declared in an application's manifest or property list file
Permissions declared in an application's manifest or property list file
Domain | ID | Name | Detects | |
---|---|---|---|---|
Mobile | T1626 | Abuse Elevation Control Mechanism |
Application vetting services can detect when an application requests administrator permission. |
|
.001 | Device Administrator Permissions |
Application vetting services can check for the string |
||
Mobile | T1517 | Access Notifications |
Application vetting services can look for applications requesting the |
|
Mobile | T1640 | Account Access Removal |
Application vetting services could closely scrutinize applications that request Device Administrator permissions. |
|
Mobile | T1661 | Application Versioning |
Application vetting services may detect when an application requests permissions after an application update. |
|
Mobile | T1429 | Audio Capture |
Android applications using the In both Android (6.0 and up) and iOS, the user can review which applications have the permission to access the microphone through the device settings screen and revoke permissions as necessary. |
|
Mobile | T1662 | Data Destruction |
Mobile security products can detect which applications can request device administrator permissions. Application vetting services could be extra scrutinous of applications that request device administrator permissions. |
|
Mobile | T1642 | Endpoint Denial of Service |
Application vetting services can detect and closely scrutinize applications that utilize Device Administrator access. |
|
Mobile | T1624 | Event Triggered Execution |
Application vetting services can detect which broadcast intents an application registers for and which permissions it requests. |
|
.001 | Broadcast Receivers |
Application vetting services can detect which broadcast intents an application registers for and which permissions it requests. |
||
Mobile | T1627 | Execution Guardrails |
Application vetting services can detect unnecessary and potentially abused permissions. |
|
.001 | Geofencing |
Application vetting services can detect unnecessary and potentially abused location permissions. |
||
Mobile | T1643 | Generate Traffic from Victim |
Application vetting services can detect when applications request the |
|
Mobile | T1630 | Indicator Removal on Host |
Mobile security products can detect which applications can request device administrator permissions. Application vetting services could look for use of APIs that could indicate the application is trying to hide activity. |
|
.002 | File Deletion |
Mobile security products can detect which applications can request device administrator permissions. Application vetting services could be extra scrutinous of applications that request device administrator permissions. |
||
Mobile | T1544 | Ingress Tool Transfer |
Application vetting services may indicate precisely what content was requested during application execution. |
|
Mobile | T1417 | Input Capture |
Application vetting services can look for applications requesting the permissions granting access to accessibility services or application overlay. |
|
.001 | Keylogging |
Application vetting services can look for applications requesting the |
||
.002 | GUI Input Capture |
Application vetting services can look for applications requesting the |
||
Mobile | T1430 | Location Tracking |
Android applications requesting the |
|
Mobile | T1636 | Protected User Data |
Application vetting services typically flag permissions requested by an application, which can be reviewed by an administrator. Certain dangerous permissions, such as |
|
.001 | Calendar Entries |
Application vetting services could look for |
||
.002 | Call Log |
Application vetting services could look for |
||
.003 | Contact List |
Application vetting services could look for |
||
.004 | SMS Messages |
Application vetting services could look for |
||
Mobile | T1422 | System Network Configuration Discovery |
Application vetting services could look for usage of the |
|
.001 | Internet Connection Discovery |
Application vetting services could look for usage of the |
||
.002 | Wi-Fi Discovery |
Application vetting services could look for usage of the |
||
Mobile | T1512 | Video Capture |
During the vetting process, applications using the Android permission |
Device configuration options that are not typically utilized by benign applications
Device configuration options that are not typically utilized by benign applications
Domain | ID | Name | Detects | |
---|---|---|---|---|
Mobile | T1638 | Adversary-in-the-Middle |
Application vetting services should look for applications that request VPN access. These applications should be heavily scrutinized since VPN functionality is not very common. |