Security researchers from Promon, a Norwegian firm specialized in in-app security protections, said they identified a bug in the Android operating system that lets malicious apps hijack legitimate app, and perform malicious operations on their behalf.
In a comprehensive report published today, the research team said the vulnerability can be used to trick users into granting intrusive permissions to malicious apps when they tap and interact with legitimate ones.
The vulnerability — which Promon named StrandHogg — can also be used to show fake login (phishing) pages when taping on a legitimate application.
Currently exploited in the wild
Promon said this security flaw has already been exploited in the wild by malware gangs.
The company said it “identified the StrandHogg vulnerability after it was informed by an Eastern European security company for the financial sector (to which Promon supplies app security support) that several banks in the Czech Republic had reported money disappearing from customer accounts.”
Promon said its Eastern European partner provided a sample for its researchers to analyze; sample inside which they discovered the StrandHogg security flaw.
Promon said it then partnered with Lookout, a US-based mobile security firm, which confirmed the vulnerability, and discovered 36 apps that were currently exploiting it in the wild.
Promon didn’t list the names of the 36 apps that used the StrandHogg vulnerability, but it did say that none of these apps were available through the official Play Store — directly.
These 36 apps were installed on users’ devices as second-stage payloads, Promon said. Users initially installed other malicious apps from the Play Store, which then downloaded the StrandHogg-infected apps for more intrusive attacks.
How StrandHogg works
The technical details of the StrandHogg vulnerability are easy to grasp, even for non-technical users.
Under the hood, StrandHogg is a bug in the way the Android OS handles switching between tasks (processes) that handle different operations or applications.
More specifically, StrandHogg is a bug in the OS component that handles multitasking — the mechaism that allows the Android operating system to run multiple processes at once and switch between them once an app goes in or out of the users’ view (screen).
A malicious app installed on an Android smartphone can exploit the StrandHogg bug to trigger malicious code when the user starts another app — via a feature called “task reparenting.”
Basically, a user taps on a legitimate app, but executes code from a malicious one. As can be seen from the example images below, tapping a legitimate app’s icon triggers code executed by the malicious app — code which can ask for intrusive permission or show phishing pages.
Because these actions occur after the icon tap, the user will believe the permissions or login screen have been created by the legitimate app, rather than the malicious one, and will be very likely to interact with these elements without having any suspicions raised.
Researchers said this makes StrandHogg attacks nerly impossible to detect by a device’s end user.
Promon also said that a StrandHogg attack doesn’t need root access to run, and works on all Android OS versions, including the latest Android 10 release.
In addition, Promon researchers also tested the top 500 most popular Android apps available on the Google Play Store and found that all apps’ processes can be hijacked to perform malicious action via a StrandHogg attack
The research team said it notified Google of the vulnerability in the Android multitasking component over the summer, but the company has not fixed the issue after more than 90 days.
In 2015, a team of academics from Penn State University published similar research, describing a theoretical attack about a task hijacking attack that could be used for UI spoofing, denial-of-service, or user monitoring.
Promon says the StrandHogg attack greatly expands on the concepts described in the 2015 Penn State white paper [PDF].
The Norwegian company said it named the exploit StrandHogg after the old Norse language word that described the Viking tactic of raiding coastal areas to plunder and hold people for ransom.