Recent variants of Android.Fakebank.B have been updated to work around the battery-saving process Doze. The variants display a pop-up message asking the user to add the threat to the Battery Optimizations exceptions whitelist. If this technique works, then the malware can stay connected to command and control servers even when the device is dormant.
Doze is a power-saving feature in Android 6.0 Marshmallow. When a user doesn’t use an unplugged device for a period of time, the device enters Doze mode. This allows the OS to conserve battery by restricting apps' access to network and CPU-intensive services. This feature is a hurdle for banking malware running in the background and connecting to an attacker’s server to receive commands.
To circumvent Doze’s restrictions, Android.Fakebank.B fires an ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS intent. This triggers a pop-up message asking the user to add the app to the Battery Optimizations exceptions whitelist. Apps that are added to the whitelist do not follow Doze’s restrictions, allowing them to stay connected to their command and control servers in the background regardless of battery conditions.
How the whitelisting technique works
Figure 1. Code responsible for triggering Battery Optimizations exceptions whitelist pop-up
The permission required to fire this intent is REQUEST_IGNORE_BATTERY_OPTIMIZATIONS which is classified as normal. Marshmallow’s dynamic permission model defines permissions as either normal, dangerous, and above dangerous. Permissions determined as normal are approved automatically and cannot be disabled through appinfo permissions.
The intent causes a pop-up message to appear, as shown in Figure 2. Users may be tricked into allowing the threat to bypass Doze’s restrictions if the malware poses as a legitimate app.
Figure 2. Malware prompt claims that the app is called “Chrome” and requests whitelisting
If the user accepts the prompt’s request, the malware will be added to the Battery Optimization exception whitelist, allowing it to stay connected to its attacker’s remote location even when the device is inactive.
Figure 3. Malware added to Battery Optimization exception whitelist
Symantec recommends users follow these best practices to stay protected from mobile threats:
- Keep your software up to date
- Do not download apps from unfamiliar sites
- Only install apps from trusted sources
- Pay close attention to the permissions requested by apps
- Install a suitable mobile security app, such as Norton, to protect your device and data
- Make frequent backups of important data
Symantec and Norton products detect the threat discussed in this blog as Android.Fakebank.B