我的Android手机上的恶意软件

2021-01-11 16:30:43

我很坦白地说,我并不感到骄傲:最近,我无意间在Android手机上安装了恶意软件。作为Android团队的早期成员之一,并且已经使用Android约十三年了,这真是令人谦卑而令人不快的事件。就是这样

我记得它是如何开始的:我解锁了手机,两次意外点击使我同意我的大脑立即被注册为可疑的对话。但是当时我在想其他事情,所以我不顾一切继续前进。

第二天,我拿起手机,当我启动Chrome时,我立即发现它显示的是垃圾网址。更糟糕的是:有十多个标签显示了类似的网址,我上床睡觉之前肯定没有去过。这是我意识到发生了什么事。

由于当时没有时间进行调查,因此我寻求了一个简单而临时的解决方案:将默认浏览器从Chrome更改为另一个浏览器,然后继续使用。几个小时后,我发现新的默认浏览器显示了一组类似的URL,现在无疑将手指指向了恶意应用。

我浏览了所有应用程序,然后卸载并禁用了其中的许多应用程序。我也下载了MalwareBytes并运行了它,但没有任何效果。 Google Play Protect也没有注意到我的手机上有任何可疑的东西。我一定错过了该违规应用,因为该网址一直显示。

是时候去中世纪了。我挂断了电话并启动了adb。我从检查重复执行的任务列表开始,但是输出的内容如此庞大,以至于找到有用的东西都是黯淡的前景。我还检查了所有服务及其关联的应用程序,但是再说一次,即使有针对性的“技巧”,几乎也找不到任何可疑的东西。

我辞职了蛮横的方法。我启动了Android Studio,在“ http.?://”上过滤了logcat的输出,将窗口移至侧面并恢复了我的活动,同时关注着我不使用手机时访问了哪个URL。

大约一个小时后,其中一个可疑的网址出现了:

哈哈!我明白你了现在。我有一个uid,我在输出中抓了一下,最后确定了目标:

2021-01-09 11:01:13.810 3655-3655 /? I / EdgeLightingManager:showForNotification:isInteractive = false,isHeadUp = true,color = 0,sbn = StatusBarNotification(pkg = com.qrcodescanner.barcodescanner user = UserHandle {0} id = 1836 tag = Null key = 0 | com.qrcodescanner.barcodescanner | 1836 | null | 10237:通知(channel = sfsdfsdfsd pri = 2 contentView = nullvibrate = null声音= null默认值= 0x0标志= 0x90颜色= 0x00000000 vis = PRIVATE semFlags = 0x0 semPriority = 0 semMissedCount = 0))

因此,程序包名称为“ com.qrcodescanner.barcodescanner”。流氓应用似乎伪装成QR条形码扫描仪。我再次查看了我的应用程序列表,果然,我很快找到了有问题的应用程序。我将其卸载,几个小时后,我很高兴看到URL不再弹出。

我回到Play商店并尝试找到我卸载但找不到的应用程序,这表明Google可能是在一段时间前将其从其商店中删除的。在我不经意地批准其安装之后,我激活的恶意软件很可能会侧面加载它。

一些法医研究显示,2018年的一篇文章讨论了这种恶意软件QR Code Reader应用程序,但程序包和操作方式与我发现的不完全相同。我可能正在处理模仿者。

回顾过去,我感到非常失望,因为我不得不完成所有这些步骤才能摆脱一个简单的欺诈应用程序。普通用户会做什么?

列出手机上已安装的应用程序后,应该可以选择按“最新安装”对它们进行排序。我非常确定,如果我有此选项,并且几天前看到安装了QR Code Scanner,它会立即引起我的注意。实际上,Android列出已安装应用程序的方式对于此目的几乎没有用。

MalwareBytes完全没有用,当我意识到这一事实后,我立即将其卸载了。问题在于,它可能只是在软件包中查找恶意软件代码签名,而不是仅查看我已安装的应用程序。

Google Play Protect也完全没有帮助,这实在令人失望。首先,因为Google确实知道出于恶意软件原因将其从商店中删除了哪些应用程序,但是即使如此,我仍希望Google Play Protect至少标记它在手机上找到的不在其商店中的任何应用程序。这样的应用程序不一定是恶意软件,但应将其标记出来。

Google Play Protect也可以进行一些行为分析,以分析应用程序在后台执行的操作。在后台在网站上启动循环VIEW意图的服务应该已经向系统发出了一个标志。