- Home
- Techniques
- Mobile
- Broadcast Receivers
Broadcast Receivers
An intent is a message passed between Android application or system components. Applications can register to receive broadcast intents at runtime, which are system-wide intents delivered to each app when certain events happen on the device, such as network changes or the user unlocking the screen. Malicious applications can then trigger certain actions within the app based on which broadcast intent was received.
Further, malicious applications can register for intents broadcasted by other applications in addition to the Android system itself. This allows the malware to respond based on actions in other applications. This behavior typically indicates a more intimate knowledge, or potentially the targeting of specific devices, users, or applications.
In Android 8 (API level 26), broadcast intent behavior was changed, limiting the implicit intents that applications can register for in the manifest. In most cases, applications that register through the manifest will no longer receive the broadcasts. Now, applications must register context-specific broadcast receivers while the user is actively using the app.[1]
Procedure Examples
Name | Description |
---|---|
DEFENSOR ID |
DEFENSOR ID abuses the accessibility service to auto-start the malware on device boot. This is accomplished by receiving the |
EventBot |
EventBot registers for the |
FakeSpy |
FakeSpy can register for the |
FlexiSpy |
FlexiSpy uses root access to establish reboot hooks to re-install the application from |
GolfSpy |
GolfSpy registers for the |
Pegasus for Android |
Pegasus for Android listens for the BOOT_COMPLETED broadcast intent in order to maintain persistence and activate its functionality at device boot time.[7] |
SimBad |
SimBad registers for the |
SpyDealer |
SpyDealer registers the broadcast receiver to listen for events related to device boot-up.[9] |
SpyNote RAT |
SpyNote RAT uses an Android broadcast receiver to automatically start when the device boots.[10] |
TrickMo |
TrickMo registers for the |
Mitigations
Mitigation | Description |
---|---|
Use Recent OS Version |
In Android 8, broadcast intent behavior was changed, limiting the implicit intents that applications can register for in the manifest.[1] |
Detection
Broadcast intent receivers are part of standard OS-level APIs and are therefore typically undetectable to the end user.
References
- Google. (2019, December 27). Broadcasts Overview. Retrieved January 27, 2020.
- L. Stefanko. (2020, May 22). Insidious Android malware gives up all malicious features but one to gain stealth. Retrieved June 26, 2020.
- D. Frank, L. Rochberger, Y. Rimmer, A. Dahan. (2020, April 30). EventBot: A New Mobile Banking Trojan is Born. Retrieved June 26, 2020.
- O. Almkias. (2020, July 1). FakeSpy Masquerades as Postal Service Apps Around the World. Retrieved September 15, 2020.
- K. Lu. (n.d.). Deep Technical Analysis of the Spyware FlexiSpy for Android. Retrieved September 10, 2019.
- E. Xu, G. Guo. (2019, June 28). Mobile Cyberespionage Campaign ‘Bouncing Golf’ Affects Middle East. Retrieved January 27, 2020.
- Mike Murray. (2017, April 3). Pegasus for Android: the other side of the story emerges. Retrieved April 16, 2017.
- Elena Root, Andrey Polkovnichenko. (2019, March 13). SimBad: A Rogue Adware Campaign On Google Play. Retrieved November 21, 2019.
- Wenjun Hu, Cong Zheng and Zhi Xu. (2017, July 6). SpyDealer: Android Trojan Spying on More Than 40 Apps. Retrieved September 18, 2018.
- Shivang Desai. (2017, January 23). SpyNote RAT posing as Netflix app. Retrieved January 26, 2017.
- P. Asinovsky. (2020, March 24). TrickBot Pushing a 2FA Bypass App to Bank Customers in Germany. Retrieved April 24, 2020.