In recent times we’ve seen multiple malicious apps found in the Google Play Store by various cyber security firms, including Symantec, yet this problem doesn’t seem to be dissipating. We have uncovered another wave of malicious apps in the Play Store which have been downloaded more than 2.1 million times. We reported these apps to Google on September 2, 2019, and they were removed from the store.
A total of 25 Android Package Kits (APKs), mostly masquerading as a photo utility app and a fashion app, were published under 22 different developer accounts, with the initial sample uploaded in April 2019. These 25 malicious hidden apps share a similar code structure and app content, leading us to believe that the developers may be part of the same organizational group or, at the very least, are using the same source code base.
Remote configuration file
When first installed, the app’s icon is still visible on the device, enabling the user to open and interact with the app normally. However, unbeknownst to the user, a request is made in the background via a third-party service to download a remote configuration file.
We intercepted the configuration file and spotted several different configurations including one that can toggle the app’s icon-hiding behavior, as well as other advertisement-related settings. For other APKs, the icon-hiding and advertisement-displaying behavior was disabled.
Once the configuration file is downloaded, the malware extracts the settings and applies them. From the malware code, we can see that keywords, such as “app_hideIcon” in the case of the icon-hiding feature, are encoded and encrypted. Various encryption keys and initialization vectors (IV) were used across all 25 APKs we found on Google Play (see Figures 4 and 5), which we believe is an effort on the malware authors’ part to avoid rule-based detection by antivirus scanners.
When a string—let’s use the icon-hiding string app_hideIcon as an example again—is decoded and decrypted, it is checked against the key in the configuration file. Then, if it matches, the corresponding value in the configuration file is used to determine if the app icon should be hidden. The setting setComponentEnabledSetting() is called to hide the app’s icon if the value of app_hideIcon is set to true.
Once the app’s icon is hidden, the malware begins displaying advertisements, which are shown even when the app is closed. Full-screen advertisements are displayed at random intervals with no app title registered in the advertisement window, so users have no way of knowing which app is responsible for the behavior.
Monetary gain from advertising revenue is likely the motivating factor behind these apps. Thanks to the apps’ ability to conceal their presence on the home screen, users can easily forget they downloaded them. As such, the malware authors can freely and aggressively display advertisements to users, with minimal evidence leading back to them.
Out of the 22 developer accounts used to publish these apps, we spotted one developer named Burnerfock had published two identical apps named Auto Blur Photo with the same icon and title. However, only one of these apps carried out the previously described malicious behavior. The other sample was free of malicious code and was present in Google Play’s Top App Charts in the Top Trending Apps category, ranking number 7 on the list. We believe that the developer deliberately creates a malicious copy of the trending app in the hope that users will accidentally download the malicious version.
Unlike the previous hidden app malware we discovered, this batch does not have the icon-hiding function hardcoded in the APK. Instead, the switch is controlled remotely via the downloaded configuration file, allowing the malware developer to evade Google Play’s rigorous security testing.
Symantec and Norton products detect these malicious apps as:
Stay protected from mobile risks and malware by taking these precautions:
- 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 or Symantec Endpoint Protection Mobile, to protect your device and data.
- Make frequent backups of important data.
Indicators of Compromise
|Richard Media Studio
We encourage you to share your thoughts on your favorite social platform.