Skip to content

T1629.001 Prevent Application Removal

Adversaries may abuse the Android device administration API to prevent the user from uninstalling a target application. In earlier versions of Android, device administrator applications needed their administration capabilities explicitly deactivated by the user before the application could be uninstalled. This was later updated so the user could deactivate and uninstall the administrator application in one step.

Adversaries may also abuse the device accessibility APIs to prevent removal. This set of APIs allows the application to perform certain actions on behalf of the user and programmatically determine what is being shown on the screen. The malicious application could monitor the device screen for certain modals (e.g., the confirmation modal to uninstall an application) and inject screen input or a back button tap to close the modal. For example, Android’s performGlobalAction(int) API could be utilized to prevent the user from removing the malicious application from the device after installation. If the user wants to uninstall the malicious application, two cases may occur, both preventing the user from removing the application.

  • Case 1: If the integer argument passed to the API call is 2 or GLOBAL_ACTION_HOME, the malicious application may direct the user to the home screen from settings screen

  • Case 2: If the integer argument passed to the API call is 1 or GLOBAL_ACTION_BACK, the malicious application may emulate the back press event

Item Value
ID T1629.001
Sub-techniques T1629.001, T1629.002, T1629.003
Tactics TA0030
Platforms Android
Version 1.2
Created 01 April 2022
Last Modified 24 October 2025

Procedure Examples

ID Name Description
S0422 Anubis Anubis may prevent malware’s uninstallation by abusing Android’s performGlobalAction(int) API call.
S1083 Chameleon Chameleon has prevented application removal by abusing Accessibility Services.34
S1067 FluBot FluBot can use Accessibility Services to make removal of the malicious app difficult.7
S1231 GodFather GodFather has abused the accessibility service to prevent the user from uninstalling itself.2
S0406 Gustuff Gustuff may prevent application removal by abusing Android’s performGlobalAction(int) API call.
S0485 Mandrake Mandrake can abuse device administrator permissions to ensure that it cannot be uninstalled until its permissions are revoked.5
S0286 OBAD OBAD abuses device administrator access to make it more difficult for users to remove the application.1
S1062 S.O.V.A. S.O.V.A. can resist removal by going to the home screen during uninstall.6

Mitigations

ID Mitigation Description
M1012 Enterprise Policy An EMM/MDM can use the Android DevicePolicyManager.setPermittedAccessibilityServices method to set an explicit list of applications that are allowed to use Android’s accessibility features.
M1006 Use Recent OS Version Recent versions of Android modified how device administrator applications are uninstalled, making it easier for the user to remove them.
M1011 User Guidance Users should be warned against granting access to accessibility features and device administration services, and to carefully scrutinize applications that request these dangerous permissions. Users should be taught how to boot into safe mode to uninstall malicious applications that may be interfering with the uninstallation process.

References