Malware & Threats

Banking Trojans Abuse API to Evade Android Security

<p class="MsoNormal"><!--[if gte mso 9]><xml> <o:OfficeDocumentSettings> <o:AllowPNG /> </o:OfficeDocumentSettings> </xml><![endif]--> <!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves /> <w:TrackFormatting /> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF /> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexSc

Mobile malware authors are constantly looking for new ways to circumvent anti-malware programs, and Symantec researchers recently discovered banking Trojans that are leveraging new techniques to bypass the security of Android 5.0 and 6.0.

Dubbed Android.Bankosy and Android.Cepsohord, these are the same banking Trojans that were recently found to be abusing the permission-granting model that Google has introduced in Android 6.0 Marshmallow.

What researchers revealed at the end of May was that Bankosy, which emerged in January as a threat capable of intercepting voice calls to bypass voice call-based two-factor authentication (2FA) systems, was asking for the necessary permissions at runtime. Previously, it was asking for them during installation, but that no longer worked in the latest platform iteration.

Now, Symantec explains that both Bankosy and Cepsohord have discovered a way to find the current running tasks, despite the fact that Google attempted to prevent that in Android 5.0 Lollipop and 6.0 Marshmallow by deprecating the getRunningTasks() API that was already being abused by malware. Now, the malware leverages the UsageStatsManager API that provides access to the device’s usage history and statistics.

The security researchers found that the malware queries the usage statistics of all the applications for the past two seconds, which allows it to compute the most recent activity. What’s more, the malicious program also attempts to gain a system-level permission that allows it to use this API, and does so by cleverly using social engineering.

Advertisement. Scroll to continue reading.

The system-level permission, “android.permission.PACKAGE_USAGE_STATS”, can only be granted through the Settings application. The malware, however, masquerades as Google Chrome by faking the app’s icon and name, while programmatically starting the usage access permission activity. The malware authors might have started using this technique after being inspired by a proof-of-concept overlay malware project hosted on GitHub, researchers say.

Furthermore, they might have been inspired by another open source project hosted on GitHub to find the current running task on the infected device. The technique does not require additional permissions, as it reads the “/proc/” file system to enumerate running processes and to find the current foreground app. While the project is not malicious, the malware authors did find a way to leverage it for their benefit.

According to Symantec, Google will take the necessary precautions to ensure that the technique will no longer work in the next Android version. However, it’s clear that malware authors are relentlessly looking for new ways to bypass security measures, such as social-engineering, which preys on users’ lack of security awareness to perform malicious activities on infected devices.

To avoid falling victim to such attacks, users are advised to keep their device software up-to-date at all times, to install and maintain an anti-virus application, and to avoid installing programs from unknown sources. Additionally, users should pay attention to the permissions their applications request, as these could reveal that difference between legitimate programs and malicious software.

 Related: Mobile Malware Market Increasingly Competitive

Related: New GM Bot Version Released After Source Leak

 

Related Content

Exit mobile version